Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Übungsblatt 4 Erläuterungen Wintersemester 15/16DBIS1.

Ähnliche Präsentationen


Präsentation zum Thema: "Übungsblatt 4 Erläuterungen Wintersemester 15/16DBIS1."—  Präsentation transkript:

1 Übungsblatt 4 Erläuterungen Wintersemester 15/16DBIS1

2 Aufgabe 1 Relationales Datenbankmodell Wintersemester 15/16DBIS2

3 Überführung Schritt 1 - Entitytypen und deren Attribute übernehmen Wintersemester 15/16DBIS3 Kunde(KundenNr, Name, Adresse) Pkw(FahrzeugNr, Farbe, Baujahr) Hersteller(Name, Hauptsitz) Werkstatt(Name, FaxNr*, Telefon)

4 Überführung Schritt 1 - Entitytypen und deren Attribute übernehmen Wintersemester 15/16DBIS4 Kunde(KundenNr, Name, Adresse) Pkw(FahrzeugNr, Farbe, Baujahr) Hersteller(Name, Hauptsitz) Werkstatt(Name, FaxNr*, Telefon) Problem: Nichtatomare Attribute

5 Überführung Schritt 2 – Nichtatomare Attribute auflösen Wintersemester 15/16DBIS5 Kunde(KundenNr, Name) hat_Adresse(KundenNr, Strasse, Ort, PLZ) Pkw(FahrzeugNr, Farbe, Baujahr) Hersteller(Name, Hauptsitz) Werkstatt(Name, FaxNr*) hat_telefon(WerkstattName, TelefonNr)

6 Überführung Schritt 3 – Nach und nach die Beziehungen auflösen 1:1-Beziehungen Wintersemester 15/16DBIS6 Kunde(KundenNr, Name) hat_Adresse(KundenNr, Strasse, Ort, PLZ) Pkw(FahrzeugNr, Farbe, Baujahr) Hersteller(Name, Hauptsitz) Werkstatt(Name, FaxNr*) hat_telefon(WerkstattName, TelefonNr)

7 Überführung Schritt 3 – Nach und nach die Beziehungen auflösen 1:N-Beziehungen Wintersemester 15/16DBIS7 Kunde(KundenNr, Name) hat_Adresse(KundenNr, Strasse, Ort, PLZ) Pkw(FahrzeugNr, Farbe, Baujahr) Hersteller(Name, Hauptsitz) Werkstatt(Name, FaxNr*) hat_telefon(WerkstattName, TelefonNr)

8 Überführung Schritt 3 – Nach und nach die Beziehungen auflösen 1:N-Beziehungen Wintersemester 15/16DBIS8 Kunde(KundenNr, Name) hat_Adresse(KundenNr, Strasse, Ort, PLZ) Pkw(FahrzeugNr, Farbe, Baujahr, KartenNr, KdnNr, HSt, WSt) Hersteller(Name, Hauptsitz) Werkstatt(Name, FaxNr*) hat_telefon(WerkstattName, TelefonNr)

9 Überführung Schritt 3 – Nach und nach die Beziehungen auflösen N:M-Beziehungen Wintersemester 15/16DBIS9 Kunde(KundenNr, Name) hat_Adresse(KundenNr, Strasse, Ort, PLZ) Pkw(FahrzeugNr, Farbe, Baujahr, KartenNr, KdnNr, HSt, WSt) Hersteller(Name, Hauptsitz) Werkstatt(Name, FaxNr*) hat_telefon(WerkstattName, TelefonNr)

10 Überführung Schritt 3 – Nach und nach die Beziehungen auflösen N:M-Beziehungen Wintersemester 15/16DBIS10 Kunde(KundenNr, Name) hat_Adresse(KundenNr, Strasse, Ort, PLZ) Pkw(FahrzeugNr, Farbe, Baujahr, KartenNr, KdnNr, HSt, WSt) Hersteller(Name, Hauptsitz) Werkstatt(Name, FaxNr*) hat_telefon(WerkstattName, TelefonNr) empfiehlt(HSt,WSt)

11 Überführung Schritt 3 – Nach und nach die Beziehungen auflösen N:M-Beziehungen Wintersemester 15/16DBIS11 Kunde(KundenNr, Name) hat_Adresse(KundenNr, Strasse, Ort, PLZ) Pkw(FahrzeugNr, Farbe, Baujahr, KartenNr, KdnNr, HSt, WSt) Hersteller(Name, Hauptsitz) Werkstatt(Name, FaxNr*) hat_telefon(WerkstattName, TelefonNr) empfiehlt(HSt,WSt) hasst(KundenNr, HSt)

12 Überführung Schritt 3 – Nach und nach die Beziehungen auflösen N:M-Beziehungen Wintersemester 15/16DBIS12 Kunde(KundenNr, Name) hat_Adresse(KundenNr, Strasse, Ort, PLZ) Pkw(FahrzeugNr, Farbe, Baujahr, KartenNr, KdnNr, HSt, WSt) Hersteller(Name, Hauptsitz) Werkstatt(Name, FaxNr*) hat_telefon(WerkstattName, TelefonNr) empfiehlt(HSt,WSt) hasst(KundenNr, HSt) bevorzugt(KundenNr, HSt)

13 Überführung Schritt 3 – Nach und nach die Beziehungen auflösen N:M-Beziehungen Wintersemester 15/16DBIS13 Kunde(KundenNr, Name) hat_Adresse(KundenNr, Strasse, Ort, PLZ) Pkw(FahrzeugNr, Farbe, Baujahr, KartenNr, KdnNr, HSt, WSt) Hersteller(Name, Hauptsitz) Werkstatt(Name, FaxNr*) hat_telefon(WerkstattName, TelefonNr) empfiehlt(HSt,WSt) hasst(KundenNr, HSt) bevorzugt(KundenNr, HSt) beteiligt_an(Mutter,Tochter)

14 Überführung Schritt 4 – Logische Prüfung des Modells Wintersemester 15/16DBIS14 Kunde(KundenNr, Name) hat_Adresse(KundenNr, Strasse, Ort, PLZ) Pkw(FahrzeugNr, Farbe, Baujahr, KartenNr, KdnNr, HSt, WSt) Hersteller(Name, Hauptsitz) Werkstatt(Name, FaxNr*) hat_telefon(WerkstattName, TelefonNr) empfiehlt(HSt,WSt) hasst(KundenNr, HSt) bevorzugt(KundenNr, HSt) beteiligt_an(Mutter,Tochter)

15 Überführung Schritt 4 – Logische Prüfung des Modells Wintersemester 15/16DBIS15 Kunde(KundenNr, Name) hat_Adresse(KundenNr, Strasse, Ort, PLZ) Pkw(FahrzeugNr, Farbe, Baujahr, KartenNr, KdnNr, HSt, WSt) Hersteller(Name, Hauptsitz) Werkstatt(Name, FaxNr*) hat_telefon(WerkstattName, TelefonNr) empfiehlt(HSt,WSt) hasst(KundenNr, HSt) bevorzugt(KundenNr, HSt) beteiligt_an(Mutter,Tochter) Die KartenNr in PKW?!  Eigene Relation für Miete semantisch sinnvoll

16 Überführung Schritt 3 – Nach und nach die Beziehungen auflösen N:M-Beziehungen Wintersemester 15/16DBIS16 Kunde(KundenNr, Name) hat_Adresse(KundenNr, Strasse, Ort, PLZ) Pkw(FahrzeugNr, Farbe, Baujahr, KartenNr, KdnNr, HSt, WSt) Hersteller(Name, Hauptsitz) Werkstatt(Name, FaxNr*) hat_telefon(WerkstattName, TelefonNr) empfiehlt(HSt,WSt) hasst(KundenNr, HSt) bevorzugt(KundenNr, HSt) beteiligt_an(Mutter,Tochter) Telefonnummern-Sharing?!

17 Überführung Schritt 4 – Kardinalitäten durch Optionalität retten „Nulloption“ auf der N-Seite in 1:N-Beziehungen bereits vorhanden „Nulloption“ in N:M bereits vorhanden  PKW.KdNr bleibt als sinnvoll übrig Weitere Attribute optional vorstellbar (eigenes Modell überprüfen): PKW.Farbe? Vermietung.KartenNr? Attribute in hat_Adresse? Hersteller.Hauptsitz? Wintersemester 15/16DBIS17

18 Überführung Schritt 5 – Kardinalitäten (und anderes) durch Integritätsbedingungen retten In Vermietung darf ein konkreter Kunde nur höchstens dreimal auftreten In beteiligt_an darf ein konkreter Hersteller nicht gleichzeitig als Mutter und Tochter auftreten (Gewährleistung von Zyklenfreiheit) In Werkstatt.Telefon sollte jede Telefonnummer nur einmal auftreten?!? (und andere Miniwelt-Spezifika) Wintersemester 15/16DBIS18

19 Aufgabe 2 Stücklisten Wintersemester 15/16DBIS19

20 Überführung in relationales Modell Wintersemester 15/16DBIS20

21 Überführung in relationales Modell Wintersemester 15/16DBIS21 Bauteil(Bezeichnung, Preis) Stückliste(Oberteil, Unterteil, Anzahl)

22 Relationsschema und Relationen BauteilBezeichnungPreis Wintersemester 15/16DBIS22 StücklisteOberteilUnterteilAnzahl

23 Relationsschema und Relationen BauteilBezeichnungPreis A1,00 B2,00 C3,00 D2,00 E4,00 X5,00 Y5,50 Z9,99 Wintersemester 15/16DBIS23 StücklisteOberteilUnterteilAnzahl

24 Relationsschema und Relationen BauteilBezeichnungPreis A1,00 B2,00 C3,00 D2,00 E4,00 X5,00 Y5,50 Z9,99 Wintersemester 15/16DBIS24 StücklisteOberteilUnterteilAnzahl XA1 XB1 XZ1 BE7 AC4 AD8 AE1 EZ3 DY5 CY4

25 Referenzielle Integrität I Im Allgemeinen nur solche Instanzen einer Datenbank erlaubt, deren Relationen die definierten Integritätsbedingungen erfüllen. Integritätsbedingungen sind deklarativ: Sie definieren die zulässigen Instanzen, ohne Aussagen zur konkreten Umsetzung. Z.B. Fremdschlüsselbedingungen keine defekten Verweise zwischen den Tupeln in den Tabellen  Referentielle Integrität Z.B. Trigger Regeln für Aktionen zur Gewährleistung der Integrität Auch für Behandlung von Verletzungen. Wintersemester 15/16DBIS25

26 Referenzielle Integrität II „Definition der Umsetzung“ über referential Actions: Mögliche referentielle Aktionen, wenn das Tupel, auf das sich der Fremdschlüssel bezieht, gelöscht (ON DELETE) bzw. geändert (ON UPDATE) wird: Wintersemester 15/16DBIS26

27 Referenzielle Integrität III Anwendbarkeit im Beispiel Wintersemester 15/16DBIS27

28 Aufgabe 3 Flüsse Wintersemester 15/16DBIS28

29 Lösung mit zwei Relationen Wintersemester 15/16DBIS29

30 Lösung mit zwei Relationen Wintersemester 15/16DBIS30 Fluss(Name, Länge) mündet_in(Hauptfluss, Nebenfluss, Ort) Sind in dem Modell Flüsse darstellbar, die in keinen anderen Fluss münden? Nullwerte sind schon wegen der Modellierung nicht erlaubt!

31 Lösung mit einer Relation Wintersemester 15/16DBIS31 Fluss(Name, Länge, Einmündungsfluss, Ort) Sind in dem Modell Flüsse darstellbar, die in keinen anderen Fluss münden? Fluss(Name, Länge, Einmündungsfluss*, Ort*)

32 Aufgabe 4 Relationen Wintersemester 15/16DBIS32

33 Zu a) Kreuzprodukt (kartesisches Produkt) sind alle Kombinationsmöglichkeiten der Domänenwerte, aus MatrNr x Fach x Semester Summe: 2 * 2 * 3 = 12 Elemente Ergebnis: (4711, Informatik, 1), (4711, Informatik, 2), (4711, Informatik, 3), (4711, Biologie, 1), (4711, Biologie, 2), (4711, Biologie, 3), (79005, Informatik, 1), (79005, Informatik, 2), (79005, Informatik, 3), (79005, Biologie, 1), (79005, Biologie, 2), (79005, Biologie, 3) Wintersemester 15/16DBIS33

34 Zu b) Die Kombinationsmöglichkeiten berechnen sich zum Beispiel mit 2 n, wobei n die Anzahl der Elemente des kartesischen Produktes ist = 4096 Wintersemester 15/16DBIS34

35 Zu c) MatrNr als Schlüssel  MatrNr muss eindeutig sein Ein Beispiel in Mengenschreibweise: R={(4711,Informatik,1), (79005, Informatik,2)} Ein Beispiel als Tabelle: Wintersemester 15/16DBIS Informatik Informatik2


Herunterladen ppt "Übungsblatt 4 Erläuterungen Wintersemester 15/16DBIS1."

Ähnliche Präsentationen


Google-Anzeigen