Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Grundlagen Datenbanken

Ähnliche Präsentationen


Präsentation zum Thema: "Grundlagen Datenbanken"—  Präsentation transkript:

1 Grundlagen Datenbanken
Zentralübung

2 Outline Überblick über den Stoff der Vorlesung
Was ist Klausur-relevant? DB2 Admin Kurs Fragen – Antworten zum Stoff

3 Kapitel 1: Einleitung Motivation für DBMS (Redundanzen, Inkonsistenzen, Mehrbenutzerbetrieb, …) Abstraktionsebenen eines DBMS, physische & logische Datenunabhängigkeit

4 Kapitel 2: Datenbankentwurf
ER-Modellierung Funktionalitäten / (min,max)-Angaben und dadurch gegebene partielle Funktionen existenzabhängige Entitytypen Generalisierung / Spezialisierung (disjunkt, vollständig) Aggregation

5 Kapitel 3: Das relationale Modell
Schema und Ausprägung Umsetzung eines konzeptuellen Schemas (ER-Modell) in ein relationales Schema: Entities und Beziehungstypen Verfeinerung des relationalen Schemas (1:N-Beziehungen, 1:1-Beziehungen, Null-Werte vermeiden): Nur Relationen mit gleichem Schlüssel zusammenfassen! Relationale Modellierung von Generalisierung und schwachen Entities Relationale Algebra, relationaler Tupelkalkül, relationaler Domänenkalkül

6 Kapitel 4: Relationale Anfragesprachen
SQL! DDL, DML create table, alter table, drop table, create view, with, insert into, delete from, update, select … from … where, distinct, avg, sum, max, min, count, order by, group by, having, exists, not in, all, any, between, like, case, (left / right) outer join, … JDBC

7 Kapitel 5: Datenintegrität
Integritätsbedingungen: - Schlüssel: eindeutige Werte; Kardinalitäten: z.B. „Vorlesung wird von einem Prof gelesen“ (implizit) - Wertebereiche, z.B. Rang aus {C2, C3, C4}, Name der Professoren muss definiert sein Referentielle Integrität: Fremdschlüssel ist entweder komplett null oder verweist auf ein existierendes Tupel Umsetzung in SQL: unique, primary key, not null, foreign key, references … on update / delete set null / cascade, check, constraint, create trigger

8 Kapitel 6: Relationale Entwurfstheorie
Funktionale Abhängigkeiten Armstrong-Axiome (Reflexivität, Verstärkung, Transitivität), daraus ergeben sich zusätzlich: Vereinigungsregel, Dekompositionsregel, Pseudotransitivitätsregel Algorithmus AttrHülle(F,alpha) Schlüssel: Superschlüssel, Schlüsselkandidaten, Kandidatenschlüssel, Primärschlüssel, volle funktionale Abhängigkeit Kanonische Überdeckung Anomalien bei schlechten Schemata: Update-, Einfüge, Löschanomalie Zerlegung von Relationen: Verlustlosigkeit, Abhängigkeitsbewahrung Normalformen: NF², 1NF, 2NF, 3NF, BCNF Synthesealgorithmus, Dekompositionsalgorithmus

9 Kapitel 7: Physische Datenorganisation
RAID Tupel-ID = [Seite, Eintrag] für die Referenzierung von Tupeln Indexstrukturen: ISAM, B-Bäume, B+-Bäume, (erweiterbares) Hashing, R-Baum, Clustering, In SQL: create index … on … , drop index

10 Kapitel 8: Anfragebearbeitung
Logische Optimierung: kanonische Übersetzung, Transformationsregeln (Selektionen früh, Kreuzprodukte  Joins, Join-Reihenfolge, evtl. Einfügen von Projektionen) mit dem Ziel: kleine Zwischenergebnisse Physische Optimierung: Iteratoren (open, next, close, cost, size), Pipelining, Implementierung der Selektion, Implementierung des (verfeinerten) Nested-Loops-Joins, Merge-Join, Hash-Join, Gruppierung und Duplikateliminierung, Projektion und Vereinigung, Kostenabschätzungen

11 Was ist Klausur-relevant?
Alles Übungsblätter sind eine gute Orientierung! Übung! (nicht nur theoretisches Verständnis)

12 DB2 Admin Kurs http://www-db.in.tum.de/teaching/ws0809/DB2AdminKurs/
Zertifizierungskurs für IBM DB2 Kurs: März 2009 Prüfung: 31. März 2009 (geringe) Gebühren für Anmeldung, Material und Prüfung Anmeldeschluss 21. Februar 2009 Benachrichtigung über die Teilnahme bis zum 2. März 2009

13 Relationale Algebra – Tupelkalkül – Domänenkalkül

14 Divisionsoperator R: S: R ÷ S:
„x ist im Ergebnis enthalten, wenn für jeden Wert b in S.B ein Tupel [x, b] in R existiert“

15 Rekursive Views: „alle Nachfolger der Vorlesung „Mäeutik“
create view Nachfolger (Vorl, Nachf) as ((select v.Vorgänger, v.Nachfolger from voraussetzen v) union all (select v.Vorgänger, n.Nachf from voraussetzen v, Nachfolger n where v.Nachfolger = n.Vorl)); select v2.Titel from Vorlesungen v1, Nachfolger n, Vorlesungen v2 where v1.Titel = ‚Mäeutik‘ and v1.VorlNr = n.Vorl and n.Nachf = v2.VorlNr

16 Rekursive Views: „alle Nachfolger der Vorlesung „Mäeutik“
Aufbau der View: V1  V2  V3  V4  V5 ( „ist Vorgänger von“) 1. Schritt: Einträge aus voraussetzen: [V1,V2], [V2,V3], [V3,V4], [V4,V5] V1  V2  V3  V4  V5 2. Schritt: voraussetzen join Nachfolger (enthält im Moment voraussetzen): V1  V2  V3  V4  V5 [V1,V3], [V2,V4], [V3,V5] 3. Schritt: voraussetzen join Nachfolger (enthält alle bereits aufgelisteten Tupel) V1  V2  V3  V4  V5 [V1,V4], [V2,V5] 4. Schritt: [V1,V5] v v v v v n v n v n v n v n

17 3NF Damit ein Relationenschema in 3NF ist muss für alle in diesem Relationenschema geltenden FDs α  β mindestens eine der folgenden Bedingungen gelten: - die FD ist trivial - α ist ein Superschlüssel - β ist prim (d.h. in einem Kandidatenschlüssel enthalten) Beispiel für die Überprüfung ob eine Relation in 3NF ist: PLZverzeichnis : {[Ort, Bland, Straße, PLZ]} geltende FDs: (1) {Straße, Ort, BLand}  {PLZ} (2) {PLZ}  {Ort, BLand} Überprüfung: - FD (1): die FD ist nicht trivial, aber α ist ein Superschlüssel (sogar der Primärschlüssel in diesem Fall) - FD (2): die FD ist nicht trivial, α ist kein Superschlüssel, aber β ist prim (Ort und BLand sind in einem Kandidatenschlüssel enthalten, nämlich im Primärschlüssel)  das Relationenschema ist also in 3NF


Herunterladen ppt "Grundlagen Datenbanken"

Ähnliche Präsentationen


Google-Anzeigen