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

Größe: px
Ab Seite anzeigen:

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

Transkript

1 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

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), ); CONSTRAINT EindeutigeNamenskombination UNIQUE(Nachname, Vorname), CONSTRAINT CheckGesamtgehat CHECK(Gehat + Bonus < 25000)); CREATE ASSERTION MaxJahresgeht CHECK((SELECT 12*SUM(Gehat + Bonus) FROM Mitarbeiter) < ); Voresung "Objektreationae, erweiterbare Datenbanken - WS 2001/2002 (Dr. C. Trker) 6-4

3 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

4 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

5 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

6 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

7 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 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 Voresung "Objektreationae, erweiterbare Datenbanken - WS 2001/2002 (Dr. C. Trker) 6-14

8 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

9 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

10 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

11 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

12 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

13 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

14 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

15 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

SQL: statische Integrität

SQL: statische Integrität SQL: statische Integrität.1 SQL: statische Integrität Im allgemeinen sind nur solche Instanzen einer Datenbank erlaubt, deren Relationen die der Datenbank bekannten Integritätsbedingungen erfüllen. Integritätsbedingungen

Mehr

6. Datenintegrität. Integritätsbedingungen

6. Datenintegrität. Integritätsbedingungen 6. Integritätsbedingungen dienen zur Einschränkung der Datenbankzustände auf diejenigen, die es in der realen Welt tatsächlich gibt. sind aus dem erstellten Datenmodell ableitbar (semantisch) und können

Mehr

Datenbanken: Datenintegrität. www.informatikzentrale.de

Datenbanken: Datenintegrität. www.informatikzentrale.de Datenbanken: Datenintegrität Definition "Datenkonsistenz" "in der Datenbankorganisation (...) die Korrektheit der gespeicherten Daten im Sinn einer widerspruchsfreien und vollständigen Abbildung der relevanten

Mehr

Referenzielle Integrität SQL

Referenzielle Integrität SQL Referenzielle Integrität in SQL aus Referential Integrity Is Important For Databases von Michael Blaha (Modelsoft Consulting Corp) VII-45 Referenzielle Integrität Definition: Referenzielle Integrität bedeutet

Mehr

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

Semantische Integrität (auch: Konsistenz) der in einer Datenbank gespeicherten Daten als wichtige Anforderung 6. Datenintegrität Motivation Semantische Integrität (auch: Konsistenz) der in einer Datenbank gespeicherten Daten als wichtige Anforderung nur sinnvolle Attributwerte (z.b. keine negativen Semester) Abhängigkeiten

Mehr

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

4.14.3 Bedingungen über Werte. 4.14.4 Statische Integrität. CHECK-Klausel 4.14.3 Bedingungen über Werte 4.14.4 Statische Integrität Zu jeder Tabelle werden typischerweise ein Primärschlüssel und möglicherweise weitere Schlüssel festgelegt (UNIQUE-Klausel). In jeder Instanz zu

Mehr

Referentielle Integrität

Referentielle Integrität Datenintegrität Integitätsbedingungen Schlüssel Beziehungskardinalitäten Attributdomänen Inklusion bei Generalisierung statische Integritätsbedingungen Bedingungen an den Zustand der Datenbasis dynamische

Mehr

SQL. Fortgeschrittene Konzepte Auszug

SQL. Fortgeschrittene Konzepte Auszug SQL Fortgeschrittene Konzepte Auszug Levels SQL92 Unterteilung in 3 Levels Entry Level (i.w. SQL89) wird von nahezu allen DBS Herstellern unterstützt Intermediate Level Full Level SQL DML 2-2 SQL92 behebt

Mehr

Übung Datenbanken in der Praxis. Datenmodifikation mit SQL

Übung Datenbanken in der Praxis. Datenmodifikation mit SQL Datenmodifikation mit SQL Folie 45 SQL - Datenmodifikation Einfügen INSERT INTO Relation [(Attribut, Attribut,...)] VALUES (Wert, Wert,...) INSERT INTO Relation [(Attribut, Attribut,...)] SFW-Anfrage Ändern

Mehr

VO Datenmodellierung. Katrin Seyr

VO Datenmodellierung. Katrin Seyr Datenintegrität Datenintegrität VO Datenmodellierung Katrin Seyr Institut für Informationssysteme Technische Universität Wien Katrin Seyr Seite 1 Datenintegrität 1. Überblick Überblick 1 Überblick 2 Integritätsbedingungen

Mehr

Referentielle Integrität

Referentielle Integrität Datenintegrität Integitätsbedingungen Schlüssel Beziehungskardinalitäten Attributdomänen Inklusion bei Generalisierung statische Integritätsbedingungen Bedingungen an den Zustand der Datenbasis dynamische

Mehr

Datenintegrität. Bisherige Integritätsbedingungen

Datenintegrität. Bisherige Integritätsbedingungen Datenintegrität Integitätsbedingungen chlüssel Beziehungskardinalitäten Attributdomänen Inklusion bei Generalisierung statische Bedingungen an den Zustand der Datenbasis dynamische Bedingungen an Zustandsübergänge

Mehr

Konstante Relationen

Konstante Relationen Konstante Relationen values-syntax erzeugt konstante Relation values ( [, Konstante] * )[, ( [, Konstante] * )]* Beispiel values (1, eins ), (2, zwei ), (3, drei ); Resultat ist eine

Mehr

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

Datenintegrität. Einschränkung der möglichen Datenbankzustände und -übergänge auf die in der Realität möglichen Datenintegrität Einschränkung der möglichen Datenbankzustände und -übergänge auf die in der Realität möglichen Formulierung von Integritätsbedingungen ist die wichtigste Aufgabe des DB-Administrators!

Mehr

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

Universität Duisburg-Essen Informationssysteme Prof. Dr.-Ing. N. Fuhr. Praktikum Datenbanken / DB2 Woche 8: Trigger, SQL-PL Betreuer: Sascha Kriewel, Tobias Tuttas Raum: LF 230 Bearbeitung: 26., 27. und 29. Juni 2006 Datum Team (Account) Vorbereitung Präsenz Aktuelle Informationen, Ansprechpartner und Material unter: http://www.is.inf.uni-due.de/courses/dbp_ss07/index.html

Mehr

Integritätsbedingungen / Normalformen- Beispiel: Kontoführung

Integritätsbedingungen / Normalformen- Beispiel: Kontoführung Technische Universität München WS 2003/04, Fakultät für Informatik Datenbanksysteme I Prof. R. Bayer, Ph.D. Lösungsblatt 8 Dipl.-Inform. Michael Bauer Dr. Gabi Höfling 12.01. 2004 Integritätsbedingungen

Mehr

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

Datenintegrität. Arten von Integritätsbedingungen. Statische Integritätsbedingungen. Referentielle Integrität. Integritätsbedingungen in SQL. Datenintegrität Arten von Integritätsbedingungen Statische Integritätsbedingungen Referentielle Integrität Integritätsbedingungen in SQL Trigger 1 Datenintegrität Einschränkung der möglichen Datenbankzustände

Mehr

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

Relationales Modell: SQL-DDL. SQL als Definitionssprache. 7. Datenbankdefinitionssprachen. Anforderungen an eine relationale DDL Relationales Modell: SQLDDL SQL als Definitionssprache SQLDDL umfaßt alle Klauseln von SQL, die mit Definition von Typen Wertebereichen Relationenschemata Integritätsbedingungen zu tun haben Externe Ebene

Mehr

Views in SQL. 2 Anlegen und Verwenden von Views 2

Views in SQL. 2 Anlegen und Verwenden von Views 2 Views in SQL Holger Jakobs bibjah@bg.bib.de, holger@jakobs.com 2010-07-15 Inhaltsverzeichnis 1 Wozu dienen Views? 1 2 Anlegen und Verwenden von Views 2 3 Schreibfähigkeit von Views 3 3.1 Views schreibfähig

Mehr

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

Datenintegrität. Einschränkung der möglichen Datenbankzustände und -übergänge auf die in der Realität möglichen Datenintegrität Einschränkung der möglichen Datenbankzustände und -übergänge auf die in der Realität möglichen Formulierung von Integritätsbedingungen ist die wichtigste Aufgabe des DB-Administrators!

Mehr

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

Whitepaper. Produkt: combit Relationship Manager. Datensatzhistorie mit dem SQL Server 2000 und 2005. combit GmbH Untere Laube 30 78462 Konstanz combit GmbH Untere Laube 30 78462 Konstanz Whitepaper Produkt: combit Relationship Manager Datensatzhistorie mit dem SQL Server 2000 und 2005 Datensatzhistorie mit dem SQL Server 2000 und 2005-2 - Inhalt

Mehr

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

Dipl. Inf. Dipl. Math. Y. Orkunoglu Datum: 11.09.2009 Hochschule Darmstadt DATENBANKEN Fachbereich Informatik Praktikum 3 Dipl. Inf. Dipl. Math. Y. Orkunoglu Datum: 11.09.2009 PL/SQL Programmierung Anwendung des Cursor Konzepts und Stored Procedures Und Trigger

Mehr

Datenbanken SQL Einführung Datenbank in MySQL einrichten mit PhpMyAdmin

Datenbanken SQL Einführung Datenbank in MySQL einrichten mit PhpMyAdmin Datenbanken SQL Einführung Datenbank in MySQL einrichten mit PhpMyAdmin PhpMyAdmin = grafsches Tool zur Verwaltung von MySQL-Datenbanken Datenbanken erzeugen und löschen Tabellen und Spalten einfügen,

Mehr

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

Terminierungs-Analyse von SQL-Triggern. Sommersemester 05 T. Jahn Seminar Intelligente Datenbanken SQL-Trigger: Terminierungs-Analyse 1 Terminierungs- von SQL-Triggern T. Jahn Seminar Intelligente Datenbanken SQL-Trigger: Terminierungs- 1 Terminierungs- von SQL-Triggern Seminar Intelligente Datenbanken Prof. Dr. R. Manthey Andreas Behrend

Mehr

Kapitel DB:VI (Fortsetzung)

Kapitel DB:VI (Fortsetzung) Kapitel DB:VI (Fortsetzung) VI. Die relationale Datenbanksprache SQL Einführung SQL als Datenanfragesprache SQL als Datendefinitionssprache SQL als Datenmanipulationssprache Sichten SQL vom Programm aus

Mehr

Datenbanksysteme I Integrität und Trigger Felix Naumann

Datenbanksysteme I Integrität und Trigger Felix Naumann Datenbanksysteme I Integrität und Trigger 9.5.2011 Felix Naumann Motivation Aktive Datenbanken 2 Einzufügende Daten können fehlerhaft sein Typographische Fehler, logische Fehler Lösung 1: Bessere Anwendung

Mehr

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

mit Musterlösungen Prof. Dr. Gerd Stumme, Dipl.-Inform. Christoph Schmitz 11. Juni 2007 6. Übung zur Vorlesung Datenbanken im Sommersemester 2007 mit Musterlösungen Prof. Dr. Gerd Stumme, Dipl.-Inform. Christoph Schmitz 11. Juni 2007 Aufgabe 1: Rekursion Betrachten Sie die folgende Tabelle

Mehr

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

SQL Tutorial. SQL - Tutorial SS 06. Hubert Baumgartner. INSO - Industrial Software SQL Tutorial SQL - Tutorial SS 06 Hubert Baumgartner INSO - Industrial Software Institut für Rechnergestützte Automation Fakultät für Informatik Technische Universität Wien Inhalt des Tutorials 1 2 3 4

Mehr

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

Dynamisches SQL. Folien zum Datenbankpraktikum Wintersemester 2009/10 LMU München Kapitel 4 Dynamisches SQL Folien zum Datenbankpraktikum Wintersemester 2009/10 LMU München 2008 Thomas Bernecker, Tobias Emrich unter Verwendung der Folien des Datenbankpraktikums aus dem Wintersemester

Mehr

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

Mengenvergleiche: Alle Konten außer das, mit dem größten Saldo. Mengenvergleiche: Mehr Möglichkeiten als der in-operator bietet der θany und der θall-operator, also der Vergleich mit irgendeinem oder jedem Tupel der Unteranfrage. Alle Konten außer das, mit dem größten

Mehr

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

6. Trigger Charakterisierung von Triggern. 6. Trigger. Trigger definieren automatische Reaktionen auf Ereignisse, die durch Datenmanupilationen 6. Trigger Charakterisierung von Triggern 6. Trigger Trigger definieren automatische Reaktionen auf Ereignisse, die durch Datenmanupilationen auf einer Relation ausgelöst werden. Trigger stellen eine einfache

Mehr

Labor 3 - Datenbank mit MySQL

Labor 3 - Datenbank mit MySQL Labor 3 - Datenbank mit MySQL Hinweis: Dieses Labor entstand z.t. aus Scripten von Prof. Dr. U. Bannier. 1. Starten des MySQL-Systems MySQL ist ein unter www.mysql.com kostenlos erhältliches Datenbankmanagementsystem.

Mehr

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

Prakt. Datenbankprogrammierung. Sommersemester Was sind Constraints? I,11: Verwendung von Constraints. Festlegung von Constraints Prakt. Datenbankprogrammierung Sommersemester 2005 I,11: Verwendung von Constraints Was sind Constraints? Constraints stellen Regeln auf Tabellenebene sicher. Constraints verhindern das Löschen aus einer

Mehr

Beispiel zur referentiellen Integrität

Beispiel zur referentiellen Integrität 3. Der SQL-Standard 3.14. Integrität und Trigger Seite 1 Beispiel zur referentiellen Integrität CREATE TABLE T1( k1 NUMERIC NOT NULL PRIMARY KEY); CREATE TABLE T2( k2 NUMERIC NOT NULL PRIMARY KEY, k1 NUMERIC,

Mehr

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

Hochschule Karlsruhe Technik und Wirtschaft- 10.7.2013. Anhänge: Fakultät für Informatik und Wirtschaftsinformatik SS 2013 Prof. Schmidt. Fakultät für Informatik und Wirtschaftsinformatik SS 2013 Datenbanken und Informationssysteme II Szenario: Projektverwaltung. Es gibt Projekte, Projektleiter, Mitarbeiter und ihre Zuordnung zu Projekten.

Mehr

Datenbanksysteme 2013

Datenbanksysteme 2013 Datenbanksysteme 2013 Kapitel 8: Datenintegrität Vorlesung vom 14.05.2013 Oliver Vornberger Institut für Informatik Universität Osnabrück Datenintegrität Statische Bedingung (jeder Zustand) Dynamische

Mehr

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

Informatik für Ökonomen II: Datenintegrität. Prof. Dr. Carl-Christian Kanne Informatik für Ökonomen II: Datenintegrität Prof. Dr. Carl-Christian Kanne 1 Konsistenzbedingungen DBMS soll logische Datenintegrität gewährleisten Beispiele für Integritätsbedingungen Schlüssel Beziehungskardinalitäten

Mehr

Datumsangaben, enthält mindestens Jahr, Monat, Tag

Datumsangaben, enthält mindestens Jahr, Monat, Tag Datenbanken mit SQL Informatik - Sprenger Häufig wird mit Tabellenkalkulationen gearbeitet, obwohl der Einsatz von Datenbanken sinnvoller ist. Tabellenkalkulationen wie Microsoft Excel oder LibreOffice

Mehr

Tag 4 Inhaltsverzeichnis

Tag 4 Inhaltsverzeichnis Tag 4 Inhaltsverzeichnis Normalformen Problem Formen (1-4) Weitere Formen Transaktionen Synchronisationsprobleme Überblick Autocommit Locking Savepoints Isolation levels Übungen RDB 4-1 Normalformen Problematik

Mehr

Übungsblatt 8- Lösungsvorschlag

Übungsblatt 8- Lösungsvorschlag Universität Innsbruck - Institut für Informatik Prof. Günther Specht, R.Binna, N.Krismer, M. Tschuggnall 30. November 2012 Proseminar Datenbanksysteme Übungsblatt 8- Lösungsvorschlag Aufgabe 1 (Trigger)

Mehr

Tag 4 Inhaltsverzeichnis

Tag 4 Inhaltsverzeichnis Tag 4 Inhaltsverzeichnis Normalformen Problem Formen (1-4) Weitere Formen Transaktionen Synchronisationsprobleme Überblick Autocommit Locking Savepoints Isolation levels Übungen RDB 4-1 Normalformen Problematik

Mehr

Schlüssel bei temporalen Daten im relationalen Modell

Schlüssel bei temporalen Daten im relationalen Modell Schlüssel bei temporalen Daten im relationalen Modell Gesine Mühle > Präsentation > Bilder zum Inhalt zurück weiter 322 Schlüssel im relationalen Modell Schlüssel bei temporalen Daten im relationalen Modell

Mehr

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

Universität Augsburg, Institut für Informatik WS 2006/2007 Dr. W.-T. Balke 27. Nov. 2006 M. Endres, A. Huhn, T. Preisinger Lösungsblatt 5 Universität Augsburg, Institut für Informatik WS 2006/2007 Dr. W.-T. Balke 27. Nov. 2006 M. Endres, A. Huhn, T. Preisinger Lösungsblatt 5 Aufgabe 1: Projektion Datenbanksysteme I π A1,...,A n (π B1,...,B

Mehr

Informations- und Wissensmanagement

Informations- und Wissensmanagement Übung zur Vorlesung Informations- und Wissensmanagement (Übung 1) Frank Eichinger IPD, Lehrstuhl für Systeme der Informationsverwaltung Zur Person Beruflicher Hintergrund Studium an der TU Braunschweig

Mehr

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

Datenbanksysteme I WS 18/19 Teillösung Übungsblatt 4-6 Datenbanksysteme I WS 18/19 Teillösung Übungsblatt 4-6 Universität Leipzig, Institut für Informatik Abteilung Datenbanken Prof. Dr. E. Rahm, V. Christen, M. Franke DBS1 Blatt 4 Mitschreibbar 2 Welche Autoren

Mehr

DB2 SQL, der Systemkatalog & Aktive Datenbanken

DB2 SQL, der Systemkatalog & Aktive Datenbanken DB2 SQL, der Systemkatalog & Aktive Datenbanken Lehr- und Forschungseinheit Datenbanken und Informationssysteme 1 Ziele Auf DB2 Datenbanken zugreifen DB2 Datenbanken benutzen Abfragen ausführen Den Systemkatalog

Mehr

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

Funktion definieren Gibt Summe der Gehälter zurück. Aufruf in einem SQL-Statement Funktion definieren Gibt Summe der Gehälter zurück Aufruf in einem SQL-Statement Dr. Christian Senger Einführung PL/SQL 1 Procedures & Transaktionen CREATE OR REPLACE PROCEDURE write_log ( log_code IN

Mehr

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

Von der passiven zur aktiven Datenbank. Checks und Assertions Referentielle Aktionen Trigger Von der passiven zur aktiven Datenbank Checks und Assertions Referentielle Aktionen Trigger Datenbank ist mehr als Datenspeicher Konzept der Integrität: Widerspruchsfreier Datenbestand verschieden weit

Mehr

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

6. Sichten, Integrität und Zugriffskontrolle. Vorlesung Informa=onssysteme Sommersemester 2015 6. Sichten, Integrität und Zugriffskontrolle Vorlesung "Informa=onssysteme" Sommersemester 2015 Überblick Sichten Integritätsbedingungen Zugriffsrechte SQL- Schema und SQL- Katalog Das Informa=onsschema

Mehr

PostgreSQL unter Debian Linux

PostgreSQL unter Debian Linux Einführung für PostgreSQL 7.4 unter Debian Linux (Stand 30.04.2008) von Moczon T. und Schönfeld A. Inhalt 1. Installation... 2 2. Anmelden als Benutzer postgres... 2 2.1 Anlegen eines neuen Benutzers...

Mehr

Beispiel 1: Filmdatenbank

Beispiel 1: Filmdatenbank Beispiel 1: Filmdatenbank Die Filmdatenbank hat drei Tabellen (ACTOR, MOVIE, PLAYED) Aufgabe 1: Erstelle mit Hilfe der SQL-DDL die drei Tabellen und die Datenbank (MOVIEDB) ACTOR (ActorID, Name, Birthday,

Mehr

DATENBANKEN SQL UND SQLITE VON MELANIE SCHLIEBENER

DATENBANKEN SQL UND SQLITE VON MELANIE SCHLIEBENER DATENBANKEN SQL UND SQLITE VON MELANIE SCHLIEBENER INHALTSVERZEICHNIS 1. Datenbanken 2. SQL 1.1 Sinn und Zweck 1.2 Definition 1.3 Modelle 1.4 Relationales Datenbankmodell 2.1 Definition 2.2 Befehle 3.

Mehr

Ein Ausflug zu ACCESS

Ein Ausflug zu ACCESS Ein Ausflug zu ACCESS Die folgenden Folien zeigen beispielhaft, wie man sein DB- Wissen auf ACCESS übertragen kann betrachtet wird ACCESS 2002, da gerade im Bereich der Nutzung von SQL hier einiges nachgearbeitet

Mehr

Vorlesung Informationssysteme

Vorlesung Informationssysteme Saarbrücken, 25.06.2015 Information Systems Group Vorlesung Informationssysteme Vertiefung Kapitel 8: Transaktionen und wann sie gebraucht werden Erik Buchmann (buchmann@cs.uni-saarland.de) Foto: M. Strauch

Mehr

Erzeugen von Constraints

Erzeugen von Constraints Erzeugen von Constraints Was sind Constraints? Durch Constraints werden Regeln auf einem bestimmtem Tabellen-Level erzwungen. Die folgenden Constraint-Typen sind in Oracle integriert: NOT NULL UNIQUE Key

Mehr

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

Projektbericht Gruppe 12. Datenbanksysteme WS 05/ 06. Gruppe 12. Martin Tintel Tatjana Triebl. Seite 1 von 11 Datenbanksysteme WS 05/ 06 Gruppe 12 Martin Tintel Tatjana Triebl Seite 1 von 11 Inhaltsverzeichnis Inhaltsverzeichnis... 2 1. Einleitung... 3 2. Datenbanken... 4 2.1. Oracle... 4 2.2. MySQL... 5 2.3 MS

Mehr

... Datenintegrität verwalten

... Datenintegrität verwalten 13... Datenintegrität verwalten Lektion 13: Datenintegrität verwalten Ziele Ziele Nach dieser Lektion sollten Sie Folgendes können: Datenintegritäts-Constraints implementieren Datenintegritäts-Constraints

Mehr

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

Datenbanksysteme I. Klausur zum Praktikum. Mehrere Professoren prüfen mit genau einem Beisitzer genau einen Studenten. Lehrstuhl für Datenbanken und Informationssysteme Wintersemester 1999/2000 Universität Augsburg, Institut für Informatik 25. Februar 2000 Prof. Dr. Werner Kießling A. Leubner, M. Wagner Datenbanksysteme

Mehr

Oracle: Abstrakte Datentypen:

Oracle: Abstrakte Datentypen: Oracle: Abstrakte Datentypen: Oracle bietet zwei mögliche Arten um abstrakte Datentypen zu implementieren: Varying Array Nested Table Varying Array (kunde) kdnr kdname gekaufteart 1 Mustermann 1 4 5 8

Mehr

Vorlesung Dokumentation und Datenbanken Klausur

Vorlesung Dokumentation und Datenbanken Klausur Dr. Stefan Brass 5. Februar 2002 Institut für Informatik Universität Giessen Vorlesung Dokumentation und Datenbanken Klausur Name: Geburtsdatum: Geburtsort: (Diese Daten werden zur Ausstellung des Leistungsnachweises

Mehr

3 Richtlinienbasierte Verwaltung und Multi-Server- Administration

3 Richtlinienbasierte Verwaltung und Multi-Server- Administration Richtlinienbasierte Verwaltung und Multi-Server-Administration 3 Richtlinienbasierte Verwaltung und Multi-Server- Administration SQL Server Management Studio bietet eine Reihe von Unterstützungsmöglichkeiten,

Mehr

Entwicklung einer Informix- Administrationsdatenbank mit ERwin

Entwicklung einer Informix- Administrationsdatenbank mit ERwin Entwicklung einer Informix- Administrationsdatenbank mit ERwin Ausgangslage Ein oder mehrere Informix-Datenbankserver Mehrere Datenbanken Sehr viele Tabellen 21.10.1997 2 Problemstellung Fehlerprävention

Mehr

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

Uni Duisburg-Essen Fachgebiet Informationssysteme Prof. Dr. N. Fuhr Raum: LF 230 Bearbeitung: 9.-11. Mai 2005 Datum Gruppe Vorbereitung Präsenz Aktuelle Informationen unter: http://www.is.informatik.uni-duisburg.de/courses/dbp_ss03/ Tabellen in IBM DB2 Tabellen Eine relationale

Mehr

Datenbanken für Online Untersuchungen

Datenbanken für Online Untersuchungen Datenbanken für Online Untersuchungen Im vorliegenden Text wird die Verwendung einer MySQL Datenbank für Online Untersuchungen beschrieben. Es wird davon ausgegangen, dass die Untersuchung aus mehreren

Mehr

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

Einführung in SQL. Sprachumfang: Indizes. Datensätzen. Zugriffsrechten Einführung in SQL Die Sprache SQL (Structured Query Language) ist eine Programmiersprache für relationale Datenbanksysteme, die auf dem ANSI-SQL-Standard beruht. SQL wird heute von fast jedem Datenbanksystem

Mehr

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

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

Mehr

Teil VIII Transaktionen, Integrität und Trigger

Teil VIII Transaktionen, Integrität und Trigger page.1 Teil VIII Transaktionen, Integrität und Trigger page.2 Transaktionen, Integrität und Trigger Transaktionen, Integrität und Trigger 1 Grundbegriffe 2 Transaktionsbegriff 3 Transaktionen in SQL 4

Mehr

SET SQL_MODE="NO_AUTO_VALUE_ON_ZERO";

SET SQL_MODE=NO_AUTO_VALUE_ON_ZERO; phpmyadmin SQL Dump version 3.2.4 http://www.phpmyadmin.net Host: localhost Erstellungszeit: 13. April 2011 um 18:44 Server Version: 5.1.41 PHP-Version: 5.3.1 SET SQL_MODE="NO_AUTO_VALUE_ON_ZERO"; /*!40101

Mehr

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

3.3. Implementierung in SQL DDL-Grundlagen Constraint-Verzögerung Implementierungs-Strategien CREATE TABLE SPEND_STAT ( S_STATUS VARCHAR2(1), STAT_TXT VARCHAR2(15), PRIMARY KEY (S_STATUS) ENABLE ) ; 3.3. Implementierung in SQL DDL-Grundlagen Constraint-Verzögerung Implementierungs-Strategien DDL:

Mehr

Die Anweisung create table

Die Anweisung create table SQL-Datendefinition Die Anweisung create table create table basisrelationenname ( spaltenname 1 wertebereich 1 [not null],... spaltenname k wertebereich k [not null]) Wirkung dieses Kommandos ist sowohl

Mehr

Kapitel 10 Aktive DBMS

Kapitel 10 Aktive DBMS Kapitel 10 Aktive DBMS 10 Aktive DBMS 10 Aktive DBMS...1 10.1 Einführung und Definition...2 10.2 Funktionsprinzip: ADBMS und ECA-Modell...4 10.3 Potentiale und Vorteile ADBMS...5 10.4 Aktive Elemente einer

Mehr

4.14 Integrität und Trigger

4.14 Integrität und Trigger 4.14 Integrität und Trigger Im Allgemeinen sind nur solche Instanzen einer Datenbank erlaubt, deren Relationen die der Datenbank bekannten Integritätsbedingungen (IB) erfüllen. Integritätsbedingungen können

Mehr

Datenintegrität. Kapitel 5 1

Datenintegrität. Kapitel 5 1 Datenintegrität Integitätsbedingungen Schlüssel Beziehungskardinalitäten Attributdomänen Inklusion bei Generalisierung statische Integritätsbedingungen Bedingungen an den Zustand der Datenbasis dynamische

Mehr

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

1 Transaktionen in SQL. 2 Was ist eine Transaktion. 3 Eigenschaften einer Transaktion. PostgreSQL 1 Transaktionen in SQL Um Daten in einer SQL-Datenbank konsistent zu halten, gibt es einerseits die Möglichkeit der Normalisierung, andererseits sog. Transaktionen. 2 Was ist eine Transaktion Eine Transaktion

Mehr

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

Nachtrag: Farben. Farbblindheit. (Light und Bartlein 2004) Nachtrag: Farben Farbblindheit (Light und Bartlein 2004) 1 Vorgeschlagene Farbskalen (Light and Bartlein 2004) Farbkodierung metrisch skalierter Daten Unterscheide: 1. Sequential Data (ohne Betonung der

Mehr

Kapitel 8: Datenintegrität

Kapitel 8: Datenintegrität Kapitel 8: Datenintegrität Datenintegrität Statische Bedingung (jeder Zustand) Dynamische Bedingung (bei Zustandsänderung) Bisher: Definition eines Schlüssels 1:N - Beziehung Angabe einer Domäne Jetzt:

Mehr

SQL und MySQL. Kristian Köhntopp

SQL und MySQL. Kristian Köhntopp SQL und MySQL Kristian Köhntopp Wieso SQL? Datenbanken seit den frühen 1950er Jahren: Hierarchische Datenbanken Netzwerkdatenbanken Relationale Datenbanken = SQL Relational? 10 9 8 7 6 f(y) := y = x r(y)

Mehr

Praktische SQL-Befehle

Praktische SQL-Befehle Praktische SQL-Befehle Datenbanksysteme I WiSe 2018/2019 Todor Ivanov DB1 WS2018 1 Praktische SQL-Befehle Nested Selects Inserts Updates Views Triggers Constraints Functions Voraussetzung: Laptop + MySQL/

Mehr

Geschichte und Theorie

Geschichte und Theorie Eektrotechnikprotoko 1 rspannung (EMK) und innerer Widerstand Moser Guido eines Gavanischem Eements Fuda, den 9.03.00 Geschichte und Theorie Die ersten Spannungsqueen, die gebaut wurden, waren gavanische

Mehr

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

Seminar 2. SQL - DML(Data Manipulation Language) und. DDL(Data Definition Language) Befehle. Seminar 2 SQL - DML(Data Manipulation Language) und DDL(Data Definition Language) Befehle. DML Befehle Aggregatfunktionen - werden auf eine Menge von Tupeln angewendet - Verdichtung einzelner Tupeln yu

Mehr

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

Datenintegrität. Arten von Integritätsbedingungen. Statische Integritätsbedingungen. Referentielle Integrität. Integritätsbedingungen in SQL. Datenintegrität Arten von Integritätsbedingungen Statische Integritätsbedingungen Referentielle Integrität Integritätsbedingungen in SQL Trigger 1 Datenintegrität Einschränkung der möglichen Datenbankzustände

Mehr

SQL-Vertiefung. VL Datenbanksysteme. Ingo Feinerer

SQL-Vertiefung. VL Datenbanksysteme. Ingo Feinerer SQL-Vertiefung VL Datenbanksysteme Ingo Feinerer Arbeitsbereich Datenbanken und Artificial Intelligence Institut für Informationssysteme Technische Universität Wien Gliederung Einführung SQL-Programmteile

Mehr

3.17 Zugriffskontrolle

3.17 Zugriffskontrolle 3. Der SQL-Standard 3.17. Zugriffskontrolle Seite 1 3.17 Zugriffskontrolle Datenbanken enthalten häufig vertrauliche Informationen, die nicht jedem Anwender zur Verfügung stehen dürfen. Außerdem wird man

Mehr

SQL structured query language

SQL structured query language Umfangreiche Datenmengen werden üblicherweise in relationalen Datenbank-Systemen (RDBMS) gespeichert Logische Struktur der Datenbank wird mittels Entity/Realtionship-Diagrammen dargestellt structured query

Mehr

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

Foreign Keys. MySQL 4, 5. Kapitel 16: Fremdschlüssel. Marcel Noe MySQL 4, 5 Kapitel 16: Fremdschlüssel Gliederung 1 Gliederung 1 Fremdschlüssel sichern die Referenzielle Integrität voneinander abhängiger Tabellen. Um Fremdschlüssel definieren zu können, müssen Sie die

Mehr

Grundlagen von Datenbanken

Grundlagen von Datenbanken Grundlagen von Datenbanken Aufgabenzettel 4 SQL-Anfragen Überblick: DB-Entwurf und Modellierung Konzeptioneller Entwurf Anforderungen Informationsmodell PNr. Vorname Nachname Geb.Datum Person n Datum kaufen

Mehr

Integritätsbedingungen für komplexe Objekte in objektrelationalen Datenbanksystemen

Integritätsbedingungen für komplexe Objekte in objektrelationalen Datenbanksystemen 10. GI-Fachtagung Datenbanksysteme in Büro, Technik und Wissenschaft Integritätsbedingungen für komplexe Objekte in objektrelationalen Datenbanksystemen Friedrich-Schiller-Universität Jena Institut für

Mehr

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

Übungen zur Vorlesung. Mobile und Verteilte Datenbanken. WS 2008/2009 Übung 2 Anfrageoptimierung in zentralisierten Datenbanksystemen LÖSUNG Dr. rer. nat. Sven Groppe Übungen zur Voresung Mobie und Verteite Datenbanken WS 28/29 Übung 2 Anfrageoptimierung in zentraisierten Datenbanksystemen Aufgabe 1: Fogende Reationen seien gegeben: LÖSUNG

Mehr

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

DBS ::: SERIE 5. Join Right Semi- Join Left Semi-Join Projektion Selektion Fremdschlüssel. Kreuzprodukt DBS ::: SERIE 5 Die Relation produkt enthält Hersteller, Modellnummer und Produktgattung (pc, laptop oder drucker aller Produkte. Die Modellnummer ist (der Einfachheit halber eindeutig für alle Hersteller

Mehr

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

Zur Konfiguration werden hierbei das Setup-Tool und die Shell verwendet. 1. Konfiguration von Event Scheduler 1.1 Einleitung Im Folgenden wird die Konfiguration von Event Scheduler beschrieben. Sie erlauben den Zugriff auf das Internet werktags von 8-17:00 Uhr. Da Sie eine

Mehr

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

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

Mehr

Datenintegrität. Kapitel 5 1

Datenintegrität. Kapitel 5 1 Datenintegrität Integitätsbedingungen Schlüssel Beziehungskardinalitäten Attributdomänen Inklusion bei Generalisierung statische Integritätsbedingungen Bedingungen an den Zustand der Datenbasis dynamische

Mehr

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

Create-Table-Befehl. CREATE TABLE Tabellenname ( { Spalte { Datentyp Gebietsname } [ Spaltenbedingung [ ] ] Tabellenbedingung } Create-Table-Befehl CREATE TABLE Tabellenname ( { Spalte { Datentyp Gebietsname } [ Spaltenbedingung [ ] ] Tabellenbedingung } [, ] ) Liste der wichtigsten Datentypen in SQL INTEGER INT SMALLINT NUMERIC(x,y)

Mehr

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

Datenintegrität. Integitätsbedingungen Schlüssel Beziehungskardinalitäten Attributdomänen Inklusion bei Generalisierung Datenintegrität Integitätsbedingungen Schlüssel Beziehungskardinalitäten Attributdomänen Inklusion bei Generalisierung Statische vs. dynamische Integritätsbedingungen Statische Integritätsbedingungen Bedingungen

Mehr

Bibliografische Informationen digitalisiert durch http://d-nb.info/995021198

Bibliografische Informationen digitalisiert durch http://d-nb.info/995021198 Auf einen Blick 1 Einleitung 15 2 Datenbankentwurf 23 3 Datenbankdefinition 43 4 Datensätze einfügen (INSERT INTO) 95 5 Daten abfragen (SELECT) 99 6 Daten aus mehreren Tabellen abfragen (JOIN) 143 7 Unterabfragen

Mehr

Datenbanken (Bachelor) 30.7302 (SPO2007) WS 2011/12

Datenbanken (Bachelor) 30.7302 (SPO2007) WS 2011/12 Aufgabenstellung: Prof. Dr. Inge Schestag zugelassene Hilfsmittel: 1 beidseitig bedrucktes oder beschriebenes A4-Blatt Bearbeitungszeit: 90 Minuten Note: Name: Matrikelnr. Aufgabe 1 Aufgabe 2 Aufgabe 3

Mehr