dbis Einführung DBS I-Praktikum Database Life Cycle (Praktikum revisted - ein Überblick) Lehr- und Forschungseinheit Datenbanken und Informationssysteme dbis 1 Einführung DBS I-Praktikum [01] - ERM Modellierung I • Basiselemente von E-R-Diagrammen kennen • Grad, Kardinalität & Teilnahme verstehen und anwenden • einfache E-R-Modelle erstellen Lehr- und Forschungseinheit Datenbanken und Informationssysteme 2 1 dbis Einführung DBS I-Praktikum [02] - ERM Modellierung II • Generalisierung / Spezialisierung • Mehrstellige Beziehungen Lehr- und Forschungseinheit Datenbanken und Informationssysteme dbis 3 Einführung DBS I-Praktikum [03] - Relationenmodell (RM) • Relationenmodell • Transformation E-R-Modell in Relationenmodell Lehr- und Forschungseinheit Datenbanken und Informationssysteme 4 2 dbis Einführung DBS I-Praktikum Zweistellige Beziehungen (1:1) Autor Gutachter Gutachten 1 gehört zu 1 Diplomarbeit Gutachten (Gutachter, Autor) FOREIGN KEY (Autor) REFERENCES Diplomarbeit (Autor) Autor NOT NULL UNIQUE (Autor) Diplomarbeit (Autor) Lehr- und Forschungseinheit Datenbanken und Informationssysteme dbis 5 Einführung DBS I-Praktikum [04] – Normalisierung I • Schlüssel kennen und verstehen • Funktionale Abhängigkeiten • Normalformen • Kennen & Anwenden der Operatoren der Relationalen Algebra Lehr- und Forschungseinheit Datenbanken und Informationssysteme 6 3 dbis Einführung DBS I-Praktikum Funktionale Abhängigkeiten (Beispiel) • V=ABCDEFGH • F={ – AB C – FE B – ED – BD A – HF – GH E – GHE D } – BD C Ist GH C aus F ableitbar ? Lehr- und Forschungseinheit Datenbanken und Informationssysteme dbis 7 Einführung DBS I-Praktikum Schlüsselkandidaten (Beispiel) • V= {ABCDE} ; F= {AC, BD, EA; ACD; CDE } Lehr- und Forschungseinheit Datenbanken und Informationssysteme 8 4 dbis Einführung DBS I-Praktikum Normalformen 1.NF Alle Atribute sind atomar. 2.NF 1.NF + Kein Nicht-Schlüssel-Attribut darf von einer echten Teilmenge des Schlüsselkandidaten abhängen. 3.NF 1.NF + Alle Nicht-Schlüssel-Attribute dürfen nur direkt von Superschlüsseln abhängen. BCNF 1.NF + Alle Attribute dürfen nur direkt von Superschlüsseln abhängen. Lehr- und Forschungseinheit Datenbanken und Informationssysteme dbis 9 Einführung DBS I-Praktikum Normalformen (Beispiel ) (1) R = (A, B, C, D, E) FD {(A, B → C); (B → D); (D → E)} (2) R = (Ort, BLand, MinisterP, EW) FD { (Ort, BLand → EW); (BLand → MinisterP); (MinisterP → Bland)} (3) R = (A, B, C) (5) R = (A, B, C) (4) R = (A, B, C) (6) R = (A, B, C) FD {(a,c → b)(a → b)} FD {(a,c → b); (a,b → c)} FD {(a → b); (b → c)} FD {(a → b); (b → a)} Lehr- und Forschungseinheit Datenbanken und Informationssysteme 10 5 dbis Einführung DBS I-Praktikum [05] - Normalisierung II • Verlustlosigkeit • Abhängigkeitsbewahrung • Algo: Dekomposition • Algo: Basis • Algo: Synthese Lehr- und Forschungseinheit Datenbanken und Informationssysteme dbis 11 Einführung DBS I-Praktikum Dekomposition (Beispiel II) (1) Relation R = (ABCDE) FD1: FD2: FD3: FD4: A → BC BC→ A BCD→ E E→ C Lehr- und Forschungseinheit Datenbanken und Informationssysteme 12 6 dbis Einführung DBS I-Praktikum Algorithmus: Basis • Beschreibung • Kleinstmögliche noch äquivalente Menge (Fc) von FDs • Eigenschaften • Fc ≡ F, d.h. Fc+ = F+ (Hüllen identisch) • Input • Menge funktionaler Abhängigkeiten • Output • Minimale Menge funktionaler Abhängigkeiten Lehr- und Forschungseinheit Datenbanken und Informationssysteme dbis 13 Einführung DBS I-Praktikum Basis (Beispiel ) (1) R = (ABC) FD {(A → B); (B → C); (A → C); (A, B → C); (A → B, C)} Lehr- und Forschungseinheit Datenbanken und Informationssysteme 14 7 dbis Einführung DBS I-Praktikum Algorithmus: Synthese • Beschreibung • Zerlegung des Relationenschemas R in Teilrelationen • Eigenschaften • Erreichte Normalform: 3.NF • Verlustlose Zerlegung • Abhängigkeitserhaltende Zerlegung • Input • Menge funktionaler Abhängigkeiten • Relationenschema R • Output • Teilrelationen von R Lehr- und Forschungseinheit Datenbanken und Informationssysteme dbis 15 Einführung DBS I-Praktikum Synthese (Beispiel) (1) R = (ABCDEG) FD1: FD2: FD3: FD4: FD5: FD6: FD7: FD8: A, B → C C→A B, C → D C, D → B D → E, G B, E → C C, G → B C, E → G Lehr- und Forschungseinheit Datenbanken und Informationssysteme 16 8 dbis Einführung DBS I-Praktikum [06] - SQL I • Grundlagen von SQL • Beziehung zur relationalen Algebra • SELECT, FROM, WHERE • Joins • ORDER BY • Aggregatfunktionen Lehr- und Forschungseinheit Datenbanken und Informationssysteme dbis 17 Einführung DBS I-Praktikum [07] - SQL II • Fortgeschrittene SQL-Konstrukte – group by – having – union / intersect / except • Aggregatfunktionen revisited • Subqueries • Korrelierte Subqueries Lehr- und Forschungseinheit Datenbanken und Informationssysteme 18 9 dbis Einführung DBS I-Praktikum [08] - DB2 SQL, der Systemkatalog & .. • Auf DB2 – Datenbanken zugreifen • DB2 – Datenbanken benutzen – Abfragen ausführen – Den Systemkatalog benutzen – Import / Export von Daten • Constraints kennen & benutzen • Trigger kennen und benutzen Lehr- und Forschungseinheit Datenbanken und Informationssysteme dbis 19 Einführung DBS I-Praktikum [09] - DB-Programmierung • static SQL verstehen – Build-Prozess / Art des Datenzugriffs – Host-Variablen – Vor- / Nachteile • dynamic SQL verstehen – Build-Prozess / Art des Datenzugriffs – Parameter Marker – Vor- / Nachteile • DB2 – Zugriff mit Java selbst programmieren Lehr- und Forschungseinheit Datenbanken und Informationssysteme 20 10 dbis Einführung DBS I-Praktikum Fragen ? ? Lehr- und Forschungseinheit Datenbanken und Informationssysteme 21 11