Upload
albertus-holbein
View
214
Download
0
Embed Size (px)
Citation preview
Institut für InformatikLudwig-Maximilians-Universität München
Prof. Dr. Hans-Peter Kriegel
Übungen zur VorlesungDatenbanksystemeWintersemester 2002/2003
Institut für InformatikLudwig-Maximilians-Universität München
Prof. Dr. Hans-Peter KriegelStefan Schönauer
München, 9.1.2003
Blatt 10: Integritätsbedingungen, Transaktionen
Aufgabe 1) Integritätsbedingungen in SQLGegeben sind wieder die Relationen Lieferanten (L), Teile (T), Projekte (P) und ihre Beziehungsrelation (LTP) der Lieferanten-Teile-Projekte-Datenbank:
L (LNR, LNAME, STATUS, ORT) T (TNR, TNAME, FARBE, GEWICHT)P (PNR, PNAME, ORT) LTP (LNR, TNR, PNR, MENGE)
Ergänzen Sie die Relationen mit Hilfe des alter table-Befehls um Primärschlüssel-, Fremdschlüssel- und Typ-(Wertebereichs-)Bedingungen. Die vereinfachte Syntax lautet findet sich auf der Rückseite der Angabe.
Aufgabe 2) Serialisierbarkeit von TransaktionenSei a ein Attribut in der Datenbank, und seien T1, T2 und T3 Transaktionen, die folgende Operationen durchführen:
T1: a = a + 1T2: a = a * 2T3: Print a; a= 1
a) Die Transaktionen T1, T2 und T3 werden nebenläufig ausgeführt. Wenn a zu Beginn den Wert 0 hat, wieviele mögliche korrekte Ergebnisse gibt es?
b) Gegeben sei folgende interne Struktur der Transaktionen T1, T2 und T3:
Wieviele verschiedene Schedules sind möglich?
c) Wenn a zu Beginn den Wert 0 hat, gibt es Schedules, die zwar ein ‘korrektes’ Resultat liefern, aber dennoch nicht serialisierbar sind?
T1 T2 T3
R1: RETRIEVE a INTO t1t1 = t1 + 1
R2: RETRIEVE a INTO t2t2 = t2 * 2
R3: RETRIEVE a INTO t3Print t3
U1: UPDATE a FROM t1 U2: UPDATE a FROM t2 U3: UPDATE a FROM 1
������
�����
�����
��� �
������� ����� ������������
������������������
��������������� ����
�����������������
�������� ����
��������������