Tabellenbedingung

Tabellenbedingungen (TABLE CONSTRAINTS) sind CONSTRAINTS, die sich auf mehrere Spalten der Tabelle beziehen können und nicht nur auf eine einzelne Spalte. Notwendig sind Tabellenbedingungen z.B. für die Definition von Primärschlüsseln oder Fremdschlüsseln, die sich auf mehr als eine Spalte beziehen. Sie sind eine Klausel im CREATE TABLE-Anweisung.

Syntax der Tabellenbedingung (SQL, Oracle):

   <Tabellenbedingung> ::=
     [ CONSTRAINT Constraintname ] <Tabellenbedingungsausdruck>
     [ <CONSTRAINT Characteristika> ]

   <Tabellenbedingungsausdruck> ::=
       PRIMARY KEY ( Spaltenname [ , Spaltenname ]... )
     | UNIQUE      ( Spaltenname [ , Spaltenname ]... )
     | FOREIGN KEY ( Spaltenname [ , Spaltenname ]... ) <Referenzspezifikation>
     | CHECK       ( <Check-Suchbedingung> )

   <Referenzspezifikation> ::=
      REFERENCES Tabellenname [ ( Spaltenname [ , Spaltenname ]... ) ]
         [ <Übereinstimmungstyp> ]    [ <Fehlerkorrektur> ]

Bei der CHECK-Suchbedingung sind im SQL-Standard komplexe Suchbedingungen möglich, während bei ORACLE und DB/2 sind nur einfache Bedingungen formulierbar sind , wie Vergleiche mit Konstanten bzw. zwischen zwei Spalten der zugehörigen Tabelle. Es sind hier nicht wie im Standard-SQL SELECT-Anfragen auf andere Tabellen möglich.

Siehe auch: Integritätsbedingung, Integritätsprüfung, Spaltenbedingung

Quellen:

  • ANSI/ISO/IEC 9075-1:2003. Part 1 "SQL/Framework", ISO International Organization for Standardization / ANSI American National Standards Institute, September 2003
  • ANSI/ISO/IEC 9075-2:2003. Part 2 "SQL/Foundation", ISO International Organization for Standardization / ANSI American National Standards Institute, Dezember 2003
  • Elmasri, Ramez/Navathe, Shamkant B.: "Grundlagen von Datenbanksystemen" , Pearson Studium, München, 2002, ISBN 3-8273-7021-3
  • Faeskorn-Woyke, Heide/Bertelsmeier, Birgit/Riemer, Petra/Bauer, Elena: "Datenbanksysteme - Theorie und Praxis mit SQL2003, Oracle und MySQL", Pearson Education, München, 2007, ISBN 978-3-8273-7266-6
  • Kemper, Alfons/Eickler, André: "Datenbanksysteme", Oldenbourg, München, 2009, 978-3-486-59018-0
  • Melton, Jim/Simon, Alan R.: "SQL: 1999 - Understanding Relational Language Components", Morgan Kaufmann, San Francisco, 2001, ISBN 1558604561
  • Oracle® Database SQL Language Reference 11g Release 2 (11.2), E17118-03, August 2010, http://download.oracle.com/docs/cd/E11882_01/server.112/e17118.pdf
  • Saake, Gunter/Sattler, Kai-Uwe/Heuer, Andreas: "Datenbanken - Konzepte und Sprachen", mitp-Verlag, Redline GmbH, Heidelberg, 2007, ISBN 3-8266-1664-2
  • Vossen, Gottfried: "Datenmodelle, Datenbanksprachen und Datenbankmanagementsysteme", Oldenbourg, München, 2008, ISBN 978-3-486-27574-2

Kategorie :SQL, T