11. Integrität und Trigger
|
|
- Valentin Adler
- vor 5 Jahren
- Abrufe
Transkript
1 11. Integrität und Trigger Grundlagen und Begriffe Transaktionen Integritätsbedingungen Integritätsregeln in SQL Trigger VL Datenbanken I 11 1 Grundlagen und Begriffe 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 2 Transaktion Eine Transaktion ist eine Folge von Operationen (Aktionen), die die Datenbank von einem konsistenten Zustand in einen konsistenten, eventuell veränderten, Zustand überführt, wobei das ACID-Prinzip eingehalten werden muß. Aspekte: Semantische Integrität: Korrekter (konsistenter) DB-Zustand nach Ende der Transaktion Ablaufintegrität: Fehler durch gleichzeitigen Zugriff mehrerer Benutzer auf dieselben Daten vermeiden VL Datenbanken I 11 3
2 ACID-Eigenschaften Atomicity (Atomarität): Transaktion wird entweder ganz oder gar nicht ausgeführt Consistency (Konsistenz oder auch Integritätserhaltung): Datenbank ist vor Beginn und nach Beendigung einer Transaktion jeweils in einem konsistenten Zustand Isolation (Isolation): Nutzer, der mit einer Datenbank arbeitet, sollte den Eindruck haben, daß er mit dieser Datenbank alleine arbeitet Durability (Dauerhaftigkeit / Persistenz): nach erfolgreichem Abschluß einer Transaktion muß das Ergebnis dieser Transaktion dauerhaft in der Datenbank gespeichert werden VL Datenbanken I 11 4 Kommandos einer Transaktionssprache Beginn einer Transaktion: Begin-of-Transaction-Kommando BOT (in SQL implizit!) commit: die Transaktion soll erfolgreich beendet werden abort: die Transaktion soll abgebrochen werden VL Datenbanken I 11 5 Transaktion: Integritätsverletzung Beispiel: Übertragung eines Betrages B von einem Haushaltsposten K1 auf einen anderen Posten K2 Bedingung: Summe der Kontostände der Haushaltsposten bleibt konstant vereinfachte Notation Transfer = < K1:=K1-B; K2:=K2+B >; Realisierung in SQL: als Sequenz zweier elementarer Änderungen Bedingung ist zwischen den einzelnen Änderungsschritten nicht unbedingt erfüllt! VL Datenbanken I 11 6
3 Architekturen zur Integritätssicherung Anwendung 1 Anwendung n DBMS Datenbank Vereinfachte Datenbank-Anwendungsarchitektur VL Datenbanken I 11 7 Integritätssicherung durch Anwendung Anwendung 1 Routinen Anwendung n Routinen DBMS Datenbank VL Datenbanken I 11 8 Integritätsmonitor Anwendung 1 Anwendung n DBMS Monitor Datenbank VL Datenbanken I 11 9
4 Einkapselung Anwendung 1 Anwendung n Kapselung DBMS Datenbank VL Datenbanken I Inhärente Integritätsbedingungen im RM 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 VL Datenbanken I Integritätsbedingungen in SQL-DDL 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 12
5 Erhaltung der referentiellen Integrität Ü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 refernziert t falls nicht leer abweisen oder Tupel aus r 1, die t referenzieren, löschen (bei kaskadierendem Löschen) VL Datenbanken I Überprüfungsmodi von Bedingungen 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 Überprüfungsmodi: Beispiel 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 ) VL Datenbanken I 11 15
6 Die assertion-klausel 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 Beispiele für Integritätsbedingungen 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. VL Datenbanken I Beispiele für Integritätsbedingungen (II) 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 11 18
7 Mögliche Klassifikationen Kriterium Granularität Ausdrucksfähigkeit Klassen Attribut Tupel Relation Datenbank elementare Prädikate Relationale Algebra SQL SQL + transitive Hülle berechnungsvollständig VL Datenbanken I Mögliche Klassifikationen (II) Kriterium zeitlicher Kontext Überprüfungszeitpunkt Reaktion Klassen statisch transitional temporal Einzeländerung Operationsende Transaktionsende Zurückweisung (reject) Korrektur (repair) VL Datenbanken I Integritätsregeln IR = B, O, A, R 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 VL Datenbanken I 11 21
8 Integritätsregeln (II) 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 Integritätsregeln in SQL: Beispiel I 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) VL Datenbanken I Integritätsregeln in SQL: Beispiel II 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 11 24
9 Integritätsregeln in SQL: Beispiel III Das Konto von Weiß darf nicht überzogen werden: assert IR3 for KUNDE : not KName = Weiß or Kto >= 0 VL Datenbanken I Integritätsregeln in SQL: Beispiel IV 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 Integritätsregeln in SQL: Beispiel V 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) VL Datenbanken I 11 27
10 Integritätsregeln in SQL: Beispiel VI 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 Integritätsregeln in SQL: Beispiel VII 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) VL Datenbanken I Integritätsregeln in SQL: Beispiel VIII 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 11 30
11 Integritätsregeln in SQL: Beispiel IX 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 ); VL Datenbanken I Trigger 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 Trigger (II) create trigger... after <Operation> <Anweisungen> entspricht einer speziellen Integritätsregel: assert...on <Operation> : false else ( <Anweisungen> ) VL Datenbanken I 11 33
12 Trigger: Entwurf und Implementierung 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 SQL:1999-Trigger Syntax: create trigger <Name> after before <Ereignis> on <Relation> [ when <Bedingung> ] begin atomic < SQL-Anweisungen > end Ereignis: insert update [ of <Liste von Attributen> ] delete VL Datenbanken I Weitere Angaben bei Triggern 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 11 36
13 Beispiel für Trigger (I) 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 VL Datenbanken I Beispiel für Trigger (II) 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 Beispiel für Trigger (III) 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 VL Datenbanken I 11 39
14 Methoden der Integritätssicherung 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 Integritätssicherung durch Trigger 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. VL Datenbanken I Integritätssicherung durch Trigger (II) 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 11 42
11. Integrität und Trigger. Integritätssicherung durch Anwendung. Architekturen zur Integritätssicherung. Anwendung 1. Anwendung n Routinen.
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
MehrTeil 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 IX Transaktionen, Integrität und Trigger
Teil IX Transaktionen, Integrität und Trigger Transaktionen, Integrität und Trigger 1. Grundbegri e 2. Transaktionsbegri 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
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
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
Mehr4.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
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,
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
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
MehrDatenintegritä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
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
MehrDatenintegritä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
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:
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
MehrTransaktionsverwaltung
Kapitel l2 Transaktionsverwaltung Skript 2009 Matthias Schubert Dieses Skript basiert auf dem Skript zur Vorlesung Datenbanksysteme II von Prof. Dr. Christian Böhm gehalten im Sommersemester 2007 an der
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
MehrKapitel 2 Transaktionsverwaltung. Skript 2009 Matthias Schubert
Kapitel 2 Transaktionsverwaltung Skript 2009 Matthias Schubert Dieses Skript basiert auf dem Skript zur Vorlesung Datenbanksysteme II von Prof. Dr. Christian Böhm gehalten im Sommersemester 2007 an der
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
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
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
MehrKapitel 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Übung Datenbanksysteme Updates, Integritätsbedingungen, funktionale Abhängigkeiten
Übung Datenbanksysteme Updates, Integritätsbedingungen, funktionale Abhängigkeiten 12.1.2004 Änderungsoperationen bei SQL (Daten) Einfügen neuer Tupel (schon bekannt) INSERT INTO Table (Spalte1, Spalte2)
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,...
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
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
MehrBeispielszenarien. 12. Transaktionen. ACID-Eigenschaften. Transaktion
12. Transaktionen Beispielszenarien Transaktionsbegriff Probleme im Mehrbenutzerbetrieb Serialisierbarkeit Sperrprotokolle zur Synchronisation Isolationsebenen in SQL Platzreservierung für Flüge quasi
MehrTransaktionsverwaltung
Transaktionsverwaltung VL Datenbanksysteme Ingo Feinerer Arbeitsbereich Datenbanken und Artificial Intelligence Institut für Informationssysteme Technische Universität Wien Transaktionsverwaltung Transaktionen:
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
MehrDatenbanksysteme 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
MehrDatenintegrität. Referentielle Integrität. Referentielle Integrität in SQL. Bisherige Integritätsbedingungen
Datenintegrität eferentielle Integrität Integitätsbedingungen chlüssel Fremdschlüssel verweisen auf Tupel einer elation z.b. gelesenvon in Vorlesungen verweist auf Tupel in Professoren Beziehungskardinalitäten
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
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
Mehr6. Updates in SQL 6-1. Inhalt. 1. Update-Kommandos in SQL. 2. Transaktionen. 3. Gleichzeitige Zugriffe
6. Updates in SQL 6-1 Inhalt 1. Update-Kommandos in SQL 2. Transaktionen 3. Gleichzeitige Zugriffe 6. Updates in SQL 6-2 Updates in SQL: Übersicht SQL-Befehle zur Änderung des DB-Zustands: 1. INSERT: Einfügung
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!
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.
MehrTriggern. Change Data Capture
Triggern. Change Data Capture Triggers Was sind Triggers? Eine bestimmte Art von gespeicherte Prozedur, die automatisch ausgeführt wird wenn eine DML oder DDL Anweisung ausgeführt wird Eine Menge von Aktionen,
MehrPraktische 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/
MehrPraktische SQL-Befehle 2
Praktische SQL-Befehle 2 Datenbanksysteme I WiSe 2018/2019 Todor Ivanov DB1 WS2018 1 Praktische SQL-Befehle Functions Views Triggers Voraussetzung: Laptop + MySQL/ MariaDB + Workbench! DB1 WS2018 2 Airport
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
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
MehrHochschule Karlsruhe Technik und Wirtschaft Fakultät für Informatik und Wirtschaftsinformatik
1. Aufgabe (Normalisierung, 28 Punkte) Das Maklerbüro Foldur-Estate beschäftigt mehrere Makler, die jeweils unterschiedliche Mietwohnungen im Angebot haben. Jede Wohnung hat einen Vermieter, Vermieter
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
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
MehrWiederholung VU Datenmodellierung
Wiederholung VU Datenmodellierung VL Datenbanksysteme Reinhard Pichler Arbeitsbereich Datenbanken und Artificial Intelligence Institut für Informationssysteme Technische Universität Wien Wintersemester
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
MehrSQL. DDL (Data Definition Language) Befehle und DML(Data Manipulation Language)
SQL DDL (Data Definition Language) Befehle und DML(Data Manipulation Language) DML(Data Manipulation Language) SQL Abfragen Studenten MatrNr Name Vorname Email Age Gruppe 1234 Schmidt Hans schmidt@cs.ro
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
MehrWiederholung VU Datenmodellierung
Wiederholung VU Datenmodellierung VU Datenbanksysteme Reinhard Pichler Arbeitsbereich Datenbanken und Artificial Intelligence Institut für Informationssysteme Technische Universität Wien Wintersemester
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
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,
Mehr12. Datenschutz: Zugriffsrechte in SQL Datenschutz: Zugriffsrechte in SQL
12. Datenschutz: Zugriffsrechte in SQL 12-1 Datenschutz: Zugriffsrechte in SQL 12. Datenschutz: Zugriffsrechte in SQL 12-2 Inhalt 1. Anforderungen, Allgemeines 2. Die SQL-Befehle GRANT und REVOKE 3. Sichten
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
MehrDatenbanken Unit 5: Datenintegrität und funktionale Abhängigkeit
Datenbanken Unit 5: Datenintegrität und funktionale Abhängigkeit 23. IV. 2018 Outline 1 Organisatorisches 2 Relationale Algebra Notation 3 Datenintegrität 4 Funktionale Abhängigkeit 5 SQL Outline 1 Organisatorisches
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
Mehr8. Tabellendefinition in SQL 8-1. Tabellendefinitionen
8. Tabellendefinition in SQL 8-1 Tabellendefinitionen 8. Tabellendefinition in SQL 8-2 Inhalt 1. Schlüssel 2. Fremdschlüssel 3. CREATE TABLE-Syntax 4. DROP TABLE 5. ALTER TABLE 8. Tabellendefinition in
MehrSchnellübersichten. SQL Grundlagen und Datenbankdesign
Schnellübersichten SQL Grundlagen und Datenbankdesign 5 Datenbanken 2 6 Tabellen erstellen und verwalten 3 7 Daten einfügen, aktualisieren, löschen 4 8 Einfache Datenabfragen 5 9 Schlüsselfelder und Indizes
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
MehrKapitel 10 Transaktionen Integrität
LUDWIG- MAXIMILIANS- UNIVERSITY MUNICH DEPARTMENT INSTITUTE FOR INFORMATICS Skript zur Vorlesung: Datenbanksysteme I Wintersemester 2016/2017 Kapitel 10 Transaktionen Integrität Vorlesung: : Prof. Dr.
MehrEigenschaften von TAs: ACID-Prinzip
Transaktionsparadigma Definition: Transaktion ununterbrechbare Folge von DML-/DDL-Befehlen begin transaction --- end transaction begin: meist implizit mit ersten Datenbankzugriff end: commit (work) oder
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
MehrLogischer Entwurf. Stufen der Entwicklung einer Datenbank. Inhalt. Übersicht. 1. Datenbank - Entwurf ( ER - Diagramm)
10. Logischer Entwurf 10-1 10. Logischer Entwurf 10-2 Stufen der Entwicklung einer Datenbank 1. Datenbank - Entwurf ( ER - Diagramm) Logischer Entwurf 2. Umsetzen des ER - Diagramms ins relationale Modell
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)
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
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
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.
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
MehrDatenintegrität. Daten. Dateneingabe. Datenverwendung. Datenkonsistenz? logisch. Datenschutz? juristisch. Transaktionen. Datensicherheit?
Datenintegrität Dateneingabe Datenkonsistenz? logisch Daten Datenverwendung Transaktionen Datenschutz? juristisch sc Datensicherheit? physisch 1 Datenintegrität: Begriffsbildung Datenkonsistenz "Widerspruchsfreiheit";
MehrGrundlagen von SQL. Informatik 2, FS18. Dr. Hermann Lehner (Material von Dr. Markus Dahinden) Departement Informatik, ETH Zürich
Grundlagen von SQL Informatik 2, FS18 Dr. Hermann Lehner (Material von Dr. Markus Dahinden) Departement Informatik, ETH Zürich Markus Dahinden 13.05.18 1 Grundlagen von SQL (Structured Query Language)
MehrRelationenmodell. Ziel:
Relationenmodell Ziel:! geringe Redundanz,! gute Handhabbarkeit,! einfache Zugriffe über möglichst wenige Tabellen! Sicherstellung von Konsistenz und Integrität. Beispielrelation Verkaeufer-Produkt Verk.-Nr.
Mehr5/14/18. Grundlagen von SQL. Grundlagen von SQL. Google, Facebook und Co. setzen auf SQL. Whatsapp
5/14/18 Grundlagen von SQL (Structured Query Language) Datenbanksprache Befehle Datenbanken und Tabellen erstellen/verändern Daten manipulieren (eingeben, ändern, löschen) Datenbank durchsuchen (Queries
MehrFakultät für Informatik & Wirtschaftsinformatik DB & IS II SS Transaktionen & ACID. Dr. Christian Senger Transaktionen & ACID 1
Transaktionen & ACID Dr. Christian Senger Transaktionen & ACID 1 PC Architekturen Kein Mehrbenuzterbetrieb Recovery? Benutzerabbrüche? PC Lokale Datenbank PC PC PC PC PC PC-System DBMS PC PC PC PC Internet
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. Blatt Nr. 07 Übung zur Vorlesung Grundlagen: Datenbanken im WS16/17 Harald Lang, Linnea Passing (gdb@in.tum.de
Mehr3.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:
MehrIn diesem Abschnitt stehen Transaktionen im Mittelpunkt. Hierbei geht es darum, wie bei Mehrbenutzerbetrieb die Integrität von Datenbanken
In diesem Abschnitt stehen Transaktionen im Mittelpunkt. Hierbei geht es darum, wie bei Mehrbenutzerbetrieb die Integrität von Datenbanken gewährleistet wird. 1 Im einzelnen geht es in diesem Abschnitt
Mehr7. Transaktionsverwaltung
7. Transaktionsverwaltung Motivation Transaktionen erlauben Bündelung von Operationen und gelten als wichtigster Beitrag des Bereichs Datenbanken zur Informatik; sie werden heute auch außerhalb von Datenbanksystemen
MehrDatenbanksysteme. Transaktionen. Burkhardt Renz. Sommersemester Fachbereich MNI Technische Hochschule Mittelhessen
Datenbanksysteme Transaktionen Burkhardt Renz Fachbereich MNI Technische Hochschule Mittelhessen Sommersemester 2019 Übersicht Transaktionen Motivation ACID-Eigenschaften Recovery Ursachen für Recovery
MehrDB I S. 1 Referentielle Aktionen [10 P.] Gegeben sei folgende Datendefinition:
1 Referentielle Aktionen Gegeben sei folgende Datendefinition: [10 P.] CREATE TABLE Wissenschaftler( SVNr int PRIMARY KEY, Vorname varchar(25) NOT NULL, Nachname varchar(25) NOT NULL, Gehalt int NOT NULL
MehrUML/OCL für die Integritätssicherung in Datenbankanwendungen
UML/OCL für die Integritätssicherung in Datenbankanwendungen Zwischenbericht Diplom Inhalt des Vortrages Motivation der Arbeit Konzept für die Integritätssicherung Musterkatalog Å Probleme/Lösungen Tool-Gesamtkonzept
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:
MehrDatenbanken im WI-Unterricht mit
Datenbanken im WI-Unterricht mit Inhaltsverzeichnis 1 ER-Modell - Entity Relationship Modell 1 1.1 Entitäten................................................. 2 1.2 Relationen................................................
MehrAls Datenbanksystem wird ein Datenbankverwaltungssystem zusammen mit einer oder mehrerer Datenbanken bezeichnet.
Datenbankverwaltungssystem (DBVS/DBMS) Ein Datenbankverwaltungssystem (DBVS, data base management system : DBMS) ist die Gesamtheit aller Programme (Ressourcen) zur Erzeugung, Verwaltung (einschl. Daten-
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
MehrGrundlagen 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
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
MehrÜbung ERM. Beispiel: Erstellung einer relationalen Datenbank
LE 9-1 Übung ERM Lernziele: Sie sind in der Lage, Sachverhalte mit Hilfe von ERMs abzubilden. LE 9-2 Beispiel: Erstellung einer relationalen Datenbank Ein Bild ist von einem Künstler gemalt und hängt in
MehrSemesterklausur. Hinweise:
Universität Augsburg, Institut für Informatik Prof Dr Werner Kießling Stefan Fischer, Stefan Holland Semesterklausur Prüfungsmodul Datenbanksysteme I (WS 2003/2004 nach dem Leistungspunktesystem (11 Leistungspunkte
MehrInformations- 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
MehrInduktionsschluss: Sei Q RA eine Anfrage der Relationenalgebra mit n > 0 Operatoren.
1 Aufgabe 3.1: Wir beweisen durch Induktion über die Anzahl Operatoren π, σ,,,, δ eines Ausdrucks der Relationenalgebra, dass zu jeder Anfrage der Relationenalgebra eine äquivalente Anfrage in SQL existiert.
MehrDatenbanken (Übung 12)
Datenbanken (Übung 12) Prof. Dr.-Ing. Norbert Fuhr Dipl.-Inform. Thomas Beckers (tbeckers@is.inf.uni-due.de) Universität Duisburg-Essen Fachgebiet Informationssysteme 1. 2. Februar 2012 Dipl.-Inform. Thomas
Mehr