Datenbanken: Transaktionskonzept und Concurrency Control

Größe: px
Ab Seite anzeigen:

Download "Datenbanken: Transaktionskonzept und Concurrency Control"

Transkript

1 Wesentlich für das Arbeiten mit Datenbanken sind konsistente Datenbestände! Folgerung: es muss sichergestellt werden, dass Datenmanipulationen von Benutzern immer in einem erneut konsistenten Zustand der Datenbank resultieren! aber: einzelne Datenmanipulationsoperationen erzeugen in der Regel einen inkonsistenten Zustand! Beispiel (Bezug: eine Personen-Datenbank): Für die Personen-Datenbank gibt es die Geschäftsregel, dass alle Personen in der Datenbank mindestens eine gültige Adresse, einen gültigen Ausbildungs- und einen gültigen Berufsdatensatz haben! Folge: Das insert eines Personendatensatzes überführt die Datenbank in einen inkonsistenten Zustand! Erst wenn alle übrigen Datensätze zu Adresse, Beruf und Ausbildung eingefügt wurden, besteht wieder Konsistenz! 1

2 Deshalb arbeiten Datenbanken mit dem Transaktionskonzept: Definition: Eine Transaktion ist eine Menge von Datenmanipulationsoperationen, die eine Datenbank von einem konsistenten Zustand in einen erneut konsistenten Zustand überführt Transaktionen haben einen definierten Anfang: begin oder einfach die erste Operation (SQL-statement) Transaktionen haben ein definiertes Ende: erfolgreich: erfolglos: commit; rollback; oder abort; 2

3 Deshalb arbeiten Datenbanken mit dem Transaktionskonzept: Transaktionsbeginn! insert into person values(persnr_seq.nextval, 'Meier', 'Kurt', ' ', 'M'); insert into adresse values(adrnr_seq.nextval, '12345', 'Teststadt', 'Teststr.12', 'P', persnr_seq.currval); insert into adresse values(adrnr_seq.nextval, '11223', 'Dudenhausen', 'Kirchweg 9', 'D', persnr_seq.currval); insert into hobbies values(hnr_seq.nextval, 'Schwimmen', persnr_seq.currval); insert into hobbies values(hnr_seq.nextval, 'Tischtennis', persnr_seq.currval); insert into ausbildungen values(anr_seq.nextval, 'Gymnasium', ' ', ' ', 'Mittlere Reife', ' ', persnr_seq.currval); insert into ausbildungen values(anr_seq.nextval, 'Bäckerlehre', ' ', ' ', 'Geselle', ' ', persnr_seq.currval); insert into beruf values(bnr_seq.nextval, 'Bäcker Catering', ' ',' ', 2100, persnr_seq.currval); insert into beruf values(bnr_seq.nextval, 'Bäcker Meier', ' ', Null, 4350, persnr_seq.currval); commit; Transaktionsende! 3

4 Die Transaktionsstatements commit und rollback bekommen im Laufe dieser Untersuchungen weitere Bedeutung. Hier zeigen sie zunächst einmal lediglich das Ende der Transaktion an!! Aus der Forderung, konsistente Zustände zu erzeugen, resultieren im klassischen Fall 4 weitere Bedingungen an Transaktionen: die ACID-Bedingungen: A (Atomicy): Jede Transaktion wird vollständig oder gar nicht ausgeführt! C (Consistency):Jede Transaktion erzeugt einen konsistenten Datenbankzustand! I (Isolation): D (Durability): Die von einer Transaktion benötigten Daten müssen vor der Konsistenz gefährdenden Nutzung durch parallel laufende Transaktionen geschützt werden. Das Ergebnis einer erfolgreichen Transaktion muss physisch in der Datenbank vorhanden sein. 4

5 Anmerkungen: 1. Es gibt andere (nicht-klassische) Transaktionskonzepte, in denen die ACID-Bedingungen verändert oder erweitert wurden! 2. Aus der Bedingung D der ACID-Bedingungen ergibt sich eine erste Erweiterung der Bedeutung des commit-statements: commit ist zusätzlich der Befehl an das DBMS, spätestens jetzt die in dieser Transaktion veränderten Daten physisch in die Datenbank zu schreiben bzw. die bereits geschriebenen Daten als nicht mehr rollbackfähig zu kennzeichnen! 3. Bedingung A erfordert das rollback. Insbesondere folgt daraus auch, dass alle Werte von Datenmanipulationen vor und nach der Änderung in den Log-Dateien protokolliert werden müssen! 4. Die Verwaltung der Transaktionen in einer aktiven Datenbank übernimmt der Transaktionsmanager als Komponente des DBMS. 5

6 Anmerkungen: 5. Die Bedingung I (Isolation) macht in einem multi-user-umfeld die meisten Probleme und erfordert zur Einhaltung zusätzliche Konzepte und Mechanismen. Dies wird zusammengefasst unter dem Begriff Concurrency Control. 6. Die potentiell auftretenden Probleme im Zusammenhang mit der Verwaltung parallel arbeitender Transaktionen auf dem gleichen Datenbestand (Concurrency Control) sind zu den 4 klassischen Problemen kategorisiert worden: Phantome lost update dirty read unrepeatable read 7. In den folgenden Szenarien wird davon ausgegangen, dass alle Änderungen der Daten sofort für alle sichtbar werden, da keinerlei Schutzmechanismen implementiert sind! 6

7 Phantome: Ein Phantom ist ein Datenbankobjekt, das bzgl. eines Datenbankschemas existieren kann, aber bei einem Teil einer Transaktionsdauer nicht existiert! Beispiel: (Transaktion T1 teilt Euro auf die aktuellen Gehälter aller Personen auf, Transaktion T2 fügt zwischendurch eine neue Person ein!) T1 T2 Declare X integer; Begin select count(*) into x from person; insert into Person(persnr, name) values(4711, Meier ); insert into beruf values(123,..., ); commit; update beruf set gehalt = gehalt /x where beendet is not null; commit; End; 7

8 Lost update: Zwei Transaktionen bearbeiten einen Datenbestand mit den Operationen r(x) (read) und/oder w(x) (write). Zur Demonstration wird angenommen, dass die Operation w(x) bedeutet, dass x auf x+1 verändert und dieser neue Wert geschrieben wird: Ergebnis: T1 Zeit T2 x Begin T1 1 r1(x) 2 x = 10 3 Begin T2 4 r2(x) x = 10 w1(x) 5 x = 11 commit1 6 7 w2(x) x= 11 8 commit2 In der Datenbank steht der falsche Wert x = 11. Richtiger Wert: x = 12 Grund: Beide Transaktionen lesen den gleichen Wert, verändern ihn und schreiben ihn unabhängig voneinander in die Datenbank. 8

9 Dirty read: Zwei Transaktionen bearbeiten einen Datenbestand mit den Operationen r(x) (read) und/oder w(x) (write). Zur Demonstration wird angenommen, dass die Operation w(x) bedeutet, dass x auf x+1 verändert und dieser neue Wert geschrieben wird (alle Änderungen werden sofort für alle sichtbar!): Ergebnis: T1 Zeit T2 x Begin T1 1 r1(x) 2 x = 10 w1(x) 3 x= 11 4 Begin T2 5 r2(x) x = 11 6 w2(x) x = 12 rollback1 7 8 commit2 In der Datenbank steht der falsche Wert x = 12. Richtiger Wert: x = 11 Grund: Transaktion T2 liest einen Wert (x = 11), den es so nie in der Datenbank gegeben hat, da T1 zurückrollt. 9

10 Unrepeatable read: Zwei Transaktionen bearbeiten einen Datenbestand mit den Operationen r(x) (read) und/oder w(x) (write). T1 summiert Werte, T2 verschiebt Werte: T1 Zeit T2 Werte Begin T1 1 sum = 0 2 r1(x) 3 x = 40 r1(y) 4 y = 50 sum = sum + x 5 Sum = 40 sum = sum + y 6 Sum = 90 7 Begin T2 8 r2(z) z = 30 9 w2(z) z = z 10 = r2(x) x = w2(x) x = x + 10 = commit2 r1(z) 13 z = 20 sum = sum + z 14 sum = 110 w1(sum) 15 commit

11 Unrepeatable read: T1 Zeit T2 Werte Begin T1 1 sum = 0 2 r1(x) 3 x = 40 r1(y) 4 y = 50 sum = sum + x 5 Sum = 40 sum = sum + y 6 Sum = 90 7 Begin T2 8 r2(z) z = 30 9 w2(z) z = z 10 = r2(x) x = w2(x) x = x + 10 = commit2 r1(z) 13 z = 20 sum = sum + z 14 sum = 110 w1(sum) 15 commit1 16 Ergebnis: In der Datenbank steht der falsche Wert sum = 110. Richtiger Wert: sum =

12 Alle diese Verletzungen der Isolation-Bedingung können auftreten, falls das Datenbanksystem keine Konzepte und Mechanismen dagegen implementiert hat! Die Folge wäre, dass mit der Zeit die Datenbank nur noch inkonsistente Datenbestände enthält, also unbrauchbar geworden ist! Es ist also unbedingt erforderlich, die Isolation-Bedingung durch eigene Konzepte und Mechanismen zu erzwingen! Dazu dienen: Sperren Sperrprotokolle Erstellen serialisierbarer Ablaufpläne 12

13 Sperren: Im Standard-Transaktionskonzept sind zwei Arten von Sperren definiert: Lesesperren rlock(x): Bedeutung: Sperren des Objekts x im shared mode Die sperrende Transaktion darf das Objekt x nur lesen, nicht verändern. Alle anderen Transaktionen können das Objekt x höchstens zum Lesen sperren! Schreibsperren wlock(x): Bedeutung: Sperren des Objekts x im exclusive mode Die sperrende Transaktion darf das Objekt x lesen und verändern. Alle anderen Transaktionen können nicht auf das Objekt x zugreifen! Erlaubnistabelle: T1 \ T2 rlock wlock rlock 1 0 wlock

14 Lösung des dirty read - Problems durch Sperren: T1 Zeit T2 x Begin T1 1 wlock1(x) 2 r1(x) 3 x = 10 w1(x) 4 x= 11 unlock1(x) 5 rollback1 6 7 Begin T2 8 wlock2(x) 9 r2(x) x = w2(x) x = unlock2(x) 12 commit2 14

15 Am Beispiel der Lösung des dirty read Problems wird klar, dass zur Vermeidung der klassischen Probleme an die Transaktionsstatements commit und rollback / abort weitere Bedingungen zu knüpfen sind, denn, geschieht das nicht, ist weiterhin folgendes möglich: T1 Zeit T2 x Begin T1 1 wlock1(x) 2 r1(x) 3 x = 10 w1(x) 4 x= 11 unlock1(x) 5 7 Begin T2 8 wlock2(x) 9 r2(x) x = w2(x) x = 12 rollback unlock2(x) 13 commit2 Zur Vermeidung muss also das Aufheben der Sperren an die Transaktionsstatements gebunden sein!! 15

16 Dies führt zur Definition verschiedener Sicherheitslevel (Isolationlevel), die für Transaktionen gesetzt werden können Höchstes Sicherheitslevel: serializable Bedeutung: Das Aufheben von Sperren ist an die statements commit bzw. rollback / abort gebunden. Folge: Für diese Transaktion ist das Auftreten eines Isolation-Problems garantiert ausgeschlossen! Unter diesem höchsten Sicherheitslevel gibt es eine Reihe abgestufter niedrigerer Level, je nachdem, welche klassischen Probleme zugelassen werden sollen oder nicht! 16

17 Sicherheitslevel (Isolationlevel), die für Transaktionen gesetzt werden können: READ UNCOMMITTED: READ COMMITTED: REPEATABLE READ: SERIALIZABLE: alle klassischen Probleme sind möglich unrepeatable reads und Phantome sind möglich nur noch Phantome sind möglich kein klassisches Problem ist mehr möglich Das Setzen und Lösen von Sperren in den verschiedenen Isolationlevel wird durch die folgende Tabelle erklärt: Isolationlevel Write-Operation Read-Operation Range-Operation READ UNCOMMITTED S S S READ COMMITTED T S S REPEATABLE READ T T S SERIALIZABLE T T T S: Sperre wird unmittelbar vor dem Statement gesetzt und unmittelbar danach gelöst! T: Sperre wird zu Beginn der Transaktion gesetzt und mit dem Ende der Transaktion (commit, rollback) gelöst! 17

18 Definition eines Sicherheitslevels für eine Transaktion (Standard SQL-99): SET TRANSACTION [<access mode>] [<isolation-level>] Mit: <access mode>:= READ ONLY READ WRITE <isolation-level>:= ISOLATION LEVEL <isolation> <isolation>:= READ UNCOMMITTED READ COMMITTED REPEATABLE READ SERIALIZABLE 18

19 Zum automatischen Setzen von Sperren durch das DBMS sind besondere Regeln implementiert, die Sperrprotokolle. Es gibt verschiedene Sperrprotokolle, die sich auch wieder darin unterscheiden, was sie alles zulassen an Problemen bzw. ausschliessen! Zur Einhaltung der Isolation-Bedingung wird heute zumeist das 2-Phasen-Sperrprotokoll eingesetzt. Dieses ist wie folgt definiert: Phase 1: Phase 2: Jede Transaktion setzt die Sperren, die sie setzen kann und beginnt die von ihr gesperrten Datenobjekte zu bearbeiten. Sobald eine Transaktion ihre erste Sperre löst, darf sie keine neuen Sperren mehr setzen! Lediglich die bereits gesperrten Objekte werden weiter verarbeitet und die gesetzten Sperren nach und nach gelöst. 19

20 Ist also eine Menge von Transaktionen gegeben, die parallel auf den gleichen Datenbestand zugreifen, so kann man beweisen: Theorem: Gehorchen alle Transaktionen eines Datenbanksystems dem 2-Phasen- Sperrprotokoll, so ist jede Ausführung jeder Menge parallel arbeitender Transaktionen serialisierbar Serialisierbarkeit beinhaltet die Lösung des Isolation-Problems: Definition: Die Ausführung einer Menge paralleler Transaktionen ist serialisierbar, falls das gleiche Ergebnis erzielt werden kann durch Hintereinanderausführung der einzelnen Transaktionen 20

21 Die Ausführung einer Menge parallel arbeitender Transaktionen wird vom Transaktionsmanager des DBMS in sogenannten Ablaufplänen, schedules, organisiert. Sind also die schedules eines Datenbanksystems nach dem 2-Phasen- Sperrprotokoll organisiert, kann nach dem Ergebnis der vorigen Folie kein Isolation-Problem auftreten! Allerdings bedeutet das Setzen von Sperren auf jeden Fall, dass andere Transaktionen warten müssen. Wünschenswert wäre es also, schedules erstellen zu können, die auch das Isolation-Problem lösen, ohne Sperren benutzen zu müssen. Dieses theoretische Problem wird im Anschluss an die folgenden Überlegungen behandelt. Das Setzen von Sperren verursacht ein neues Problem, sogenannte deadlocks. 21

22 Das Instrumentarium der Sperren schafft ein neues Problem: deadlocks Beispiel: T1 Zeit T2 Begin T1 1 rlock1(x) 2 r1(x) 3 4 Begin T2 5 rlock2(y) 6 r2(y) wlock1(y)?? 7 8 wlock2(x)?? T1 und T2 warten jeweils auf die Aufhebung der Lesesperre, um ihre Schreibsperre setzen zu können! 22

23 Zur Lösung des deadlock-problems gibt es 2 prinzipielle Möglichkeiten: a) Einsatz von Strategien zur Erkennung und Beseitigung von deadlocks b) Einsatz spezieller Sperrprotokolle, die deadlocks verhindern Zu a) Erkennung von deadlocks mittels Wartegraphen: T1 T2 T3 T4 T5 Jeder Zykel in einem Wartegraph entspricht einem deadlock. Zykel in Graphen können durch effiziente Algorithmen erkannt werden. deadlocks werden dann aufgelöst dadurch, dass gewisse beteiligte Transaktionen (oder alle) zurückgerollt und zeitversetzt neu gestartet werden. 23

24 Man kann dem DBMS (Transaktionsmanager) gewisse Regeln vorgeben, nach denen Transaktionen für den Abbruch ausgewählt werden, die an einem deadlock beteiligt sind. Mögliche Kriterien sind z. B.: Anzahl der aufgebrochenen Zykel Länge einer Transaktion Rücksetzaufwand einer Transaktion. (es gibt weitere Kriterien) 24

25 Zu b) prinizielle Verhinderung von deadlocks: Man kann das Auftreten von deadlocks verhindern durch den Einsatz spezieller Sperrprotokolle: Konservative Sperrprotokolle verhindern das Auftreten von deadlocks! Konservative Sperrprotokolle beinhalten, dass eine Transaktion alle benötigten Sperren zu Beginn ihrer Arbeit setzen muss, und erst dann zu arbeiten beginnen kann. Anmerkung: Das 2-Phasen-Sperrprotokoll ist kein konservatives Sperrprotokoll, es lässt also deadlocks zu! 25

26 Fazit: Das Isolation-Problem kann durch Setzen von Sperren gelöst werden Automatisches Sperren wird durch Sperrprotokolle geregelt Vermeidung aller Isolation-Probleme beinhaltet die Koppelung des Aufhebens der Sperren an die Transaktionsstatements commit und rollback Sperren verursachen ein neues Problem: deadlocks deadlocks können nur durch konservative Sperrprotokolle verhindert werden. Ansonsten müssen sie durch spezielle Strategien aufgelöst werden Sperren verursachen performance-verluste, deshalb sollte das DBMS nur serialisierbare Ablaufpläne erstellen, was aber nicht immer geht. Theoretische Konzepte zur Erstellung von serialisierbaren Ablaufplänen sind vorhanden. 26

Software-Engineering und Datenbanken

Software-Engineering und Datenbanken Software-Engineering und Datenbanken Transaktionskonzepte 1 Der Transaktionsbegriff Eine Transaktion ist eine Folge von Operationen, die die Datenbank von einem konsistenten Zustand in einen neuen überführen.

Mehr

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

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

Mehr

Synchronisation in Datenbanksystemen in a nutshell

Synchronisation in Datenbanksystemen in a nutshell Synchronisation in Datenbanksystemen in a nutshell 1. Modell für nebenläufige Transaktionen und Korrektheitskriterium Transaktionsmodell: Folgen von Lese und Schreiboperationen abgeschlossen durch c=commit.

Mehr

Datenbanken Konsistenz und Mehrnutzerbetrieb III

Datenbanken Konsistenz und Mehrnutzerbetrieb III Datenbanken Konsistenz und Mehrnutzerbetrieb III 1. Oracle Architektur! Komponenten des Oracle Servers! Zugriff über Netzwerk 2. Zugriffsrechte! Starten und Schließen der Datenbank! Nutzer und Rollen!

Mehr

Mehrbenutzersynchronisation

Mehrbenutzersynchronisation Kapitel 10 Mehrbenutzersynchronisation 381 / 520 Mehrbenutzersynchronisation Alle TAs strikt seriell (also nacheinander) auszuführen ist sicher, aber langsam Oft werden Systemressourcen nicht voll ausgenutzt,

Mehr

Transaktionen und Synchronisation konkurrierender Zugriffe

Transaktionen und Synchronisation konkurrierender Zugriffe Transaktionen und Synchronisation konkurrierender Zugriffe Fragestellungen Aufgaben des Transaktionsmanagers Aktivieren von Transaktionen entsprechend den Anforderungen von Anwendungsprogrammen. Dabei

Mehr

Datenintegrität und Transaktionskonzept

Datenintegrität und Transaktionskonzept und Transaktionskonzept 1. / Datenkonsistenz 1 Mögliche Gefährdung der : Missachtung von Konsistenzbedingungen ("Semantische Integrität") Inkorrekte Verweise auf Datensätze in verschiedenen Tabellen ("Referentielle

Mehr

Darunter versteht man die Anmeldung eines Benutzers beim System unter Angabe einer Benutzererkennung.

Darunter versteht man die Anmeldung eines Benutzers beim System unter Angabe einer Benutzererkennung. Datenmanagement 60 5 Datenschutz und Datensicherheit 5.1 Datenschutz Wer wird hier geschützt? Personen Ein anderer Begriff für Datenschutz ist Zugriffskontrolle. Datenschutz soll sicherstellen, dass alle

Mehr

Datenbanken: Backup und Recovery

Datenbanken: Backup und Recovery Der Prozess der Wiederherstellung der Daten einer Datenbank nach einem Fehler im laufenden Betrieb in einen konsistenten, möglichst verlustfreien Zustand heißt Recovery. Beteiligt an diesem Recovery sind

Mehr

Transaktionen Recovery Isolationslevel. Datenbanksysteme. Transaktionen. Burkhardt Renz. Fachbereich MNI Technische Hochschule Mittelhessen

Transaktionen Recovery Isolationslevel. Datenbanksysteme. Transaktionen. Burkhardt Renz. Fachbereich MNI Technische Hochschule Mittelhessen Transaktionen Fachbereich MNI Technische Hochschule Mittelhessen Sommersemester 2015 Motivation ACID-Eigenschaften Übersicht Transaktionen Motivation ACID-Eigenschaften Ursachen für Logging und Backup

Mehr

Inhaltsverzeichnis. Inhaltsverzeichnis

Inhaltsverzeichnis. Inhaltsverzeichnis Inhaltsverzeichnis Das Script für die Lehrveranstaltung Datenmanagement wurde im Wintersemester 2007/2008 komplett überarbeitet und neu strukturiert. Wir bitten darum, eventuelle Fehler im Script an Milan

Mehr

Tag 4 Inhaltsverzeichnis

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

Mehr

... T n T 1 T 2 T 3. Transaktions-Manager. Daten-Manager. Recovery-Manager Puffer-Manager. Datenbank

... T n T 1 T 2 T 3. Transaktions-Manager. Daten-Manager. Recovery-Manager Puffer-Manager. Datenbank Techniken der Schedule-Realisierung T 1 T 2 T 3.... T n Isolations-Eigenschaft wird durch den Scheduler sichergestellt. Aufgabe: : Koordination des Ablaufs konkurrierender Transaktionen so, dass deren

Mehr

Literatur und Quellen. Datenbanken. Inhalt. Inhalt. Transaktionen. Nikolaus Augsten. Wintersemester 2013/14

Literatur und Quellen. Datenbanken. Inhalt. Inhalt. Transaktionen. Nikolaus Augsten. Wintersemester 2013/14 Literatur und Quellen Datenbanken Nikolaus Augsten nikolaus.augsten@sbg.ac.at FB Computerwissenschaften Universität Salzburg Wintersemester 2013/14 Lektüre zu den Themen : Kapitel 9 () aus Kemper und Eickler:

Mehr

Serialisierbarkeit von Historien: Minimalanforderung bzgl. "akzeptabler" Synchronisation

Serialisierbarkeit von Historien: Minimalanforderung bzgl. akzeptabler Synchronisation Rücksetzbarkeit Serialisierbarkeit von Historien: Minimalanforderung bzgl. "akzeptabler" Synchronisation von Transaktionen zusätzliche Forderung: lokale Rücksetzbarkeit von Historien, d.h. Jede Transaktion

Mehr

Tag 4 Inhaltsverzeichnis

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

Mehr

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

View. Arbeiten mit den Sichten:

View. Arbeiten mit den Sichten: View "individuelle Sicht" (vgl. 3-Schichten-Modell) virtuelle Tabellen: in der DB wird nicht deren Inhalt, sondern nur die Ableitungsregel gespeichert. Arbeiten mit den Sichten: Anfragen: kein Problem.

Mehr

Kapitel 12 Integrität der Datenbank

Kapitel 12 Integrität der Datenbank Kapitel 12 Integrität der Datenbank 12 Integrität der Datenbank 12 Integrität der Datenbank...1 12.1 Aspekte des Integritätsproblems...3 12.2 Semantische Integrität...4 12.3 Das Konzept der Transaktion...6

Mehr

Datenbanksysteme Technische Grundlagen Transaktions-Konzept, Mehrbenutzer-Synchronisation, Fehlerbehandlung

Datenbanksysteme Technische Grundlagen Transaktions-Konzept, Mehrbenutzer-Synchronisation, Fehlerbehandlung Datenbanksysteme Technische Grundlagen Transaktions-Konzept, Mehrbenutzer-Synchronisation, Fehlerbehandlung Prof. Dr. Manfred Gruber FH München Transaktions-Konzept (1) Beispiel: op 1 BOT op 2 read(k 1

Mehr

Datenbanken II Literatur

Datenbanken II Literatur Datenbanken II Literatur C. J. Date: An Introduction to Database Systems; Addison-Wesley Systems Programming Series. 6th ed. 1995 H. E. Erbs, S. Karczewski und I. Schestag: Datenbanken (Datenmodelle, Objekte,

Mehr

9 Transaktionskonzept

9 Transaktionskonzept 9 Transaktionskonzept Transaktionskonzept 9.1 Das Transaktionskonzept 9.2 Concurrency & Locking 9.3 Recovery 9.4 JDBC Teil II 9.4.1 Transaktionsmanagement 9.4.2 Objektrelationale Konzepte Schestag Datenbanken

Mehr

Koordination des Mehrbenutzerbetriebs 9. Koordination des Mehrbenutzerbetriebs

Koordination des Mehrbenutzerbetriebs 9. Koordination des Mehrbenutzerbetriebs 9. Mehrbenutzerbetrieb: DBS bedient gleichzeitig mehrere Benutzer Benutzer arbeiten zwar unabhängig voneinander, können aber die gleiche Relation oder sogar den gleichen Datensatz bearbeiten! Aktivität

Mehr

Der Scheduler. 9. Transaktionsverwaltung. Zustände einer Transaktion. Transaktionsoperationen

Der Scheduler. 9. Transaktionsverwaltung. Zustände einer Transaktion. Transaktionsoperationen 9. Transaktionsverwaltung Der Scheduler Architektur der Transaktionsverwaltung Sperrende und nicht-sperrende Verfahren Transaktionen in SQL-Systemen Transaktionsmonitore T 1 T T 2 n Transaktions- Manager

Mehr

Datenbanksysteme I Transaktionsmanagement. 20.6.2011 Felix Naumann

Datenbanksysteme I Transaktionsmanagement. 20.6.2011 Felix Naumann Datenbanksysteme I Transaktionsmanagement 20.6.2011 Felix Naumann Motivation - Transaktionsmanagement 2 Annahmen bisher Isolation Nur ein Nutzer greift auf die Datenbank zu Lesend Schreibend In Wahrheit:

Mehr

Transaktionskonzept Eine Transaktion ist eine Folge von Operationen mit folgenden ACID Eigenschaften: Atomicity: Es werden alle Operationen oder gar k

Transaktionskonzept Eine Transaktion ist eine Folge von Operationen mit folgenden ACID Eigenschaften: Atomicity: Es werden alle Operationen oder gar k Transaktionsverwaltung 1. Schnellkurs: Serialisierbarkeit, Isolationslevel, Synchronisationsverfahren, Savepoints, Logging, Implementierungsaspekte! Harder, Rahm Buch 2. Erweiterte Transaktionskonzepte!

Mehr

Kapitel 8: Transaktionen

Kapitel 8: Transaktionen Ludwig Maximilians Universität München Institut für Informatik Lehr- und Forschungseinheit für Datenbanksysteme Skript zur Vorlesung Wintersemester 2006/2007 Vorlesung: Dr. Peer Kröger Übungen: Karsten

Mehr

Kapitel 2 Transaktionsverwaltung

Kapitel 2 Transaktionsverwaltung LUDWIG- MAXIMILIANS- UNIVERSITY MUNICH DEPARTMENT INSTITUTE FOR INFORMATICS DATABASE Skript zur Vorlesung: Datenbanksysteme II Sommersemester 2014 Kapitel 2 Transaktionsverwaltung Vorlesung: PD Dr. Peer

Mehr

P.A. Bernstein, V. Hadzilacos, N. Goodman

P.A. Bernstein, V. Hadzilacos, N. Goodman TRANSAKTIONEN UND DATENINTEGRITÄT Concurrency Control and Recovery in Database Systems P.A. Bernstein, V. Hadzilacos, N. Goodman Addison Wesley, 1987. Kapitel 1. und 6. Grundlagen der Datenbanksysteme

Mehr

Transaktionen in der Praxis. Dr. Karsten Tolle

Transaktionen in der Praxis. Dr. Karsten Tolle Transaktionen in der Praxis Dr. Karsten Tolle Praxisbeispiel in Java Connection con = null; try { con = DriverManager.getConnection("jdbc:db2:sample"); } catch (Exception e) { e.printstacktrace(); } con.setautocommit(false);

Mehr

Datenbankadministration

Datenbankadministration Datenbankadministration 11. Synchronisation AG DBIS University of Kaiserslautern, Germany Karsten Schmidt kschmidt@informatik.uni-kl.de (Vorlage TU-Dresden) Wintersemester 2008/2009 Transaktion Transaktion

Mehr

8. Transaktionsverarbeitung. Architektur von Datenbanksystemen I

8. Transaktionsverarbeitung. Architektur von Datenbanksystemen I 8. Transaktionsverarbeitung Architektur von Datenbanksystemen I Einordnung ARCHITEKTUR VON DATENBANKSYSTEMEM I - Key/Value Store - Row Store - Column Store - Data Compression - Transaction Processing -

Mehr

Transaktionsverwaltung

Transaktionsverwaltung Transaktionsverwaltung VU Datenbanksysteme vom 21.10. 2015 Reinhard Pichler Arbeitsbereich Datenbanken und Artificial Intelligence Institut für Informationssysteme Technische Universität Wien Transaktionsverwaltung

Mehr

fbi h_da Datenbanken Kapitel 7: Transaktionsmanagement Schestag Datenbanken (Cnam) Kapitel 7-1

fbi h_da Datenbanken Kapitel 7: Transaktionsmanagement Schestag Datenbanken (Cnam) Kapitel 7-1 Datenbanken Kapitel 7: Transaktionsmanagement Schestag Datenbanken (Cnam) Kapitel 7-1 Transaktionsmanagement Inhalte des Kapitels Das Transaktionskonzept Konkurrierende Zugriffe und Sperren (Concurrency

Mehr

Isolationslevel in SQL

Isolationslevel in SQL Isolationslevel in SQL Zu den ACID-Eigenschaften von Transaktionen gehört auch das I, also Isolation. Streng genommen versteht man unter Isolation, dass eine Transaktion unbeeinflusst durch andere Transaktionen

Mehr

Dr. H. Schuldt. Das Ziel dieser Ubung ist die Untersuchung, wie die in der Vorlesung vorgestellten

Dr. H. Schuldt. Das Ziel dieser Ubung ist die Untersuchung, wie die in der Vorlesung vorgestellten Dr. H. Schuldt Eidgenossische Technische Hochschule Zurich Swiss Federal Institute of Technology Zurich Transaktionsverwaltung in modernen IS Praktische Ubung 1 Beispiellosung Einleitung Das Ziel dieser

Mehr

Vorlesung Informationssysteme

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

Mehr

Die Grundbegriffe Die Daten Die Informationen

Die Grundbegriffe Die Daten Die Informationen Die Grundbegriffe Die Daten sind diejenigen Elemente, die vom Computer verarbeitet werden. Die Informationen sind Wissenselemente, welche durch die Analyse von Daten erhalten werden können. Die Daten haben

Mehr

Synchronisierung von Transaktionen ohne Sperren. Annahme: Es gibt eine Methode, zu erkennen, wann eine Transaktion die serielle Ordnung verletzt.

Synchronisierung von Transaktionen ohne Sperren. Annahme: Es gibt eine Methode, zu erkennen, wann eine Transaktion die serielle Ordnung verletzt. OPTIMISTIC CONCURRENCY CONTROL Synchronisierung von Transaktionen ohne Sperren. Annahme: Es gibt eine Methode, zu erkennen, wann eine Transaktion die serielle Ordnung verletzt. Abbruch einer Transaktion

Mehr

Transaktionsverwaltung

Transaktionsverwaltung Transaktionsverwaltung Commit Eigenschaften von Transaktionen (ACID) Transaktionen in SQL Kapitel 9 1 Transaktionsverwaltung Beispiel einer typischen Transaktion in einer Bankanwendung: 1. Lese den Kontostand

Mehr

Teil I Einführung & Grundlagen. 1.1 Was ist eine Transaktion?

Teil I Einführung & Grundlagen. 1.1 Was ist eine Transaktion? Teil I Einführung & Grundlagen Kapitel 1: Einführung in das Transaktionskonzept 1.1 Was ist eine Transaktion? 1.2 Transaktionseigenschaften 1.3 Beispiele Datenbanktransaktionen: Banküberweisung Moderne

Mehr

Isolationsstufen für. Dr. Karsten Tolle Dienstag 31. Januar 2012

Isolationsstufen für. Dr. Karsten Tolle Dienstag 31. Januar 2012 Isolationsstufen für Transaktionen / Sicherheit Dr. Karsten Tolle Dienstag 31. Januar 2012 Praxisbeispiel in Java Connection con = null; try { con = DriverManager.getConnection("jdbc:db2:sample"); } catch

Mehr

Mehrbenutzersynchronisation

Mehrbenutzersynchronisation Mehrbenutzersynchronisation VU Datenbanksysteme vom 4.11. 2015 Reinhard Pichler Arbeitsbereich Datenbanken und Artificial Intelligence Institut für Informationssysteme Technische Universität Wien Nebenläufigkeit

Mehr

5. Transaktionsverarbeitung

5. Transaktionsverarbeitung 5. Transaktionsverarbeitung 5.1. Einführung Viele Anwendungsprogramme / interaktive Benutzer arbeiten gleichzeitig (konkurrierend) auf gemeinsamer Datenbank (mit den gleichen Daten). Notwendigkeit: Abwicklung

Mehr

IT-Kompaktkurs. Datenbanken Skript zur Folge 4. Prof. Dr. Manfred Gruber Fachhochschule München

IT-Kompaktkurs. Datenbanken Skript zur Folge 4. Prof. Dr. Manfred Gruber Fachhochschule München Fachhochschule München Munich University of Applied Sciences IT-Kompaktkurs Skript zur Folge 4 Prof. Dr. Manfred Gruber Fachhochschule München manfred.gruber@informatik.fh-muenchen.de Nov 1, 2000 Transaktions-Konzept,

Mehr

Mehrbenutzer-Synchronisation

Mehrbenutzer-Synchronisation Mehrbenutzer-Synchronisation Konflikt-Kategorien Serialisierung Historien Sperrungen Verklemmungen Optimistische Synchronisation Synchronisation in SQL Kapitel 11 1 Mehrbenutzersynchronisation Ausführung

Mehr

PostgreSQL im praktischen Einsatz. Stefan Schumacher

PostgreSQL im praktischen Einsatz. Stefan Schumacher PostgreSQL im praktischen Einsatz 2. Brandenburger Linux Infotag 2005 Stefan Schumacher , PGP Key http:/// $Header: /home/daten/cvs/postgresql/folien.tex,v 1.11 2005/04/25

Mehr

Mehrbenutzer-Synchronisation

Mehrbenutzer-Synchronisation MehrbenutzerSynchronisation KonfliktKategorien Serialisierung Historien Sperrungen Verklemmungen Optimistische Synchronisation Synchronisation in SQL Mehrbenutzersynchronisation Ausführung der drei Transaktionen,

Mehr

Kapitel 15. Transaktionen, Fehlerbehandlung, Multi-User. Prof. Dr. Wolfgang Weber Vorlesung Datenbanken

Kapitel 15. Transaktionen, Fehlerbehandlung, Multi-User. Prof. Dr. Wolfgang Weber Vorlesung Datenbanken Kapitel 15 Transaktionen, Fehlerbehandlung, Multi-User 1 Transaktionen, Fehlerbehandlung, Multi-User Transaktionskonzept Fehlerbehandlung Mehrbenutzersynchronisation 2 Transaktionen Warum? Beispiel 1 Was

Mehr

TU München, Fakultät für Informatik Lehrstuhl III: Datenbanksysteme Prof. Dr. Thomas Neumann

TU München, Fakultät für Informatik Lehrstuhl III: Datenbanksysteme Prof. Dr. Thomas Neumann TU München, Fakultät für Informatik Lehrstuhl III: Datenbanksysteme Prof. Dr. Thomas Neumann Blatt Nr. 13 Übung zur Vorlesung Grundlagen: Datenbanken im WS14/15 Harald Lang (harald.lang@in.tum.de) http://www-db.in.tum.de/teaching/ws1415/grundlagen/

Mehr

Unzulänglichkeiten der ANSI-SQL-Isolationslevel [1] Intelligente Datenbanken

Unzulänglichkeiten der ANSI-SQL-Isolationslevel [1] Intelligente Datenbanken Unzulänglichkeiten der ANSI-SQL-Isolationslevel [1] Ausarbeitung zum Seminar Intelligente Datenbanken im Sommersemester 2005 Fabian Klingbeil Universität Bonn Institut für Informatik III am 19.7.2005 Seminar

Mehr

Datenbanken: Architektur & Komponenten 3-Ebenen-Architektur

Datenbanken: Architektur & Komponenten 3-Ebenen-Architektur Datenbanken: Architektur & Komponenten 3-Ebenen-Architektur Moderne Datenbanksysteme sind nach der 3-Ebenen-Architektur gebaut: Anwendung 1 Web-Anwendung Anwendung 2 Java-Programm... Anwendung n Applikation

Mehr

Vorlesung Datenbanksysteme Univ.-Prof. Dr. Günther Specht. Universität Innsbruck Institut für Informatik Datenbanken und Informationssysteme (DBIS)

Vorlesung Datenbanksysteme Univ.-Prof. Dr. Günther Specht. Universität Innsbruck Institut für Informatik Datenbanken und Informationssysteme (DBIS) Synchronisation paralleler Transaktionen Kapitel X Vorlesung Datenbanksysteme Univ.-Prof. Dr. Günther Specht Universität Innsbruck Institut für Informatik Datenbanken und Informationssysteme (DBIS) Vorlesungsinhalt

Mehr

Datenadminstrator, Datenbankdesigner, Systemanalytiker (für die logische Sicht zuständig)

Datenadminstrator, Datenbankdesigner, Systemanalytiker (für die logische Sicht zuständig) 1 Grundlagen Begriffe Daten bekannte zutreffende Tatsachen über die Domäne/Miniwelt DBS Einsatz eines DBMS für eine Datenbank, DBS besteht aus folgenden Komponenten: 1. DBMS 2. Datenbank DBMS Software

Mehr

Views in SQL. 2 Anlegen und Verwenden von Views 2

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

Mehr

10 Transaktionen Änderungen verwalten

10 Transaktionen Änderungen verwalten Eindruck eines Einnutzer- Systems Datenbanken werden meist von vielen Nutzern fast gleichzeitig genutzt. Dieses Kapitel zeigt Ihnen die möglichen Gefahren und Lösungsansätze. In den bisherigen Kapiteln

Mehr

Übungen zur Vorlesung. Datenbanken I

Übungen zur Vorlesung. Datenbanken I Prof. Dr. S. Böttcher Adelhard Türling Übungen zur Vorlesung Datenbanken I WS 2002/2003 Blatt 6 Aufgabe 1: In der Vorlesung haben Sie für die Einbringstrategie Update in Place die Vorgehensweisen steal,

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

Gliederung Datenbanksysteme

Gliederung Datenbanksysteme Gliederung Datenbanksysteme 5. Datenbanksprachen 1. Datendefinitionsbefehle 2. Datenmanipulationsbefehle 3. Grundlagen zu SQL 6. Metadatenverwaltung 7. DB-Architekturen 1. 3-Schema-Modell 2. Verteilte

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. Blatt Nr. 2 Übung zur Vorlesung Einsatz und Realisierung von Datenbanksystemen im SoSe14 Moritz Kaufmann (moritz.kaufmann@tum.de)

Mehr

Czap, Grundlagen betrieblicher IS - 1

Czap, Grundlagen betrieblicher IS - 1 Czap, Grundlagen betrieblicher IS - 1 8. Daten-Integrität 8.1 Integritätsaspekte Unter Integrität einer Datenbank versteht man alle die Aspekte, die mit der Erhaltung der Korrektheit der Daten in der DB

Mehr

Datenbankentwicklung mit PureBasic

Datenbankentwicklung mit PureBasic Datenbankentwicklung mit PureBasic Datenbanken stellen heutzutage wichtige Informationsquellen für viele Bereiche der Wirtschaft, Verwaltung aber auch im eigenen Haushalt dar. In Datenbanken werden Daten

Mehr

TAV Übung 3. Übung 3: Verteilte Datenhaltung

TAV Übung 3. Übung 3: Verteilte Datenhaltung Übung 3: Verteilte Datenhaltung 1. Serialisierung Konstruieren Sie Historien aus drei Transaktionen T1, T2 und T3, die folgende Merkmale aufweisen: 1. Die serielle Reihenfolge ist T1 vor T2 vor T3. 2.

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

7. Datenkontrolle. Klassifikation von Integritästbedingungen Integritätsbedingungen in SQL. Zugriffskontrolle/Autorisierung in SQL 7-1

7. Datenkontrolle. Klassifikation von Integritästbedingungen Integritätsbedingungen in SQL. Zugriffskontrolle/Autorisierung in SQL 7-1 7. Datenkontrolle ACID und Datenkontrolle Synchronisation i Anomalien Isolation Level Integritätskontrolle Klassifikation von Integritästbedingungen Integritätsbedingungen in SQL Integritätsregeln / Trigger

Mehr

1. Transaktionskonzept

1. Transaktionskonzept 1. Transaktionskonzept Ein wesentliches Charakteristikum für (relationale) Datenbanksysteme stellt die Unterstützung des Transaktions-Konzepts dar. Transaktionen sind Verarbeitungseinheiten, die vom DBMS

Mehr

Pessimistische Sperrverfahren für Transaktionen. Pessimistische Sperrverfahren für Transaktionen - Implementierung - von Oliver Lemm

Pessimistische Sperrverfahren für Transaktionen. Pessimistische Sperrverfahren für Transaktionen - Implementierung - von Oliver Lemm Pessimistische Sperrverfahren für Transaktionen - Implementierung - von Oliver Lemm Oliver Lemm Seite 1/24 I. Übersicht der Theorie I. Zusammenfassung der Theorie 2 Phasen Sperre in der Theorie & Deadlocks

Mehr

Kapitel 10: Transaktionen und Datenintegrität

Kapitel 10: Transaktionen und Datenintegrität 1 Kapitel 10: Transaktionen und Datenintegrität Ein DBMS hat die Korrektheit des Datenbankzustandes unter realen Benutzungsbedingungen zu wahren. Dazu gehören die folgenden Punkte: Datensicherheit (Recovery)

Mehr

DATENBANKEN SQL UND SQLITE VON MELANIE SCHLIEBENER

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

Mehr

Kapitel 10 Aktive DBMS

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

Mehr

Prozedurale Datenbank- Anwendungsprogrammierung

Prozedurale Datenbank- Anwendungsprogrammierung Idee: Erweiterung von SQL um Komponenten von prozeduralen Sprachen (Sequenz, bedingte Ausführung, Schleife) Bezeichnung: Prozedurale SQL-Erweiterung. In Oracle: PL/SQL, in Microsoft SQL Server: T-SQL.

Mehr

Wiederanlauf (Recovery)

Wiederanlauf (Recovery) DEVO 8.1 Wiederanlauf (Recovery) DEVO 8.2 Ziele Wiederherstellung eines konsistenten Datenbankzustandes nach einem Fehler. Fehler: Transaktionsabbruch: eine Transaktion muß nach einem logischen Fehler

Mehr

Übung Datenbanksysteme I Transaktionen, Selektivität und XML. Thorsten Papenbrock

Übung Datenbanksysteme I Transaktionen, Selektivität und XML. Thorsten Papenbrock Übung Datenbanksysteme I Transaktionen, Selektivität und XML Thorsten Papenbrock Übersicht: Übungsthemen 2 Transaktionen Selektivität XML Thorsten Papenbrock Übung Datenbanksysteme I JDBC Transaktionen:

Mehr

Recovery- und Buffermanager

Recovery- und Buffermanager Recovery- und Buffermanager Gesamtübersicht der Komponenten beim Zusammenspiel des lokalen Recovery Manager und des Datenbank Buffer Manager: persistenter Log Main memory Lokaler Recovery Manager (LRM)

Mehr

Informations- und Wissensmanagement

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

Mehr

SQL (Structured Query Language) Schemata Datentypen

SQL (Structured Query Language) Schemata Datentypen 2 SQL Sprachelemente Grundlegende Sprachelemente von SQL. 2.1 Übersicht Themen des Kapitels SQL Sprachelemente Themen des Kapitels SQL (Structured Query Language) Schemata Datentypen Im Kapitel SQL Sprachelemente

Mehr

Hochschule Karlsruhe Technik und Wirtschaft

Hochschule Karlsruhe Technik und Wirtschaft Hochschule Karlsruhe Technik und Wirtschaft Sommersemester 2009 Seite 1/12 Fakultät: Fakultät für Informatik und Wirtschaftsinformatik Semester: BC3 D4 Prüfungsfach: Datenbanken I Fachnummer: I 3B71 I

Mehr

Kapitel 8: Transaktionen und ihre Realisierung

Kapitel 8: Transaktionen und ihre Realisierung Vorlesung " WS 98/99 Kapitel 8: Transaktionen und ihre Realisierung Lernziele und Überblick: Transaktionen als Kooperationsmodell, Eigenschaften von Transaktionen Isolation von Transaktionen: Terminologie

Mehr

SQL-Gebiet. Datenbank-Funktionen jenseits SQL. Datenbankfunktionen: SQL und andere. create table, create view, mater. View, create index, drop jeweils

SQL-Gebiet. Datenbank-Funktionen jenseits SQL. Datenbankfunktionen: SQL und andere. create table, create view, mater. View, create index, drop jeweils Datenbankfunktionen: SQL und andere SQL-Gebiet DDL DML DCL DP create table, create view, mater. View, create index, drop jeweils insert, update, delete, select, where, Trigger Benutzerverwaltung, Transaktionsverwaltung

Mehr

Datenbanken und SQL. Kapitel 8. Concurreny und Recovery. Edwin Schicker: Datenbanken und SQL

Datenbanken und SQL. Kapitel 8. Concurreny und Recovery. Edwin Schicker: Datenbanken und SQL Datenbanken und SQL Kapitel 8 Concurreny und Recovery Concurrency und Recovery Transaktionen Recovery Einführung in die Recovery Logdateien Checkpoints Conncurrency Sperrmechanismen Deadlocks SQL-Norm

Mehr

12. Views und Datenbankverwaltung. Views Änderungen in Views. Organisation der DB. Zugriffsrechte. Datenbanksysteme Prof. Dr.

12. Views und Datenbankverwaltung. Views Änderungen in Views. Organisation der DB. Zugriffsrechte. Datenbanksysteme Prof. Dr. 12. Views und Datenbankverwaltung Views Änderungen in Views Organisation der DB Zugriffsrechte 282 Sichtkonzept (Views 1/2) Sicht (View): mit eigenem Namen bezeichnete, aus Basisrelation abgeleitete, virtuelle

Mehr

Grundlagen von Datenbanken SS Synchronisation paralleler Transaktionen

Grundlagen von Datenbanken SS Synchronisation paralleler Transaktionen Grundlagen von Datenbanken SS 2010 9. Synchronisation paralleler Transaktionen Prof. Dr. Stefan Böttcher Universität Paderborn Agenda: Grundlagen von Datenbanken - SS 2010 - Prof. Dr. Stefan Böttcher Folie

Mehr

9. Transaktionsverwaltung 9.3. Fehlerbehandlung Seite 1

9. Transaktionsverwaltung 9.3. Fehlerbehandlung Seite 1 9. Transaktionsverwaltung 9.3. Fehlerbehandlung Seite 1 9.3 Fehlerbehandlung Im realen Betrieb eines Datenbanksystems muss mit Fehlersituationen gerechnet werden. Transaktionsfehler: Hierunter verstehen

Mehr

Beispiel: Bankensoftware. 6 Transaktionen. 6.1 Grundlagen 6.1.1 Einführung und Begriffe. Transaktionen. Beispiel (Fortsetzung 1): Verzahnte Ausführung

Beispiel: Bankensoftware. 6 Transaktionen. 6.1 Grundlagen 6.1.1 Einführung und Begriffe. Transaktionen. Beispiel (Fortsetzung 1): Verzahnte Ausführung 6 Transaktionen Beispiel: Bankensoftware 6.1 Grundlagen 6.1.1 Einführung und Begriffe Kritische Abschnitte elementares Mittel zur Konsistenzwahrung bei nebenläufigen Zugriffen Programmierer selbst für

Mehr

Übungen zu Datenbanksysteme

Übungen zu Datenbanksysteme Institut für Informatik Universität Osnabrück, 30.06.2009 Prof. Dr. Oliver Vornberger http://www-lehre.inf.uos.de/ dbs Dipl.-Math. Patrick Fox Abgabe bis 06.07.2009, 12:00 Uhr Aufgabe 10.1 (35 Punkte)

Mehr

Dokumentation QuickHMI-Schnittstelle für Oracle Datenbanken

Dokumentation QuickHMI-Schnittstelle für Oracle Datenbanken Dokumentation QuickHMI-Schnittstelle für Oracle Datenbanken Version 2.0 D-28359 Bremen info@indi-systems.de Tel + 49 421-989703-30 Fax + 49 421-989703-39 Inhaltsverzeichnis Was ist die QuickHMI-Schnittstelle

Mehr

Unterabfragen (Subqueries)

Unterabfragen (Subqueries) Unterabfragen (Subqueries) Die kürzeste Formulierung ist folgende: SELECT Felderliste FROM Tabelle1 WHERE Tabelle1.Feldname Operator (SELECT Feldname FROM Tabelle2 WHERE Bedingung); wobei Tabelle1 und

Mehr

Fachbericht zum Thema: Anforderungen an ein Datenbanksystem

Fachbericht zum Thema: Anforderungen an ein Datenbanksystem Fachbericht zum Thema: Anforderungen an ein Datenbanksystem von André Franken 1 Inhaltsverzeichnis 1 Inhaltsverzeichnis 1 2 Einführung 2 2.1 Gründe für den Einsatz von DB-Systemen 2 2.2 Definition: Datenbank

Mehr

Scheduler. vereinfachende Annahmen: alle Transaktionen werden wirksam nur Konflikt-Serialisierbarkeit keine Versionen

Scheduler. vereinfachende Annahmen: alle Transaktionen werden wirksam nur Konflikt-Serialisierbarkeit keine Versionen Scheduler Der Scheduler des Informationssystems hat zunächst die Aufgabe, die Anweisungen von parallel auszuführenden Transaktionen in einer geeigneten Reihenfolge anzuordnen. Darüber hinaus muß er auch

Mehr

Klausur Grundlagen der Datenbanksysteme I zum Erwerb einer Studienleistung / eines Leistungsscheins

Klausur Grundlagen der Datenbanksysteme I zum Erwerb einer Studienleistung / eines Leistungsscheins Prof. Dott.-Ing. Roberto Zicari Datenbanken und Informationssysteme Institut für Informatik Fachbereich Informatik und Mathematik Klausur Grundlagen der Datenbanksysteme I zum Erwerb einer Studienleistung

Mehr

2. Synchronisation in DBS: Grundlagen, Sperrverfahren

2. Synchronisation in DBS: Grundlagen, Sperrverfahren 2. Synchronisation in DBS: Grundlagen, Sperrverfahren Anomalien im Mehrbenutzerbetrieb Serialisierbarkeit Zweiphasen-Sperrprotokolle Konsistenzstufen von Transaktionen Hierarchische Sperrverfahren Deadlock-Behandlung

Mehr

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

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

Mehr

Probeklausur Grundlagen der Datenbanksysteme II

Probeklausur Grundlagen der Datenbanksysteme II Prof. Dott.-Ing. Roberto V. Zicari Datenbanken und Informationssysteme Institut für Informatik Fachbereich Informatik und Mathematik Probeklausur Grundlagen der Datenbanksysteme II Frau: Herr: Vorname:

Mehr

Oracle Datenbank - Recovery

Oracle Datenbank - Recovery Oracle Datenbank - Recovery H.-G. Hopf Georg-Simon-Ohm Fachhochschule Nürnberg Datenbank-Recovery / 1 Η. G.Hopf / 10.04.2003 Inhaltsverzeichnis Transaktionsablauf Prozess - Recovery Instanz - Recovery

Mehr

Was ist eine Transaktion?

Was ist eine Transaktion? Frühjahrsemester 2013 CS243 Datenbanken Kapitel 8: Transaktionsverwaltung H. Schuldt Was ist eine Transaktion? Eine Transaktion ist eine Menge von logisch zusammengehörenden Operationen (zumeist in ein

Mehr

Optimistic and Multiversion Concurrency Control

Optimistic and Multiversion Concurrency Control Optimistic and Multiversion Concurrency Control Am Beispiel PostgreSQL Seminar Datenbanksysteme Master of Science in Engineering Vertiefung Software and Systems HSR Hochschule für Technik Rapperswil www.hsr.ch/mse

Mehr

8. März: Klausurvorbereitung (Durchgehen Klausurähnlicher Aufgaben, Fragestunde)

8. März: Klausurvorbereitung (Durchgehen Klausurähnlicher Aufgaben, Fragestunde) Organisatorisches Termine 2. März: letzte Vorlesung 8. März: Klausurvorbereitung (Durchgehen Klausurähnlicher Aufgaben, Fragestunde) 9. März: Besprechungstermin Übungsblatt 6 (Punkte bisher: siehe Aushang)

Mehr

fbi h_da Datenbanken Kapitel 7: Transaktionsmanagement Schestag Datenbanken (Cnam) Kapitel 7-1

fbi h_da Datenbanken Kapitel 7: Transaktionsmanagement Schestag Datenbanken (Cnam) Kapitel 7-1 Datenbanken Kapitel 7: Transaktionsmanagement Schestag Datenbanken (Cnam) Kapitel 7-1 Transaktionsmanagement Inhalte des Kapitels Das Transaktionskonzept Konkurrierende Zugriffe und Sperren (Concurrency

Mehr

Datenbanken und Informationssysteme

Datenbanken und Informationssysteme Datenbanken und Informationssysteme Serialisierbarkeit Burkhardt Renz Fachbereich MNI TH Mittelhessen Wintersemester 2015/16 Übersicht Serialisierbarkeit 2-Phasen-Sperrprotokoll (2PL) Verklemmungen Modell

Mehr

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

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

Mehr