fbi h_da Datenbanken Kapitel 7: Transaktionsmanagement Schestag Datenbanken (Cnam) Kapitel 7-1
|
|
- Julian Kneller
- vor 6 Jahren
- Abrufe
Transkript
1 Datenbanken Kapitel 7: Transaktionsmanagement Schestag Datenbanken (Cnam) Kapitel 7-1
2 Transaktionsmanagement Inhalte des Kapitels Das Transaktionskonzept Konkurrierende Zugriffe und Sperren (Concurrency und Locking) JDBC Teil II: Transaktionsmanagement Wiederherstellung der Daten (Recovery) und Backupstragien Lernziele Strategisches Verständnis für die ACID-Eigenschaften von Transaktionen Kenntnis der unterschiedlichen Kategorien von Concurrency-Konflikten Kenntnis der entsprechenden Isolationlevel Anwendung von Transaktionskonzepten im Rahmen von JDBC Kenntnis der Vorgänge beim Recovery Kenntnis unterschiedlicher Backupstragien Schestag Datenbanken (Cnam) Kapitel 7-2
3 Transaktionsmanagement Ein einführendes Beispiel... while c%found loop if v_gehalt > then update angestellter set gehalt = gehalt * proz1 where current of c; else update angestellter set gehalt = gehalt * proz2 where current of c; end if; fetch c into v_gehalt; end loop; Was passiert, wenn während der Ausführung dieses PL/SQL-Programms das DBMS abstürzt / oder das Betriebssystem abstürzt / oder der Strom ausfällt oder? Schestag Datenbanken (Cnam) Kapitel 7-3
4 Transaktionsmanagement und ein zweites Beispiel: -- Überweisung von 50 Euro von Konto A nach Konto B (1) Lese den Kontostand von A in die Variable a: read(a,a); (2) Reduziere den Kontostand um 50 Euro: a:=a 50; (3) Schreibe den neuen Kontostand in die Datenbasis: write(a,a); (4) Lese den Kontostand von B in die Variable b: read(b,b); (5) Erhöhe den Kontostand um 50 Euro: b:=b+50; (6) Schreibe den neuen Kontostand in die Datenbasis: write(b,b); Was passiert, wenn zwischen der Ausführung von Operation 3 und Operation 4 das DBMS abstürzt / oder das Betriebssystem abstürzt / oder der Strom ausfällt oder? Schestag Datenbanken (Cnam) Kapitel 7-4
5 Transaktionsmanagement In diesem Kapitel werden Konzepte vorgestellt, wie die Integrität und Dauerhaftigkeit der Daten gewährleistet wird bei einer zusammen gehörenden Abfolge von Anweisungen, die entweder alle oder gar nicht ausgeführt werden dürfen, um die Konsistenz der Daten zu gewährleisten Transaktion Transaction, bei Zugriff auf die Daten von mehreren Usern gleichzeitig konkurrierende Zugriffe und Sperren Concurrency und Locking, zur Sicherstellung der Integrität nach dem Wiederanlauf eines Systems Wiederherstellung Recovery. Schestag Datenbanken (Cnam) Kapitel 7-5
6 Das Transaktionskonzept Eine Transaktion ist eine Folge von Datenbankoperationen, die die Daten von einem konsistenten Zustand in einen neuen konsistenten Zustand überführt und entweder ganz oder gar nicht ausgeführt wird (man spricht auch von einer logischen atomaren Einheit / Unit of Work UOW). störungsfreie Ausführung Festschreiben von Zustand B (Commit) Zustand A Zustand B gestörte Ausführung: Zurücksetzen auf Zustand A (Rollback, Abort) Zum zweiten Beispiel: Eine Kontobewegung von Konto1 nach Konto 2 entspricht immer einem Update für das Haben auf Konto 1 und einem Update für das Soll auf Konto 2. Beide Datenbankoperationen müssen gemeinsam vollständig oder dürfen gar nicht ausgeführt werden, um die Integrität der Datenbank zu wahren. Schestag Datenbanken (Cnam) Kapitel 7-6
7 Das ACID-Paradigma für Transaktionen A Atomicity (Atomarität) Transaktionen haben atomaren Charakter: Sie werden ganz oder gar nicht ausgeführt ( alles oder nichts ). Mechanismen zur Fehlerbehandlung sind notwendig. Schestag Datenbanken (Cnam) Kapitel 7-7
8 Das ACID-Paradigma für Transaktionen C Consistency (Konsistenz) Transaktionen bewahren die Konsistenz der Datenbank. Die Datenbank wird durch eine Transaktion von einem konsistenten Zustand in den nächsten überführt. Mechanismen zur Konsistenzsicherung und Fehlerbehandlung sind notwendig. Schestag Datenbanken (Cnam) Kapitel 7-8
9 Das ACID-Paradigma für Transaktionen I Isolation (Isolation) Transaktionen werden bei konkurrierendem Zugriff (concurrency) untereinander getrennt, d.h. jede Transaktion läuft in einem simulierten Single-User-Betrieb. Sperrkonzepte und Synchronisation mehrerer nebenläufigertransaktionen sind notwendig (Scheduling) Schestag Datenbanken (Cnam) Kapitel 7-9
10 Das ACID-Paradigma für Transaktionen D Durability (Dauerhaftigkeit) Datenbank-Updates bleiben nach einem Commit dauerhaft erhalten, auch wenn nach diesem Commit ein Systemausfall stattgefunden haben sollte. Fehlerbehandlung, insbesondere Recovery-Management ist notwendig Schestag Datenbanken (Cnam) Kapitel 7-10
11 Transaktionsmanagement: SQL-Anweisungen Ein DBMS, das das Transaktionskonzept unterstützt, besitzt als Komponente einen Transaktionsmanager, der über folgende SQL-Anweisungen gesteuert wird: BEGIN TRANSACTION expliziter oder impliziter Beginn einer Transaktion eine Transaktion beginnt implizit mit der ersten Anweisung nach Eröffnung einer Session bzw. mit der ersten Anweisung nach dem letzten commit. COMMIT TRANSACTION Transaktion wird als erfolgreich beendet gekennzeichnet. Alle zugehörigen Datenbankänderungen werden festgeschrieben ( Durability!). Syntax: commit [work]; Schestag Datenbanken (Cnam) Kapitel 7-11
12 Transaktionsmanagement: SQL-Anweisungen ROLLBACK TRANSACTION Die Transaktion wird explizit (per Programm) oder implizit (z.b. durch Connection-Verlust) abgebrochen. Alle zugehörigen Datenbankänderungen werden rückgängig gemacht, auch die, die implizit z.b. durch Trigger entstanden sind. Es wird auf den letzten konsistenten Zustand des Systems zurückgesetzt ( Checkpoints / Savepoints). Syntax: rollback [work]; -- Transaktion T1 wird implizit geöffnet update Konto set balance = balance-50 where KontoID = 'A'; update Konto set balance = balance+50 where KontoID = 'B'; -- T1 wird beendet und die Ergebnisse festgeschrieben commit work; -- neue Transaktion T2 wird implizit geöffnet insert into Konto (KontoID, Name, balance) values ('C', 'Meyer', 0); Schestag Datenbanken (Cnam) Kapitel 7-12
13 Transaktionsmanagement Oracle Bei Oracle beginnt eine Transaktion immer mit der ersten, auszuführenden SQL-Anweisung (also implizit) und wird erfolgreich beendet durch COMMIT oder COMMIT WORK. Bricht die Transaktion mit einer Fehlermeldung ab, so spricht man (grundsätzlich) von einem ABORT. Nach jeder einzelnen DDL-Anweisung erfolgt immer(!) ein implizites COMMIT. Innerhalb langer Transaktionen können Savepoints gesetzt werden, die die Transaktion in kleine, atomare Einheiten unterteilen. Im Fehlerfall kann auf jeden deklarierten Savepoint innerhalb der Transaktion zurückgesetzt werden. Syntax: savepoint S1; Schestag Datenbanken (Cnam) Kapitel 7-13
14 Transaktionsmanagement Das Transaktionskonzept Konkurrierende Zugriffe und Sperren (Concurrency und Locking) JDBC Teil II: Transaktionsmanagement Wiederherstellung der Daten (Recovery) und Backupstragien Schestag Datenbanken (Cnam) Kapitel 7-14
15 Concurrency-Konflikte: Lost Update Beim Zugriff mehrerer Transaktionen auf die gleichen Daten (konkurrierende Zugriffe concurrency) können unterschiedliche Kategorien von Konflikten auftreten. Den folgenden Szenarien liegen die Daten eines Flugbuchungssystems zugrunde (x bezeichne jeweils den aktuellen Wert der Spalte AnzahlFreieSitzplätze) : Lost update Zeit T1: read x=100 T1: buche 1 Platz: x:=x-1=99 T1: update... set x = 99; Flugnr LH 4225 T2: read x=100 AnzahlFreieSitzplätze 100 ( 99 ) 98 T2: buche 2 Plätze: x:=x-2=98 T2: update... set x = 98; Insgesamt wurden 3 Plätze gebucht, die Anzahl der vorhandenen Plätze hat sich jedoch nur um 2 reduziert! Wie kann diese Inkonsistenz vermieden werden? Schestag Datenbanken (Cnam) Kapitel 7-15
16 Concurr.-Konflikte: Uncommited Dependency Uncommited Dependency Nicht freigegebene Änderungen Einer Transaktion T2 wird lesender Zugriff auf Daten erlaubt, die von einer Transaktion T1 verändert, aber noch nicht festgeschrieben wurden, also uncommited sind. Transaktion T2 ist somit von Transaktion T1 abhängig (dependent), es erfolgt u. U. ein so genanntes Dirty Read. Flugnr LH 4225 AnzahlFreieSitzplätze 100 ( ) Zeit T1: read x=100 T1: buche 1 Platz: x:=x-1=99 T1: update... set x = 99; T1: rollback T2: read x=99 T2: buche 2 Plätze: x:=x-2=97 T2: update... set x = 97; Welcher Konflikt ist nun entstanden? Schestag Datenbanken (Cnam) Kapitel 7-16
17 Concurr.-Konflikte: Nonrepeatable Read Nonrepeatable Read nicht wiederholbares Lesen Eine Transaktion T1 erwartet in zwei aufeinander folgenden Leseoperationen auf dem gleichen Datum den gleichen Wert. T2 ändert zwischen diesen beiden lesenden Zugriffen den Wert: Flugnr LH 4225 AnzahlFreieSitzplätze T1: read x=100 T1: read x=99 T2: read x=100 T2: buche 1 Platz: x:=x-1=99 T2: update... set x = 99; Zeit Innerhalb der selben Transaktion wurden für ein Feld, das von dieser Transaktion nicht verändert wurde(!), unterschiedliche Werte gelesen. Schestag Datenbanken (Cnam) Kapitel 7-17
18 Concurrency-Konflikte: Phantom Read Phantom Read das Problem des Phantoms (Inconsistent Analysis) Eine Transaktion T1 analysiert Daten auf einem Datenbestand, während von einer Transaktion T2 ein neuer Datensatz eingefügt wird, der von T1 eigentlich hätte mitberücksichtigt werden müssen. T1 zählt (auf der Variablen count) die Anzahl derjenigen Flüge, die noch nicht ausgebucht sind: Zeit T1: count = 0 T1: read LH 4225: count = 1 T1: read KL 1775: count = 1 T1: read BA 914: count = 2 ( 3) Flugnr LH 4225 AF 1018 KL 1775 BA 914 AnzahlFreieSitzplätze T2: insert into... values ('AF 1018',150,...); Schestag Datenbanken (Cnam) Kapitel
19 Sperrkonzepte (1) Um die geschilderten Probleme beim konkurrierenden Zugriff mehrerer Transaktionen auf die gleichen Daten zu verhindern, benutzen die meisten Datenbanksysteme Locking-Mechanismen (Sperr-Mechanismen), die es im Zusammenhang mit geeigneten Isolation-Leveln (s. u.) ermöglichen, die genannten Probleme zu vermeiden oder einzuschränken: Locks (Sperren) dienen dazu, anderen Transaktionen solange keinen lesenden und / oder schreibenden Zugriff auf die bearbeiteten Tupel einer aktuellen Transaktion zu ermöglichen, bis die aktuelle Transaktion ein commit oder rollback gegeben hat. Im allgemeinen unterscheidet man zwei Arten von Locks: S-Locks = shared-locks, auch read-locks genannt, und X-Locks = exclusive-locks, auch write-locks genannt. Schestag Datenbanken (Cnam) Kapitel 7-19
20 Sperrkonzepte (2) S-Lock Besitzt eine Transaktion A einen S-Lock auf dem Tupel t, so bewirkt dies: Ein weiterer S-Lock für eine Transaktion B wird zugelassen, anschließend haben beide Transaktionen S-Locks auf t. Alle angeforderten X-Locks anderer Transaktionen werden zurückgewiesen, bis alle S-Locks auf Tupel t wieder freigegeben sind. Hierdurch wird gewährleistet, dass die Daten während des lesenden Zugriffs nicht verändert werden können. X-Lock Besitzt eine Transaktion A einen X-Lock auf dem Tupel t, so bewirkt dies: Alle angeforderten S-Locks anderer Transaktionen werden zurückgewiesen. Alle angeforderten X-Locks anderer Transaktionen werden zurückgewiesen. S X S X Schestag Datenbanken (Cnam) Kapitel 7-20
21 Dead Lock (1) Haben zwei Transaktionen A und B Ressourcen gesperrt, auf deren Freigaben sie jeweils warten, um einen X-Lock zu fordern, so entsteht ein Dead Lock. Beispiel Dead Lock time transact. operation 1 T1 X/S-lock t1 2 T2 X/S-lock t2 3 T1 X-lock t2 4 T2 X-lock t1 wird angefordert wait wird angefordert wait Ein vom DBMS erkannter Dead Lock wird dadurch aufgelöst, dass eine der beteiligten Transaktionen abgebrochen wird. Im allgemeinen gibt es eine maximale Wartezeit für Transaktionen in jedem DBMS. Ist diese maximale Wartezeit überschritten (Time Out), so wird die entsprechende Transaktion ebenfalls abgebrochen (kein Dead Lock!), um die entsprechenden Sperren freizugeben (Aufhebung von Locks). Schestag Datenbanken (Cnam) Kapitel 7-21
22 Dead Lock (2) Dead-Lock-Situationen können durch die Untersuchung so genannter Wait-for-Graphen frühzeitig erkannt werden: Die Ecken des Graphen sind konkurrierende Transaktionen. Die gerichtete Kante zwischen zwei Ecken T1 und T2 des Graphen bedeutet, dass T1 auf die Freigabe einer Sperre durch T2 wartet. T1 T2 Wait-for-Graph für das Beispiel auf der vorhergehenden Folie Ein Dead Lock liegt genau dann vor, wenn der Graph einen geschlossenen Teilgraphen enthält. Schestag Datenbanken (Cnam) Kapitel 7-22
23 Isolationlevel Im o. g. Locking-Konzept wird für eine Transaktion gefordert, ein einmal erworbenes Locking so lange zu halten, bis ein Commit / Rollback für diese Transaktion erfolgt ist. In der Praxis führt dies i. A. zu enormen Behinderungen von Transaktionen (wait-status, Dead Locks). Aus diesem Grund ist es auch möglich, mit Hilfe spezifischer Isolation Level ein differenzierteres Sperrverhalten zu erreichen. Der Isolation Level gibt dabei an, in welchem Maß die jeweilige Sperre konkurrierenden Zugriff auf die Daten zulässt: Isolation Level Dirty Read Isolation Level (SQL 92) Nonrepeatable Read Phantom Read Read Uncommitted möglich möglich möglich Read Committed nicht möglich möglich möglich Repeatable Read nicht möglich nicht möglich möglich Serializable nicht möglich nicht möglich nicht möglich Schestag Datenbanken (Cnam) Kapitel 7-23
24 Isolationlevel bei DB2 (IBM) DB2 unterstützt genau die Isolation Level des SQL 92 Standards, allerdings mit anderen Bezeichnern: SQL set transaction [ { read only read write } ] [ isolation level { read uncommitted read committed repeatable read serializable } ] DB2 change isolation to [ { UR CS RS RR } ] Uncommitted Read Cursor Stability Read Stability Repeatable Read Schestag Datenbanken (Cnam) Kapitel 7-24
25 Isolationlevel bei Oracle DB2 unterstützt die Isolation Level read committed und serializable des SQL 92 Standards: SQL set transaction [ { read only read write } ] [ isolation level { read uncommitted read committed repeatable read serializable } ] Oracle set transaction [ { read only read write } ] [ isolation level { read committed serializable } ] Isolation Level innerhalb einer Session ändern: alter session set isolation_level Isolationsebene; Durch eine Multiversionen-Synchronisation (multiversion concurrency control, MVCC) ist es in Oracle IMMER möglich, auf den zuletzt committeten Zustand eines Datenobjektes zuzugreifen vgl. auch Praktikum 6! MVCC ist ebenfalls in PostgreSQL implementiert. Schestag Datenbanken (Cnam) Kapitel 7-25
26 Transaktionsmanagement Das Transaktionskonzept Konkurrierende Zugriffe und Sperren (Concurrency und Locking) JDBC Teil II: Transaktionsmanagement Wiederherstellung der Daten (Recovery) und Backupstragien Schestag Datenbanken (Cnam) Kapitel 7-26
27 JDBC und Transaktionsmanagement Isolation Level und JDBC Der Isolation Level kann für eine Connection explizit gesetzt werden. Unterstützt ein Treiber den in der Methode settransactionisolation(level) übergebenen Level nicht, so darf er eine restriktivere Ebene verwenden. Unterstützt er keine restriktivere Ebene, so wird eine Ausnahme vom Typ SQLException erzeugt. Isolation Level sollten nie innerhalb einer Transaktion, sondern stets nur zwischen zwei Transaktionen geändert werden. void void settransactionisolation(int level) level) throws throws SQLException; SQLException; Konstanten des Connection-Interfaces TRANSACTION_NONE TRANSACTION_READ_UNCOMMITTED TRANSACTION_READ_COMMITTED TRANSACTION_REPEATABLE_READ TRANSACTION_SERIALIZABLE -- Beispiel: Isolation Level Serializable wird für die gesamte Session gesetzt con.settransactionisolation(connection.transaction_serializable); Schestag Datenbanken (Cnam) Kapitel 7-27
28 JDBC und das Connection-Interface Steuerung des Transaktionsverhalten der Datenbank durch weitere Methoden des Interface Connection: void commit( ) void rollback( ) void setautocommit(boolean autocommit) Nach dem Aufbau der Verbindung ist die Datenbank gemäß JDBC-Spezifikation zunächst im Auto-Commit-Modus, d.h. jede einzelne Anweisung wird als eigene Transaktion angesehen, die nach Ende des Kommandos automatisch bestätigt wird (commit). Eine Änderung kann erreicht werden durch Aufruf von setautocommit mit Übergabe von false. Danach müssen alle Transaktionen explizit durch Aufruf von commit bestätigt bzw. durch rollback zurückgesetzt werden. Nach Abschluss einer Transaktion beginnt automatisch die nächste. Schestag Datenbanken (Cnam) Kapitel 7-28
29 JDBC und das Interface ResultSetMetaData Die Methode getmetadata des Interfaces ResultSet liefert ein Objekt vom Typ ResultSetMetaData zur selektierten Datenmenge. Dieses Objekt kapselt Meta-Informationen zur selektierten Ergebnismenge, z.b. int getcolumncount( ) String getcolumnname(int column) String gettablename(int column) int getcolumntype(int column)... Anzahl der Spalten Name einer Spalte Name einer Tabelle Datentyp einer Spalte Schestag Datenbanken (Cnam) Kapitel 7-29
30 JDBC und das Interface DatabaseMetaData Die Methode getmetadata des Interfaces Connection liefert ein Objekt vom Typ DatabaseMetaData zur aktiven Verbindung. Dieses Objekt kapselt Meta-Informationen zur aktiven Verbindung, die in die folgenden Kategorien unterteilt werden können: Informationen zur Datenbank Informationen zu unterstützten Features Informationen zu Beschränkungen des Treibers Informationen aus dem Systemkatalog Mit Hilfe der Methode supporttransactionisolationlevel des DatabaseMetaData-Objektes kann z.b. abgefragt werden, ob eine Datenbank einen bestimmten Isolation Level unterstützt oder nicht. Schestag Datenbanken (Cnam) Kapitel 7-30
31 Transaktionsmanagement Das Transaktionskonzept Konkurrierende Zugriffe und Sperren (Concurrency und Locking) JDBC Teil II: Transaktionsmanagement Wiederherstellung der Daten (Recovery) und Backupstragien *) *) Ein Teil des Folienmaterials aus diesem Abschnitt stammt aus dem DB-Skript der Kollegin Uta Störl. Schestag Datenbanken (Cnam) Kapitel 7-31
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
Mehrfbi 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
Mehr1 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
MehrDatenbanken 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,
MehrTransaktionsverwaltung
Transaktionsverwaltung VU Datenbanksysteme vom 21.10. 2015 Reinhard Pichler Arbeitsbereich Datenbanken und Artificial Intelligence Institut für Informationssysteme Technische Universität Wien Transaktionsverwaltung
MehrDatenbanken 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!
MehrSoftware-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.
MehrDatenbankadministration
Datenbankadministration 11. Synchronisation AG DBIS University of Kaiserslautern, Germany Karsten Schmidt kschmidt@informatik.uni-kl.de (Vorlage TU-Dresden) Wintersemester 2008/2009 Transaktion Transaktion
MehrInhaltsverzeichnis. 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
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
MehrDatenintegritä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
Mehr3.6 Transaktionsverwaltung
3.6 Transaktionsverwaltung Transaktionen erlauben Bündelung von Operationen und gelten als wichtigster Beitrag des Bereichs Datenbanken zur Informatik; sie werden heute auch außerhalb von Datenbanksystemen
MehrDatenbanken: Transaktionskonzept und Concurrency Control
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
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
MehrTransaktionsverwaltung
Transaktionsverwaltung Commit Eigenschaften von Transaktionen (ACID) Transaktionen in SQL Kapitel 9 1 Transaktionsverwaltung Beispiel einer typischen Transaktion in einer Bankanwendung: 1. Lese den Kontostand
MehrTransaktionen in Praxis. Dr. Karsten Tolle Vorl
Transaktionen in Praxis Dr. Karsten Tolle Vorl. 13.06.2017 Probleme bei Transaktionen Lost Update und Inconsistent Retrieval Sichtweise vom Benutzer Auszug aus SQL 92 1) P1 ("Dirty read"): SQL-transaction
MehrKapitel 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
MehrTransaktionen und Synchronisation konkurrierender Zugriffe
Transaktionen und Synchronisation konkurrierender Zugriffe Fragestellungen Aufgaben des Transaktionsmanagers Aktivieren von Transaktionen entsprechend den Anforderungen von Anwendungsprogrammen. Dabei
MehrIsolationsstufen für Transaktionen. Dr. Karsten Tolle
Isolationsstufen für Transaktionen Dr. Karsten Tolle Probleme bei Transaktionen Gewährleistung der Isolation Sperren kein Lost Update Read 1 (Accounts[13]) Read 2 (Accounts[13]) Write 2 (Accounts[13],101.000)
MehrTransaktionen 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
MehrLiteratur 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:
MehrView. 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.
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,
MehrTag 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
MehrP.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
Mehr9.4.1 JDBC und Transaktionsmanagement
9.4.1 JDBC und Transaktionsmanagement Isolation Level und JDBC Der Isolation Level kann für eine Connection explizit gesetzt werden. Unterstützt ein Treiber den in der Methode settransactionisolation(level)
MehrDatenbanksysteme 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:
MehrSynchronisation 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.
MehrKapitel 10. JDBC und SQLJ. Prof. Dr. Wolfgang Weber Vorlesung Datenbanken 1
Kapitel 10 JDBC und SQLJ 1 JDBC und SQLJ Bisher: Einbettung von SQL (statisch bzw. dynamisch) in C, C++, COBOL, ADA (embedded SQL) bzw. prozedurale Erweiterungen für SQL in Oracle (PL/SQL) Was ist mit
MehrRecovery- 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)
MehrTag 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
MehrTransaktionskonzept 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!
MehrDatenbankanwendungen (JDBC)
Datenbankanwendungen (JDBC) Hierarchie: Connection Transaction Statement Connection Aufbau (klassisch): Registrierung des JDBC Driver beim DriverManager: Class.forName(JDBC Driver); Eigentlicher Verbindungsaufbau
MehrKapitel 3 Synchronisation
LUDWIG- MAXIMILIANS- UNIVERSITY MUNICH DEPARTMENT INSTITUTE FOR INFORMATICS DATABASE Skript zur Vorlesung: Datenbanksysteme II Sommersemester 2014 Kapitel 3 Synchronisation Vorlesung: PD Dr. Peer Kröger
MehrMehrbenutzersynchronisation
Kapitel 10 Mehrbenutzersynchronisation 381 / 520 Mehrbenutzersynchronisation Alle TAs strikt seriell (also nacheinander) auszuführen ist sicher, aber langsam Oft werden Systemressourcen nicht voll ausgenutzt,
MehrTransaktionen: Wiederholung und Vertiefung
Wirtschaftsinformatik II Datenorganisation Datenbanken - Kommunikation Transaktionen: Wiederholung und Vertiefung 7. Datenbankorganisation 7.1. Architektur und Klassifizierung von Datenbanksystemen 7.2
MehrKapitel 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
MehrKoordination 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
MehrVorlesung 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
MehrPostgreSQL 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
MehrDatenbankanwendung. Prof. Dr.-Ing. Sebastian Michel TU Kaiserslautern. Wintersemester 2014/15.
Datenbankanwendung Wintersemester 2014/15 Prof. Dr.-Ing. Sebastian Michel TU Kaiserslautern smichel@cs.uni-kl.de Anmerkungen/Ankündigungen 1. Bemerkung/Klarstellung zur automatischen Erkennung von Endlosrekursion
MehrProzedurale 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.
MehrDatenbanksysteme 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
MehrDatenbanksysteme. Programmieren von Datenbankzugriffen mit JDBC. Burkhardt Renz. Fachbereich MNI Technische Hochschule Mittelhessen
Programmieren von Datenbankzugriffen mit JDBC Fachbereich MNI Technische Hochschule Mittelhessen Sommersemester 2015 Überblick über das Package java.sql Übersicht Architektur von JDBC Grundstruktur eines
MehrKapitel 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Ü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:
MehrMehrbenutzersynchronisation
Mehrbenutzersynchronisation Ausführung der drei Transaktionen T 1, T 2 und T 3 : (a) im Einzelbetrieb und Zeitachse T 1 T2 T 3 (b) im (verzahnten) Mehrbenutzerbetrieb (gestrichelte Linien repräsentieren
MehrKapitel 9. Embedded SQL. Prof. Dr. Wolfgang Weber Vorlesung Datenbanken 1
Kapitel 9 Embedded SQL Vorlesung Datenbanken 1 Embedded SQL (siehe auch [Date00]) Arbeitsweise ähnlich PL/SQL, allerdings: Normale Programmiersprache mit eingestreuten SQL-Befehlen und anderen Befehlen
Mehr10 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
Mehr1. Transaktionskonzept
1. Transaktionskonzept Ein wesentliches Charakteristikum für (relationale) Datenbanksysteme stellt die Unterstützung des Transaktions-Konzepts dar. Transaktionen sind Verarbeitungseinheiten, die vom DBMS
MehrTransaktionsverarbeitung
Transaktionsverarbeitung Lehrveranstaltung Datenbanktechnologien Prof. Dr. Ingo Claßen Prof. Dr. Martin Kempa Hochschule für Technik und Wirtschaft Berlin Mechanismen zur Umsetzung von Transaktionen Einbettung
MehrTransaktionen 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);
MehrIsolationslevel 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
MehrProgrammieren II. Beispiele für RDBMS. Relationale Datenbanken. Datenbanken SQL. Dr. Klaus Höppner JDBC. Hochschule Darmstadt SS 2008
Programmieren II Datenbanken Dr. Klaus Höppner SQL Hochschule Darmstadt SS 2008 JDBC 1 / 20 2 / 20 Relationale Datenbanken Beispiele für RDBMS Ein Datenbanksystem ist ein System zur Speicherung von (großen)
MehrOracle 9i Einführung Performance Tuning
Kurs Oracle 9i Einführung Performance Tuning Teil 6 Locks & Latches Timo Meyer Wintersemester 2005 / 2006 Seite 1 von 16 Seite 1 von 16 1. Einführung Locks & Latches 2. Locks (Sperren) 3. Modi & Levels
MehrWebbasierte Informationssysteme
SS 2004 Prof. Dr. Stefan Böttcher Universität Paderborn - SS 2004 - Prof. Dr. Stefan Böttcher Folie 1 Was ist eine relationale Datenbank? Menge von Relationen (=Tabellen) und Constraints (=Integritätsbedingungen)
MehrKommunikation und Datenhaltung
Kommunikation und Datenhaltung Transaktionsverwaltung Überblick über den Datenhaltungsteil Motivation und Grundlagen Architektur von Datenbanksystemen Datenbankanfragen Relationenmodell und Relationenalgebra
MehrClient/Server-Programmierung
Client/Server-Programmierung WS 2014/2015 Betriebssysteme / verteilte Systeme rolanda.dwismuellera@duni-siegena.de Tel.: 0271/740-4050, Büro: H-B 8404 Stand: 20. November 2015 Betriebssysteme / verteilte
MehrIsolationsstufen 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
Mehr8. 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 -
MehrDarunter 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
MehrTU 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. 2 Übung zur Vorlesung Einsatz und Realisierung von Datenbanksystemen im SoSe15 Moritz Kaufmann (moritz.kaufmann@tum.de)
MehrTeil 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
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:
MehrAtomare Commit-Protokolle. Grundlagen von Datenbanken - SS Prof. Dr. Stefan Böttcher Atomare Commit-Protokolle Folie 1
Atomare Commit-Protokolle Grundlagen von Datenbanken - SS 2010 - Prof. Dr. Stefan Böttcher Atomare Commit-Protokolle Folie 1 Atomares Commit-Protokoll Bisher: Protokolle zur lokalen Transaktionsverwaltung
Mehr1 Referentielle Aktionen
1 Referentielle Aktionen Betrachten Sie das folgende Datenbankschema: Person(Vorname, Nachname, DOB, Wohnort, Lieblingsfilm Film.IMDb-ID, Videothek Videothek.VID) Film(IMDb-ID, Titel, (ProduzentVN, ProduzentNN)
MehrWillkommen. Datenbanken und Anbindung
Willkommen Datenbanken und Anbindung Welche stehen zur Wahl? MySQL Sehr weit verbreitetes DBS (YT, FB, Twitter) Open-Source und Enterprise-Version Libs in C/C++ und Java verfügbar Grundsätzlich ist ein
MehrVerteilte Systeme. Verteilte Systeme. 7 Koordination SS 2017
Verteilte Systeme SS 2017 Universität Siegen rolanda.dwismuellera@duni-siegena.de Tel.: 0271/740-4050, Büro: H-B 8404 Stand: 26. Juni 2017 Betriebssysteme / verteilte Systeme Verteilte Systeme (1/12) i
MehrDer 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
MehrOracle & Java HOW TO
Oracle & Java HOW TO Helge Janicke, Niels-Peter de Witt, Karsten Wolke 21. Januar 2002 Inhaltsverzeichnis 1 Java-Anbindung an Oracle-DB 2 2 Benötigte Programme und Daten 2 3 Einbinden der Klassen 2 4 Aufbau
MehrDr. 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
MehrSerialisierbarkeit 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
MehrKapitel 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
Mehr5. Transaktionsverarbeitung
5. Transaktionsverarbeitung 5.1. Einführung Viele Anwendungsprogramme / interaktive Benutzer arbeiten gleichzeitig (konkurrierend) auf gemeinsamer Datenbank (mit den gleichen Daten). Notwendigkeit: Abwicklung
MehrDatenadminstrator, 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... 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
MehrTU 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/
MehrMehrbenutzer-Synchronisation
MehrbenutzerSynchronisation KonfliktKategorien Serialisierung Historien Sperrungen Verklemmungen Optimistische Synchronisation Synchronisation in SQL Mehrbenutzersynchronisation Ausführung der drei Transaktionen,
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
Mehr9. 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
MehrMehrbenutzer-Synchronisation
Mehrbenutzer-Synchronisation Konflikt-Kategorien Serialisierung Historien Sperrungen Verklemmungen Optimistische Synchronisation Synchronisation in SQL Kapitel 11 1 Mehrbenutzersynchronisation Ausführung
MehrEine umfangreiche Darstellung findet sich zum Beispiel in [MeSi02].
Transaktionen 2 In betrieblichen Anwendungen sind die Daten häufig unternehmensweit mindestens jedoch abteilungsweit organisiert, und die Nutzer haben Zugriff über ein lokales Netzwerk oder über das Internet.
MehrPrakt. Datenbankprogrammierung. Sommersemester I,9: Datenmanipulation. Daten-Manipulations-Sprache. Das INSERT-Statement
Prakt. Datenbankprogrammierung Sommersemester 2005 I,9: Datenmanipulation Daten-Manipulations-Sprache DML-Statements werden ausgeführt bei: Hinzufügen von Datensätzen Modifizieren von Datensätzen Löschen
MehrDatenbanken 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
MehrTransaktionsverarbeitung und Nebenläufigkeitskontrolle. Jim Gray ( )
Transaktionsverarbeitung und Nebenläufigkeitskontrolle Jim Gray (1944-2007) Transaktionsverwaltung Beispiel einer typischen Transaktion in einer Bankanwendung: 1. Lese den Kontostand von A in die Variable
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. 2 Übung zur Vorlesung Einsatz und Realisierung von Datenbanksystemen im SoSe14 Moritz Kaufmann (moritz.kaufmann@tum.de)
Mehr6.3 Verteilte Transaktionen
6.3 Verteilte Transaktionen Situation: Fragmentierung: Ein Datenbestand ist über mehrere Stationen verteilt (z.b. verteilte Datenbank, verteiltes Dateisystem,...) d.h. in Fragmente aufgeteilt, für die
MehrTAV Ü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.
MehrKapitel 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)
MehrProgrammieren II. Relationale Datenbanken. Vorlesung 07. Handout S. 1. Martin Schultheiß. Hochschule Darmstadt Sommersemester 2011.
Programmieren II Martin Schultheiß Hochschule Darmstadt Sommersemester 2011 1 / 26 Datenbanken SQL-Grundlagen JDBC SQL-Constraints 2 / 26 Relationale Datenbanken Ein Datenbanksystem ist ein System zur
MehrGrundlagen von Datenbanken SS 2010 Kapitel 8: Datenbank-Einbettung in Programmiersprachen Prof. Dr. Stefan Böttcher Universität Paderborn
Grundlagen von Datenbanken SS 2010 Kapitel 8: Datenbank-Einbettung in Programmiersprachen Prof. Dr. Stefan Böttcher Universität Paderborn Grundlagen von Datenbanken - SS 2010 - Prof. Dr. Stefan Böttcher
Mehr11 Anwendungsprogrammierung
11 11 11.1 Programmiersprachenanbindung 11.2 11.3 183 11 Programmiersprachenanbindung Programmiersprachenanbindung Kopplungsarten: prozedurale oder CALL-Schnittstellen (call level interface) Beispiele:
MehrGliederung Datenbanksysteme
Gliederung Datenbanksysteme 5. Datenbanksprachen 1. Datendefinitionsbefehle 2. Datenmanipulationsbefehle 3. Grundlagen zu SQL 6. Metadatenverwaltung 7. DB-Architekturen 1. 3-Schema-Modell 2. Verteilte
MehrKonfliktgraph. Satz und Definition
9. Transaktionsverwaltung 9.2. Mehrbenutzerkontrolle Seite 1 Konfliktgraph Der Konfliktgraph von S ist ein gerichteter Graph KG(S) = (V, E), wobei V die Menge aller Transaktionen in S und E die Menge der
MehrDaten- und Transaktionskontrolle mit SQL DCL, TCL
Daten- und Transaktionskontrolle mit SQL DCL, TCL 1 Zugriffsrechte für Datenbankobjekte Zugriff zu einer Relation (inkl. Daten) mit allen Rechten hat zunächst nur der Benutzer, der sie erzeugt hat Situation
Mehr10. Updates in SQL 10-1 Teil 10: Updates in SQL. Literatur:
10. Updates in SQL 10-1 Teil 10: Updates in SQL Literatur: Elmasri/Navathe:Fundamentals of Database Systems, 3rd Edition, 1999. Chap. 8, SQL The Relational Database Standard Kemper/Eickler: Datenbanksysteme
Mehr10. Übungsblatt. Für die Übung am Donnerstag, 15. Januar 2009, von 15:30 bis 17:00 Uhr in 13/222.
AG Datenbanken und Informationssysteme Wintersemester 2008 / 2009 Prof. Dr.-Ing. Dr. h. c. Theo Härder Fachbereich Informatik Technische Universität Kaiserslautern http://wwwlgis.informatik.uni-kl.de/cms
MehrUnzulä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
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
MehrJava Database Connectivity-API (JDBC)
Java Database Connectivity-API (JDBC) Motivation Design Grundlagen Typen Metadaten Transaktionen Pratikum SWE 2 M. Löberbauer, T. Kotzmann, H. Prähofer 1 Motivation Problem: Zugriff auf ein DBMS ist Herstellerabhängig
Mehr