Grundlagen: Datenbanken WS 15/16



Ähnliche Dokumente
Grundlagen: Datenbanken

Relationale Entwurfstheorie. Kapitel / 510

Funktionale Abhängigkeiten

2. Übungsblatt 3.0 VU Datenmodellierung

Einführung in Datenbanken - Wiederholung Normalformen - Philipp Cimiano AG Semantische Datenbanken und Wissensverarbeitung

Kapitel 7: Formaler Datenbankentwurf

mit Musterlösungen Prof. Dr. Gerd Stumme, Dipl.-Inform. Christoph Schmitz 11. Juni 2007

Relationale Kalküle. Grundlagen der Datenbanken. Dr. Jérôme Kunegis Wintersemester 2013/14

Einleitung Projektion Selektion Join Mengenop. Vollst.keit. Einleitung Projektion. Selektion Join. Vollst.keit. Einleitung Projektion Selektion Join

Einführung in die Algebra

Kapitel 7 Dr. Jérôme Kunegis. Logische Kalküle. WeST Web Science & Technologies

Musterlösungen zur Linearen Algebra II Blatt 5

Fachbereich Wirtschaftswissenschaften Campus Sankt Augustin

Design Theorie für relationale Datenbanken

Datenbanksysteme I Übung: Relationale Algebra. Jana Bauckmann

Kapitel 4 Die Datenbank Kuchenbestellung Seite 1

Algorithmen II Vorlesung am

Lineargleichungssysteme: Additions-/ Subtraktionsverfahren

TU München, Fakultät für Informatik Lehrstuhl III: Datenbanksysteme Prof. Dr. Thomas Neumann

Die Gleichung A x = a hat für A 0 die eindeutig bestimmte Lösung. Für A=0 und a 0 existiert keine Lösung.

Würfelt man dabei je genau 10 - mal eine 1, 2, 3, 4, 5 und 6, so beträgt die Anzahl. der verschiedenen Reihenfolgen, in denen man dies tun kann, 60!.

7 Rechnen mit Polynomen

Lineare Algebra und Lösung linearer zeitinvarianter Differentialgleichungssysteme

Das SQL-Schlüsselwort ALL entspricht dem Allquantor der Prädikatenlogik

Bevor lineare Gleichungen gelöst werden, ein paar wichtige Begriffe, die im Zusammenhang von linearen Gleichungen oft auftauchen.

Grundlagen der Theoretischen Informatik, SoSe 2008

Definition und Begriffe

TU München, Fakultät für Informatik Lehrstuhl III: Datenbanksysteme Prof. Alfons Kemper, Ph.D.

1. Speicherbausteine JK-RS-Master-Slave-Flip-Flop

Fachschaft Mathematik und Informatik (FIM) LA I VORKURS. Herbstsemester gehalten von Harald Baum

Elemente der Analysis I Kapitel 2: Einführung II, Gleichungen

OECD Programme for International Student Assessment PISA Lösungen der Beispielaufgaben aus dem Mathematiktest. Deutschland

Constraint-Algorithmen in Kürze - Mit der Lösung zur Path-Consistency-Aufgabe 9

Grundlagen der Künstlichen Intelligenz

Kalkülteil. Structured Query Language, SQL. 1. Semantik: erzeuge alle Kombinationen von Tupeln

Übung Theoretische Grundlagen Nachtrag zur Vorlesung Dirk Achenbach

Normalformen: Sinn und Zweck

Lineare Gleichungssysteme

Formale Systeme, WS 2012/2013 Lösungen zu Übungsblatt 4

Anmerkungen zur Übergangsprüfung

Datenbanken. Sommersemester 2010 Probeklausur

Condorcet-Paradox (der sozialen Entscheidung mit einfacher Mehrheit)

Informatik I WS 07/08 Tutorium 24

Welche Lagen können zwei Geraden (im Raum) zueinander haben? Welche Lagen kann eine Gerade bezüglich einer Ebene im Raum einnehmen?

Advoware mit VPN Zugriff lokaler Server / PC auf externe Datenbank

Übungsblatt 4. Aufgabe 7: Datensicht Fachkonzept (Klausur SS 2002, 1. Termin)

Gleichungen und Ungleichungen

Lösungen zu Kapitel 7

Übungskomplex Felder (1) Eindimensionale Felder Mehrdimensionale Felder

Lineare Funktionen. 1 Proportionale Funktionen Definition Eigenschaften Steigungsdreieck 3

Terme stehen für Namen von Objekten des Diskursbereichs (Subjekte, Objekte des natürlichsprachlichen Satzes)

Erfüllbarkeit und Allgemeingültigkeit

Grundlagen der höheren Mathematik Einige Hinweise zum Lösen von Gleichungen

Frohe Weihnachten und ein gutes neues Jahr!

Übungen zur Vorlesung. Mobile und Verteilte Datenbanken. WS 2008/2009 Blatt 6. Lösung

Mathematischer Vorbereitungskurs für Ökonomen

Plotten von Linien ( nach Jack Bresenham, 1962 )

Übung Datenbanken in der Praxis. Relationale Algebra

1. Ziel des Datenbankentwurfs

1. Weniger Steuern zahlen

Lösungsvorschlag für die Probeklausuren und Klausuren zu Algebra für Informations- und Kommunikationstechniker bei Prof. Dr.

Übung 9. Tutorübung zu Grundlagen: Datenbanken (Gruppen Do-T24 / Do-T31 WS 2016/2017)

Übung Datenbanksysteme Normalformen

50. Mathematik-Olympiade 2. Stufe (Regionalrunde) Klasse Lösung 10 Punkte

Kurzanleitung fu r Clubbeauftragte zur Pflege der Mitgliederdaten im Mitgliederbereich

Lineare Gleichungssysteme

1 topologisches Sortieren

Zusatztutorium,

5. Übung: PHP-Grundlagen

Statistik I für Betriebswirte Vorlesung 11

Primzahlen und RSA-Verschlüsselung

Erstellen von x-y-diagrammen in OpenOffice.calc

Der Provider möchte möglichst vermeiden, dass die Werbekampagne auf Grund des Testergebnisses irrtümlich unterlassen wird.

Algorithmentheorie Maximale Flüsse

1 Vom Problem zum Programm

Einfache Varianzanalyse für abhängige

1. Man schreibe die folgenden Aussagen jeweils in einen normalen Satz um. Zum Beispiel kann man die Aussage:

Satz. Für jede Herbrand-Struktur A für F und alle t D(F ) gilt offensichtlich

Grundlagen: Datenbanken

Kapitel 15. Lösung linearer Gleichungssysteme

Die Größe von Flächen vergleichen

Kapitel 8: Physischer Datenbankentwurf

Mathematische Grundlagen der Informatik 2

Mediator 9 - Lernprogramm

MdtTax Programm. Programm Dokumentation. Datenbank Schnittstelle. Das Hauptmenü. Die Bedienung des Programms geht über das Hauptmenü.

Systeme 1. Kapitel 6. Nebenläufigkeit und wechselseitiger Ausschluss

Klausur zur Vorlesung Datenbanken I im Wintersemester 2011/12

MASTER-BERATUNG. im Fach Kunstgeschichte

4 Vorlesung: Matrix und Determinante

2 Evaluierung von Retrievalsystemen

Der Zwei-Quadrate-Satz von Fermat

AutoCAD Dienstprogramm zur Lizenzübertragung

Lösungsmethoden gewöhnlicher Differentialgleichungen (Dgl.)

Datenbanksysteme 2 Frühjahr-/Sommersemester Mai 2014

Internet online Update (Mozilla Firefox)

4. Versicherungsangebot

Downloadfehler in DEHSt-VPSMail. Workaround zum Umgang mit einem Downloadfehler

In diesem Thema lernen wir die Grundlagen der Datenbanken kennen und werden diese lernen einzusetzen. Access. Die Grundlagen der Datenbanken.

Transkript:

Grundlagen: Datenbanken WS 15/16 2. Zentralübung / Wiederholung / Fragestunde Harald Lang gdb@in.tum.de

Diese Folien finden Sie online. Die Mitschrift erhalten Sie im Anschluss.

Termine Klausur 24.02.2016, 10:30-12:30 Uhr Anmeldung bis 15.01.2016 Weihnachtsferien 24.12.2015-6.1.2016 HINWEIS: Ein Übungblatt für die Wochen 21.-23.12 (Mo-Mi) und 7.-8.1. (Do, Fr).

Agenda Relationale Anfragesprachen Anmerkungen zur relationalen Algebra Anmerkung: Natural-Join vs. allgemeiner Theta-Join Kalkül: Freie vs. gebundene Variablen SQL Anmerkung zu Unteranfragen Gruppierung / Aggregation All-Quantifizierung Relationale Entwurfstheorie...

Anmerkungen zur relationalen Algebra Geklammerter Ausdruck vs. Operatorbaum Umbenennung Π s.matrnr,v.vorlnr, v.titel ρv ρs ρ h Vorlesungen Studenten hören

Anmerkung: Natural-Join vs. allgemeiner Theta-Join Natural Theta Natural Theta Inner θ Outer,, θ, θ, θ Semi, θ, θ Anti, θ, θ Implizite Gleichheitsbedingung auf gleichnamigen Attributen Die gleichnamigen Attribute tauchen im Ergebnis nur einmal auf (inner und outer). Explizite (beliebige) Joinbedingung: θ. Im Falle von Inner- und Outer-Join werden alle Attribute der beiden Eingaberelationen in das Ergebnis projiziert.

Kalkül: Freie vs. gebundene Variablen (1/2) R : {[a, b, c]}, S : {[d, e, f]} Relationale Algebra: Q 1 := R a=d S Tupelkalkül: Q 1 := { r s r R s S r.a = s.d} Domänenkalkül: Q 1 := { [a, b, c, a, e, f] [a, b, c] R [a, e, f] S}

Kalkül: Freie vs. gebundene Variablen (2/2) R : {[a, b, c]}, S : {[d, e, f]} Relationale Algebra: Q 2 := R a=d S Tupelkalkül: Q 2 := { r r R s S(r.a = s.d) } Domänenkalkül: Q 2 := { [a, b, c] [a, b, c] R e, f([a, e, f] S) } Alle Domänen- / Tupelvariablen tauchen entweder in der Projektion auf, oder wurden explizit quantifiziert.

Anmerkung zu Unteranfragen in SQL select * from R where R.x = (select y from S where... ) Die Unteranfrage muss genau einen skalaren Wert ausgeben. select * from R where R.x in (select y from S where... ) Die Unteranfrage muss eine Menge von skalaren Werten ausgeben.

Übung: Gruppierung/Aggregation in SQL "Gute Studenten": Finde Studenten in höheren Semestern (sem > 5) mit einem Notenschnitt < 2.5. Geben Sie MatrNr, Name und Notenschnitt aus.

Übung: All-Quantifizierung in SQL Finde Studenten, die ALLE Vorlesungen gehört haben.

Relationale Entwurftheorie Funktionale Abhängigkeiten (kurz FDs, für functional dependencies): Seien α und β Attributmengen eines Schemas R. Wenn auf R die FD α β definiert ist, dann sind nur solche Ausprägungen R zulässig, für die folgendes gilt: Für alle Paare von Tupeln r, t R mit r.α = t.α muss auch gelten r.β = t.β.

Übung: Relationenausprägung vervollständigen Gegen seien die folgende Relationenausprägung und die funktionalen Abhängigkeiten. Bestimmen Sie zunächst x und danach y, sodass die FDs gelten. B A AC D A B C D 7 3 5 8 x 4 2 8 7 3 6 9 1 4 2 y

Funktionale Abhängigkeiten Seien α,β,γ,δ R Axiome von Armstrong: Reflexivität: Falls β α, dann gilt immer α β Verstärkung: Falls α β gilt, dann gilt auch αγ βγ Transitivität: Falls α β und β γ gelten, dann gilt auch α γ Mithilfe dieser Axiome können alle geltenden FDs hergeleitet werden. Sei F eine FD-Menge. Dann ist F + die Menge aller geltenden FDs (Hülle von F )

Funktionale Abhängigkeiten Nützliche und vereinfachende Regeln: Vereinigungsregel: Falls α β und α γ gelten, dann gilt auch α βγ Dekompositionsregel: Falls α βγ gilt, dann gilt auch α β und α γ Pseudotransitivitätsregel: Falls α β und γβ δ gelten, dann gilt auch γα δ

Schlüssel Schlüssel identifizieren jedes Tupel einer Relation R eindeutig. Eine Attributmenge α R ist ein Superschlüssel, gdw. α R Ist α zudem noch minimal, ist es auch ein Kandidatenschlüssel (meist mit κ bezeichnet) Es existiert also kein α α für das gilt: α R I.A. existieren mehrere Super- und Kandidatenschlüssel. Man muss sich bei der Realisierung für einen Kandidatenschlüssel entscheiden, dieser wird dann Primärschlüssel genannt. Der triviale Schlüssel α = R existiert immer.

Übung: Schlüsseleigenschaft von Attributmengen ermitteln Ob ein gegebenes α ein Schlüssel ist, kann mithilfe der Armstrong Axiome ermittelt werden (i.a. zu aufwendig!) Besser: Die Attributhülle AH(α) bestimmen. Beispiel: R = { A, B, C, D }, mit F R = {AB CD, B C, D B} AH({D}): AH({A, D}): AH({A, B, D}):

Normalformen: 1NF 2NF 3NF BCNF 4NF 1. NF: Attribute haben nur atomare Werte, sind also nicht mengenwertig. 2. NF: Jedes Nichtschlüsselattribut (NSA) ist voll funktional abhängig von jedem Kandidatenschlüssel. β hängt voll funktional von α ab (α β), gdw. α β und es existiert kein α α, so dass α β gilt. 3. NF: Frei von transitiven Abhängigkeiten (in denen NSAe über andere NSAe vom Schlüssel abhängen). für alle geltenden nicht-trivialen FDs α β gilt entweder α ist ein Superschlüssel, oder jedes Attribut in β ist in einem Kandidatenschlüssel enthalten BCNF: Die linken Seiten (α) aller geltenden nicht-trivalen FDs sind Superschlüssel. 4. NF: Die linken Seiten (α) aller geltenden nicht-trivalen MVDs sind Superschlüssel.

Übung: Höchste NF bestimmen R : {[ A, B, C, D, E ]} A BCDE AB C 1. NF 2. NF 3. NF 4. NF BCNF keine der angegebenen

Übung: Höchste NF bestimmen (2) R : {[ A, B, C, D, E ]} A BCDE B C 1. NF 2. NF 3. NF 4. NF BCNF keine der angegebenen

Schema in 3. NF überführen Synthesealgorithmus Eingabe: Kanonische Überdeckung F c Algorithmus: Linksreduktion Rechtsreduktion FDs der Form α entfernen (sofern vorhanden) FDs mit gleicher linke Seite zusammenfassen 1. Für jede FD α β in F c forme ein Unterschema R α = α β, ordne R α die FDs F α := {α β F c α β R α } zu 2. Füge ein Schema R κ mit einem Kandidatenschlüssel hinzu 3. Eliminiere redundante Schemata, d.h. falls R i R j, verwerfe R i Ausgabe: Eine Zerlegung des unsprünglichen Schemas, wo alle Schemata in 3.NF sind. Die Zerlegung ist abhängigkeitsbewahrend und verlustfrei.

Übung: Synthesealgorithmus (1) R : {[ A, B, C, D, E, F ]} B ACDEF EF BC A D

Übung: Synthesealgorithmus (2) R = { A, B, C, D, E, F, G}, F R = {A BCDE, E F B, F A}

Schema in BCNF überführen BCNF-Dekompositionsalgorithmus Starte mit Z = {R} Solange es noch ein R i Z gibt, das nicht in BCNF ist: Finde eine FD (α β) F + mit α β R i α β = α R i / F + Zerlege Ri in R i.1 := α β und R i.2 := R i β Entferne Ri aus Z und füge R i.1 und R i.2 ein, also Z := (Z {R i }) {R i.1 } {R i.2 }

BCNF-Dekompositionsalgorithmus R = { A, B, C, D, E, F }, F R = {B AD, DEF B, C AE}