11. Integrität und Trigger. Integritätssicherung durch Anwendung. Architekturen zur Integritätssicherung. Anwendung 1. Anwendung n Routinen.

Größe: px
Ab Seite anzeigen:

Download "11. Integrität und Trigger. Integritätssicherung durch Anwendung. Architekturen zur Integritätssicherung. Anwendung 1. Anwendung n Routinen."

Transkript

1 11. Integrität und Trigger Grundlagen und Begriffe Grundlagen und Begriffe Integritätsbedingungen Integritätsregeln in SQL Trigger Integritätsbedingung (IB) = Bedingung für die Zulässigkeit ( Korrektheit ) betreffend (einzelne) Datenbankzustände σ, Zustandsübergänge σ alt, σ neu oder auch langfristige Datenbankentwicklungen Bezeichnungen: Bedingungsklasse zeitlicher Kontext statisch Datenbankzustand dynamisch transitional Zustandsübergang temporal Zustandsfolge VL Datenbanken I 11 1 VL Datenbanken I 11 2 Architekturen zur Integritätssicherung Integritätssicherung durch Anwendung Anwendung 1 Anwendung n Anwendung 1 Routinen Anwendung n Routinen DBMS DBMS Datenbank Vereinfachte Datenbank-Anwendungsarchitektur Datenbank VL Datenbanken I 11 3 VL Datenbanken I 11 4

2 Integritätsmonitor Einkapselung Anwendung 1 Anwendung n Anwendung 1 Anwendung n DBMS Monitor Kapselung DBMS Datenbank Datenbank VL Datenbanken I 11 5 VL Datenbanken I 11 6 Inhärente Integritätsbedingungen im RM Integritätsbedingungen in SQL-DDL 1. Typintegrität: SQL erlaubt Angabe von Wertebereichen zu Attributen Erlauben oder Verbieten von Nullwerten 2. Schlüsselintegrität: Angabe eines Schlüssels für eine Relation 3. Referentielle Integrität: die Angabe von Fremdschlüsseln not null: Nullwerte verboten default: Angabe von Default-Werten check ( search-condition ): Attributspezifische Bedingung (in der Regel Ein-Tupel-Integritätsbedingung) primary key: Angabe eines Primärschlüssel foreign key ( Attribut(e)) references Tabelle( Attribut(e) ): Angabe der referentiellen Integrität VL Datenbanken I 11 7 VL Datenbanken I 11 8

3 Erhaltung der referentiellen Integrität Überprüfungsmodi von Bedingungen Überprüfung der Fremdschlüsselbedingungen nach Datenbankänderungen für π A (r 1 ) π K (r 2 ), z.b. π Verlagsname (Bücher) π Verlagsname (Verlage) Tupel t wird eingefügt in r 1 überprüfen, ob t r 2 existiert mit: t (K) = t(a), d.h. t(a) π K (r 2 ) falls nicht abweisen Tupel t wird aus r 2 gelöscht überprüfen, ob σ A=t (K)(r 1 ) = {}, d.h. kein Tupel aus r 1 referenziert t falls nicht leer abweisen oder Tupel aus r 1, die t referenzieren, löschen (bei kaskadierendem Löschen) on update delete Angabe eines Auslöseereignisses, das die Überprüfung der Bedingung anstößt cascade set null set default no action Kaskadierung: Behandlung einiger Integritätsverletzungen pflanzt sich über mehrere Stufen fort, z.b. Löschen als Reaktion auf Verletzung der referentieller Integrität deferred immediate legt Überprüfungszeitpunkt für eine Bedingung fest deferred: Zurückstellen an das Ende der Transaktion immediate: sofortige Prüfung bei jeder relevanten Datenbankänderung VL Datenbanken I 11 9 VL Datenbanken I Überprüfungsmodi: Beispiel Die assertion-klausel Kaskadierendes Löschen create table Bücher ( ISBN char(10) not null, Titel varchar(200), Verlagsname varchar(30), primary key (ISBN), foreign key (Verlagsname) references Verlage (Verlagsname) on delete cascade ) Assertion: Prädikat, das eine Bedingung ausdrückt, die von der Datenbank immer erfüllt sein muß Syntax (SQL:1999) create assertion name check ( prädikat ) Beispiele: create assertion Preise check ( ( select sum (Preis) from Buch) < ) create assertion Preise2 check ( not exists ( select Preis from Buch ) > 200 ) VL Datenbanken I VL Datenbanken I 11 12

4 Beispiele für Integritätsbedingungen Beispiele für Integritätsbedingungen (II) 1. Das Konto von Weiß darf nicht überzogen werden. 2. Kein Kundenkonto darf unter -100 absinken. 3. Kunden sind durch ihre Namen identifiziert, d.h., kein Kundenname darf mehrfach vorkommen. 4. Der Durchschnittspreis für Karotten muß unter dem für Spargel liegen. 5. Nur solche Waren dürfen bestellt werden, für die es mindestens einen Lieferanten gibt. 6. Der Brotpreis darf nicht erhöht werden. 7. Kunden dürfen nur gelöscht werden, wenn sie keine Waren mehr bestellt haben. 8. Der Preis eines Grundnahrungsmittels darf innerhalb von drei Jahren höchstens um 15% steigen. 9. Kunden müssen gelöscht werden, wenn sie keine Waren mehr bestellt haben. VL Datenbanken I VL Datenbanken I Mögliche Klassifikationen Mögliche Klassifikationen (II) Kriterium Klassen Kriterium Klassen Granularität Ausdrucksfähigkeit Attribut Tupel Relation Datenbank elementare Prädikate Relationale Algebra SQL SQL + transitive Hülle berechnungsvollständig zeitlicher Kontext Überprüfungszeitpunkt Reaktion statisch transitional temporal Einzeländerung Operationsende Transaktionsende Zurückweisung (reject) Korrektur (repair) VL Datenbanken I VL Datenbanken I 11 16

5 Integritätsregeln Integritätsregeln (II) B O A R IR = B, O, A, R Integritätsbedingung Menge von Datenbankobjekten, auf die sich B bezieht Auslöser, wann B zu überprüfen ist Reaktionen, falls B verletzt ist im usprünglichen SQL-Sprachvorschlag assert <Regelname> [immediate deferred] [ on <Op> ] (A) [for <Rel>] : (O) <Bedingung wie in where-klausel> (O, B) [else ( <Folge von SQL-Anweisungen> )] (R) wobei <Op> ::= { insertion deletion } of <Rel> update of <Rel> [ (<Attribut>)] <Rel> ::= <Relationsname> [ <Variablenname> ] VL Datenbanken I VL Datenbanken I Integritätsregeln in SQL: Beispiel I Integritätsregeln in SQL: Beispiel II Kunden sind durch ihre Namen eindeutig identifiziert: assert IR1 for KUNDE K1, KUNDE K2: not( K1.KName = K2.KName ) or (K1.KAdr = K2.KAdr and K1.Kto = K2.Kto) Kein Kundenkonto darf unter -100 absinken: assert IR2 for KUNDE : Kto >= -100 bzw. inklusive Angabe von Operationen: assert IR2 on insertion of KUNDE, update of KUNDE for KUNDE : Kto >= -100 VL Datenbanken I VL Datenbanken I 11 20

6 Integritätsregeln in SQL: Beispiel III Integritätsregeln in SQL: Beispiel IV Das Konto von Weiß darf nicht überzogen werden: assert IR3 for KUNDE : not KName = Weiß or Kto >= 0 Der Durchschnittspreis für Karotten muß unter dem für Spargel liegen: assert IR4 deferred ( select avg (Preis) from LIEFERANT where Ware = Karotten ) <= (select avg (Preis) from LIEFERANT where Ware = Spargel ) VL Datenbanken I VL Datenbanken I Integritätsregeln in SQL: Beispiel V Integritätsregeln in SQL: Beispiel VI Nur solche Waren dürfen bestellt werden, für die es mindestens einen Lieferanten gibt: assert IR5 for AUFTRAG A: exists (select * from LIEFERANT where Ware = A.Ware) Der Brotpreis darf nicht erhöht werden: assert IR6 (on update of LIEFERANT (Preis)) for LIEFERANT: not Ware = Brot or new Preis <= old Preis VL Datenbanken I VL Datenbanken I 11 24

7 Integritätsregeln in SQL: Beispiel VII Integritätsregeln in SQL: Beispiel VIII Kunden dürfen nur gelöscht werden, wenn sie keine Waren mehr bestellt haben: assert IR7 deferred on deletion of KUNDE for KUNDE K: not exists (select * from AUFTRAG where KName = old K.KName) Der Preis eines Grundnahrungsmittels darf innerhalb von drei Jahren höchstens um 15% steigen. kann in diesem Sprachvorschlag nicht ausgedrückt werden! VL Datenbanken I VL Datenbanken I Integritätsregeln in SQL: Beispiel IX Trigger Kunden müssen gelöscht werden, wenn sie keine Waren mehr bestellt haben: assert IR9 on deletion of AUFTRAG for AUFTRAG A1: exists (select * from AUFTRAG A2 where A2.KName = old A1.KName) else ( delete KUNDE K where K.KName = old A1.KName ); Trigger: Anweisung/Prozedur, die bei Eintreten eines bestimmten Ereignisses automatisch vom DBMS ausgeführt wird Anwendung: Erzwingen von Integritätsbedingungen ( Implementierung von Integritätsregeln) Auditing von DB-Aktionen Propagierung von DB-Änderungen VL Datenbanken I VL Datenbanken I 11 28

8 Trigger (II) Trigger: Entwurf und Implementierung create trigger... after <Operation> <Anweisungen> entspricht einer speziellen Integritätsregel: assert...on <Operation> : false else ( <Anweisungen> ) Spezifikation von Ereignis und Bedingung für Aktivierung des Triggers Aktion(en) zur Ausführung Syntax in SQL:1999 festgelegt verfügbar in den meisten kommerziellen Systemen (aber mit anderer Syntax) VL Datenbanken I VL Datenbanken I SQL:1999-Trigger Weitere Angaben bei Triggern Syntax: create trigger <Name: > after before <Ereignis> on <Relation> [ when <Bedingung> ] begin atomic < SQL-Anweisungen > end Ereignis: insert update [ of <Liste von Attributen> ] delete for each row bzw. for each statement: Aktivierung des Triggers für jede Einzeländerungen einer mengenwertigen Änderung oder nur einmal für die gesamte Änderung before bzw. after: Aktivierung vor oder nach der Änderung referencing new as bzw. referencing old as: Binden einer Tupelvariable an die neu eingefügten bzw. gerade gelöschten ( alten ) Tupel einer Relation Tupel der Differenzrelationen VL Datenbanken I VL Datenbanken I 11 32

9 Beispiel für Trigger (I) Beispiel für Trigger (II) Kein Kundenkonto darf unter -100 absinken: create trigger bad_account after update of Kto on KUNDE referencing new as INSERTED when (exists (select * from INSERTED where Kto < -100) ) begin atomic rollback; end ähnlicher Trigger für insert Nur solche Waren dürfen bestellt werden, für die es mindestens einen Lieferanten gibt: create trigger bad_order after insert on AUFTRAG referencing new as INSERTED when (exists ( select * from INSERTED I where not exists ( select * from LIEFERANT where Ware = I.Ware)) begin atomic rollback; end VL Datenbanken I VL Datenbanken I Beispiel für Trigger (III) Methoden der Integritätssicherung Kunden müssen gelöscht werden, wenn sie keine Waren mehr bestellt haben: create trigger bad_customer delete on AUFTRAG referencing old as O for each row when (not exists (select * from AUFTRAG A where A.KName = O.KName)) begin atomic delete from KUNDE where KName = O.KName; end Integritätssicherung durch Änderungstransformationen transformiert Änderungsanweisungen in einer Hochsprache wie SQL so, daß das Ergebnis der Transformation integritätsrespektierend ist Integritätsbedingungen werden in Änderungen hineinkompiliert Generierung von Triggern bzw. ECA-Regeln aus deskriptiven Integritätsbedingungen VL Datenbanken I VL Datenbanken I 11 36

10 Integritätssicherung durch Trigger Integritätssicherung durch Trigger (II) 1. Bestimme Objekt o i, für das die Bedingung φ überwacht werden soll i.d.r. mehrere o i betrachten, wenn Bedingung relationsübergreifend ist Kandidaten für o i sind Tupel der Relationsnamen, die in φ auftauchen 2. Bestimme die elementaren Datenbankänderungen u ij auf Objekten o i, die φ verletzen können Regeln: z.b. Existenzforderungen beim Löschen und Ändern prüfen, jedoch nicht beim Einfügen etc. 4. Bestimme je nach Anwendung die Reaktion r i auf Integritätsverletzung Rücksetzen der Transaktion (rollback) korrigierende Datenbankänderungen 5. Formuliere folgende Trigger: create trigger t-phi-ij after u ij when φ begin r i end 6. Wenn möglich, vereinfache entstandenen Trigger on o i VL Datenbanken I VL Datenbanken I Trigger in Oracle Trigger in Oracle (II) Implementierung in PL/SQL Notation create [ or replace ] trigger trigger-name before after insert or update [ of spalten ] or delete on tabelle [ for each row [ when ( prädikat ) ] ] PL/SQL-Block Arten: Anweisungsebene (statement level trigger): Trigger wird ausgelöst vor bzw. nach der DML-Anweisung Tupelebene (row level trigger): Trigger wird vor bzw. nach jeder einzelnen Modifikation ausgelöst (one tuple at a time) Trigger auf Tupelebene: Prädikat zur Einschränkung der Anwendung (when) Zugriff auf altes (:old.col) bzw. neues (:new.col) Tupel für delete: nur (:old.col) für insert: nur (:new.col) in when-klausel nur (new.col) bzw. (old.col) VL Datenbanken I VL Datenbanken I 11 40

11 Trigger in Oracle (III) Trigger in Oracle: Beispiel Transaktionsabbruch durch raise_application_error(code, message) Unterscheidung der Art der DML-Anweisung if deleting then... end if; if updating then... end if; if inserting then... end if; Kein Kundenkonto darf unter -100 absinken: create or replace trigger bad_account after insert or update of Kto on KUNDE for each row when (new.kto < -100) begin raise_application_error(-20221, Nicht unter ); end; VL Datenbanken I VL Datenbanken I 11 42

Teil IX Transaktionen, Integrität und Trigger

Teil IX Transaktionen, Integrität und Trigger Teil IX Transaktionen, Integrität und Trigger Transaktionen, Integrität und Trigger 1 Grundbegriffe 2 Transaktionsbegriff 3 Transaktionen in SQL 4 Integritätsbedingungen in SQL 5 Trigger 6 Schemaevolution

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

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

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

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

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

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

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

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

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. 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

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

Integrität in Datenbanken. Prof. Dr. T. Kudraß 1

Integrität in Datenbanken. Prof. Dr. T. Kudraß 1 Integrität in Datenbanken Prof. Dr. T. Kudraß 1 Unterschied Konsistenz - Integrität Konsistenz beschreibt die Korrektheit der DB-internen Speicherungsstrukturen, Zugriffspfade und sonstigen Verwaltungsinformation

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

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

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

Kapitel 7: Referentielle Integrität

Kapitel 7: Referentielle Integrität Kapitel 7: Referentielle Integrität Im Allgemeinen sind nur solche Instanzen einer Datenbank erlaubt, deren Relationen die der Datenbank bekannten Integritätsbedingungen (IB) erfüllen. Integritätsbedingungen

Mehr

Vorlesung Datenbankmanagementsysteme

Vorlesung Datenbankmanagementsysteme Vorlesung Datenbankmanagementsysteme Trigger, Sichten und Zugriffskontrolle (auf Basis von Oracle) Vorlesung Datenbankmanagementsysteme Trigger, Sichten und Zugriffskontrolle M. Lange, S. Weise Folie #10-1

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

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

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

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

SQL. SQL: Structured Query Language. Früherer Name: SEQUEL. Standardisierte Anfragesprache für relationale DBMS: SQL-89, SQL-92, SQL-99

SQL. SQL: Structured Query Language. Früherer Name: SEQUEL. Standardisierte Anfragesprache für relationale DBMS: SQL-89, SQL-92, SQL-99 SQL Früherer Name: SEQUEL SQL: Structured Query Language Standardisierte Anfragesprache für relationale DBMS: SQL-89, SQL-92, SQL-99 SQL ist eine deklarative Anfragesprache Teile von SQL Vier große Teile:

Mehr

Datenintegrität. Folien zum Datenbankpraktikum Wintersemester 2009/10 LMU München

Datenintegrität. Folien zum Datenbankpraktikum Wintersemester 2009/10 LMU München Kapitel 3 Datenintegrität Folien zum Datenbankpraktikum Wintersemester 2009/10 LMU München 2008 Thomas Bernecker, Tobias Emrich unter Verwendung der Folien des Datenbankpraktikums aus dem Wintersemester

Mehr

Grundlagen von Datenbanken. Referentielle Aktionen, Sichten, Serialisierbarkeit und Locking

Grundlagen von Datenbanken. Referentielle Aktionen, Sichten, Serialisierbarkeit und Locking Grundlagen von Datenbanken Referentielle Aktionen, Sichten, Serialisierbarkeit und Locking SQL DDL: Referentielle Aktionen (1/3) Potentielle Gefährdung der referentiellen Integrität durch Änderungsoperationen

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

WS 2010/11 Datenbanksysteme Fr 15:15 16:45 R 1.008. Vorlesung #5. SQL (Teil 3)

WS 2010/11 Datenbanksysteme Fr 15:15 16:45 R 1.008. Vorlesung #5. SQL (Teil 3) Vorlesung #5 SQL (Teil 3) Fahrplan Besprechung der Übungsaufgaben Rekursion Rekursion in SQL-92 Rekursion in DBMS- Dialekten (Oracle und DB2) Views (Sichten) - gespeicherte Abfragen Gewährleistung der

Mehr

Aufgabe 1: Integrität

Aufgabe 1: Integrität Aufgabe 1: Integrität Gegeben sei das folgende Schema: Personal: (PNR, Name, Gehalt, Abt, Vorges) a) Geben Sie das CREATE TABLE Statement an, um die Tabelle Personal zu erzeugen. Folgende Integritätsbedingungen

Mehr

Datenbanken Unit 4: Das Relationale Modell & Datenintegrität

Datenbanken Unit 4: Das Relationale Modell & Datenintegrität Datenbanken Unit 4: Das Relationale Modell & Datenintegrität 15. III. 2016 Outline 1 Organisatorisches 2 SQL 3 Relationale Algebra Notation 4 Datenintegrität Organisatorisches Erster Zwischentest: nach

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

Datenbanken. Datenintegrität + Datenschutz. Tobias Galliat. Sommersemester 2012

Datenbanken. Datenintegrität + Datenschutz. Tobias Galliat. Sommersemester 2012 Datenbanken Datenintegrität + Datenschutz Tobias Galliat Sommersemester 2012 Professoren PersNr Name Rang Raum 2125 Sokrates C4 226 Russel C4 232 2127 Kopernikus C3 310 2133 Popper C3 52 2134 Augustinus

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

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

Datenbanken SQL. Insert, Update, Delete, Drop. Krebs

Datenbanken SQL. Insert, Update, Delete, Drop. Krebs Datenbanken SQL Insert, Update, Delete, Drop Krebs Inhalt 1. Datensätze einfügen: INSERT 2. Datensätze verändern: UPDATE 3. Datensätze löschen: DROP vs. DELETE Beispiel Datenbank Schule Klasse P_Klasse

Mehr

Wiederholung VU Datenmodellierung

Wiederholung VU Datenmodellierung Wiederholung VU Datenmodellierung VU Datenbanksysteme Reinhard Pichler Arbeitsbereich Datenbanken und Artificial Intelligence Institut für Informationssysteme Technische Universität Wien Wintersemester

Mehr

Kapitel 3 Datenintegrität

Kapitel 3 Datenintegrität Kapitel 3 Datenintegrität Flien zum Datenbankpraktikum Wintersemester 2012/13 LMU München 2008 Thmas Bernecker, Tbias Emrich 2010 Tbias Emrich, Erich Schubert unter Verwendung der Flien des Datenbankpraktikums

Mehr

Klausur PI Datenbanken II vom Name: Praktische Informatik (Krägeloh)

Klausur PI Datenbanken II vom Name: Praktische Informatik (Krägeloh) Versehen Sie jedes Aufgabenblatt/-blätter mit Ihrem Namen und geben es mit ab! Seite 1 Aufgabe 1: ( 30 Punkte) 1) Ein Entity-Set E1 wird in die Subklassen S1 und S2 spezialisiert. Was bedeutet die Aussage:

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

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

Welche Kunden haben die gleiche Ware bestellt? select distinct a1.name, a2.name from Auftrag a1, Auftrag a2 where a1.ware = a2.ware.

Welche Kunden haben die gleiche Ware bestellt? select distinct a1.name, a2.name from Auftrag a1, Auftrag a2 where a1.ware = a2.ware. *HVFKDFKWHOWH$QIUDJHQ In einer SQL-Anweisung können in der where-klausel, from-klausel, select-klausel wieder SQL-Anweisungen auftreten. Man spricht dann auch von einer geschachtelten Anfrage oder Unteranfrage.

Mehr

Web Science & Technologies University of Koblenz Landau. Grundlagen der Datenbanken. Integrität. Dr. Jérôme Kunegis Wintersemester 2013/14

Web Science & Technologies University of Koblenz Landau. Grundlagen der Datenbanken. Integrität. Dr. Jérôme Kunegis Wintersemester 2013/14 Web Science & Technologies University of Koblenz Landau Grundlagen der Datenbanken Integrität Dr. Jérôme Kunegis Wintersemester 2013/14 Lernziele Verankerung von Integritätsregeln in DB Durch: effektivere

Mehr

Uni Duisburg-Essen Fachgebiet Informationssysteme Prof. Dr. N. Fuhr. Praktikum: Datenbanken Woche 7: Noch mehr SQL

Uni Duisburg-Essen Fachgebiet Informationssysteme Prof. Dr. N. Fuhr. Praktikum: Datenbanken Woche 7: Noch mehr SQL Praktikum: Datenbanken Raum: LF230 Abgabe bis 6.-8.6. 2005 Datum Gruppe Vorbereitung Präsenz Rekursive Anfragen In einem vollen SELECT-Statement ist es auch möglich, rekursive Anfragen zu stellen. Rekursive

Mehr

Dieser Foliensatz darf frei verwendet werden unter der Bedingung, dass diese Titelfolie nicht entfernt wird.

Dieser Foliensatz darf frei verwendet werden unter der Bedingung, dass diese Titelfolie nicht entfernt wird. Thomas Studer Relationale Datenbanken: Von den theoretischen Grundlagen zu Anwendungen mit PostgreSQL Springer, 2016 ISBN 978-3-662-46570-7 Dieser Foliensatz darf frei verwendet werden unter der Bedingung,

Mehr

Vorlesung Datenbanken

Vorlesung Datenbanken Vorlesung Datenbanken Kapitel 6 Institut für Informatik 2 Überblick Assertions Trigger und Regeln Zugriffsrechte 3 Zugriffsrechte und Integritätsbedingungen Zugriffsrechte gewährleisten, dass nur autorisierte

Mehr

Datenschutz: Zugriffsrechte in SQL

Datenschutz: Zugriffsrechte in SQL 12. Datenschutz: Zugriffsrechte in SQL 12-1 12. Datenschutz: Zugriffsrechte in SQL 12-2 Inhalt Datenschutz: Zugriffsrechte in SQL 1. Anforderungen, Allgemeines 2. Die SQL-Befehle GRANT und REVOKE 3. Sichten

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

1. Integritätsbedingungen und Trigger

1. Integritätsbedingungen und Trigger 1. Integritätsbedingungen und Trigger ACID und Datenkontrolle Synchronisation zur Ablaufintegrität Transaktionsablauf Integritätsbedingungen Klassifikation: Statische vs. Dynamische Integritätsbedingungen,...

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

Kapitel 7 Datenintegrität und

Kapitel 7 Datenintegrität und LUDWIG- MAXIMILIANS- UNIVERSITY MUNICH DEPARTMENT INSTITUTE FOR INFORMATICS DATABASE Skript zur Vorlesung: Datenbanksysteme II Sommersemester 2013 Kapitel 7 Datenintegrität und Datensicherheit Vorlesung:

Mehr

Inhalt. Ein Einführung in die Nutzung von SQL-Datenbanken am Beispiel Oracle. Daten und Tabellen - ein Beispiel. Daten und Tabellen - Normalisierung

Inhalt. Ein Einführung in die Nutzung von SQL-Datenbanken am Beispiel Oracle. Daten und Tabellen - ein Beispiel. Daten und Tabellen - Normalisierung Inhalt Ein Einführung in die Nutzung von SQL-Datenbanken am Beispiel Oracle Daten und Tabellen Normalisierung, Beziehungen, Datenmodell SQL - Structured Query Language Anlegen von Tabellen Datentypen (Spalten,

Mehr

Daten-Definitionssprache (DDL) Bisher: Realwelt -> ERM -> Relationen-Modell -> normalisiertes Relationen-Modell. Jetzt: -> Formulierung in DDL

Daten-Definitionssprache (DDL) Bisher: Realwelt -> ERM -> Relationen-Modell -> normalisiertes Relationen-Modell. Jetzt: -> Formulierung in DDL Daten-Definitionssprache (DDL) Bisher: Realwelt -> ERM -> Relationen-Modell -> normalisiertes Relationen-Modell Jetzt: -> Formulierung in DDL Daten-Definitionssprache (DDL) DDL ist Teil von SQL (Structured

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

Finalklausur zur Vorlesung Datenbanksysteme I Wintersemester 2003/2004 Prüfer: Prof. R. Bayer, Ph.D. Datum: Zeit: 16.

Finalklausur zur Vorlesung Datenbanksysteme I Wintersemester 2003/2004 Prüfer: Prof. R. Bayer, Ph.D. Datum: Zeit: 16. Finalklausur zur Vorlesung Datenbanksysteme I Wintersemester 2003/2004 Prüfer: Prof. R. Bayer, Ph.D. Datum: 13.02.2004 Zeit: 16. Uhr Hinweis: Die Bearbeitungszeit beträgt 90 Minuten. Bitte benutzen Sie

Mehr

Integritätsbedingungen Eindeutige Identifikation (1)

Integritätsbedingungen Eindeutige Identifikation (1) 8. Tabellendefinition in SQL 8-1 8. Tabellendefinition in SQL 8-2 Inhalt 1. Schlüssel Tabellendefinitionen 2. Fremdschlüssel 3. CREATE TABLE-Syntax 4. DROP TABLE 5. ALTER TABLE 8. Tabellendefinition in

Mehr

Datenabstraktion / Kapselung in (O)RDBMS

Datenabstraktion / Kapselung in (O)RDBMS Datenabstraktion / Kapselung in (O)RDBMS Prozeduren und Funktionen (Routinen) SQL 92: Stored Procedures SQL:2003: Unterscheidung zw. Funktionen und Prozeduren Prozedur: Nicht an einen bestimmten Datentyp

Mehr

TU München, Fakultät für Informatik Lehrstuhl III: Datenbanksysteme Prof. Alfons Kemper, Ph.D.

TU München, Fakultät für Informatik Lehrstuhl III: Datenbanksysteme Prof. Alfons Kemper, Ph.D. TU München, Fakultät für Informatik Lehrstuhl III: Datenbanksysteme Prof. Alfons Kemper, Ph.D. Übung zur Vorlesung Einführung in die Informatik 2 für Ingenieure (MSE) Alexander van Renen (renen@in.tum.de)

Mehr

Testklausur 1 Übungsaufgaben aus alten Datenbanken 1 Klausuren zum Data Science-Synchronisationsmodul Datenbanken WS 2016/17

Testklausur 1 Übungsaufgaben aus alten Datenbanken 1 Klausuren zum Data Science-Synchronisationsmodul Datenbanken WS 2016/17 Testklausur 1 Übungsaufgaben aus alten Datenbanken 1 Klausuren Aufgabe 1 10 = 5 + 5 Punkte) DDL Relationenmodell eer-diagramm /10) Gegeben sei das folgende SQL-DDL-Skript zur Generierung eines Oracle-Datenbankschemas:

Mehr

Kapitel 8: Zugriffskontrolle

Kapitel 8: Zugriffskontrolle Kapitel 8: Zugriffskontrolle 8. Zugriffskontrolle 8. Datenbanken enthalten häufig vertrauliche Informationen, die nicht jedem Anwender zur Verfügung stehen dürfen. Außerdem wird man nicht allen Anwendern

Mehr

Datenbanken Entity-Relationship-Modell und Datenbankentwurf 1. Andreas Heß Hochschule Furtwangen

Datenbanken Entity-Relationship-Modell und Datenbankentwurf 1. Andreas Heß Hochschule Furtwangen Datenbanken Entity-Relationship-Modell und Datenbankentwurf 1 Andreas Heß Hochschule Furtwangen Inhalte heute Einführung ins Entity-Relationship-Modell Einführung ins relationale Modell Umsetzung vom E/R-

Mehr

3.13 SQL und Programmiersprachen

3.13 SQL und Programmiersprachen 3. Der SQL-Standard 3.13. SQL und Programmiersprachen Seite 1 3.13 SQL und Programmiersprachen SQL hat eine tabellenorientierte Sematik. SQL hat eine im Vergleich zu einer Programmiersprache eingeschränkte

Mehr

5.3 Datenänderung/-zugriff mit SQL (DML)

5.3 Datenänderung/-zugriff mit SQL (DML) 5.3 Datenänderung/-zugriff mit SQL (DML) Hinweis: - DML-Anweisungen sind mengenorientiert - Mit einer Anweisungen kann mehr als ein Tupel eingefügt, geändert, gelöscht oder gelesen werden Benutzungs- und

Mehr

7. Datenbankdefinitionssprachen

7. Datenbankdefinitionssprachen 7. Datenbankdefinitionssprachen SQL-DDL Teil der Standardsprache für relationale Datenbanksysteme: SQL ODL (Object Definition Language) für objektorientierte Datenbanksysteme nach dem ODMG-Standard VL

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

Übung PL/SQL Trigger Lösungen

Übung PL/SQL Trigger Lösungen Übung PL/SQL Trigger Lösungen 1) Gebe das aktuelle Datum aus. Wofür steht dual? Ändere das Datum für Deine aktuelle Session auf das Format Jahr (4 Stellen) Monat (2 Stellen) Tag (2 Stellen)[Leerzeichen]Stunde

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

SQL. Datenmanipulation. Datenmanipulationssprache. Ein neues Tupel hinzufügen. Das INSERT Statement

SQL. Datenmanipulation. Datenmanipulationssprache. Ein neues Tupel hinzufügen. Das INSERT Statement SQL Datenmanipulation Datenmanipulationssprache Ein DML Statement wird ausgeführt wenn: neue Tupel eingefügt werden existierende Tupel geändert werden existierende Tupel aus der Tabelle gelöscht werden

Mehr

Trigger schreiben. Überblick über Trigger. Datenbank Trigger: Beispiel. Aufbau eines Triggers

Trigger schreiben. Überblick über Trigger. Datenbank Trigger: Beispiel. Aufbau eines Triggers Überblick über Trigger Trigger schreiben Ein Trigger ist ein PL/SQL Block, der implizit aufgerufen wird, wenn ein bestimmtes Ereignis eintritt. Ein Trigger kann ein Datenbanktrigger oder ein Anwendungstrigger

Mehr

Introduction to Data and Knowledge Engineering. 6. Übung SQL

Introduction to Data and Knowledge Engineering. 6. Übung SQL Introduction to Data and Knowledge Engineering 6. Übung SQL Aufgabe 6.1 Datenbank-Schema Buch PK FK Autor PK FK ISBN Titel Preis x ID Vorname Nachname x BuchAutor ISBN ID PK x x FK Buch.ISBN Autor.ID FB

Mehr

dbis Praktikum DBS I SQL Teil 2

dbis Praktikum DBS I SQL Teil 2 SQL Teil 2 Übersicht Fortgeschrittene SQL-Konstrukte GROUP BY HAVING UNION / INTERSECT / EXCEPT SOME / ALL / ANY IN / EXISTS CREATE TABLE INSERT / UPDATE / DELETE 2 SELECT Syntax SELECT FROM [WHERE [GROUP

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

SQL. Datendefinition

SQL. Datendefinition SQL Datendefinition Die Organisation einer Datenbank basiert auf einer Anzahl verschiedener Objekte. Diese können physikalischer oder logischer Natur sein. Das folgende Kapitel beschäftigt sich mit der

Mehr

Auf einen Blick. Abfrage und Bearbeitung. Erstellen einer Datenbank. Komplexe Abfragen. Vorwort... 13

Auf einen Blick. Abfrage und Bearbeitung. Erstellen einer Datenbank. Komplexe Abfragen. Vorwort... 13 Auf einen Blick Vorwort... 13 Teil 1 Vorbereitung Kapitel 1 Einleitung... 17 Kapitel 2 SQL der Standard relationaler Datenbanken... 21 Kapitel 3 Die Beispieldatenbanken... 39 Teil 2 Abfrage und Bearbeitung

Mehr

Semantische Datenintegrität

Semantische Datenintegrität Herbstsemester 2010 Datenbanken mit Übungen Kapitel 5: Datenintegrität H. Schuldt Semantische Datenintegrität Ziel der semantischen Datenintegrität: Die Datenbank soll zu jedem Zeitpunkt die Zusammenhänge

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

Advanced SQL verstehen und einsetzen 10.06.2009. SQL-Implementierungen kennen und bewerten

Advanced SQL verstehen und einsetzen 10.06.2009. SQL-Implementierungen kennen und bewerten 1/47 PHP-User-Group Stuttgart 10.06.2009 Aktuelle Datenbank-Features verstehen und nutzen SQL-Power aktivieren anstatt Arrays sortieren Valide Daten garantieren und performante DB-Zugriffe sicherstellen

Mehr

Einleitung 19. Teil I Einführung in Datenbanksysteme 25. Kapitel 1 Wozu Datenbanksysteme da sind 27

Einleitung 19. Teil I Einführung in Datenbanksysteme 25. Kapitel 1 Wozu Datenbanksysteme da sind 27 Inhaltsverzeichnis Einleitung 19 Über dieses Buch 19 Konventionen in diesem Buch 20 Was Sie nicht lesen müssen 21 Törichte Annahmen über den Leser 21 Wie dieses Buch aufgebaut ist 22 Teil I: Einführung

Mehr

Datenbanksysteme Kapitel 2: SQL Data Definition Language

Datenbanksysteme Kapitel 2: SQL Data Definition Language Datenbanksysteme Kapitel 2: SQL Data Definition Language Prof. Dr. Peter Chamoni Mercator School of Management Lehrstuhl für Wirtschaftsinformatik, insb. Business Intelligence Prof. Dr. Peter Chamoni -

Mehr

Inhaltsverzeichnis. Vorwort Kapitel 1 Einleitung... 15

Inhaltsverzeichnis. Vorwort Kapitel 1 Einleitung... 15 Vorwort..................................................... 13 Kapitel 1 Einleitung.......................................... 15 Kapitel 2 SQL der Standard relationaler Datenbanken... 19 2.1 Die Geschichte................................

Mehr

Auf einen Blick. Abfrage und Bearbeitung. Erstellen einer Datenbank. Komplexe Abfragen. Vorwort 13

Auf einen Blick. Abfrage und Bearbeitung. Erstellen einer Datenbank. Komplexe Abfragen. Vorwort 13 Auf einen Blick Vorwort 13 Teil 1 Vorbereitung Kapitel 1 Einleitung 17 Kapitel 2 SQL - der Standard relationaler Datenbanken 21 Kapitel 3 Die Beispieldatenbanken 39 Teil 2 Abfrage und Bearbeitung Kapitel

Mehr

Relationales Datenbanksystem Oracle

Relationales Datenbanksystem Oracle Relationales Datenbanksystem Oracle 1 Relationales Modell Im relationalen Modell wird ein relationales Datenbankschema wie folgt beschrieben: RS = R 1 X 1 SC 1... R n X n SC n SC a a : i=1...n X i B Information

Mehr

7. Integritätskontrolle in SQL. Vorlesung "Informationssysteme" Sommersemester 2017

7. Integritätskontrolle in SQL. Vorlesung Informationssysteme Sommersemester 2017 7. Integritätskontrolle in SQL Vorlesung "Informationssysteme" Sommersemester 2017 Überblick Integritätsbedingungen Klassifikation und Eigenschaften Referentielle Integrität und referentielle Aktionen

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

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

WS 2010/11 Datenbanksysteme Fr 15:15 16:45 R 1.008. Vorlesung #6. SQL (Teil 4)

WS 2010/11 Datenbanksysteme Fr 15:15 16:45 R 1.008. Vorlesung #6. SQL (Teil 4) Vorlesung #6 SQL (Teil 4) Fahrplan Besprechung der Übungsaufgaben Einschub: Self Joins (relevant fürs Praktikum) Dynamische Intergritätsbedingungen, das Trigger - Konzept von Oracle Prozedurale Erweiterungen,

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

Inhaltsverzeichnis. Vorwort 13. Kapitel 1 Einleitung 15

Inhaltsverzeichnis. Vorwort 13. Kapitel 1 Einleitung 15 Vorwort 13 Kapitel 1 Einleitung 15 Kapitel 2 SQL-der Standard relationaler Datenbanken... 19 2.1 Die Geschichte 19 2.2 Die Bestandteile 20 2.3 Die Verarbeitung einer SQL-Anweisung 22 2.4 Die Struktur von

Mehr

Funktionen. Überblick über Stored Functions. Syntax zum Schreiben einer Funktion. Schreiben einer Funktion

Funktionen. Überblick über Stored Functions. Syntax zum Schreiben einer Funktion. Schreiben einer Funktion Überblick über Stored Functions Funktionen Eine Funktion ist ein benannter PL/SQL- Block, der einen Wert zurückgibt. Eine Funktion kann in der Datenbank als Objekt zur wiederholbaren Ausführung gespeichert

Mehr

Datenbanken. Zusammenfassung. Datenbanksysteme

Datenbanken. Zusammenfassung. Datenbanksysteme Zusammenfassung Datenbanksysteme Christian Moser Seite 1 vom 7 12.09.2002 Wichtige Begriffe Attribut Assoziation API Atomares Attribut Datenbasis DBMS Datenunabhängigkeit Datenbankmodell DDL DML DCL ER-Diagramm

Mehr

Web-Technologien. Prof. Dr. rer. nat. Nane Kratzke SQL. Praktische Informatik und betriebliche Informationssysteme

Web-Technologien. Prof. Dr. rer. nat. Nane Kratzke SQL. Praktische Informatik und betriebliche Informationssysteme Handout zur Unit Web-Technologien SQL 1 Prof. Dr. rer. nat. Nane Kratzke Praktische Informatik und betriebliche Informationssysteme Raum: 17-0.10 Tel.: 0451 300 5549 Email: nane.kratzke@fh-luebeck.de (Praktische

Mehr

Wirtschaftsinformatik 7a: Datenbanken. Hochschule für Wirtschaft und Recht SS 16 Dozent: R. Witte

Wirtschaftsinformatik 7a: Datenbanken. Hochschule für Wirtschaft und Recht SS 16 Dozent: R. Witte Wirtschaftsinformatik 7a: Datenbanken Hochschule für Wirtschaft und Recht SS 16 Dozent: R. Witte Drei Gäste bezahlen nach einem gemeinsamen Abendessen eine Rechnung von 30 Euro, so dass jeder 10 Euro gibt.

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

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

Grober Überblick zu Datendefinitionsanweisungen in SQL

Grober Überblick zu Datendefinitionsanweisungen in SQL 5.2 Datendefinition mit SQL (DDL) Grober Überblick zu Datendefinitionsanweisungen in SQL Konzeptuelle Ebene - CREATE TABLE, ALTER TABLE, DROP TABLE - CREATE DOMAIN, ALTER DOMAIN, DROP DOMAIN -... Interne

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

SQL. Allgemeines CREATE TABLE DROP TABLE ALTER TABLE INSERT INTO UPADTE DELETE SELECT

SQL. Allgemeines CREATE TABLE DROP TABLE ALTER TABLE INSERT INTO UPADTE DELETE SELECT Allgemeines DROP TABLE ALTER TABLE INSERT INTO UPADTE DELETE SELECT Gute Tabellen sollen nun in eine DB auf den Rechner. Verwenden dazu DBMS ite. Verwenden Datenbanksprache (structured query language).

Mehr

Das relationale Datenmodell

Das relationale Datenmodell Das relationale Datenmodell Konzepte Attribute, Relationenschemata, Datenbank-Schemata Konsistenzbedingungen Beispiel-Datenbank Seite 1 Einführung Zweck datenmäßige Darstellung von Objekten und Beziehungen

Mehr

Vorlesung: Relationale Datenbanksysteme

Vorlesung: Relationale Datenbanksysteme Vorlesung: Relationale Datenbanksysteme Softwareentwicklungsprojekt 1+2 Softwaretechnik 2 Dienstorientiertes Rechnen in der Praxis Dipl.-Inf. Andreas Göbel Friedrich-Schiller-Universität Jena Lehrstuhl

Mehr