Datenbankentwicklung IV-LK 1. 2. 3. 4. 5. 6. 7. Warum Datenbanken? Anforderungsanalyse für Datenbanken Ableitung von Tabellenstrukturen Normalisierung Relationenalgebra Formalisierung von Tabellen in SQL SQL- Anfragen Nicole Rottmann 2011/12 3. Ableitung von Tabellenstrukturen IV-LK 1. 2. 3. 4. Einführung des Tabellenbegriffs Übersetzung des ERM in Tabellen Besondere Askpekte der Übersetzung Aufgaben Nicole Rottmann 2011/12 3. Ableitung von Tabellenstrukturen 1. Einführung des Tabellenbegriffs IV-LK Beispiel für eine Tabelle zur Verwaltung von Bestellungen: Bestellung Kunde Bestellnr. Bestelldatum Status bezahlt 42 1 27.02.09 abgeschlossen wahr 66 2 28.02.09 abgeschlossen falsch 89 3 28.02.09 Bearbeitung falsch 42 4 28.02.09 Bearbeitung falsch Typische Tabelleneigenschaften: Nicole Rottmann 2011/12 3. Ableitung von Tabellenstrukturen 1. Einführung des Tabellenbegriffs IV-LK Definition Datentyp: Ein Datentyp ist eine Menge von Werten. Text: Ein Element des Datentyps Text ist eine beliebige Folge von Zeichen, die in einfachen Hochkommata eingeschlossen sind. Zahl: Ein Element des Datentyps Zahl ist eine beliebige Zahl, dabei wird nicht zwischen ganzen und Fließkommazahlen unterschieden. Datum: Ein Element des Datentyps Datum ist ein beliebiges gültiges Datum. Boolean: In der Menge Boolean sind die Wahrheitswerte „wahr“ und „falsch“ zusammengefasst. Definition Datentypen für Tabellen: In Tabellen können die Datentypen Text, Zahl, Datum und Boolean genutzt werden, dabei ist jeder ursprüngliche Datentyp um einen Wert NULL ergänzt worden. Nicole Rottmann 2011/12 3. Ableitung von Tabellenstrukturen 1. Einführung des Tabellenbegriffs IV-LK Definition Tabelle: Eine Tabelle hat einen Namen, eine Menge von Attributen {Att1,…,Attn}, wobei jedes Attribut Atti Teilmenge eines Datentyps für Tabellen ist, und einen Inhalt der Teilmenge des Kreuzproduktes der Attribute Att1x...xAttn. Durch das Kreuzprodukt wird die Menge aller möglichen Einträge beschrieben, die theoretisch in der Tabelle stehen können. Elemente dieses Kreuzproduktes werden auch n-Tupel genannt. Jedes dieser n-Tupel entspricht einer Zeile der Tabelle. Zahlungsmoral Kunde Zahlungsfähig 42 wahr 69 wahr 88 wahr 42 falsch 69 falsch 88 falsch Kunde Zahlungsfähig 42 wahr 69 falsch 88 falsch Tabelle als Teilmenge des Kreuzproduktes Tabellenartige Darstellung des Kreuzproduktes Nicole Rottmann 2011/12 3. Ableitung von Tabellenstrukturen 2. Übersetzung des ERM in Tabellen IV-LK Bei der Übersetzung von ERM in Tabellen gibt es drei zentrale Ziele: 1. Bei der Füllung der Tabellen mit Daten sollen redundante Daten vermieden werden. 2. Wenn es nicht aus praktischer Sicht notwendig ist, sollen keine NULLWerte zur Füllung der Tabellen notwendig werden. 3. Es soll unter Berücksichtigung von 1. und 2. eine möglichst minimale Anzahl von Tabellen entstehen. Nicole Rottmann 2011/12 3. Ableitung von Tabellenstrukturen 2. Übersetzung des ERM in Tabellen IV-LK Beispielmodell für Übersetzung: MiNr Name Mitarbeiter 1 TelNr telefoniert 1 Typ Firmenhandy M bearbeitet N Projekt N AbtNr Titel Rolle beauftragt Auftragsdatum Nicole Rottmann 1 Kunde KNr 2011/12 Name 3. Ableitung von Tabellenstrukturen 2. Übersetzung des ERM in Tabellen IV-LK 1. Schritt: Übersetzung der Entitätstypen Mitarbeiter Firmenhandy MiNr Name TelNr Typ 42 Egon 01777 Nokia 43 Erwin 01700 Siemens 44 Erna 01622 Erikson Projekt AbtNr Titel 1 DBX 1 Jovo 2 DBX Kunde Nicole Rottmann KNr Name 54 Bonzo 55 Collecto 2011/12 3. Ableitung von Tabellenstrukturen 2. Übersetzung des ERM in Tabellen IV-LK 2. Schritt: Übersetzung von 1:1-Beziehungen Mitarbeiter MiNr Name 42 Egon 43 Erwin 44 Erna TelNr 01777 01700 01622 Typ Nokia Siemens Erikson In der neuen Tabelle Mitarbeiter wurden die Tabellen Mitarbeiter und Firmenhandy zusammen gefasst. Hätte die Beziehung Attribute, würden diese mit in die Tabelle aufgenommen. Nicole Rottmann 2011/12 3. Ableitung von Tabellenstrukturen 2. Übersetzung des ERM in Tabellen IV-LK 3. Schritt: Übersetzung von 1:N Beziehungen Projekt Kunde AbtNr Titel KNr Auftragsdatum Knr Name 1 DBX 54 26.02.06 54 Bonzo 1 Jovo 54 06.05.06 55 Collecto 2 DBX 55 27.02.06 Die Attribute der Beziehung werden mit in die Tabelle aufgenommen. Die Spalte KNr wird Fremdschlüssel genannt, da über ihre Werte auf jeweils genau einen Kunden geschlossen werden kann. Nicole Rottmann 2011/12 3. Ableitung von Tabellenstrukturen 2. Übersetzung des ERM in Tabellen IV-LK 4.Schritt: Übersetzung von M:N-Beziehungen Mitarbeiter Bearbeitung MiNr AbtNr Titel Rolle MiNr Name TelNr Typ 42 1 DBX Design 42 Egon 01777 Nokia 42 1 Jovo Review 43 Erwin 01700 Siemens 43 2 DBX Analyse 44 Erna 01622 Erikson 44 1 Jovo Design 44 2 DBX Review Projekt AbtNr Titel Knr Auftragsdatum Kunde 1 DBX 54 26.02.06 KNr Name 1 Jovo 54 06.05.06 54 Bonzo 2 DBX 55 27.02.06 55 Collecto Nicole Rottmann 2011/12 3. Ableitung von Tabellenstrukturen 2. Übersetzung des ERM in Tabellen IV-LK Umgang mit C und NC: 1. Jeder Mitarbeiter kann ein Firmenhandy haben, muss aber nicht. 2. Es gibt Handys, die keinem Mitarbeiter zugeordnet sind. Nicole Rottmann 2011/12 3. Ableitung von Tabellenstrukturen 2. Übersetzung des ERM in Tabellen IV-LK Übersetzung einer komplexen Beziehung: Name Gehalt Fachbereich Professor Name NC NC trinkt Bier Name Kneipe Hersteller NC Plätze Nicole Rottmann 2011/12 3. Ableitung von Tabellenstrukturen 4. Wiederholungsfragen IV-LK 1. 2. 3. 4. 5. 6. 7. 8. 9. Wie kann man den Begriff Tabelle genau beschreiben? Was versteht man unter Datentypen? Erkläre anschaulich den Begriff Kreuzprodukt. Wozu gibt es NULL-Werte? Wie viele verschiedene gibt es davon? Nenne drei zentrale Ziele der Übersetzung von Enitiy-RelationshipModellen. Beschreibe die Übersetzung der verschiedenen Beziehungstypen aus ERM in Tabellen. Wie werden Beziehungen mit C-bzw. NC-Kardinalitäten übersetzt? Warum wird dieser Weg gewählt? Wie werden Beziehungen zwischen mehr als zwei Entitätstypen übersetzt? Beschreibe unterschiedliche Modellierungen für den gleichen Sachverhalt und deren Auswirkungen auf die aus der Übersetzung resultierenden Tabellen. Nicole Rottmann 2011/12 3. Ableitung von Tabellenstrukturen 4. Übungsaufgaben IV-LK 1. Übersetze mit dem vorgestellten Verfahren das folgende ERM in Tabellen. Einwohner Länge Name Name Hauptstadt von 1 Breite Stadt C Länge NC 1 N C Land M liegt in MC Mitglied von beheimatet grenzt an Status NC C Organisation Name Gründungsdatum Gib zwei Änderungen an, die du für praxisnäher hältst. Nicole Rottmann 2011/12 3. Ableitung von Tabellenstrukturen 2. Übersetzung des ERM in Tabellen IV-LK 2. Gegeben sei folgendes allgemeine ERM. A2 R1 A1 A y R2 B1 B2 x rel B3 B Gib für alle Kombinationen von Kardinalitäten für x und y, also insgesamt 16 Möglichkeiten, die Tabellen an, die Ergebnis der Übersetzung sind. Nicole Rottmann 2011/12