Heim > Fragen und Antworten > Hauptteil
Ich habe gerade MySQL gelernt und bin mit MySQL nicht vertraut. Jetzt habe ich drei Tabellen wie diese
Artikeltabelle
id | Titel | Inhalt |
---|---|---|
0 | Hallo | Welt |
1 | hey | .... |
Frageformular
id | Titel | Inhalt |
---|---|---|
0 | Hallo | Welt |
1 | hey | .... |
Tag-Tabelle
id | Name | Avatar |
---|---|---|
1 | Java | .... |
2 | js | .... |
Beide Tabellen teilen sich eine Tag-Tabelle. Der Avatar der Tag-Tabelle ist der Avatar des Tags.
Meine aktuelle Frage ist, wie man die Tag-Tabelle mit den anderen beiden Tabellen verknüpft. Es muss sichergestellt werden, dass Artikel oder Themen anhand der Tag-ID schnell gefunden werden können.
Die erste Lösung, die mir einfiel, bestand darin, unterhalb der Artikeltabelle und der Fragentabelle ein Tag-Feld hinzuzufügen. Trennen Sie es durch Kommas (ich weiß nicht, ob es gut ist oder nicht ...), und dann habe ich festgestellt, dass ich wirklich nicht weiß, wie man sucht ... Wie suche ich so ... Benutze ich like? ..
Artikeltabelle
id | Titel | Inhalt | Tags |
---|---|---|---|
0 | Hallo | Welt | 0,1 |
1 | hey | .... | 2,3,4 |
Frageformular
id | Titel | Inhalt | Tags |
---|---|---|---|
0 | Hallo | Welt | 1,4 |
1 | hey | .... | 6,3 |
Dann habe ich über den zweiten Plan nachgedacht, da die Strukturen der Artikeltabelle und der Fragentabelle grundsätzlich gleich sind. Kann ich sie zusammenführen
?Eine Kombination aus Frage und Artikelthema....
id | Titel | Inhalt | Tags | Typ |
---|---|---|---|---|
0 | Hallo | Welt | 1,4 | Artikel |
1 | hey | .... | 6,3 | Frage |
Dann sollte es meiner Meinung nach nicht zusammengeführt werden, weil die Datenbank nicht so groß ist, wenn ich nur alle Fragen mit der Bezeichnung 1 finden möchte, ist es dann schneller, sie in einer einzigen Tabelle abzufragen?
Dann habe ich über einen dritten Plan nachgedacht. Wie wäre es mit der Erstellung einer Korrelationstabelle? Benötigt diese Korrelationstabelle eine ID? Wenn es eine Korrelationstabelle gibt, wären es dann nicht die Tabellen mit den Artikeln und Fragen anders? Das Feld „Tags“ wird benötigt.Assoziationstabelle
tag_id | |
---|---|
1 | |
6 | |
4 | |
3 |