Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Beste Möglichkeit, Synonyme in der Datenbank mysql zu speichern und abzurufen

Verwenden Sie keinen (einen) String, um verschiedene Einträge zu speichern.

Mit anderen Worten:Erstellen Sie eine Worttabelle (word_ID,word) und eine Synonymtabelle (word_ID,synonym_ID), fügen Sie dann das Wort zur Worttabelle und einen Eintrag pro Synonym zur Synonymtabelle hinzu.

AKTUALISIEREN (3. Synonym hinzugefügt)

Ihre Worttabelle muss jedes Wort enthalten (ALLE), Ihre Synonymtabelle enthält nur Verweise auf Synonyme (kein einzelnes Wort!) ..

Wenn Sie drei Wörter hätten:A, B und C, die Synonyme sind, wäre Ihr DB

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  

Haben Sie keine Angst vor den vielen Einträgen in der SYNONYM_TABLE, sie werden vom Computer verwaltet und werden benötigt, um die bestehenden Beziehungen zwischen den Wörtern wiederzugeben.

2. Ansatz

Sie könnten auch versucht sein (ich glaube nicht, dass Sie das tun sollten!), mit einer Tabelle zu arbeiten, die separate Felder für Wörter und eine Liste von Synonymen (oder IDs) (word_id,word,synonym_list) hat. Beachten Sie, dass dies der Funktionsweise einer relationalen Datenbank widerspricht (ein Feld, ein Fakt).