Rouven: Was für Folgen hat die EXPLIZITE Kennzeichnung von Foreign Keys?

Beitrag lesen

Hi,

Was muss ich jetzt in Zukunft bei der Arbeit mit den Tabellen berücksichtigen? Ändert sich da was?

ja, aus meiner Sicht sind zwei Dinge auf jeden Fall bemerkenswert:

  1. Man muss sich um weniger kümmern:
    Durch die ON DELETE/ON UPDATE-Konstrukte kann man sich insbesondere Löschoperationen sparen, was ich persönlich recht angenehm finde. Es kann eben nicht mehr passieren, dass irgendwelche halbfertigen Konstrukte in der Datenbank bleiben weil das Skript einen Timeout hatte oder sonstwas. Die Integrität bleibt eben gewahrt.

  2. Man muss anders arbeiten:
    Die Integritätsbedingungen garantieren ein sauberes Datenmodell - das muss nicht immer praktisch sein. Man muss bei INSERT/UPDATE darauf achten, die Statements in der richtigen Reihenfolge auszuführen, d.h. erst den Satz mit dem Primärschlüssel und dann den Satz mit dem Fremdschlüssel. Das Problem wird noch viel extremer wenn es um die Wiederherstellung von ganzen Tabellen/Datenbanken geht. Da sind teilweise Klimmzüge nötig um die Bedingungen abzuschalten, die Tabellen in der richtigen Reihenfolge einzuspielen (sofern möglich) etc.

Ich habe mich mittlerweile für das saubere Modell entschieden, aber gerade weil wir in der Firma häufig ganze Sätze von Tabellen durch die Gegend schieben müssen, kann das teilweise etwas hinderlich sein.

MfG
Rouven

--
-------------------
Death is nature's way of telling you to slow down.