l Eine Datenbank (DB) soll die Realwelt korrekt abbilden l Semantische Integritätsbedingungen (IB) alle spezifizierten IB erfüllt sind



Ähnliche Dokumente
SQL: statische Integrität

6. Datenintegrität. Integritätsbedingungen

Datenbanken: Datenintegrität.

Referenzielle Integrität SQL

Semantische Integrität (auch: Konsistenz) der in einer Datenbank gespeicherten Daten als wichtige Anforderung

Bedingungen über Werte Statische Integrität. CHECK-Klausel

Referentielle Integrität

SQL. Fortgeschrittene Konzepte Auszug

Übung Datenbanken in der Praxis. Datenmodifikation mit SQL

VO Datenmodellierung. Katrin Seyr

Referentielle Integrität

Datenintegrität. Bisherige Integritätsbedingungen

Konstante Relationen

Datenintegrität. Einschränkung der möglichen Datenbankzustände und -übergänge auf die in der Realität möglichen

Universität Duisburg-Essen Informationssysteme Prof. Dr.-Ing. N. Fuhr. Praktikum Datenbanken / DB2 Woche 8: Trigger, SQL-PL

Integritätsbedingungen / Normalformen- Beispiel: Kontoführung

Datenintegrität. Arten von Integritätsbedingungen. Statische Integritätsbedingungen. Referentielle Integrität. Integritätsbedingungen in SQL.

Relationales Modell: SQL-DDL. SQL als Definitionssprache. 7. Datenbankdefinitionssprachen. Anforderungen an eine relationale DDL

Views in SQL. 2 Anlegen und Verwenden von Views 2

Datenintegrität. Einschränkung der möglichen Datenbankzustände und -übergänge auf die in der Realität möglichen

Whitepaper. Produkt: combit Relationship Manager. Datensatzhistorie mit dem SQL Server 2000 und combit GmbH Untere Laube Konstanz

Dipl. Inf. Dipl. Math. Y. Orkunoglu Datum:

Datenbanken SQL Einführung Datenbank in MySQL einrichten mit PhpMyAdmin

Terminierungs-Analyse von SQL-Triggern. Sommersemester 05 T. Jahn Seminar Intelligente Datenbanken SQL-Trigger: Terminierungs-Analyse 1

Kapitel DB:VI (Fortsetzung)

Datenbanksysteme I Integrität und Trigger Felix Naumann

mit Musterlösungen Prof. Dr. Gerd Stumme, Dipl.-Inform. Christoph Schmitz 11. Juni 2007

SQL Tutorial. SQL - Tutorial SS 06. Hubert Baumgartner. INSO - Industrial Software

Dynamisches SQL. Folien zum Datenbankpraktikum Wintersemester 2009/10 LMU München

Mengenvergleiche: Alle Konten außer das, mit dem größten Saldo.

6. Trigger Charakterisierung von Triggern. 6. Trigger. Trigger definieren automatische Reaktionen auf Ereignisse, die durch Datenmanupilationen

Labor 3 - Datenbank mit MySQL

Prakt. Datenbankprogrammierung. Sommersemester Was sind Constraints? I,11: Verwendung von Constraints. Festlegung von Constraints

Beispiel zur referentiellen Integrität

Hochschule Karlsruhe Technik und Wirtschaft Anhänge: Fakultät für Informatik und Wirtschaftsinformatik SS 2013 Prof. Schmidt.

Datenbanksysteme 2013

Informatik für Ökonomen II: Datenintegrität. Prof. Dr. Carl-Christian Kanne

Datumsangaben, enthält mindestens Jahr, Monat, Tag

Tag 4 Inhaltsverzeichnis

Übungsblatt 8- Lösungsvorschlag

Tag 4 Inhaltsverzeichnis

Schlüssel bei temporalen Daten im relationalen Modell

Universität Augsburg, Institut für Informatik WS 2006/2007 Dr. W.-T. Balke 27. Nov M. Endres, A. Huhn, T. Preisinger Lösungsblatt 5

Informations- und Wissensmanagement

Datenbanksysteme I WS 18/19 Teillösung Übungsblatt 4-6

DB2 SQL, der Systemkatalog & Aktive Datenbanken

Funktion definieren Gibt Summe der Gehälter zurück. Aufruf in einem SQL-Statement

Von der passiven zur aktiven Datenbank. Checks und Assertions Referentielle Aktionen Trigger

6. Sichten, Integrität und Zugriffskontrolle. Vorlesung "Informa=onssysteme" Sommersemester 2015

PostgreSQL unter Debian Linux

Beispiel 1: Filmdatenbank

DATENBANKEN SQL UND SQLITE VON MELANIE SCHLIEBENER

Ein Ausflug zu ACCESS

Vorlesung Informationssysteme

Erzeugen von Constraints

Projektbericht Gruppe 12. Datenbanksysteme WS 05/ 06. Gruppe 12. Martin Tintel Tatjana Triebl. Seite 1 von 11

... Datenintegrität verwalten

Datenbanksysteme I. Klausur zum Praktikum. Mehrere Professoren prüfen mit genau einem Beisitzer genau einen Studenten.

Oracle: Abstrakte Datentypen:

Vorlesung Dokumentation und Datenbanken Klausur

3 Richtlinienbasierte Verwaltung und Multi-Server- Administration

Entwicklung einer Informix- Administrationsdatenbank mit ERwin

Uni Duisburg-Essen Fachgebiet Informationssysteme Prof. Dr. N. Fuhr

Datenbanken für Online Untersuchungen

Einführung in SQL. Sprachumfang: Indizes. Datensätzen. Zugriffsrechten

Kapitel 33. Der xml-datentyp. In diesem Kapitel: Der xml-datentyp 996 Abfragen aus xml-datentypen 1001 XML-Indizierung 1017 Zusammenfassung 1023

Teil VIII Transaktionen, Integrität und Trigger

SET SQL_MODE="NO_AUTO_VALUE_ON_ZERO";

3.3. Implementierung in SQL DDL-Grundlagen Constraint-Verzögerung Implementierungs-Strategien

Die Anweisung create table

Kapitel 10 Aktive DBMS

4.14 Integrität und Trigger

Datenintegrität. Kapitel 5 1

1 Transaktionen in SQL. 2 Was ist eine Transaktion. 3 Eigenschaften einer Transaktion. PostgreSQL

Nachtrag: Farben. Farbblindheit. (Light und Bartlein 2004)

Kapitel 8: Datenintegrität

SQL und MySQL. Kristian Köhntopp

Praktische SQL-Befehle

Geschichte und Theorie

Seminar 2. SQL - DML(Data Manipulation Language) und. DDL(Data Definition Language) Befehle.

Datenintegrität. Arten von Integritätsbedingungen. Statische Integritätsbedingungen. Referentielle Integrität. Integritätsbedingungen in SQL.

SQL-Vertiefung. VL Datenbanksysteme. Ingo Feinerer

3.17 Zugriffskontrolle

SQL structured query language

Foreign Keys. MySQL 4, 5. Kapitel 16: Fremdschlüssel. Marcel Noe

Grundlagen von Datenbanken

Integritätsbedingungen für komplexe Objekte in objektrelationalen Datenbanksystemen

Übungen zur Vorlesung. Mobile und Verteilte Datenbanken. WS 2008/2009 Übung 2 Anfrageoptimierung in zentralisierten Datenbanksystemen LÖSUNG

DBS ::: SERIE 5. Join Right Semi- Join Left Semi-Join Projektion Selektion Fremdschlüssel. Kreuzprodukt

Zur Konfiguration werden hierbei das Setup-Tool und die Shell verwendet.

7. Datenbank-Zugriff. Vorlesung und Übung Dr. Peter Pfahler Institut für Informatik Universität Paderborn. Zum Beispiel aus PHP-Skripten: Client 7-2

Datenintegrität. Kapitel 5 1

Create-Table-Befehl. CREATE TABLE Tabellenname ( { Spalte { Datentyp Gebietsname } [ Spaltenbedingung [ ] ] Tabellenbedingung }

Datenintegrität. Integitätsbedingungen Schlüssel Beziehungskardinalitäten Attributdomänen Inklusion bei Generalisierung

Bibliografische Informationen digitalisiert durch

Datenbanken (Bachelor) (SPO2007) WS 2011/12

Transkript:

spezifizieren sind werden g.d.w. Kapite 6 Semantische Integrität & Trigger in SQL-99 Dekarative Integritätbedingungen Trigger Semantische Integrität - Kurzeinfhrung Eine Datenbank (DB) so die Reawet korrekt abbiden Semantische Integritätsbedingungen (IB) Regen der Reawet Tei eines Datnbankschemas automatisch berprft insert Mitarbeiter (Ken, 1000,...) insert Mitarbeiter (Jim, 6000,...) DB ist semantisch korrekt ae spezifizierten IB erft sind rejected DBMS inserted DB CREATE TABLE Mitarbeiter (Name VARCHAR(30),, CHECK(Gehat > 2000)) Voresung "Objektreationae, erweiterbare Datenbanken - WS 2001/2002 (Dr. C. Trker) 6-2

NOT CHECK UNIQUE/PRIMARY FOREIGN Beiebige Dekarativ NULL DEFAULT Formuierung von IB (Booesches Prädikat) KEY (Eindeutigkeits-/Schssebedingungen) KEY... REFERENCES (Fremdschssebedingungen) DOMAIN ASSERTION Prozedura mittes Trigger (statische & transitionae) IB reaisierbar Voresung "Objektreationae, erweiterbare Datenbanken - WS 2001/2002 (Dr. C. Trker) 6-3 Dekarative IB - Beispiee CREATE DOMAIN Jobs CHAR(10) DEFAULT 'Verkaeufer' CHECK(VALUE IN ('Verkaeufer', 'Manager', 'Buchhater')); CREATE TABLE Mitarbeiter ( MNr SMALLINT PRIMARY KEY, Nachname VARCHAR(25) NOT NULL, Vorname VARCHAR(20) NOT NULL, Job Jobs, Vorgesetzter SMALLINT Mitarbeiter(MNr), Ansteung CREATE DATE ASSERTION DEFAULT MaxJahresgehat CURRENT_DATE, Gehat DECIMAL(7,2) NOT NULL CHECK(Gehat > 2000), CHECK((SELECT 12*SUM(Gehat + Bonus) FROM Mitarbeiter) < Bonus DECIMAL(7,2) NOT NULL CHECK(Bonus < 5000), 5000000); CONSTRAINT EindeutigeNamenskombination UNIQUE(Nachname, Vorname), CONSTRAINT CheckGesamtgehat CHECK(Gehat + Bonus < 25000)); CREATE ASSERTION MaxJahresgeht CHECK((SELECT 12*SUM(Gehat + Bonus) FROM Mitarbeiter) < 5000000); Voresung "Objektreationae, erweiterbare Datenbanken - WS 2001/2002 (Dr. C. Trker) 6-4

Notwendig DEFERRABLE IMMEDIATE Komponenten dekarativer IB Name (DBMS generiert einen fas keiner expizit angegeben wurde) fr Debugging und Administration (Löschen & (De-)Aktivieren von IB) Verzögerungsmodus / NOT DEFERRABLE (Initiaer) Überprfungsmodus / DEFERRED DEFERRABLE NOT DEFERRABLE IMMEDIATE DEFERRED Überprfungsmodus ändern SET CONSTRAINTS constraint-name DEFERRED; SET CONSTRAINTS ALL IMMEDIATE; Voresung "Objektreationae, erweiterbare Datenbanken - WS 2001/2002 (Dr. C. Trker) 6-5 Semantik von Eindeutigkeitsbedingungen UNIQUE(u1,..., un) git fr Tabee R PRIMARY KEY(u1,..., un) git fr Tabee R Voresung "Objektreationae, erweiterbare Datenbanken - WS 2001/2002 (Dr. C. Trker) 6-6

Fremdschsse Ae Fremdschssesemantiken (1) R(f 1,..., f n ) REFERENCES S(u 1,..., u n ) SIMPLE MATCH PARTIAL MATCH FULL MATCH Voresung "Objektreationae, erweiterbare Datenbanken - WS 2001/2002 (Dr. C. Trker) 6-7 Fremdschssesemantiken (2) Agemein git: FULL = SIMPLE+CHECK((f 1 IS NULL AND... AND f n IS NULL) OR (f 1 IS NOT NULL AND... AND f n IS NOT NULL)) SIMPLE, PARTIAL und FULL MATCH sind äquivaent, wenn git: ist auf nur einem Attribut definiert und/oder referenzierenden und/oder referenzierten Attribute sind NOT NULL Referenzierte Eindeutigkeitsbedingung muss NON-DEFERRABLE sein Referenzierte Tabee muss eine Basistabee sein Voresung "Objektreationae, erweiterbare Datenbanken - WS 2001/2002 (Dr. C. Trker) 6-8

INSERT DELETE NO RESTRICT: CASCADE: SET SET Fremdschsse & Referentiee Aktionen Fremdschssebedingung veretzbar durch oder UPDATE auf der referenzierenden Tabee oder UPDATE auf der referenzierten Tabee Mögiche referentiee Reaktionen ACTION: verbietet DELETE/UPDATE eines referenzierten Tupes (Objekts) anaog zu NO ACTION; wird aber "on the fy" berprft automatisches DELETE/UPDATE der referenzierenden Tupe (Objekte) NULL: setzt korrespondierende Fremdschsse auf NULL DEFAULT: setzt korrespondierende Fremdschsse auf DEFAULT Voresung "Objektreationae, erweiterbare Datenbanken - WS 2001/2002 (Dr. C. Trker) 6-9 Probeme mit referentieen Aktionen CREATE TABLE dept (dept_id INT PRIMARY KEY); CREATE TABLE proj ( proj_id INT, Effekt einer Löschung bzw. Änderung hängt von der Überprfungsreihenfoge ab dept_id INT, PRIMARY KEY(proj_id,dept_id), FOREIGN KEY (dept_id) REFERENCES dept(dept_id) ON DELETE CASCADE ON UPDATE CASCADE); DELETE FROM dept WHERE dept_id = 1311 CREATE TABLE emp ( emp_id INT PRIMARY KEY, dept_id INT NOT NULL, dept dept_id 1311 proj_id INT NOT NULL, FOREIGN KEY (proj_id, dept_id) proj proj_id 1704 dept_id 1311 REFERENCES proj (proj_id, dept_id) ON DELETE RESTRICT ON UPDATE CASCADE, FOREIGN KEY (dept_id) REFERENCES dept(dept_id) emp emp_id 5643 proj_id 1704 dept_id 1311 ON DELETE CASCADE ON UPDATE CASCADE); Voresung "Objektreationae, erweiterbare Datenbanken - WS 2001/2002 (Dr. C. Trker) 6-10

NO CASCADE: SET SET IB fr Referenzattribute Referentiee Reaktionen anaog zu Fremdschssen ACTION/RESTRICT: verbietet DELETE eines referenzierten Objekts öscht automatisch ae referenzierenden Tupe und Objekte NULL: setzt korrespondierende Referenzattribute auf NULL DEFAULT: setzt korrespondierende Referenzattribute auf DEFAULT n SQL-99 eraubt derzeit nur NULL as Defautwert fr ein Referenzattribut Beispie: Hinzufgen eines Referenzattributs mit Scope und referentieer Reaktion ALTER TABLE Mitarbeiter ADD Projekt REF(ProjektTyp) SCOPE InterneProjekte REFERENCES ARE CHECKED ON DELETE CASCADE; Voresung "Objektreationae, erweiterbare Datenbanken - WS 2001/2002 (Dr. C. Trker) 6-11 Vererbung von IB IB einer Supertabee geten impizit fr ae Subtabeen Überschreiben (Ersetzen) einer geerbten IB nicht untersttzt Pro Tabee maxima ein impiziter bzw. expiziter Primärschsse Primärschsse sind nur auf Wurzetabeen definierbar Beispie: CREATE TABLE Mitarbeiter OF MitarbeiterTyp ( Gehat WITH OPTIONS NOT NULL, CHECK(Gehat >2000) ); CREATE TABLE Manager OF ManagerTyp UNDER Mitarbeiter( CHECK(Gehat >5000) ); Voresung "Objektreationae, erweiterbare Datenbanken - WS 2001/2002 (Dr. C. Trker) 6-12

IB Probeme: Trigger Konzept, um automatisch auf vordefinierte Ereignisse in der DB zu reagieren Neu im Standard, obwoh kommerziee Systeme aesamt schon ange Trigger untersttzen Trigger, sind auch fr die Sicherung der DB-Konsistenz einsetzbar innerhab eines Triggers berprft n Zusammenspie der Trigger (Terminierung & Konfuenz) n Zusammenspie Trigger & dekarative IB (Determinismus) Voresung "Objektreationae, erweiterbare Datenbanken - WS 2001/2002 (Dr. C. Trker) 6-13 Triggerkonzept am Beispie INSERT INTO Mitarbeiter VALUES (Ken, 1000,...) DBMS DB Mitarbeiter Name Gehat..................... Ken 1000... CREATE TRIGGER trig1 AFTER INSERT ON Mitarbeiter REFERENCING NEW AS NM FOR EACH ROW INSERT INTO MitarbBackup VALUES (NM.Name, NM.Gehat) MitarbBackup Name...... Ken Gehat...... 1000 Voresung "Objektreationae, erweiterbare Datenbanken - WS 2001/2002 (Dr. C. Trker) 6-14

INSERT/DELETE/UPDATE BEFORE/AFTER FOR SQL-Bedingung; Sequenz Beispiedefinition eines Triggers Fogender Trigger impementiert die ON UPDATE CASCADE Aktion (Orace, DB2 und Informix untersttzen diese referentiee Aktion nicht): CREATE TRIGGER OnUpdateCascadeMitarbeiter AFTER UPDATE OF ID ON Mitarbeiter REFERENCING OLD AS AtMit NEW AS NeuMit FOR EACH ROW WHEN(EXISTS(SELECT * FROM Dept WHERE Manager= AtMit.ID)) BEGIN ATOMIC UPDATE Dept SET Manager=NeuMit.ID WHERE Manager=AtMit.ID END; Voresung "Objektreationae, erweiterbare Datenbanken - WS 2001/2002 (Dr. C. Trker) 6-15 Triggerereignis: Trigger - Komponenten auf Basistabee Triggeraktivierungszeitpunkt: Triggerereignis Triggergranuarität: EACH ROW/STATEMENT Triggerbedingung: Aktion nur dann ausgefhrt, wenn die Bedingung erft ist Triggeraktion: von SQL-Anweisungen Voresung "Objektreationae, erweiterbare Datenbanken - WS 2001/2002 (Dr. C. Trker) 6-16

Menge Fhrt Dies Rcksetzen IB-Überprfung and Triggerausfhrung SQL-Anweisung Bestimme Menge der betroffenen Tupe/Objekte Fhre BEFORE Trigger aus Fhre Änderungen der SQL-Anweisung aus Überprfe ae RESTRICT Fremdschsse Überprfe ae CASCADE, SET NULL, SET DEFAULT Fremdschsse Überprfe ae NO ACTION Fremdschsse and ae anderen IB Fhre AFTER Trigger aus Voresung "Objektreationae, erweiterbare Datenbanken - WS 2001/2002 (Dr. C. Trker) 6-17 Effekt einer Integritätsveretzung Transaktion: von SQL-Anweisungen, die eine DB von einem konsistenten in einen anderen konsistenten Zustand berfhrt SQL-99 untersttzt impizit Konsistenz auf Anweisungsebene eine SQL-Anweisung zu einer Veretzung einer IB, wird eine Ausnahme signaisiert und die Änderungen der Anweisung rckgängig gemacht git auch fr ae automatisch durch referentiee Aktionen oder Trigger durchgefhrte Änderungen der gesamten Transaktion muss expizit durch den Benutzer/Anwendung mittes des Befehs ROLLBACK durchgefhrt werden Voresung "Objektreationae, erweiterbare Datenbanken - WS 2001/2002 (Dr. C. Trker) 6-18

Vergeich - Dekarative Integritätsbedingungen NOT NULL, DEFAULT, UNIQUE, PRIMARY KEY FOREIGN KEY MATCH SIMPLE PARTIAL FULL ON DELETE NO ACTION RESTRICT CASCADE SET NULL SET DEFAULT ON UPDATE NO ACTION RESTRICT CASCADE SET NULL SET DEFAULT CHECK Attribut-/Tupe-/Objektebene Tabeen-/Datenbankebene DOMAIN, ASSERTION Voresung "Objektreationae, erweiterbare Datenbanken - WS 2001/2002 (Dr. C. Trker) SQL99 Orace () () () DB2 () Informix () () () 6-19 NOT NULL und objektreationae Erweiterungen NOT NULL auf Objektwertigen Attributen Referenzattributen Koektionswertigen Attributen Beispie Orace DB2 Informix () () CREATE TYPE NameTyp (Vorname VARCHAR(20), Nachname VARCHAR(25)); CREATE TABLE Person (Name NameTyp NOT NULL,...); INSERT INTO Person(Name) VALUES (NULL); INSERT INTO Person(Name) VALUES (NameTyp(NULL, NULL)); CHECK((Name.Vorname IS NOT NULL) AND (Name.Nachname IS NOT NULL)); Voresung "Objektreationae, erweiterbare Datenbanken - WS 2001/2002 (Dr. C. Trker) 6-20

DB2 Orace Orace DB2 Vergeich - Semantik von Eindeutigkeitsbedingungen DB2 & Informix: Schsseattributwerte mssen eindeutig sein Orace: Schsseattributwerte mssen eindeutig sein (wenn sie nicht kompett aus Nuwerten bestehen) Voresung "Objektreationae, erweiterbare Datenbanken - WS 2001/2002 (Dr. C. Trker) 6-21 Vergeich - Eindeutigkeitsbedingungen Was passiert, wenn mehrere Eindeutigkeitsbedingungen auf geichen Attributen definiert werden? weist die Definition einer Eindeutigkeitsbedingung zurck, wenn auf derseben Tabee bereits eine andere Eindeutigkeitsbedingung mit denseben Attributen existiert & Informix weist die Definition einer Eindeutigkeitsbedingung nur dann zurck, wenn zusätzich die Reihenfoge der Attribute bereinstimmt Was geben die Systeme aus, wenn mehrere Eindeutigkeitsbedingungen geichzeitig veretzt sind? gibt den Namen der ätesten Eindeutigkeitsbedingung aus & Informix sagen nur, dass eine Eindeutigkeitsbedingung veretzt ist Voresung "Objektreationae, erweiterbare Datenbanken - WS 2001/2002 (Dr. C. Trker) 6-22

DB2 Informix: In Überraschenderweise Orace Vergeich - Eindeutigkeitsbedingungen und OR-Erweiterungen UNIQUE auf Objektwertigen Attributen Referenzattributen Koektionswertigen Attributen Orace () DB2 Informix Orace untersttzt Eindeutigkeitsbedingungen auf Komponenten eines objektwertigen Attributs, wenn der Typ der Komponente ein Basistyp ist Vererbung von Eindeutigkeitsbedingungen (Primärschssebedingungen) verbietet expizite Eindeutigkeitsbedingungen fr Subtabeen Jede Tabee darf maxima eine expizite Primärschssebedingung Voresung "Objektreationae, erweiterbare Datenbanken - WS 2001/2002 (Dr. C. Trker) 6-23 Vergeich - Fremdschsse & Referenzattribute DB2: Wenn eine Tabee mehrere Fremdschsse enthät, mssen ae Fremdschsse die geiche DELETE-Rege befogen diesem die DELETE-Rege des ersten Fremdschsses sind mehrere Fremdschsse nicht eraubt, wenn die erste DELETE-Rege SET NULL ist Integritätsbedingungen auf Referenzattributen Attributbasiert: Tabeenbasiert: ref_coumn REF ref_type SCOPE IS typed_tabe SCOPE FOR ref_coumn IS typed_tabe untersttzt beide Formen, DB2 nur attributbasiert Voresung "Objektreationae, erweiterbare Datenbanken - WS 2001/2002 (Dr. C. Trker) 6-24

Grund: Vergeich - Trigger Syntax und Semantik kommerzieer Trigger sind sehr unterschiedich Trigger wurden erst mit SQL-99 standardisiert, obwoh Trigger seit ber zehn Jahren von kommerzieen Systemen angeboten werden SQL-99 Orace DB2 Informix #Ereignisse pro Trigger #Trigger pro Ereignis Granuarität (ROW/STATEMENT) Aktivierungszeit (BEFORE/AFTER) Aktivierungsbedingung 1 * R/S B/A * * R/S B/A 1 * R/S B/A 1 1 R/S B/A Voresung "Objektreationae, erweiterbare Datenbanken - WS 2001/2002 (Dr. C. Trker) 6-25 Vergeich - Evoution von IB ADD DROP ENABLE DISABLE SET ENABLE VALIDATE VALIDATE + EXCEPTION NOVALIDATE DISABLE RESTRICT CASCADE VALIDATE VALIDATE + EXCEPTION NOVALIDATE RESTRICT CASCADE INITIALLY IMMEDIATE DEFERRED DEFERRABLE NOT DEFERRABLE SQL99 () Orace DB2 () () () () Informix () () () () Voresung "Objektreationae, erweiterbare Datenbanken - WS 2001/2002 (Dr. C. Trker) 6-26

Vergeich - Hinzufgen neuer IB ADD+ENABLE+VALIDATE+EXCEPTION Orace: ALTER TABLE t ADD cons-spec EXCEPTIONS INTO e; Informix: ALTER TABLE t ADD cons-spec FILTERING; ADD+DISABLE Orace: Informix: ALTER TABLE t ADD cons-spec DISABLE; ALTER TABLE t ADD cons-spec DISABLED; ADD+ENABLE+NOVALIDATE Orace: ALTER TABLE t ADD cons-spec NOVALIDATE; Voresung "Objektreationae, erweiterbare Datenbanken - WS 2001/2002 (Dr. C. Trker) 6-27 Vergeich - Aktivierung & Deaktivierung von IB ENABLE+VALIDATE Orace: ALTER TABLE t ENABLE cons; Informix: SET CONSTRAINTS cons-name ENABLED; ENABLE+NOVALIDATE Orace: ALTER TABLE t ENABLE NOVALIDATE cons; DISABLE Orace: Informix: ALTER TABLE t DISABLE cons; SET CONSTRAINTS cons-name DISABLED; SQL-99 & DB2 bieten hier keine Untersttzung Voresung "Objektreationae, erweiterbare Datenbanken - WS 2001/2002 (Dr. C. Trker) 6-28

Namen Vergeich - Metasichten fr IB & Trigger Enthaten Informationen ber definierte IB & Trigger SQL-99 tabe_constraints check_constraint referentia_constraints key_coumns_usage triggers Orace xxx_constraints xxx_constraints xxx_constraints xxx_cons_coumns xxx_triggers DB2 syscat.tabconst syscat.checks syscat.references syscat.keycouse syscat.triggers Informix sysconstraints syschecks sysreferences syscodepend systriggers Orace & DB2: mssen in Anfragen in grossen Buchstaben geschrieben sein (auch wenn bei der Definition keine Buchstaben verwendet wurden) Informix: Namen immer in Keinbuchstaben Voresung "Objektreationae, erweiterbare Datenbanken - WS 2001/2002 (Dr. C. Trker) 6-29