PHP & MySQL5 - Aufgabenteilung in der Datenverwaltung

tr0nix

tr0nix

der-mit-dem-tux-tanzt
Hallo zusammen

Ich bin gerade am Auffrischen meiner PHP & MySQL Kenntnisse. Dabei sind mir die neuen Features wie Rollback und Fremdschlüssel in MySQL aufgefallen. Dabei habe ich mir eine kleine Aufgabe gestellt, die ich gerne diskutieren würde.

Bauen wir die Unix Rechteverwaltung nach: Tabellen User, Gruppe und UserGruppen. UserGruppen ist dabei die Zwischentabelle von User & Gruppe (da n:n).
-> Wenn ich eine Gruppe lösche, sollen alle Einträge in UserGruppen gelöscht werden die damit Verbunden sind (on delete cascade)
-> Dasselbe wenn ich einen User lösche (on delete cascade)
-> Wenn ich eine Gruppe lösche, darf diese nicht gelöscht werden, wenn sie als primäre Gruppe für einen User aktiv ist.

Das einzurichten ist relativ simpel mit den foreign keys. Jetzt stellt sich mir aber die Frage, wieviel davon ich in PHP jetzt für das Userfrontend realisieren müsste, wenn ich eine Gruppe lösche.

Lösung 1:
Ich prüfe zuerst mit einem SELECT Statement, ob die Gruppe als Primäre Gruppe aktiv ist (bzw. keine Rules verletzt wurden). Wenn ja -> Fehlermaske ausgeben.

Lösung 2:
Ich gebe die Delete-Befehle an MySQL durch und fange Fehlermeldungen ab die interpretiert werden und als User-leserliche Meldung ausgegeben werden.

Lösung 3: ?

/discuss! Wie würdet ihr sowas lösen mit den gegebenen Technologien?
 
Zuletzt bearbeitet:

Ähnliche Themen

Problem mit Apache2 + MySQL Server

Zurück
Oben