Server-Beschränkungen

Aus RAD Studio
Wechseln zu: Navigation, Suche

Nach oben zu Provider-Komponenten - Index


Die meisten relationalen Datenbanksysteme implementieren für ihre Tabellen Beschränkungen, um die Integrität der Daten zu gewährleisten. Eine Beschränkung ist eine Art Vorschrift, die für Datenwerte in Tabellen und Spalten oder für Beziehungen zwischen Spalten in unterschiedlichen Tabellen gilt. Die meisten relationalen SQL-92-Datenbanken unterstützen beispielsweise folgende Beschränkungen:

  • NOT NULL garantiert, dass eine Spalte einen Wert enthält.
  • NOT NULL UNIQUE garantiert, dass eine Spalte einen Wert enthält und dieser in der Spalte nur einmal vorkommt.
  • CHECK garantiert, dass ein Wert in einem bestimmten Bereich liegt oder zu einer begrenzten Menge möglicher Werte gehört.
  • CONSTRAINT ist eine tabellenweite Beschränkung, die sich auf mehrere Spalten bezieht.
  • PRIMARY KEY kennzeichnet eine oder mehrere Spalten als Primärschlüssel.
  • FOREIGN KEY kennzeichnet eine oder mehrere Spalten, die eine andere Tabelle referenzieren.

Hinweis: Diese Liste erhebt keinen Anspruch auf Vollständigkeit. Ihr Datenbankserver unterstützt möglicherweise alle oder einige dieser Beschränkungen vollständig oder teilweise. Auf einigen Datenbankservern stehen auch andere Beschränkungen zur Verfügung. Weitere Informationen zu diesem Thema finden Sie in der Server-Dokumentation.

Beschränkungen auf Datenbankservern entsprechen in vieler Hinsicht den Dateneingabeprüfungen, die Sie von herkömmlichen Desktop-Datenbankanwendungen kennen. Sie können diese Beschränkungen in mehrschichtigen Datenbankanwendungen nutzen, ohne sie im Quellcode des Anwendungsservers oder der Client-Anwendung durch eigene Logik duplizieren zu müssen.

Wenn der Provider mit einer BDE-Datenmenge arbeitet, können Sie mithilfe der Eigenschaft Constraints Server-Beschränkungen replizieren und auf Daten anwenden, die von Client-Datenmengen empfangen und an diese gesendet werden. Wenn diese Eigenschaft den Wert True besitzt (Voreinstellung), sind in der Quelldatenmenge gespeicherte Server-Beschränkungen auch in Datenpaketen enthalten und beeinflussen alle Versuche, Daten zu aktualisieren.

Warnung: Bevor der Provider Informationen über Beschränkungen an Client-Datenmengen weitergibt, muss er sie erst vom Datenbankserver abrufen.

Gelegentlich ist es unerwünscht, dass Daten, die an eine Client-Datenmenge gesendet werden, durch Server-Beschränkungen beeinflusst werden. Eine Client-Datenmenge, die Daten in Paketen empfängt und lokale Aktualisierungen durchführt, bevor weitere Datensätze abgerufen werden, kann beispielsweise gezwungen sein, einige Beschränkungen zu deaktivieren, die wegen der zeitweise unvollständigen Datenmenge Probleme verursachen würden. Um die Weitergabe der Beschränkungen vom Provider an eine Client-Datenmenge zu unterbinden, setzen Sie Constraints auf False. Beachten Sie auch, dass Client-Datenmengen ihrerseits Beschränkungen mit den Methoden EnableConstraints und DisableConstraints aktivieren und deaktivieren können. Weitere Informationen zu diesem Thema finden Sie unter Beschränkungen vom Server verarbeiten.

Siehe auch