Seite 1
RDB 1 11. Große Übung
Allgemeines
Die folgenden Übungsaufgaben werden in der Großen Übung vom 04.02.2021 gemeinsam besprochen. Sie sind dazu eingeladen die nachfolgenden Aufgaben bereits vor der Übung durchzuschauen, dies ist jedoch kein Muss um an der Übung teilzunehmen. Das Blatt muss nicht abgegeben werden und ist kein Teil der Hausaufgaben.
Vorbemerkung
Für Aufgaben 1 und 2 sei folgendes Schema gegeben:
Person(ausweisnr, vorname, name, land, geburtsdatum) Sportler(person → Person, ist_gesperrt)
Funktionär(person → Person, funktion)
Dopingtest(nummer, ausgang, sportler → Sportler, funktionär → Funktionär) Anmerkungen
• Dopingtests werden von Funktionären an Sportlern durchgeführt.
• NULL Values sind nicht vorgesehen.
• Wenn ein Sportler gesperrt ist nimmt das Attribut „ist_gesperrt“ in der Relation Sportler den Wert „ja“ an, andernfalls „nein“.
• Der „ausgang“ des Dopingtests kann „positiv“ oder „negativ“ sein.
• Das „geburtsdatum“ hat die Form JJJJMMTT (z.B. 20210204 für den 04.02.2021).
Aufgabe 1 (Trigger)
Formulieren Sie für die folgenden Integritätsbedingungen einen Trigger:
1. Ein positiver Dopingtest darf nicht aus der Datenbank entfernt werden können.
2. Sportler dürfen beim Eintrag in die Datenbank maximal 35 Jahre alt sein. Gehen Sie in dieser Teilaufgabe davon aus, dass es eine UDF namens TODAY() gibt, welche Ihnen das aktuelle Datum in der Form JJJJMMTT wiedergibt. Vereinfachung: Es genügt das aktuelle Jahr mit dem Geburtsjahr zu vergleichen – fachlich nicht exakt aber es soll nur um das Prinzip gehen).
3. Wenn mehr als 2 Dopingtests für einen Sportler vorliegen, soll der betreffende Sportler gesperrt werden (zu prüfen beim Einfügen in Tabelle Dopingtest).
Seite 2
Aufgabe 2 (Wiederholung DRC/TRC)
Formulieren Sie für das obige Schema folgende Anfragen in TRC:
1. Geben Sie die Vor- und Nachnamen von gesperrten Sportlern zurück.
2. Bestimmen Sie alle Sportler, die ausschließlich über positive Dopingtests verfügen.
3. Bestimmen Sie das jüngste Komiteemitglied (d.h. Funktionär.funktion = ‚Komiteemit- glied‘). Formulieren Sie diese Anfrage zusätzlich auch in DRC.
Aufgabe 3 (Wiederholung Normalisierung)
Gegeben sei das Schema R(A, B, C, D, E) mit den funktionalen Abhängigkeiten FD = {{A,B} → C, {A} → {D}, {D} → {E}, {C} → {B}}. Bringen Sie das Schema in die Boyce-Codd Normalform.