2
Institut für Informatik Übungen zur Vorlesung Datenbanksysteme Wintersemester 2002/2003 Institut für Informatik Ludwig-Maximilians-Universität München Prof. Dr. Hans-Peter Kriegel Stefan Schönauer Blatt 10: Integritätsbedingungen, Transaktionen Aufgabe 1) Integritätsbedingungen in SQL Gegeben 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 Transaktionen Sei a ein Attribut in der Datenbank, und seien T1, T2 und T3 Transaktionen, die folgende Operationen durchführen: T1: a = a + 1 T2: a = a * 2 T3: 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 t1 t1 = t1 + 1 R2: RETRIEVE a INTO t2 t2 = t2 * 2 R3: RETRIEVE a INTO t3 Print t3 U1: UPDATE a FROM t1 U2: UPDATE a FROM t2 U3: UPDATE a FROM 1 München, 9.1.2003

Blatt 10

Embed Size (px)

Citation preview

Page 1: Blatt 10

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

Page 2: Blatt 10

������

�����

�����

��� �

������� ����� ������������

������������������

��������������� ����

�����������������

�������� ����

��������������