sql >> Databasteknik >  >> RDS >> Mysql

Bästa sättet att lagra och hämta synonymer i databasen mysql

Använd inte en (en) sträng för att lagra olika poster.

Med andra ord:Bygg en ordtabell (ord_ID,ord) och en synonymtabell (ord_ID,synonym_ID) lägg sedan till ordet i ordtabellen och en post per synonym till synonymtabellen.

UPPDATERA (tillagd 3:e synonym)

Din ordtabell måste innehålla varje ord (ALLA), din synonymtabell innehåller bara pekare till synonymer (inte ett enda ord!) ..

Om du hade tre ord:A, B och C, som är synonymer, skulle din DB vara

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  

Var inte rädd för de många posterna i SYNONYM_TABLEN, de kommer att hanteras av datorn och behövs för att återspegla de befintliga relationerna mellan orden.

Andra tillvägagångssätt

Du kan också bli frestad (jag tror inte att du borde!) att välja en tabell som har separata fält för ord och en lista med synonymer (eller ID) (ord_id, ord, synonym_lista). Var uppmärksam på att det strider mot hur en relationell DB fungerar (ett fält, ett faktum).



  1. MySQL FLOOR()-funktion – avrunda nedåt till närmaste heltal

  2. Vilka är de huvudsakliga prestandaskillnaderna mellan varchar och nvarchar SQL Server-datatyper?

  3. MySql frågeanalysator - gratis lösningar

  4. PL/SQL:hur ber jag användarinmatning i en procedur?