Aufgabe 11-1 Synthesealgorithmus

Aufgabenstellung

Gegeben sei das folgende Relationenschema: AssistentProfessorDiplomand (

  • PersNr, ← Personalnummer des Assistenten
  • Name, ← Name des Assistenten
  • Fachgebiet, ← Fachgebiet des Assistenten
  • ChefPersNr, ← Personalnummer des Professors
  • ChefName, ← Name des Professors
  • MatrNr, ← Matrikelnummer des Studenten
  • StudName, ← Name des Studenten
  • Semester, ← Fachsemester des Studenten
  • StudWohnOrt ← Wohnort des Studenten )

Die Relation AssistentProfessorDiplomand enthält die Daten von Studierenden, deren Diplomarbeit von einem Assistenten betreut wird, welcher wiederum bei einem bestimmten Professor angestellt ist.

Gegeben seien folgende funktionale Abhängigkeiten:

  • ChefPersNrChefName
  • PersNrName, Fachgebiet, ChefPersNr, ChefName
  • MatrNrPersNr, Name, Fachgebiet, ChefPersNr, ChefName, StudName, Semester, StudWohnOrt

(a) Bestimmen Sie alle Schlüsselkandidaten.

  • MatrNr ist der einzige Schlüsselkandidat da durch diesen alle anderen Attribute abhängig sind
  • Weder ChefPersnr oder PersNr sind eindeutig

(b) Überführen Sie das Relationenschema mit Hilfe des Synthesealgorithmus in die 3. Normalform.

Erinnerung

Schritte des Synthesealgorithmus:

  • Linksreduktion
  • Rechtsreduktion
  • Entfernung von rechtsleeren Abhängigkeiten
  • Zusammenfassen von Abhängigkeiten mit gleicher linker Seite
  • Neues Relationsschema erzeugen
  • Rekonstruktion eines Schlüsselkandidaten:
  • Elimination überflüssiger Relationen

Linksreduktion

  • ChefPersNr → ChefName
  • PersNr → Name, Fachgebiet, ChefPersNr, ChefName
  • MatrNr → PersNr, Name, Fachgebiet, ChefPersNr, ChefName, StudName, Semester, StudWohnOrt

Es gibt hier nichts zu ändern, da links jeweils nur ein Attribute steht

Rechtsreduktion

  • ChefPersNr → ChefName

    • bleibt unverändert
  • PersNr → Name, Fachgebiet, ChefPersNr, ChefName

    • wird zu PersNr → Name, Fachgebiet, ChefPersNr
    • weil Chefname kommt in ChefPersNr schon vor
  • MatrNr → PersNr, Name, Fachgebiet, ChefPersNr, ChefName, StudName, Semester, StudWohnOrt

    • wird zu: MatrNr → PersNr,, StudName, Semester, StudWohnOrt
    • alles Andere kommts schon in PersNr und ChefPersNr vor

Entfernung von rechtsleeren Abhängigkeiten

  • gibt keine überflüssige Abhängigkeit

Zusammenfassen von Abhängigkeiten mit gleicher linker Seite

  • keine gleiche linke Seite

Relationsschema erzeugen

Rekonstruktion eines Schlüsselkandidaten:

→ Diplomand enthält Schlüsselkandidaten (MatrNr)

Elimination überflüssiger Relationen

→ nichts zu tun


Aufgabe 11-2 Kombinatorik von Schedules

Aufgabenstellung

Gegeben sei eine Menge von n Transaktionen , wobei jede Transaktion aus vielen Einzeloperationen besteht:

Beispiel:

Erläutern Sie für das Beispiel sowie für den allgemeinen Fall :

(a) Wieviele beliebige Schedules gibt es?

Aktionen dürfen innerhalb der Transaktion nicht vertauscht werden sonst beliebig angeordnet

Im Beispiel:

  • Es gibt 10 Aktionen 10 freie Plätze im Schedule
  • Erste Transaktion bekommt 4 beliebige Plätze
  • Zweite TA bekommt 3 beliebige aus den übrigen 10-4 = 6 Plätzen
  • Dritte TA bekommt den Rest

Anzahl beliebiger Schedules im allgemeinen

(b) Wieviele serielle Schedules gibt es?

Anzahl der Permutationen der Transaktionen → Jede Transaktion kann an einer beliebigen stelle stehen

Anzahl serieller Schedules im allgemeinen

(c) Wieviele serialisierbare Schedules gibt es?

  • Kann man im allgemeinen nicht genau bestimmen, da die Anzahl von den Abhängigkeiten bestimmt wird.
  • Liegt aber zwischen der Anzahl beliebiger Schedules und der Anzahl der seriellen Schedules

Anzahl serialisierbarer Schedules im allgemeinen


Aufgabe 11-3 Serialisierbarkeit von Schedules (Serialisierungsgraph)

Aufgabenstellung

Geben Sie für die folgenden Beispiele jeweils den vollständigen Abhängigkeitsgraphen sowie ggf. einen äquivalenten seriellen Schedule an bzw. begründen Sie kurz, warum dieser nicht existiert.

a)

Abhängigkeiten

• Auf Object : , , , , • Auf Object : , , • Auf Object 𝑧: wird nur gelesen → keine Abhängigkeiten

b)

Abhängigkeiten

  • Auf Object x: , ,
  • Auf Object y: , ,
  • Auf Object z: , , ,

Aufgabe 11-4 Anomalien

Aufgabenstellung

Welche Anomalien treten in den folgenden Schedules auf? Begründen Sie Ihre Antwort. Hier sind die gegebenen Schedules entsprechend dem gegebenen Vorlagenformat umgeschrieben:

(a)

Non-Repeatable Read

  • In diesem Fall ist das nur für der Fall
  • Muster:
  • Verstoß gegen Isolation

(b)

Lost Update bezüglich

  • Muster:

(c)

Dirty Read bezüglich

  • Muster: