sql >> Database teknologi >  >> RDS >> Mysql

Bedste måde at gemme og hente synonymer i databasen mysql

Brug ikke en (én) streng til at gemme forskellige poster.

Med andre ord:Byg en ordtabel (word_ID,word) og en synonymtabel (word_ID,synonym_ID) og tilføj derefter ordet til ordtabellen og en post pr. synonym til synonymtabellen.

OPDATERING (tilsat 3. synonym)

Din ordtabel skal indeholde hvert ord (ALLE), din synonymtabel indeholder kun henvisninger til synonymer (ikke et enkelt ord!) ..

Hvis du havde tre ord:A, B og C, som er synonymer, ville din DB være

WORD_TABLE SYNONYM_TABLE ID | WORD W_ID | S_ID ---+----- -----+------- 1 | A 1 | 2 2 | B 2 | 1 3 | C 1 | 3 3 | 1 2 | 3 3 | 2

Vær ikke bange for de mange poster i SYNONYM_TABLEN, de vil blive administreret af computeren og er nødvendige for at afspejle de eksisterende relationer mellem ordene.

2. tilgang

Du kan også blive fristet (det tror jeg ikke, du burde!) til at vælge én tabel, der har separate felter til ord og en liste over synonymer (eller ID'er) (word_id,word,synonym_list). Vær opmærksom på, at det er i modstrid med den måde, en relationel DB fungerer på (et felt, et faktum).



  1. Resultat af tidssubtraktionsformat

  2. MySQL forkert nøglefil til tmp-tabel, når der laves flere joinforbindelser

  3. PHP/MySQL grupperer resultater efter kolonne

  4. Hvordan kan jeg oprette en bruger i SQL Server Express-databasen, jeg føjede til mit projekt?