Grundlagen von Datenbanken SS Synchronisation paralleler Transaktionen
|
|
- Gerd Holtzer
- vor 7 Jahren
- Abrufe
Transkript
1 Grundlagen von Datenbanken SS Synchronisation paralleler Transaktionen Prof. Dr. Stefan Böttcher Universität Paderborn Agenda: Grundlagen von Datenbanken - SS Prof. Dr. Stefan Böttcher Folie 9-1
2 Wesentliche Eigenschaften von Transaktionen Transaktionen ( = mehrere Datenbank-Aktionen zusammengefasst zu einer Einheit ) sind : Eigenschaft Bedeutung Beispiel A atomar ganz oder garnicht Überweisung C consistent korrekt Dateneingabe I isoliert ungestört von parallelen Transaktionen Flugbuchung D dauerhaft Daten gesichert Auszahlung Grundlagen von Datenbanken - SS Prof. Dr. Stefan Böttcher Folie 9-2
3 Transaktionsprozeduren Transaktionsprozeduren = Prozeduren / Funktionen / Quellcodefragmente, die als atomare Einheit (ganz oder garnicht) auf der Datenbank ausgeführt werden sollen. Syntax zur Kennzeichnung der Einheit, z.b. Anfang und Ende der Transaktionsprozedur wird bestimmt durch einen der beiden Befehle Commit oder Rollback oder am Anfang steht der Befehl tbegin( ) am Ende steht tcommit( ) oder tabort( ) Grundlagen von Datenbanken - SS Prof. Dr. Stefan Böttcher Folie 9-3
4 Transaktionen einer Transaktionsprozedur Transaktion (= Ausführung einer Transaktionsprozedur auf der Datenbank) eine Folge aus Lese- und oder Schreiboperationen auf der Datenbank, denen ein Begin vorangestellt ist, und an deren Ende entweder Commit oder Abort ausgeführt wird. Commit schreibt Änderungen auf der Datenbank fest, Abort macht die Änderungen dieser Transaktion auf der Datenbank rückgängig. i.d.r. gibt es mehrere Transaktionen pro Transaktionsprozedur. Grundlagen von Datenbanken - SS Prof. Dr. Stefan Böttcher Folie 9-4
5 Transaktionsprozedur Beispiel 1 (SQL) void umbuchung ( int kto1, int kto2, int wieviel ) { stmt.executeupdate( rollback ) ; stmt.executeupdate( update K.stand = K.stand + + wieviel + where K.kto = + kto1 ) ; stmt.executeupdate( update K.stand = K.stand - + wieviel + where K.kto = + kto2 ) ; stmt.executeupdate( commit ) ; } Grundlagen von Datenbanken - SS Prof. Dr. Stefan Böttcher Folie 9-5
6 Mögliche Transaktionen zu Beispiel 1 Eine Beispieltransaktion (T1) < T1: Start > < T1: Konto1 = Konto > < T1: Konto2 = Konto2-100 > < T1: Commit > Eine andere Beispieltransaktion (T2) < T2: Start > < T2: Konto77 = Konto > < T2: Konto88 = Konto88-44 > < T2: Commit > Grundlagen von Datenbanken - SS Prof. Dr. Stefan Böttcher Folie 9-6
7 Transaktionsprozedur Beispiel 2 (Poet OODB) int bestelle ( int kto, Bestellung b ) { tbegin( ) ; aktuellerpreis = DB.Bestellungen.insert(b) ; DB.Konten( kto ). stand -= aktuellerpreis ; if ( DB.Konten( kto ). ueberziehungslimiterschoepft ( ) ; { tabort( ) ; // Datenbankoperationen dieser T zurücksetzen return 255 ; } else { tcommit( ) ; // Datenbankoperationen dieser T festschreiben return 1; } } Grundlagen von Datenbanken - SS Prof. Dr. Stefan Böttcher Folie 9-7
8 Mögliche Transaktionen zu Beispiel 2 Eine Beispieltransaktion (T3) < T3: Start > < T3: Bestellungen.insert( 33, Meier, Teil66 ) > < T3: Konto22 = Konto > < T3: read( Konto22 ) > // noch genug auf dem Konto < T3: Commit > Eine andere Beispieltransaktion (T4) < T4: Start > < T4: Bestellungen.insert( 33, Meier, Teil66 ) > < T4: Konto22 = Konto > < T4: read( Konto22 ) > // nicht genug auf dem Konto < T4: Abort > Grundlagen von Datenbanken - SS Prof. Dr. Stefan Böttcher Folie 9-8
9 Parallele Transaktionen mehrere Transaktionen arbeiten gleichzeitig auf der Datenbank z.b. verschiedene Bestellungen und Umbuchungen und Kontostandsabfragen gleichzeitig Ziele: hoher Parallelitätsgrad erwünscht kritischer Abschnitt geht nicht, fehlerhafte parallele Abläufe sollen vermieden werden 4 typische Fehlerklassen: Lesen schmutziger Daten (= dirty read) nicht wiederholbares Lesen (= non-repeatable read) verlorene Änderung (= lost update) Phantomproblem (= phantom problem) Grundlagen von Datenbanken - SS Prof. Dr. Stefan Böttcher Folie 9-9
10 Fehlerklasse Lesen schmutziger Daten (= Dirty Read) // Summe aller Konten ist 0 < T1: Start > < T1: Konto1 = Konto1-100 > < T1: Konto2 = Konto > < T1: Commit > < T2: Start > < T2: read(konto1) > < T2: read(konto2) > < T2: Commit > // Summe ist -100?? Grundlagen von Datenbanken - SS Prof. Dr. Stefan Böttcher Folie 9-10
11 Nicht-wiederholbares Lesen (= non-repeatable read) < T1: Start > < T1: Konto1 = Konto1-100 > < T1: Commit > < T2: Start > < T2: read(konto1) > < T2: read(konto1) > //?? 2 verschiedene Werte < T2: Commit > Grundlagen von Datenbanken - SS Prof. Dr. Stefan Böttcher Folie 9-11
12 Fehlerklasse Verlorene Änderung (= lost update) < T1: Start > < T1: temp1 = Konto > < T1: Konto1 = temp1 > < T1: Commit > < T2: Start > < T2: temp2 = Konto > < T2: Konto1 = temp2 > < T2: Commit > Grundlagen von Datenbanken - SS Prof. Dr. Stefan Böttcher Folie 9-12
13 Hintergrund der Fehlerklassen (1) - Konflikt Operationen aus T1 und T2 stehen zu einander in Konflikt 2 Operationen (read oder write) auf demselben Objekt (z.b. demselben Datenwert) stehen zueinander in Konflikt, wenn mindestens eine der beiden Operationen eine Schreiboperation (write) ist. Idee: ( Konflikt = Nichtvertauschbarkeit ) 2 Operationen stehen zueinander in Konflikt, wenn sie nicht vertauschbar sind Grundlagen von Datenbanken - SS Prof. Dr. Stefan Böttcher Folie 9-13
14 Hintergrund der Fehlerklassen (2) - Abhängigkeit Operationen jeder Ti gehören unteilbar zusammen Wenn o1 aus T1 zu o2 aus T2 in Konflikt steht, kommt es auf die Reihenfolge von o1 und o2 an: Durch o1 vor o2 entsteht eine Abhängigkeit T1 vor T2 durch o2 vor o1 entsteht eine Abhängigkeit T2 vor T1 T1 vor T2 wäre korrekt oder T2 vor T1 wäre korrekt, aber T1 vor T2 und T2 vor T1 (zyklische Abhängigkeit) ist nicht korrekt. Grundlagen von Datenbanken - SS Prof. Dr. Stefan Böttcher Folie 9-14
15 Gemeinsamkeiten der Fehlerklassen Operationen aus T1 und T2 stehen so zu einander in Konflikt, dass zyklische Abhängigkeiten entstehen T1 vor T2 und T2 vor T1 Grundlagen von Datenbanken - SS Prof. Dr. Stefan Böttcher Folie 9-15
16 Fehlerklasse Lesen schmutziger Daten (= Dirty Read) // Summe aller Konten ist 0 < T1: Start > < T1: Konto1 = Konto1-100 > < T1: Konto2 = Konto > < T1: Commit > < T2: Start > < T2: read(konto1) > < T2: read(konto2) > < T2: Commit > // Summe ist -100?? Grundlagen von Datenbanken - SS Prof. Dr. Stefan Böttcher Folie 9-16
17 Nicht-wiederholbares Lesen (= non-repeatable read) < T1: Start > < T2: Start > < T2: read(konto1) > < T1: Konto1 = Konto1-100 > < T2: read(konto1) > //?? 2 verschiedene Werte < T1: Commit > < T2: Commit > Grundlagen von Datenbanken - SS Prof. Dr. Stefan Böttcher Folie 9-17
18 Fehlerklasse Verlorene Änderung (= lost update) < T1: Start > < T1: temp1 = Konto > < T2: Start > < T2: temp2 = Konto > < T2: Konto1 = temp2 > < T2: Commit > < T1: Konto1 = temp1 > < T1: Commit > Grundlagen von Datenbanken - SS Prof. Dr. Stefan Böttcher Folie 9-18
19 Formale Definition von Serialisierbarkeit (1) Eine Transaktion Ti, von Operationen, T Lies x Schreibe i i ( i ) ist eine partielle Ordnung einer Menge x x ist Datenelement Abbruch, Ende,, i i i mit einer zugehörigen partiellen Ordnungsrelation folgenden Eigenschaften: Abbruch i Abbruch i T i bzw. ist die letzte Operation in d.h. für i alle an anderen Operationen oi T i gilt, oi i Abbruch i bzw. o. i i Ende i - Für jedes Paar oi, o, die in Konflikt stehen, ist 1 i T 2 i entweder o o oder o o. i1 i i i 2 2 i i 1 Grundlagen von Datenbanken - SS Prof. Dr. Stefan Böttcher Folie 9-19 i Ende T i. Ende, T i mit
20 Formale Definition von Serialisierbarkeit (2) Eine vollständige Historie einer Menge von n Transaktionen mit Ordnungsrelationen 1 i n ist eine partielle Ordnung H, H mit Ordnungsrelation H n T i 1 i n H i 1 i und wobei alle Paare von Operationen i H, 1, o2 H die zueinander in Konflikt stehen, werden durch die vollständige Historie geordnet, d. h. 1 H o 2 oder o2 H o 1. H o o, T i Grundlagen von Datenbanken - SS Prof. Dr. Stefan Böttcher Folie 9-20
21 Formale Definition von Serialisierbarkeit (3) Eine Historie Historie H 2 H 1, H' H folgenden Eigenschaften: H' Für Für H alle alle o o 1 1 H ', o, o 2 2 H H' H ' ist ein Präfix einer vollständigen, also eine partielle Ordnung mit gilt gilt : o o o o H' o H'. Historien können also Transaktionen enthalten, die noch nicht vollständig ausgeführt sind. : Grundlagen von Datenbanken - SS Prof. Dr. Stefan Böttcher Folie H ' H o 2 2 o 2 1 H o 2. 1
22 Formale Definition von Serialisierbarkeit (4) Zwei Historien von Transaktionen heißen aquivalent, wenn sie über derselben Menge von Transaktionen definiert sind, dieselben Operationen enthalten und zueinander in Konflikt stehende Operationen nicht abgebrochener Transaktionen in derselben Weise ordnen. Grundlagen von Datenbanken - SS Prof. Dr. Stefan Böttcher Folie 9-22
23 Formale Definition von Serialisierbarkeit (5) Eine vollständige Historie von Transaktionen heißt seriell, wenn für jedes Paar alle Operationen von von T j T T i, T j T i von Transaktionen entweder vor allen Operationen auftreten, oder umgekehrt alle Operationen von vor allen Operationen von auftreten. j T i Grundlagen von Datenbanken - SS Prof. Dr. Stefan Böttcher Folie 9-23
24 Formale Definition von Serialisierbarkeit (6) Eine vollständige Historie von Transaktionen heißt serialisierbar, wenn sie äquivalent zu einer seriellen Historie ist Eine Historie heißt serialisierbar, wenn der Präfix ihrer mit Ende (=Commit) abschlossenen Transaktionen serialisierbar ist. Grundlagen von Datenbanken - SS Prof. Dr. Stefan Böttcher Folie 9-24
25 Serialisierbarkeitstheorem (7) Der Abhängigkeitsgraph einer Historie von Transaktionen enthält einen Knoten pro Transaktion und für jede Abhängigkeit T1 vor T2 eine Kante von T1 nach T2. Eine Historie von Transaktionen ist genau dann serialisierbar, wenn ihr Abhängigkeitsgraph projiziert auf die mit Commit abgeschlossenen Transaktionen zyklenfrei ist. Grundlagen von Datenbanken - SS Prof. Dr. Stefan Böttcher Folie 9-25
26 2-Phasen-Sperren Lese- und Schreibsperren Wird eine angeforderte Sperre nicht gewährt, muss T warten bis die Sperre gewährt wird Operationen auf Sperren: rlock( T, A ) = Transaktion T fordert Lesesperre auf A an wlock( T, A ) = Transaktion T fordert Schreibsperre auf A an unlock( T, A ) = Transaktion T gibt Sperre auf A wieder frei auch benutzte Kurzschreibweise: lock( T, A ) = Transaktion T fordert Lese- oder Schreibsperre auf A an Grundlagen von Datenbanken - SS Prof. Dr. Stefan Böttcher Folie 9-26
27 2-Phasen-Sperren - Legalität T hält beim Schreiben eines Objektes A eine Schreibsperre und beim Lesen eines Objektes eine Schreib- oder Lesesperre Legalität: Für alle Operationen write(t, A) T gilt: es gibt wlock(t,a) T und unlock(t,a) T mit wlock( T, A ) < H write( T, A ) < H unlock( T, A ) Für alle Operationen read(t, A) T gilt: es gibt lock(t,a) T und unlock(t,a) T mit lock( T, A ) < H read( T, A ) < H unlock( T, A ) Grundlagen von Datenbanken - SS Prof. Dr. Stefan Böttcher Folie 9-27
28 2-Phasen-Sperren Sperr-Regel Schreibsperren (wlock) auf A verbieten gleichzeitige andere Sperren auf A, und Lesesperren (rlock) auf A verbieten gleichzeitige andere Schreibsperren auf A rlock wlock rlock ok wait wlock wait wait Sperr-Regel: Für alle wlock(ti,a), unlock(ti,a), wlock(tk,a), unlock(tk,a) mit i k gilt: unlock(ti,a) < H wlock(tk,a) v unlock(tk,a) < H wlock(ti,a) Für alle rlock(ti,a), unlock(ti,a), wlock(tk,a), unlock(tk,a) mit i k gilt: unlock(ti,a) < H wlock(tk,a) v unlock(tk,a) < H rlock(ti,a) Grundlagen von Datenbanken - SS Prof. Dr. Stefan Böttcher Folie 9-28
29 Warum 2-Phasigkeit notwendig ist // Summe aller Konten ist 0 ( z.b. A+B = 0 ) // T1 bucht 100 von A nach B um, T2 liest A und B wlock( T1, A) < T1: A = A > // write(t,a) unlock(t1,a) rlock(t2,a) ; rlock(t2,b) < T2: read(a) > < T2: read(b) > unlock(t2,a) ; unlock(t2,b) wlock(t1,b) // Summe A+B ist -100?? < T1: B = B > unlock(t1,b) // dirty read trotz Legalität und eingehaltener Sperr-Regel Grundlagen von Datenbanken - SS Prof. Dr. Stefan Böttcher Folie 9-29
30 2-phasige Transaktionen Jede Transaktion T muss mit der Freigabe ihrer Sperren warten, bis sie alle Sperren erhalten hat. Sie macht ihre erste Sperrfreigabe erst nach allen Sperranforderungen 2-Phasigkeit einer Transaktion T: Für alle rlock(t,a), wlock(t,b), unlock(t,c) gilt: rlock(t,a) < H unlock(t,c) und wlock(t,b) < H unlock(t,c) Grundlagen von Datenbanken - SS Prof. Dr. Stefan Böttcher Folie 9-30
31 Serialisierbarkeit durch 2-Phasen-Sperren 2-Phasen-Sperren garantiert serialisierbare Historien Serialisierbarkeitssatz für 2-Phasen-Sperren: Jede Historie, die nur aus legalen 2-phasigen Transaktionen besteht und die Sperr-Regel einhält ist serialisierbar. Beweis: Widerspruchsbeweis über die Ordnung < H. Angenommen, die Historie H ist nicht serialisierbar, dann gibt es einen Zyklus im Serialisierbarkeitsgraph mindestens 1 der am Zyklus beteiligten Transaktionen ist nicht legal oder nicht 2-phasig oder H verletzt die Sperr-Regel Grundlagen von Datenbanken - SS Prof. Dr. Stefan Böttcher Folie 9-31
32 Parallele Validierung (nach Kung & Robinson) (1) Zeit Transaktionen T haben 2 oder 3 Phasen T lies aus der Datenbank und schreibe auf lokale Kopien validiere (=prüfe), ob Abhängigkeiten azyklisch sind, d.h., dass T nicht von neuerer Transaktion abhängt nur wenn Validierung erfolgreich war, schreibe lokale Kopien in die Datenbank Lesephase Validierungsphase optionale Schreibphase Grundlagen von Datenbanken - SS Prof. Dr. Stefan Böttcher Folie 9-32
33 Parallele Validierung (nach Kung & Robinson) (2) Zeit Transaktionen T bekommen am Ende der Lesephase ihren Zeitstempel Neuere Transaktionen validieren gegen ältere T lies aus der Datenbank und schreibe auf lokale Kopien hier bekommt die Transaktion T ihren Zeitstempel validiere (=prüfe), ob Abhängigkeiten azyklisch sind, d.h., dass T nicht von neuerer Transaktion abhängt wenn Validierung erfolgreich war, schreibe lokale Kopien in die Datenbank Lesephase Validierungsphase optionale Schreibphase Grundlagen von Datenbanken - SS Prof. Dr. Stefan Böttcher Folie 9-33
34 Parallele Validierung (nach Kung & Robinson) (3) Grundideen: 1. Transaktionen werden nicht gesperrt, müssen nicht warten 2. Lasse neuere Transaktionen vordrängeln, aber auf eigenes Risiko, d.h., wenn sie zu früh gestartet wurden, müssen sie abbrechen und wiederholt gestartet werden. 3. Neuere Transaktionen sind die, die einen späteren Zeitstempel bekommen, d.h. später mit der Lesephase fertig wurden. 4. Um die Datenbank nicht zu beschädigen, schreiben Transaktionen in der Lesephase nur auf lokale Kopien, und nur nach erfolgreicher Validierung schreiben sie (in der Schreibphase) in die Datenbank Grundlagen von Datenbanken - SS Prof. Dr. Stefan Böttcher Folie 9-34
35 Parallele Validierung (nach Kung & Robinson) (4) Wenn es eine Abhängigkeit Tneu Talt geben könnte, breche Tneu ab, d.h. Tneu schreibt nicht in die Datenbank (Tneu hat keine Schreibphase) Zeit Talt Abhängigkeiten Talt Tneu sind o.k. L V [& S] Tneu Lesephase Validierung [ & Schreibphase ] Validierung von Tneu verhindert diese Abhängigkeit Grundlagen von Datenbanken - SS Prof. Dr. Stefan Böttcher Folie 9-35
36 Validierung unterscheidet 3 Gruppen älterer Transaktionen Zeit Talt1 o.k. r Tneu wird bei jeder Abhängigkeit Tneu Talt abgebrochen (zyklische Abhängigkeit wäre möglich) Talt2 writeset(talt2) readset(tneu) = v [& w] r Talt3 writeset(talt3) readset(tneu) = und writeset(talt3) writeset(tneu) = v [& w] r Tneu Lesephase v [& w] Grundlagen von Datenbanken - SS Prof. Dr. Stefan Böttcher Folie 9-36 Validierung [& Schreibphase]
37 Implementierung der Validierungsphase von Tneu Tneu unterteilt alle älteren Transaktionen in 3 Gruppen: 1. Talt1: Transaktionen, die beendet werden, bevor Tneu in der Lesephase ist 2. Talt2: Transaktionen, die beendet werden, während Tneu in der Lesephase ist 3. Talt3: Transaktionen, die beendet werden, nachdem Tneu in der Lesephase war Validierung liefert genau dann false, wenn es eine T Talt2 gibt mit writeset(talt2) readset(tneu) oder wenn es eine T Talt3 gibt mit writeset(talt3) ( readset(tneu) writeset(tneu) ) Grundlagen von Datenbanken - SS Prof. Dr. Stefan Böttcher Folie 9-37
38 Korrektheit der parallelen Validierung time Tneu Talt kann es nicht geben für Told1 o.k. Talt1, denn : ende von Talt1 vor start von Tneu r Talt2, Talt3, weil Validierung das ausschließt Told2 Tneu validiert erfolgreich v writeset(talt2) readset(tneu) = [& w] r Told3 writeset(talt3) readset(tneu) = writeset(talt3) writeset(tneu) = v [& w] r Tnew Lesephase v [& w] Grundlagen von Datenbanken - SS Prof. Dr. Stefan Böttcher Folie 9-38 Validierung [& Schreibphase]
39 Transaktionsprozedur zum Phantomproblem TP1: EXEC SQL insert into Konten values( KontoNr3, 3000 ) ; TP2: EXEC SQL select Count(KontoNr) into :Kontenanzahl from Konten if ( Kontenanzahl 0 ) // zeige Durchschnittsbetrag { EXEC SQL select SUM(KontoStand) into :Summe from Konten println(''durchschnittsbetrag ist :'', Summe / Kontenanzahl ) ; } Grundlagen von Datenbanken - SS Prof. Dr. Stefan Böttcher Folie 9-39
40 Transaktionen zum Phantomproblem T2 stellt fest, dass KontoNr3 nicht existiert < T1: Start > < T1: insert (KontoNr3, 3000 ) > < T1: Commit > < T2: Start > < T2: read(kontonr1) > < T2: read(kontonr2) > < T2: not exists(kontonr3) > < T2: read(kontostand1) > < T2: read(kontostand2) > < T2: read(kontostand3) > < T2: Commit > Grundlagen von Datenbanken - SS Prof. Dr. Stefan Böttcher Folie 9-40
41 Konflikt mit Phantom-Tupeln T2 stellt fest, dass KontoNr3 nicht existiert < T2: not exists(kontonr3) > < T1: insert (KontoNr3, 3000 ) > Vertauschung der Operationen ändert das Ergebnis Konflikt < T1: insert (KontoNr3, 3000 ) > T2 stellt fest, dass KontoNr3 existiert < T2: read(kontonr3) > Grundlagen von Datenbanken - SS Prof. Dr. Stefan Böttcher Folie 9-41
42 Prädikatives Sperren Problem des physischen Sperrens: Es sperrt die gelesenen Tupel der Relation, d.h. nur die gelesenen und als wahr interpretierten Tupel des Schemas Idee zur Verhinderung des Phantomproblems: Sperre alle gelesenen Tupel des Schemas, auch die als falsch interpretierten Tupel des Schemas Realisierung: Benutze Sperren mit Formeln (z.b. des Tupelkalküls) für Mengen von gesperrten Tupeln des Schemas Grundlagen von Datenbanken - SS Prof. Dr. Stefan Böttcher Folie 9-42
43 Prädikatives Sperren - Beispiel Betrag rlock( T1, { t Konto t.betrag > 5000 } ) 5000 wlock( T2, { t Konto t.name >= Q } ) Schema( Konto ) Name Q { t Konto t.betrag > 5000 } { t Konto t.name >= Q } t.betrag > 5000 t.name >= Q ist erfüllbar T2 Sperre nicht gewähren Grundlagen von Datenbanken - SS Prof. Dr. Stefan Böttcher Folie 9-43
44 Prädikatives Sperren - Kritik Hauptkritikpunkt: Test für die Sperrvergabe braucht einen Beweis dauert zu lange Aber unvollständige Beweiser genügen O(Vergleichsanzahl³) Im Zweifelsfall: Sperre nicht gewähren, d.h. Transaktion warten lassen { t Konto t.betrag > 5000 } { t Konto t.name >= Q } t.betrag > 5000 t.name >= Q ist erfüllbar T2 Sperre nicht gewähren Alternativvorschläge: 1. Indexsperren (konzeptuell: eingeschränkte prädikative Sperren) 2. Sperren der EOF-Marke (Hauptkritikpunkt: blockiert alle Einfüger) Grundlagen von Datenbanken - SS Prof. Dr. Stefan Böttcher Folie 9-44
45 Prädikative Validierung Idee zur Verhinderung des Phantomproblems: Benutze zur Validierung Anfrage statt Beweis T validiert von ihr geschriebene alte und neue Werte von Tupeln der Relation gegen Formeln (z.b. des Tupelkalküls) der Lese- und Schreibmengen älterer Transaktionen, d.h. Formeln beschreiben von älteren Transaktionen gelesene bzw. geschriebene Tupel des Schemas + möglich durch Anfrage effizient durchführbar in jedem DBMS implementierbar Grundlagen von Datenbanken - SS Prof. Dr. Stefan Böttcher Folie 9-45
46 Prädikative Validierung - Beispiel Betrag read-set( Talt, { t Konto t.betrag > 5000 } ) write-set( Tneu, Konto + { ( Name= Reich, Betrag=6000 ) } ) Konto - { ( Name= Reich, Betrag=4000 ) } Schema( Konto ) Name Q Reich { t { ( Name= Reich, Betrag=6000 ), ( Name= Reich, Betrag=4000 ) } t.betrag > 5000 } Validierung von Tneu scheitert Tneu abbrechen und neu starten Grundlagen von Datenbanken - SS Prof. Dr. Stefan Böttcher Folie 9-46
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.
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
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.
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
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
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
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,
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
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
MehrMehrbenutzer-Synchronisation
Mehrbenutzer-Synchronisation Konflikt-Kategorien Serialisierung Historien Sperrungen Verklemmungen Optimistische Synchronisation Synchronisation in SQL Kapitel 11 1 Mehrbenutzersynchronisation Ausführung
MehrMehrbenutzer-Synchronisation
MehrbenutzerSynchronisation KonfliktKategorien Serialisierung Historien Sperrungen Verklemmungen Optimistische Synchronisation Synchronisation in SQL Mehrbenutzersynchronisation Ausführung der drei Transaktionen,
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,
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
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
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
MehrSynchronisierung 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
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.
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:
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
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
MehrTransaktionen und Synchronisation konkurrierender Zugriffe
Transaktionen und Synchronisation konkurrierender Zugriffe Fragestellungen Aufgaben des Transaktionsmanagers Aktivieren von Transaktionen entsprechend den Anforderungen von Anwendungsprogrammen. Dabei
MehrMehrbenutzersynchronisation
Mehrbenutzersynchronisation VU Datenbanksysteme vom 4.11. 2015 Reinhard Pichler Arbeitsbereich Datenbanken und Artificial Intelligence Institut für Informationssysteme Technische Universität Wien Nebenläufigkeit
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:
MehrDatenbanken und Informationssysteme
Datenbanken und Informationssysteme Serialisierbarkeit Burkhardt Renz Fachbereich MNI TH Mittelhessen Wintersemester 2015/16 Übersicht Serialisierbarkeit 2-Phasen-Sperrprotokoll (2PL) Verklemmungen Modell
MehrVorlesung 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
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
MehrScheduler. 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Ü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:
MehrSQL: statische Integrität
SQL: statische Integrität.1 SQL: statische Integrität Im allgemeinen sind nur solche Instanzen einer Datenbank erlaubt, deren Relationen die der Datenbank bekannten Integritätsbedingungen erfüllen. Integritätsbedingungen
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)
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
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
MehrÜ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,
Mehr5.3 Datenänderung/-zugriff mit SQL (DML)
5.3 Datenänderung/-zugriff mit SQL (DML) Hinweis: - DML-Anweisungen sind mengenorientiert - Mit einer Anweisungen kann mehr als ein Tupel eingefügt, geändert, gelöscht oder gelesen werden Benutzungs- und
MehrMengenvergleiche: Alle Konten außer das, mit dem größten Saldo.
Mengenvergleiche: Mehr Möglichkeiten als der in-operator bietet der θany und der θall-operator, also der Vergleich mit irgendeinem oder jedem Tupel der Unteranfrage. Alle Konten außer das, mit dem größten
MehrUnterabfragen (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
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
Mehr8. Synchronisations-Verfahren
8. Synchronisations-Verfahren Die verschiedenen Synchronisationsverfahren unterscheiden sich i.w. dadurch, wie sie die Einhaltung des Serialisierbarkeitsprinzips gewährleisten wann die Prüfung auf Serialisierbarkeit
MehrGrundlagen von Datenbanken SS Einführung in das Thema
Grundlagen von Datenbanken SS 2010 1. Einführung in das Thema Agenda: Prof. Dr. Stefan Böttcher Universität Paderborn mit Material von Prof. Dr. Gregor Engels Grundlagen von Datenbanken - SS 2010 - Prof.
Mehr9 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
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
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,
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!
MehrKlausur Datenbanken Wintersemester 2004/2005 Prof. Dr. Wolfgang May 10. Februar 2004, 11-13 Uhr Bearbeitungszeit: 90 Minuten
Klausur Datenbanken Wintersemester 2004/2005 Prof. Dr. Wolfgang May 10. Februar 2004, 11-13 Uhr Bearbeitungszeit: 90 Minuten Vorname: Nachname: Matrikelnummer: Bei der Klausur sind keine Hilfsmittel (Skripten,
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 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);
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
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
MehrIT-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,
MehrReplikation und Synchronisation. in mobilen Datenbanksystemen
in mobilen Datenbanksystemen 6. Juni 2002 Von Thomas Hoffmann und Sebastian Seidler E-Mail: {hothomas,bastl14w}@minet.uni-jena.de 1 Inhalt Einleitung Was ist Replikation? Was ist Synchronisation? Replikationsverfahren
MehrDatenbanken: Datenintegrität. www.informatikzentrale.de
Datenbanken: Datenintegrität Definition "Datenkonsistenz" "in der Datenbankorganisation (...) die Korrektheit der gespeicherten Daten im Sinn einer widerspruchsfreien und vollständigen Abbildung der relevanten
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
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
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
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
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
Mehr5.8 Bibliotheken für PostgreSQL
5.8 Bibliotheken für PostgreSQL Haskell/WASH: Modul Dbconnect PHP: pqsql-funktionen Java/JSP: JDBC Perl: DBI database interface modul Vorläufige Version 80 c 2004 Peter Thiemann, Matthias Neubauer 5.9
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.
MehrGruppe A Bitte tragen Sie sofort und leserlich Namen, Studienkennzahl und Matrikelnummer ein und legen Sie Ihren Studentenausweis
Gruppe A Bitte tragen Sie sofort und leserlich Namen, Studienkennzahl und Matrikelnummer ein und legen Sie Ihren Studentenausweis bereit. PRÜFUNG AUS DATENBANKSYSTEME VU 184.686 25. 06. 2015 Kennnr. Matrikelnr.
MehrGrundlagen verteilter Systeme
Universität Augsburg Insitut für Informatik Prof. Dr. Bernhard Bauer Wolf Fischer Christian Saad Wintersemester 08/09 Übungsblatt 3 12.11.08 Grundlagen verteilter Systeme Lösungsvorschlag Aufgabe 1: a)
MehrTransaction Validation for XML Documents based on XPath
Transaction Validation for XML Documents based on XPath @ Informatik 2002, m-dbis Stefan Böttcher Adelhard Türling Universität Paderborn Überblick Transaktionen für XML - Daten & mobile Clients Motivation
MehrKlausur Datenbanken Wintersemester 2004/2005 Prof. Dr. Wolfgang May 10. Februar 2004, 11-13 Uhr Bearbeitungszeit: 90 Minuten
Klausur Datenbanken Wintersemester 2004/2005 Prof. Dr. Wolfgang May 10. Februar 2004, 11-13 Uhr Bearbeitungszeit: 90 Minuten Vorname: Nachname: Matrikelnummer: Bei der Klausur sind keine Hilfsmittel (Skripten,
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: 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
MehrWiederanlauf (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
MehrDatenbankentwicklung 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
MehrKapitel 10: Transaktionsverwaltung
10. Transaktionsverwaltung Seite 1 Kapitel 10: Transaktionsverwaltung Umfasst diejenigen Komponenten eines Datenbankmanagementsystems, deren Aufgabe die Gewährleistung der Atomizität, Isolation und Dauerhaftigkeit
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
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
MehrBitte tragen Sie sofort und leserlich Namen, Studienkennzahl und Matrikelnummer ein und legen Sie Ihren Studentenausweis
Gruppe A Bitte tragen Sie sofort und leserlich Namen, Studienkennzahl und Matrikelnummer ein und legen Sie Ihren Studentenausweis bereit. PRÜFUNG AUS DATENBANKSYSTEME VU 184.686 7. 5. 2014 Kennnr. Matrikelnr.
Mehr9 Verteilte Verklemmungserkennung
9 Verteilte Verklemmungserkennung 9.1 Grundlagen Für die Existenz einer Verklemmung notwendige Bedingungen Exklusive Betriebsmittelbelegung Betriebsmittel können nachgefordert werden Betriebsmittel können
MehrDatenbanksysteme 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
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
MehrDie 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
MehrKapitel 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
MehrEinführung in Subversion
Einführung in Subversion Benjamin Seppke AB KOGS Dept. Informatik Universität Hamburg Was ist Subversion? Ein Server-basiertes Versions-Verwaltungs- System Ermöglicht mehreren Benutzern die gemeinsame
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 II SS 2010. Übungsblatt 9: Wiederholung
Ludwig-Maximilians-Universität München München, 02.07.2010 Department Institut für Informatik PD Dr. Peer Kröger Andreas Züfle Datenbanksysteme II SS 2010 Übungsblatt 9: Wiederholung Besprechung: 20.07.2010
MehrUniversität Duisburg-Essen Informationssysteme Prof. Dr.-Ing. N. Fuhr. Praktikum Datenbanken / DB2 Woche 8: Trigger, SQL-PL
Betreuer: Sascha Kriewel, Tobias Tuttas Raum: LF 230 Bearbeitung: 26., 27. und 29. Juni 2006 Datum Team (Account) Vorbereitung Präsenz Aktuelle Informationen, Ansprechpartner und Material unter: http://www.is.inf.uni-due.de/courses/dbp_ss07/index.html
MehrInhalt. Ein Einführung in die Nutzung von SQL-Datenbanken am Beispiel Oracle. Daten und Tabellen - ein Beispiel. Daten und Tabellen - Normalisierung
Inhalt Ein Einführung in die Nutzung von SQL-Datenbanken am Beispiel Oracle Daten und Tabellen Normalisierung, Beziehungen, Datenmodell SQL - Structured Query Language Anlegen von Tabellen Datentypen (Spalten,
MehrVorlesung "Verteilte Systeme" Sommersemester 1999. Verteilte Systeme. Adreßraum. Rechner. Verteilte Systeme, Sommersemester 1999 Folie 19.
Verteilte Systeme 19. Distributed Shared Memory Sharing!! No Sharing! Sharing? Evolution der Berechnungsmodelle Vergangenheit Gemeinsamer Speicher Einzelrechner Gegenwart Nachrichtenkommunikation Verteilte
MehrSoftwarelösungen: Versuch 4
Softwarelösungen: Versuch 4 Nichtstun in Schleife wird ersetzt durch zeitweilige Zurücknahme der Anforderung, um es anderen Prozessen zu erlauben, die Ressource zu belegen: /* Prozess 0 */ wiederhole flag[0]
MehrEinführung - Anomalien beim ungeschützten und konkurrierenden Zugriff von Lesern und Schreibern auf gemeinsame Daten
Synchronisation 0 Einführung - Anomalien beim ungeschützten und konkurrierenden Zugriff von Lesern und Schreibern auf gemeinsame Daten - Synchronisation von Transaktionen: Grundbegriffe und Modellannahmen
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)
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)
MehrBeispiel: 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
Mehr3.1 Schedules und Histories
3 Concurrency Control: Korrektheit Wir betrachten zunächst nur das Seitenmodell (read/write)! 3.1 Schedules und Histories Bislang: Transaktionen = (partiell) geordnete Folgen von (Daten-) Operationen...
MehrDie Sicht eines Sysadmins auf DB systeme
Die Sicht eines Sysadmins auf DB systeme Robert Meyer 21. Oktober 2016 Robert Meyer Die Sicht eines Sysadmins auf DB systeme 21. Oktober 2016 1 / 20 Inhaltsverzeichnis 1 Einleitung 2 IO unter Linux typische
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
MehrAufbau Datenbanksysteme
Aufbau Datenbanksysteme Lehrveranstaltung Datenbanktechnologien Prof. Dr. Ingo Claßen Prof. Dr. Martin Kempa Hochschule für Technik und Wirtschaft Berlin Speichersystem c Ingo Claßen, Martin Kempa Softwarearchitektur
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
Mehr8. 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)
MehrDaten, Datenbanken, Datenbankmanagmentsysteme
banken bankmanagmentsysteme Wikipedia sagt Bspe.: : sind zum Zweck der Verarbeitung zusammengefasste Zeichen, die aufgrund bekannter oder unterstellter Abmachungen Informationen tragen. 15.03.2012 als
Mehr9. Einführung in Datenbanken
9. Einführung in Datenbanken 9.1 Motivation und einführendes Beispiel 9.2 Modellierungskonzepte der realen Welt 9.3 Anfragesprachen (Query Languages) 9.1 Motivation und einführendes Beispiel Datenbanken
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. 11 Übung zur Vorlesung Einsatz und Realisierung von Datenbanksystemen im SoSe15 Moritz Kaufmann (moritz.kaufmann@tum.de)
MehrSynchronisation in Java. Invisible Web
Synchronisation in Java Studienprojekt Invisible Web Tang Zhihong Synchronisation in Java Synchronisationsproblem Monitore Wait und notify PipedInputStream und PipedOutputStream Synchronisation von Collections
MehrÜbung Datenbanken in der Praxis. Datenmodifikation mit SQL
Datenmodifikation mit SQL Folie 45 SQL - Datenmodifikation Einfügen INSERT INTO Relation [(Attribut, Attribut,...)] VALUES (Wert, Wert,...) INSERT INTO Relation [(Attribut, Attribut,...)] SFW-Anfrage Ändern
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
MehrObjektrelationale und erweiterbare Datenbanksysteme
Objektrelationale und erweiterbare Datenbanksysteme Erweiterbarkeit SQL:1999 (Objekt-relationale Modellierung) In der Vorlesung werden nur die Folien 1-12 behandelt. Kapitel 14 1 Konzepte objekt-relationaler
Mehr