lixx: Relationale Datenbank

Beitrag lesen

Guten Morgen!

Danke für die Antwort.

@King^Lully:

Versuche erst einmal mit Adressen und Gruppen klarzukommen, wir bezweifeln einfach mal, dass eine weitere Entität "Adressen_Gruppen" benötigt wird.

Zuerst hatte ich zwei Tabellen und in der Adress-Tabelle ein Feld in denen die ID der Gruppe als Kommaseperierter String eingetragen war. Nachdem ich damit auch Probleme hatte hat man mir in diesem Forum geraten eine MN-Rel zu erstellen. Die Probleme waren der Art, wenn eine Gruppe gelöscht wurde, alle Adressen die der Gruppe zugeteilt wurden aktualisiert hätten werden müssen.

@Vinzenz Mai

welche Datensätze hinzuzufügen und welche Du löschen musst, das solltest Du in der API (sprich PHP) ermitteln. PHP hat nette Funktionen, um mit Arrays umzugehen. Es ist keine gute Idee, das DBMS unnötig damit zu belasten, Einträge zuerst zu löschen, nur um sie anschließend wieder anzulegen.

Aber wie ich das jetzt verstehe, wird das auch so gemacht und es gibt dabei keine einfachere lösung?

Die Vorgehensweise beim UPDATE wäre also die:

1. Mit PHP die Differenzen ermitteln
2. UPDATE Adressen -- des aktualisierten Datensatzes
3. INSERT INTO Adressen_Gruppen -- "Dorf"
4. DELETE FROM Adressen_Gruppen -- "Auto"

und beim DELETE einer Gruppe:

1. DELETE FROM Gruppen
2. DELETE FROM Adressen_Gruppen -- mit der id der Gruppe

Beim UPDATE ersterer Variante (nicht relational) wäre ich so vorgegangen:

1. UPDATE Adressen -- Neuer Kommaseperierter Inhalt

Beim Löschen:

1. DELETE Gruppen
2. UPDATE Adressen -- Vielleicht mit FIND_IN_SET, CONCAT etc. Neue Liste ohne der Gruppen-ID erstellen und aktualisieren.

Ehrlich gesagt, weiß ich auch nicht was die bessere Variante ist. Daher wollte ich einmal wissen, wie Profis das machen ;)

lg lixx