• Keine Ergebnisse gefunden

Übung 7 – Transaktionen Aufgabe 1

N/A
N/A
Protected

Academic year: 2022

Aktie "Übung 7 – Transaktionen Aufgabe 1"

Copied!
2
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

Datenbank-Implementierungstechniken SS 2002

Dr. Kai-Uwe Sattler 24.06.02

Übung 7 – Transaktionen

Aufgabe 1

Gegeben sei folgende Relation:

create table Mitarbeiter ( MitarbNr char(10) not null, Name varchar(30) not null, Vorname varchar(30),

GebDatum date,

Gehalt decimal(6,2) check (Gehalt >= 2000), primary key (MitarbNr)

)

Mögliche Operationen auf dieser Tabelle sind:

• Berechnen des durchschnittlichen Gehalts aller Mitarbeiter,

• Einfügen/Entfernen eines Mitarbeiters,

• Ändern/Abfragen des Gehalt-Attributes eines Mitarbeiters.

Ferner sei folgende Relation gegeben:

create table Konto (

KontoNr char(10) not null, Name varchar(30),

KontoStand decimal(8,2), primary key (KontoNr),

check ((select sum(KontoStand) from Konto) = 0) )

Mögliche Operationen sind hier:

• Berechnen der Summe aller Kontostände,

• Transfer von einem Konto auf ein anderes,

• Erzeugen/Löschen eines Kontos,

• Ändern/Abfragen eines Kontostands.

Skizzieren Sie exemplarisch mit Hilfe der obigen Operationen die folgenden Serialisierbarkeits- probleme:

1. Inkonsistentes Lesen

1

(2)

2. Lesen inkonsistenter Zustände

3. Abhängigkeiten von nicht freigegebenen Daten 4. Verlorengegangene Änderungen

5. Phantom-Problem 6. Mehrbenutzer-Anomalie 7. Cursor-Referenzen-Problem Aufgabe 2

Geben Sie alle möglichen Schedules für die beiden folgenden Transaktionen an und bestimmen Sie, welche davon konfliktserialisierbar sind.

T1: r1(X);X :=X−N;w1(X);r1(Y);Y :=Y +N;w1(Y);

T2: r2(X);X :=X+M;w2(X);

Aufgabe 3

Wieviele serielle Schedules existieren für die folgenden Transaktionen? Wie lauten diese? Wie groß ist die Anzahl möglicher Schedules?

T1: r1(X);w1(X);r1(Y);w1(Y);

T2: r2(Z);r2(Y);w2(Y);r2(X);w2(X);

T3: r3(Y);r3(Z);w3(Y), w3(Z);

Aufgabe 4

Gegeben seien die folgenden Transaktionen:

T1: r1(X);r1(Z);w1(X);

T2: r2(Z);r2(Y);w2(Z);w2(Y) T3: r3(X);r3(Y);w3(Y)

Ferner seien folgende Schedules für diese Transaktionen gegeben:

S1: r1(X);r2(Z);r1(Z);r3(X);r3(Y);w1(X);w3(Y);r2(Y);w2(Z);w2(Y);

S2: r1(X);r2(Z);r3(X);r1(Z);r2(Y);r3(Y);w1(X);w2(Z);w3(Y);w2(Y);

Zeichnen Sie die Konfliktgraphen für diese beiden Schedules. Welcher Schedule ist serialisierbar?

Falls ein Schedule serialisierbar ist, geben Sie den äquivalenten seriellen Schedule an.

2

Referenzen

ÄHNLICHE DOKUMENTE

Klasse TEXT NOT NULL, Tarif_km REAL NOT NULL, Tarif_Tag Real NOT NULL ). CREATE

create table tweet id integer not null primary key user id integer null references twitter user on delete set null tweet date timestamp not null tweet text varchar 140 not mail

create table kinder_fahrraeder ( person text not null, kind_name text not null, kind_alter int not null, fahrrad_typ text not null, fahrrad_farbe text not null );. insert

ISBN char(10) not null, Titel varchar(200), Verlagsname varchar(30), primary key (ISBN),. foreign

create table Buch ( ISBN char(10), Titel varchar(200), Verlagsname varchar(30), primary key (ISBN),. foreign

Die dort vermittelten Informationen seien zwar nicht not- wendigerweise inkorrekt, doch dürfe man nicht vergessen, dass diese Veranstaltungen Teil der Marketingstrategie der

[r]

Zwischen diesen vier Favoriten wurde eine Stichwahl durchgeführt mit dem Ergebnis, daß unsere Fakultätszeitung so heißt wie sie jetzt heißt, nämlich NATAN.. Dies