Kakšno tabelo za slovar ?

Tako, pač zadevca ki je trenutno delam, bo beležila besede ki jih uporabi, da jih drugič hitreje pobere z baze in je ne rabi iskat na internetu, v gavnem bo zadeva taka da bojo v bazi samo sopomkenke, torej samo besede brez opisov pa vse ... samo v vsaki vrsti besede ki so sopomenke ...

seda nastane problem ... katera vsa polja naj naredim za posamezen row ? Id seveda, naprej pa nevem, glede na to da ima lahko beseda neomejeno sopomenk ? Ali naj naredim samo Id, pa potem noter besede ločene z vejico, pa z explode ... vendar bi potem iskanje po bazi ZELO trajalo ...

Kako bi še lahko najlažje sestavil tako tabelo ?

18 odgovorov

Mislim da bo kar takole naredil:

vsaka beseda ima svoje polje
ID | BESEDA | IDji SINONIMOV

tako imam vsako besedelo lahko vsepovsod, pa vse povezano z IDji, ki jih pač ločim z vejicami, pol pa mam recimo auto, pa preberem celo vrstico IDje razčlenim z explode in poberem vsebino iz dobljenih IDjev ... :p

Ali bi se dalo še kako drugače to narediti ? Da bi bilo bolje seveda :D ...

Edit: Že vidim kak bom hiral ko bom vse skup pocal ... lol :p:D

Poskusi to nardit z drugo tabelo - vezo med besedami:

Besede
beseda_id | beseda

Sopomenke
sopomenka_id | id1 | id2

id1 je id tvoje besede, id2 je id besede-sopomenke te besede. Z enim SQL-om na ta način dobiš sopomenke brez dodatnega parsanja.

LP

s tem da sopomenke so lahko tudi 3,4,5, ... 20, zato nastane problem :( ...

ne razumem prav dobro... v polje beseda lahko napišeš karkoli, tudi 3,4,5, ... 20, ne razumem kje je problem - text je text

Besede
beseda_id | beseda

primer
1 | car

Sopomenke
1 | 1 | 4 | 6 | 7 ......... -> TU je problem ... ker lahko gre v nedogled ... tako da morem spet dat vejico pa pol z explode ...

tako se to dela:

Besede
1 | car
2 | carček
3 | care
4 | bedak
5 | bebec
6 | tepec

Sopomenke
1 | 1 | 2 car->carček
2 | 1 | 3 car->carček
3 | 4 | 5 bedak->bebec
4 | 4 | 6 bedak->tepec

Problem ki ga vidim je edino ta, da postane teh relacij beseda-sopomenka zelo hitro zelo veliko... vendar je to še vedno najhitrejša varianta

Uredu, najlepša hvala ;).

HeXeR, preden se cesarkoli naprej lotevas okoli baz, si malo preberi o relacijskih bazah, bo vse lazje :)

to, kar ti potrebujes, je 1:M (one to many) relacija...

Vini mogoče bi lahko ti kaj na blogu napisal o tem ? :)

SpinX, sem se odlocil, da cisto zacetniskih tem ne bom pisal... O tem je res ze toliko napisanega, da res ne vidim neke hude potrebe, da bi to pisal se milijontic :)