phpbar.de logo

Mailinglisten-Archive

Re: Refer. Integrität
Archiv Mailingliste mysql-de

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Refer. Integrität



Hi,

Markus Wolf:
> gibt es eigentlich einen tollen Trick, wie man bei mysql folgendes machen
> kann.
> 
> Tab1 : Kunden
> Tab2 : bestellkopf
> Tab3 : Bestdet.
> 
> Wenn ich letzt einen Kunde lösche, dann sollen alle Daten aus Tab2 und Tab3
> gelöscht werden, die mit dem Kunden zu tun haben.
> 
> Unter Access nennt man das ref. Integr.. Wie erzeugt man sowas mit SQL unter
> mysql?
> 
Gar nicht. Du schreibst dir eine zentrale Funktion delete_kunde in deinem
Programm, die das für dich erledigt. Alle anderen Programme kriegen keine
Löschberechtigung auf die Kundentabelle; und wenn du ganz böse ... ahem,
vorsichtig sein willst, dann dürfen sie auch die Kundennummern nicht
verändern.

Der Vorteil dieser Lösung ist, daß diese Funktion erstmal prüfen kann,
ob sie den Kunden überhaupt löschen darf (zB wenn noch Forderungen offen
sind).


MySQL hat absichtlich keinerlei solche Referenzprüfungen, zum einen weil
sie die Datenbank verlangsamen, zum anderen weil du da nur einen Zyklus
drinhaben mußt, und schon kannst du ohne ein Spezialtool, das die Prüfung
zeitweise ausschaltet, nicht einmal mehr Daten von einer Sicherung holen.

Steht aber alles in der Doku...

-- 
Matthias Urlichs  |  noris network GmbH   |   smurf_(at)_noris.de  |  ICQ: 20193661
The quote was selected randomly. Really.    |      http://www.noris.de/~smurf/
-- 
Accountants are good with figures.

---
*** Abmelden von dieser Mailingliste funktioniert per E-Mail
*** an mysql-de-request_(at)_lists.4t2.com mit Betreff/Subject: unsubscribe


Home | Main Index | Thread Index

php::bar PHP Wiki   -   Listenarchive