Verknüpfung von Daten

F0rris

Mitglied
Hallo zusammen,

ich stell mir die Frage ob das so wirklich geschickt ist, so wie ich mir das Vorstelle.

Zitate kann man ja in Kategorien unterteilen und man sollte diese ja Relativ leicht Verknüpfen können und auch bearbeiten. Dies bzgl. würde ich es gerne so machen jedoch glaub ich grade nicht an die Richtigkeit.

Das Bild im Anhang, ist ein Diagramm von der Idee.

Eine Abfrage würde ich so machen.
Code:
SELECT zitate_text FROM zitate 
INNER JOIN kategorie_verkuepfung ON kategorie_verkuepfung.zitate_id = zitate.zitate_id
WHERE kategorie_sub_id = 2

Jetzt habe ich aber auch gesehen, dass einige Ihre Datenbank anderes aufbauen. Hier wird keine kategorie_verkuepfung angelegt, sonder einfach in zitate ein varchar angelegt in die die ID's mit @ als trennzeichen angelegt werden.

Dort Würde ich Beispielsweise mit Like vorgehen

Code:
SELECT zitate_text FROM zitate 
WHERE  kategorie like "%@2@%"

Schöner Fänd ich persönlich die erste Methode evtl. auch Platzsparende(?). Jetzt ist nur die Frage, was wirlich besser bzw. geschickter ist.
 

Anhänge

  • zitate.png
    zitate.png
    14,9 KB · Aufrufe: 8
Die erste Methode ist definitiv schöner und flexibler.
Je nach Indexen und Datenmengen ist das erste mMn auch performanter.

Wenn man die 2te Variante wählt, sollte man bei MySQL als Trennzeichen ein Komma verwenden. Man kann dann mit dem MySQL-Befehl FIND_IN_SET verwenden.
SQL:
SELECT zitate_text 
FROM zitate 
WHERE  FIND_IN_SET('2', kategorie)
 
Zuletzt bearbeitet von einem Moderator:

Neue Beiträge

Zurück