Autor | Zpráva | ||
---|---|---|---|
unlucky Profil |
Nedávno jsem se tu ptal na to, jak získat data. Nyní bych se chtěl znovu pro jistotu se zeptat, jak na strukturu.
Těch jazyků mám hodně. Každý jazyk cca 40tis slov, každé slovo má cca 4 vyznamy struktura zatím: word: id, text interpreation: id, word_id,meaning_id meaning: id, text Přemýšlím, zda hodit úplně vše do těchto 3 tabulek nebo pro každý jazyk/směr vytvořit 3 nové tabulky, tím by se snížil zátěž při různých operací. V případě, že bych použil jenom 3 tabulky, měl bych ve wordu 300 000 a vice záznamů, word-interpretation několik milionů. Nikdy jsem neměl tolik záznamů v databázi a bojím se možných problémů v budoucnu. Tyto data budou na webu |
||
Sir Tom Profil |
#2 · Zasláno: 2. 4. 2013, 01:24:58
unlucky:
Já bych řekl tuto strukturu - jenom 2 tabulky: t1: id, word, meaning, language t2: word_id, word2_id Tabulka t1 by byla spojena s tou samou tabulkou t1 přes relaci M:N (za pomoci tabulky t2). Příklad: v t1 mám tyto řádky: 1, dům, místnost pro bydlení, cs 2, house, a place for living, en 3, la casa, el lugar para vivir, es 4, domov, místnost pro bydlení, cs v t2: 1,2 1,3 1,4 2,3 Pokud tedy budu hledat výraz "house" - tak mi to zjistí, že tento výraz má id 2 - kouknu do spojovací tabulky a vidím, že k id 2 se váží i pojmy 1 a 3 - kouknu do tabulky t1 a vrátím výrazy pod id 1 a 3... |
||
unlucky Profil |
#3 · Zasláno: 2. 4. 2013, 01:31:38
mám tam ještě u každého slova slovní druh, někde fráze,
U tabulek výše chybí ještě u meaning lang from, lang to a type, kde type je sl. druh, význam či fráze Každopádně, otázka zní, jestli vytvorčit pro každý jazyk nové tabulky, když je těch záznamů tolik |
||
tiso Profil |
#4 · Zasláno: 2. 4. 2013, 01:37:33
unlucky: záleží ako budeš s tými dátami pracovať. Pokiaľ budeš vypisovať jeden jazyk (významový slovník), tak to so samostatnými tabuľkami pôjde jednoducho, pokiaľ chceš robiť preklady, tak to bude o niečo zložitejšie. Čo chceš vlastne robiť?
|
||
Sir Tom Profil |
#5 · Zasláno: 2. 4. 2013, 01:54:57
unlucky:
> mám tam ještě u každého slova slovní druh, někde fráze, > U tabulek výše chybí ještě u meaning lang from, lang to a type, kde type je sl. druh, význam či fráze Co značí meaning lang from? Lang to? To jsou podle mě zbytečné atributy. „Každopádně, otázka zní, jestli vytvorčit pro každý jazyk nové tabulky, když je těch záznamů tolik“ Tak si představ, že až bude uživatel hledat výraz "tengo la camisa negra", tak vyhledávací algoritmus se bude muset podívat do všech tabulek - to je pro něho dost blbé... Přitom by stačilo mít jenom jednu velkou a pak tabulku, která bude jednotlivé řádky joinovat. |
||
unlucky Profil |
#6 · Zasláno: 2. 4. 2013, 12:41:45
Sir Tom:
je to slovnik, takze tam budou hledat jenom slova, nikoli fraze. navazuji na tenhle topic Nejlepsi zpusob jak ziskat data ze souboru tiso: zadam slovo v aj, vyjede mi to vyznamy, poznamky, fraze v aj. podobne jako slovniky.centrum.cz |
||
Sir Tom Profil |
unlucky:
Stále to můžeš udělat přes tu tabulku se slovy a joinovací tabulku: t1 (id, word, lang): 1, pes, cs, ... a další atributy typu významy, poznámky, fráze, ... 2, dog, en 3, el perro, es t2 (word1_id, word2_id): 1, 2 1, 3 2, 3 Dejme tomu, že uživatel zadá slovo dog a vybere si převod do španělštiny: SELECT t3.* FROM t1 LEFT JOIN t2 ON t2.word1_id = t1.id LEFT JOIN t1 t3 ON t2.word2_id = t3.id WHERE t1.word = 'dog' AND WHERE t3.lang = 'es'; // tento příkaz mu vyhodí všechny španělské věci k anglickému slovu dog „zadam slovo v aj, vyjede mi to vyznamy, poznamky, fraze v aj. podobne jako slovniky.centrum.cz“ Toto je už dost specifické zadání - uveď nějaké konkrétní příklady - např. pro slovo dům a pro slovo house. Je třeba poznat k čemu se významy, poznámky, fráze budou vázat a v jakém vztahu... Nejsem si moc jist, zda-li si rozumíme... možná chceš něco jiného, než co chápu já... |
||
Časová prodleva: 11 let
|
0