Peki, burada küçük bir sorundur.
Ben temelde bir konuşulan dil, ne kullanmak için bir web uygulaması veritabanı tasarımı duyuyorum. Ancak bu dil iki alfabe (Latin & Kiril) ve aslında sadece bazı küçük farklılıklar (Ben biraz farklı birkaç yüz kelime olduğunu düşünüyorum) sahip üç konuşulan çeşitleri vardır. Konularda daha zor hale getirmek için, veri tabanı ve yönetim arayüzü tüm makaleleri (yanı sıra arayüzü) için komut ve iki sözlü varyantları hem kullanımı ve diğer tek (Latince) kullanacak biri iki uygulama için kullanılacaktır.
Ben kullanıcıya bir giriş daha kolay yapmak gerekir, ama şimdi ben hakkında şüphe duyuyorum bazı veritabanı / uygulama normalleştirme karşılaştığı sorunlar yaşıyorum latin-to-kiril-ve-back "çeviri" için bir algoritma yazdı.
(1) Ben konuşulan dil sorunu olarak bu tedavi ve buna göre veritabanı oluşturmak olabilir.
| 'variant' | [id, name] #language variant
| 'article' | [id, <all variant non-dependent fields>] # such as image, relations, etc
| 'article_variant' | [id, fk_language_variant_id, fk_article_id, <all variant dependent fields>] #title, body, etc
| 'article_has_variants' | [id, fk_article_id, fk_article_variant_id]
Ancak nedeniyle 'article_variant' veritabanı girişlerinin en aynı bilgileri içeren olacağını aslında gereksiz görünüyor.
(2) uygulama düzeyinde çözmeye kullanıcıya görüntüler için "latin-to-kiril-ve-back" algoritması ile 'makale' tablosu ve kelime çiftlerini kullanarak bunu yapabilirdi. Sonra benim veritabanı bunun gibi bir şey olacaktır:
| 'variant' | [id, name] #language variant
| 'article' | id, <all fields>
| 'words' | id, word
| 'word_pairs' | id, fk_word_id, fk_word_id
Bu çözüm benim için mükemmel görünüyor, ama nedeniyle (a) (bütün bir yazı her kelime çifti için varsayılan farklı dil varyantını görüntülenir her zaman çukur gitmek vardır ve aslında uygulama performansı üzerinde olurdu etkisinden endişe duyuyorum bu çifti bulunuyor için> њ) - b) bundan sonra böyle nj kompleks mektup dönüşüm nedeniyle alfabenin her harfini (+ birkaç kez dönüştürmek için vardır.
Herhangi bir düşünce?