11. Integrität und Trigger. Integritätssicherung durch Anwendung. Architekturen zur Integritätssicherung. Anwendung 1. Anwendung n Routinen.
|
|
- Werner Raske
- vor 7 Jahren
- Abrufe
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 Transaktionen, Integrität und Trigger 1 Grundbegriffe 2 Transaktionsbegriff 3 Transaktionen in SQL 4 Integritätsbedingungen in SQL 5 Trigger 6 Schemaevolution
MehrTeil 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
Mehr6. 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
MehrBeispiel 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,
Mehr6. 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
MehrDie 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
MehrDatenintegritä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
MehrDatenbanksysteme 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
MehrDatenbanksysteme 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
MehrReferentielle 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
MehrDatenintegritä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
MehrReferentielle 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
MehrIntegritä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
MehrSemantische 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
MehrDatenintegritä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!
MehrDatenintegritä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!
MehrKapitel 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
MehrVorlesung Datenbankmanagementsysteme
Vorlesung Datenbankmanagementsysteme Trigger, Sichten und Zugriffskontrolle (auf Basis von Oracle) Vorlesung Datenbankmanagementsysteme Trigger, Sichten und Zugriffskontrolle M. Lange, S. Weise Folie #10-1
MehrVO 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
MehrDatenintegritä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
MehrSeminar 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
MehrSQL: 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
MehrSQL. 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:
MehrDatenintegritä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
MehrGrundlagen 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
MehrFunktion 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
MehrWS 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
MehrAufgabe 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
MehrDatenbanken 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
Mehr4.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
MehrDatenbanken. 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
MehrMengenvergleiche: 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
MehrInformatik 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
MehrDatenbanken 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
MehrWiederholung VU Datenmodellierung
Wiederholung VU Datenmodellierung VU Datenbanksysteme Reinhard Pichler Arbeitsbereich Datenbanken und Artificial Intelligence Institut für Informationssysteme Technische Universität Wien Wintersemester
MehrKapitel 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
MehrKlausur 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:
MehrUniversitä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
MehrDatenbanken: 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
MehrWelche 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.
MehrWeb 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
MehrUni 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
MehrDieser 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,
MehrVorlesung 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
MehrDatenschutz: 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
MehrKapitel 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
Mehr1. 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,...
MehrKonstante Relationen
Konstante Relationen values-syntax erzeugt konstante Relation values ( [, Konstante] * )[, ( [, Konstante] * )]* Beispiel values (1, eins ), (2, zwei ), (3, drei ); Resultat ist eine
MehrKapitel 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:
MehrInhalt. 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,
MehrDaten-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
MehrReferenzielle 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
MehrFinalklausur 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
MehrIntegritä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
MehrDatenabstraktion / 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
MehrTU 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)
MehrTestklausur 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:
MehrKapitel 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
MehrDatenbanken 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-
Mehr3.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
Mehr5.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
Mehr7. 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
MehrTerminierungs-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 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
MehrVon 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
MehrSQL. 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
MehrTrigger 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
MehrIntroduction 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
Mehrdbis 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
MehrHochschule 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.
MehrSQL. 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
MehrAuf 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
MehrSemantische 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
MehrIntegritä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
MehrAdvanced 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
MehrEinleitung 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
MehrDatenbanksysteme 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 -
MehrInhaltsverzeichnis. Vorwort Kapitel 1 Einleitung... 15
Vorwort..................................................... 13 Kapitel 1 Einleitung.......................................... 15 Kapitel 2 SQL der Standard relationaler Datenbanken... 19 2.1 Die Geschichte................................
MehrAuf 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
MehrRelationales 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
Mehr7. 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
MehrDipl. 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
MehrSQL. 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
MehrWS 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,
MehrForeign 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
MehrInhaltsverzeichnis. 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
MehrFunktionen. Ü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
MehrDatenbanken. 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
MehrWeb-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
MehrWirtschaftsinformatik 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.
MehrDB2 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
MehrIntegritä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
MehrGrober Ü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
MehrErzeugen 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
MehrSQL. 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).
MehrDas 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
MehrVorlesung: 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