Grundlagen Datenbanken

Slides:



Advertisements
Ähnliche Präsentationen
Datenintegrität Einschränkung der möglichen Datenbankzustände und -übergänge auf die in der Realität möglichen Formulierung von Integritätsbedingungen.
Advertisements

Datenintegrität Integitätsbedingungen Schlüssel
ER-Datenmodell und Abfragen in SQL
Deduktive Datenbanken
spezielle Nutzersichten formale Ebene (deskriptive Regeln)
Normalisierung II Lehr- und Forschungseinheit Datenbanken und Informationssysteme.
[01] - ERM Modellierung I Basiselemente von E-R-Diagrammen kennen
© A. Kemper / A. Eickler1 Kapitel 5: Datenintegrität Integitätsbedingungen Schlüssel Beziehungskardinalitäten Attributdomänen Inklusion bei Generalisierung.
Systemüberblick Beispiele: Microsoft Access Oracle Ingres Informix
SQL als Abfragesprache
SQL als Abfragesprache
IS: Datenbanken, © Till Hänisch 2000 CREATE TABLE Syntax: CREATE TABLE name ( coldef [, coldef] [, tableconstraints] ) coldef := name type [länge], [[NOT]NULL],
Prof. Dr. T. Kudraß1 DB-Tuning. Prof. Dr. T. Kudraß2 Tuning des konzeptuellen Schemas Das Design des konzeptuellen Schemas ist beeinflußt durch das Lastprofil.
Datenintegrität Referentielle Integrität create table
1 Datenintegrität Statische Bedingung (jeder Zustand) Dynamische Bedingung (bei Zustandsänderung) Bisher: Definition eines Schlüssels 1:N - Beziehung Angabe.
1 Kapitel 8: Datenintegrität. 2 Datenintegrität Statische Bedingung (jeder Zustand) Dynamische Bedingung (bei Zustandsänderung) Bisher: Definition eines.
Kapitel 9: Integritätssicherung
3.5.2 Fremdschlüssel/ Referentielle Integrität (6/9)
3.5.2 Fremdschlüssel/ Referentielle Integrität (1/9)
SQL in Visual FoxPro. © 1999 TMN-Systemberatung GmbH SQL Historie n SQL - Structured Query Language n In den 70er Jahren von IBM entwickelt n 1986 zum.
Datenbankentwicklung IV-LK
Die Grundterminologie
FH-Hof Standard Query Language Richard Göbel. FH-Hof Geschichte der Sprache SQL System/R-Projekts von IBM zu Beginn der 70er Jahre: Entwicklung der Sprache.
SS 2013 – IBB4B Datenmanagement Fr 17:00 – 18:30 R Vorlesung #5 Relationale Entwurfstheorie.
Kapitel 6 Relationale Entwurfstheorie
Datenintegrität Integitätsbedingungen Schlüssel
WS 2009/10 Datenbanksysteme Fr 15:15 – 16:45 R Vorlesung #6 SQL (Teil 3)
WS 2013/14 Datenbanksysteme Do 17:00 – 18:30 R Vorlesung #4 SQL (Teil 1)
SS 2011 – IBB4C Datenmanagement Fr 15:15 – 16:45 R Vorlesung #5 Relationale Entwurfstheorie.
WS 2013/14 Datenbanksysteme Do 17:00 – 18:30 R Vorlesung #6 SQL (Teil 3)
SS 2010 – IBB4C Datenmanagement Fr 15:15 – 16:45 R Vorlesung #2 Datenbankentwurf.
WS 2011/12 Datenbanksysteme Fr 15:15 – 16:45 R Vorlesung #6 SQL (Teil 3)
SS 2004 Datenbanken 4W Mi 13:30 – 15:00 G 2.30 Vorlesung #7 SQL (Teil 2)
WS 2011/12 Datenbanksysteme Mi 15:15 – 16:45 R Vorlesung #9 Physische Datenorganisation.
Vorlesung #4 SQL (Teil 1).
WS 2011/12 Datenbanksysteme Fr 15:15 – 16:45 R Vorlesung #8 Anfragebearbeitung.
SS 2004 Datenbanken 4W Mi 13:30 – 15:00 G 2.30 Vorlesung #8 SQL (Teil 3)
WS 2011/12 Datenbanksysteme Fr 15:15 – 16:45 R Vorlesung #3 Das relationale Modell (Teil 2)
SS 2004 Datenbanken 4W Mi 13:30 – 15:00 G 2.30 Vorlesung #6 SQL (Teil 1)
WS 2013/14 Datenbanksysteme Do 17:00 – 18:30 R Vorlesung #7 SQL (Teil 4)
WS 2013/14 Datenbanksysteme D0 15:15 – 16:45 R Vorlesung #5 SQL (Teil 2)
WS 2012/13 Datenbanksysteme Fr 15:15 – 16:45 R Vorlesung #9 Anfragebearbeitung.
WS 2007/08 Datenbanksysteme Mi 17:00 – 18:30 R Vorlesung #9 Anfragebearbeitung (Teil 1)
WS 2007/08 Datenbanksysteme Mi 17:00 – 18:30 R Vorlesung #5 SQL (Teil 2)
WS 2012/13 Datenbanksysteme Fr 15:15 – 16:45 R Vorlesung #7 SQL (Teil 4)
Vorlesung #4 Überführung des ER-Modells in das relationale Modell
WS 2011/12 Datenbanksysteme Fr 15:15 – 16:45 R Vorlesung #4 SQL (Teil 1)
Datenbanksysteme für hörer anderer Fachrichtungen
Einführung in Datenbankmodellierung und SQL
WS 2011/12 Datenbanksysteme Fr 15:15 – 16:45 R Vorlesung #5 SQL (Teil 2)
Vorlesung #10 Physische Datenorganisation
Relationales Datenmodell und DDL
WS 2013/14 Datenbanksysteme Do 17:00 – 18:30 R Vorlesung #9 Anfragebearbeitung.
Structured Query Language
WS 2004/2005 Datenbanken II - 5W Mi 17:00 – 18:30 G 3.18 Vorlesung #3 Anfragebearbeitung (Teil 1)
Vorlesung #5 SQL (Teil 2).
SS 2014 – IBB4C Datenmanagement Do 17:00 – 18:30 R Vorlesung #2 Datenbankentwurf.
WS 2014/15 Datenbanksysteme D0 15:15 – 16:45 R Vorlesung #6 SQL (Teil 3)
Datenbank für Skriptenverkauf
SS 2015 – IBB4C Datenmanagement Fr 17:00 – 18:30 R Vorlesung #2 Datenbankentwurf.
WS 2014/15 Datenbanksysteme Do 17:00 – 18:30 R Vorlesung #9 SQL Zusammenfassung.
Datenbanken abfragen mit SQL
Übungsblatt 4 Erläuterungen Wintersemester 15/16 DBIS.
Datenbanken Relationale Entwurfstheorie Ralf Möller Universität zu Lübeck Institut für Informationssysteme.
Technische Universität München Übung zur Einführung in die Informatik für Hörer anderer Fachrichtungen im Sommersemester 2010 Sitzung 6: Datenbanksysteme.
Veranstaltung: Datenbanken I Dozent: Ioannis Papakostas Belegarbeit 6 Online-Bestellung von Büchern Stefan Rüschenberg (Matrikel-Nr.: ) Sebastian.
Vorlesung #5 SQL (Teil 2).
Vorlesung #7 SQL (Teil 4).
 Präsentation transkript:

Grundlagen Datenbanken Zentralübung 30.01.2009

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

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

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

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

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

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

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

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

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

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

DB2 Admin Kurs http://www-db.in.tum.de/teaching/ws0809/DB2AdminKurs/ Zertifizierungskurs für IBM DB2 Kurs: 16.-20. 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

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

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“

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

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

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