Click here to view and discuss this page in DocCommentXchange. In the future, you will be sent there automatically.

SQL Anywhere 11.0.1 (Deutsch) » SQL Anywhere Server - SQL-Benutzerhandbuch » Datenbanken erstellen » Datenintegrität gewährleisten » Entitäts- und referenzielle Integrität erzwingen

 

Wenn eine Clientanwendung die referenzielle Integrität verletzt

Wenn eine Clientanwendung einen Primärschlüsselwert in einer Tabelle aktualisiert oder löscht und der Primärschlüsselwert von einem Fremdschlüssel anderswo in der Datenbank referenziert wird, besteht die Gefahr, dass die referenzielle Integrität verletzt wird.

Beispiel

Wenn der Server gestattet, dass der Primärschlüssel aktualisiert oder gelöscht wird, und keine Änderungen an den Fremdschlüsseln vorgenommen hat, die sich auf diesen bezogen haben, wäre die Fremdschlüsselreferenz ungültig. Jeder Versuch, die Fremdschlüsselreferenz zu benutzen, z.B. in einer SELECT-Anweisung mit einer KEY JOIN-Klausel, würde fehlschlagen, da in der referenzierten Tabelle kein korrespondierender Wert vorhanden ist.

Während die Verletzung der Entitätsintegrität für SQL Anywhere im Allgemeinen einfach zu handhaben ist, und zwar indem der Zugang zu den Daten verweigert und eine Fehlermeldung zurückgegeben wird, sind potenzielle Verletzungen der referenziellen Integrität komplizierter. Es stehen Ihnen mehrere Möglichkeiten zur Verfügung (sogenannte Aktionen zur referenziellen Integrität), um die referenzielle Integrität aufrechtzuerhalten.