Spaltenbedingung

Spaltenbedingungen (COLUMN CONSTRAINTS) sind CONSTRAINTS, die sich auf eine einzelne Spalte, nicht auf die gesamte Tabelle, beziehen. Nur der NOT NULL-Constraint kann ausschließlich als Spaltenbedingung definiert werden und nicht als Tabellenbedingung, alle anderen Spaltenbedingungen lassen als sich auch als Tabellenbedingung formulieren. Spaltenbedingungen sind eine Klausel im CREATE TABLE-Anweisung.

Syntax der Spaltenbedingung (SQL, Oracle):

 <Spaltenbedingung> ::=
   [ CONSTRAINT Constraintname ] <Spaltenbedingungsausdruck>
   [ <CONSTRAINT Characteristika> ]

 <Spaltenbedingungsausdruck> ::= 
     NOT NULL | PRIMARY KEY | UNIQUE | <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, Tabellenbedingung

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, S