Relationales Datenmodell Relationale Algebra

Ähnliche Dokumente
Grundlagen des relationalen l Modells

Vorlesung Datenbanksysteme vom

Rückblick: Datenbankentwurf

Vorlesungen. Studenten. hören. Grundzüge. Fichte Glaube und Wissen Jonas

Wiederholung: Relationale Algebra

Grundlagen des relationalen Modells

3. Das Relationale Datenmodell

Das relationale Modell

3. Das Relationale Datenmodell

3. Grundlagen relationaler Datenbanksysteme

Wiederholung VU Datenmodellierung

Grundlagen des relationalen Modells

Das Relationale Modell

Datenbanksysteme SS 2007

Das relationale Datenmodell

Query Languages (QL) Relationale Abfragesprachen/Relational

Das Relationale Modell

Abstraktionsschichten. Das Relationale Datenmodell

Grundlagen von Datenbanken

Relationen-Algebra. Prof. Dr. T. Kudraß 1

Rückblick: Relationales Modell

Wirtschaftsinformatik 7a: Datenbanken. Hochschule für Wirtschaft und Recht SS 16 Dozent: R. Witte

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

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

Das relationale Modell

Datenbanken Unit 4: Das Relationale Modell & Datenintegrität

Kap. 3 Relationenmodell mit relationaler Algebra

Datenbankentwurf. Kapitel 3. Datenbankentwurf 76 / 508

Kapitel 2: Das Relationale Modell

WS 2010/11 Datenbanksysteme Fr 15:15 16:45 R Vorlesung #3. SQL (Teil 1)

Relationale Datenbanken

Anfrageoptimierung Logische Optimierung

Kapitel 2: Das Relationale Modell

Software-Engineering

E-R-Modell zu Relationenschema

Kapitel 3: Datenbanksysteme

9. Einführung in Datenbanken

Kapitel 5 Dr. Jérôme Kunegis. SQL: Grundlagen. WeST Institut für Web Science & Technologien

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

2.5 Relationale Algebra

Dieser Foliensatz darf frei verwendet werden unter der Bedingung, dass diese Titelfolie nicht entfernt wird.

Vorlesung DBIS I (WS 2005/2006) Teil 4

3. Das Relationale Datenmodell

Informatik II Vorlesung am D-BAUG der ETH Zürich

Kapitel DB:IV (Fortsetzung)

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


Datenbanken Unit 3: Das relationale Modell

Datenbanken Unit 3: Das relationale Modell

Kapitel 1: Einführung 1.1 Datenbanken?

Handout zur Unit Datenmodellierung Web-Technologien Datenmodellierung Prof. Dr. rer. nat. Nane Kratzke

Daniel Warner SQL. Das Praxisbuch. Mit 119 Abbildungen. Franzis

Datenbanken. Datenintegrität + Datenschutz. Tobias Galliat. Sommersemester 2012

Datenbanktheorie. Teil A: Einleitung 1: Grundbegriffe. Sommersemester Thomas Schwentick. Version von: 4. April 2012 (11:50)

SQL. SQL: Structured Query Language. Früherer Name: SEQUEL. Standardisierte Anfragesprache für relationale DBMS: SQL-89, SQL-92, SQL-99

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

mit Musterlösungen Prof. Dr. Gerd Stumme, Dipl.-Inform. Christoph Schmitz 14. Mai 2007 σ KID= 11a (Schüler) π S Name (σ KID= 11a (Schüler))

Datenbanksysteme: Entwurf

Relationale Entwurfstheorie (Teil 2)

Rückblick: Entity-Relationship-Modell

Grundlagen: Datenbanken

Inhaltsverzeichnis. Lothar Piepmeyer. Grundkurs Datenbanksysteme. Von den Konzepten bis zur Anwendungsentwicklung ISBN:

Medizininformatik Software Engineering

Kapitel 1: Einführung 1.1 Datenbanken?

Konzeptuelle Modellierung

Universität Augsburg, Institut für Informatik WS 2009/2010 Prof. Dr. W. Kießling 06. Nov Dr. A. Huhn, F. Wenzel, M. Endres Lösungsblatt 2

d.h. zu Definitions-Stelle eindeutiger Funktionswert x X! y Y : (x,y) f umgekehrt: (x 1,y), (x 2,y) f ist o.k. X Y f(x) = y

Abschnitt 3: Mathematische Grundlagen

Datenbankanwendungen werden oft über einen sehr langen Zeitraum (z.b. Jahrzehnte) eingesetzt

Ein Schlüssel ist eine Menge von Attributen (also eines oder mehrere), die eine Datenzeile (Tupel) einer Tabelle eindeutig identifiziert

Transkript:

Web Science & Technologies University of Koblenz Landau, Germany Grundlagen der Datenbanken Relationale Algebra Dr. Gerd Gröner Wintersemester 2013/14

Lernziele Grundbegriffe des Relationalen Modells Abbildung von ER-Diagrammen in Relationenschema (und umgekehrt) Operationen der Relationenalgebra: Definition und praktische Anwendung GLDB 2013/14 2

GLDB 2013/14 3

anschaulich E. F. Codd. A relational model of data for large shared data banks. Commun. ACM 13, 6 (June 1970), 377-387. Abbildung von Entitäten, Beziehungen, Attributen und Rollen in flachen Tabellen Modell-Eigenschaften Einfach Mengenorientiert GLDB 2013/14 4

Basisdefinitionen Seien D1, D2,..., Dn Domänen (~ Wertebereiche) Relation Beispiel: Tupel: Beispiel: ( Mickey Mouse, Main Street, 4711) Schema vs. Ausprägung Schemadarstellung: gibt die Struktur der gespeicherten Daten wieder Telefonbuch: {[Name: string, Adresse: string, Telefonnr:integer]} Attributname Domäne dom(a) Schlüsselattribut GLDB 2013/14 5

Darstellung als Tabelle mit n Spalten Ausprägung: der aktuelle Zustand der Datenbasis Kardinalität: Anzahl der Sätze (Tupel) in der Datenbasis Primärschlüssel: wird unterstrichen GLDB 2013/14 6

RM: Grundregeln Jede Zeile (Tupel) ist eindeutig und beschreibt ein Objekt (Entity) der Miniwelt Die Ordnung der Zeilen ist ohne Bedeutung Die Ordnung der Spalten ist ohne Bedeutung, da sie eindeutigen Namen (Attributnamen) tragen Jeder Datenwert innerhalb einer Relation ist ein atomares Datenelement Alle für Benutzer relevanten Informationen sind ausschließlich durch Datenwerte ausgedrückt GLDB 2013/14 7

Relationales Model: Formal Gegeben sei eine Menge von Wertebereichen primitiver Datentypen {D1,, Dn} die als "Domains" bezeichnet werden. Eine Relation R ist ein Paar R = (s,v) mit einem Schema s = sch(r) = {A1,, An} das aus einer Menge von Attributen (Attributnamen) besteht und für jedes Attribut Ai einen Domain dom(ai) {D1,, Dm} festlegt, und einer Ausprägung v = val(r) dom(a1) x x dom(an) GLDB 2013/14 8

Ableitung eines Relationalen Schemas aus einem ER Modell GLDB 2013/14 9

Aufgabe? Entitäten und Beziehungen werden auf Relationen abgebildet GLDB 2013/14 10

Entitäten Studenten MatNr Name Studenten : {[MatNr: integer, Name: string]} Daten gehen nicht aus ER Modell hervor (Ausprägung) GLDB 2013/14 11

Beziehungen Studenten MatNr N hört M Vorlesungen Raum VorlNr Name Titel hört: {[MatNr: integer, VorlNr: integer]} GLDB 2013/14 12

Beziehungen: Attribute der Beziehung Studenten MatNr N Name hört Versuch M Vorlesungen Raum VorlNr Titel hört: {[MatNr: integer, VorlNr: integer, Versuch: integer]} GLDB 2013/14 13

Beziehungen: Schlüsselattribute Erin ne rung! Definition Schlüssel: w Minimale Menge von identifizierenden Attributen Funktionalität von Beziehungen: w Entitäten in einer Beziehung lassen sich funktional aus anderen Entitäten ableiten. ABER: Minimalität Lösung: w Nur Schlüsselattribute, die sich nicht funktional ableiten lassen sind Schlüsselattribute der Beziehungsrelation GLDB 2013/14 14

Beispiel PersNr Dozenten 1 Studenten MatNr N prüft Note M Vorlesungen VorlNr prüft: {[MatNr: integer, VorlNr: integer, PersNr: integer, Note: float]} Denn: (Student, Vorlesung) Dozent Schlüssel minimal! GLDB 2013/14 15

Beziehungen: Umbenennen von Attributen voraus setzen Nachfolger Vorgänger Vorlesungen Titel Raum VorlNr voraussetzen: {[Vorgänger: integer, Nachfolger: integer]} statt VorlNr Auch an anderen Stellen nötig, bei Überschneidungen der Attributsnamen GLDB 2013/14 16

Verfeinerung des Schemas Bisher: Jeder Entitätstyp ergibt eine Relation Jeder Beziehungstyp ergibt eine Relation Können Relationen zusammengefasst werden? Ja, wenn gleicher Schlüssel aber auch nur dann! Begründung Schlüssel identifiziert eindeutig den Eintrag und somit auch die anderen Attribute GLDB 2013/14 17

Beispiel Rang Raum Dozenten PersNr SWS 1 M liest Vorlesungen VorlNr Name Titel 1. Verwendung von drei Relationen Dozent : {[ PersNr, Name, Rang, Raum ]} Vorlesungen : {[ VorlNr, Titel, SWS ]} lesen : {[ VorlNr, PersNr ]} zusammenfassen möglich 2. Vereinfachung zu zwei Relationen Dozent : {[ PersNr, Name, Rang, Raum ]} Vorlesungen : {[ VorlNr, Titel, SWS, gelesenvon]} PersNr GLDB 2013/14 18

Ausprägung von Dozenten und Vorlesungen Dozenten 1 liest M Vorlesungen GLDB 2013/14 19

Vorsicht: So geht es NICHT Schlüssel!? Dozenten 1 liest M Vorlesungen GLDB 2013/14 20

Vorsichtig: So geht es NICHT: Folgen Anomalien Update-Anomalie: Was passiert wenn Sokrates umzieht Lösch-Anomalie: Was passiert wenn Glaube und Wissen wegfällt Einfüge-Anomalie: Curie ist neu und liest noch keine Vorlesungen GLDB 2013/14 21

1:1 Beziehungen Studenten MatNr 1 hatpass 1 Reisepass PassNr Name Datum Funktionalität? {Student} Reisepass {Reisepass} Student Relationen? hatpass: {[MatNr, PassNr]} hatpass: {[MatNr, PassNr]} Möglichkeiten der Vereinfachung??? GLDB 2013/14 22

Seiteneffekt: NULL Werte Nicht jeder Student hat einen Reisepass Beziehung als partielle Abbildung NULL Wert (nicht definiert) Genauere Betrachtung Bei welcher Vereinfachung fallen mehr NULL Werte an Nicht alle Vereinfachungen durchführen GLDB 2013/14 23

Generalisierung: Vertikale Partitionierung Angestellte Name PersNr is-a Wiss. Mitarbeiter Fachgebiet Angestellte : WissMA : Professoren : NichtwissMA : Professoren Rang Raum Nichtwiss. MA Abteilung {[PersNr,Name]} {[PersNr,Fachgebiet]} {[PersNr,Rang, Raum]} {[PersNr,Abteilung]} nicht alle Informationen enthalten! GLDB 2013/14 24

Generalisierung Alternativen Horizontale Partitionierung Jede Instanz taucht nur einmal auf, in der Relation, die sie am exaktesten beschreibt Nachteil: Eindeutigkeit der Schlüssel ist schwierig zu gewährleisten Hoher Suchaufwand Vollständige Redundanz Jede Entität enthält alle Informationen Nachteil: Datenintegrität muss koordiniert werden (UPDATE Anomalie) Hoher Speicherbedarf GLDB 2013/14 25

Relationale Algebra GLDB 2013/14 26

Algebra??? Grundmenge A Menge von Funktionen fi auf A Beispiele: Ganzen Zahlen mit Operatoren für Addition und Multiplikation (ℤ, {+, }) Rationale Zahlen (ℚ, {+,,,/}) Permutationen mit Verknüpfung Hier: theoretische Modellierung von Abfragen GLDB 2013/14 27

Relationenalgebra (RA): Operationen Eine Operation der RA hat eine oder mehrere Relationen als Operanden und liefert eine Relation als Ergebnis (Abgeschlossenheit der Algebra) Operationen in RA: Selektion, Projektion Mengenoperationen Joins Umbenennung Division Ein Anfragesprache heißt relational vollständig, wenn sie mindestens so mächtig wie die relationale Algebra ist GLDB 2013/14 28

Selektion σ Auswahl von Tupeln einer Relation nach gegebenem Prädikat Selektionsprädikat (Auswahlkriterium) besteht aus Attributnamen Konstanten (passend zu den Domänen) Vergleichsoperatoren =,, <,,, > Logische Operatoren,, (und, oder, nicht) Klammerung zur Angabe der Reihenfolge möglich Auswahl von Zeilen einer Tabelle GLDB 2013/14 29

Beispiel GLDB 2013/14 30

Beispiel GLDB 2013/14 31

Projektion π Auswahl von Tupeln einer Relation nach gegebenem Kriterium Attributmenge Mengenklammern werden i.d.r. nicht notiert Auswahl von Spalten einer Tabelle GLDB 2013/14 32

Beispiel GLDB 2013/14 33

Beispiel g n u t h rt Ac e i t n rie o n e g Men GLDB 2013/14 34

Selektion vs. Projektion GLDB 2013/14 35

Vereinigung Vereinigung zweier Relationen mit gleichem Schema Es muss also gelten: Aneinanderfügen von Tabellen Auf gleiche Weise: Schnittmenge und Mengendifferenz oder GLDB 2013/14 36

Beispiel GLDB 2013/14 37

Schnittmenge und Differenz Wie bei Vereinigung: Mengenorientiert Schnittmenge: Differenz: oder alternativ GLDB 2013/14 38

Kartesisches Produkt Kombination zweier Relationen 1 2 Ergebnis verknüpfte Relation mit allen möglichen Kombinationen Schema: sch(r1) sch(r2) = sch(r1) sch(r2) Anzahl Tupel: R1 R2 Kombination aller Einträge zweier Tabellen GLDB 2013/14 39

Beispiel Studenten x hört bei gleichnamigen Attributen mittels Qualifizierung, z.b. Studenten.MatNr Sind die Einträge sinnvoll? GLDB 2013/14 40

Natürlicher Verbund (Natural Join) Verknüpfung zweier Relationen über gemeinsame Attribute Es muss also gelten Kann als Kombination bisheriger Operatoren dargestellt werden: Attribute A Menge der gemeinsamen Attribute B Attribute nur in R1 C Attribute nur in R2 Dann ist GLDB 2013/14 41

Beispiel Studenten hört GLDB 2013/14 42

Allgemeiner Verbund (Theta Join) θ Verknüpfung zweier Relationen nach gegebenem Prädikat R1 θ R2 Prädikat Theta θ liefert die Bedingungen für den Join Beispiel Professoren Professoren.Gehalt < Mitarbeiter.Gehalt Mitarbeiter Professoren.PersNr=Mitarbeiter.Boss GLDB 2013/14 43

Umbenennung ρ Umbenennen einer Relation ρneuername(r) Schema bleibt dabei erhalten Umbenennung eines Attributes ρneuername Attributname(R) Anwendung: Wenn eine Relation oder ein Attribut mehrfach in einer Anfrage vorkommt, ist eine Umbenennung zur eindeutigen Identifikation notwendig Tabelle oder Attribut virtuell kopieren. GLDB 2013/14 44

Beispiel Artikel Artikel.DocID = X.Quelle (ρx(referenzen) X.ZitiertVon = Y. Quelle ρy(referenzen)) GLDB 2013/14 45

Weitere Joins Outer Joins: alle Einträge bleiben erhalten Beispielhaft Left Outer Join: R1 R2 GLDB 2013/14 46

Weitere Joins Outer Joins Beispielhaft Right Outer Join: R1 R2 GLDB 2013/14 47

Weitere Joins Outer Joins Beispielhaft Full Outer Join: R1 R2 GLDB 2013/14 48

Darstellung eines Ausdrucks als Operatorbaum GLDB 2013/14 49

Division Ausdruck für eine Allquantifizierung R1 R2 Es muss gelten: sch(r2) sch(r1) Ergebnisschema ist: sch(r1) \ sch(r2) alle A für die Attribut B 'b1' und 'b3' ist GLDB 2013/14 50

Division (2) R1 R2 Formal: GLDB 2013/14 51

Relationale Vollständigkeit Minimale relational vollständige Operationenmenge: jede andere Menge von Operationen ist genauso mächtig. Diese beiden Mengen sind auch unabhängig, d.h.kein Operator kann weggelassen werden (ohne vollständig zu bleiben). GLDB 2013/14 52

Fragen? groener@uni-koblenz.de http://west.uni-koblenz.de/teaching/ws1314/gldb1314 GLDB 2013/14 53

Äquivalenzregeln ("Rechenregeln") der RA Kommutativregeln: 1) falls P nur R1-Attribute enthält 2) Assoziativitätsregel: 3) Idempotenzregeln: 4) 5) Distributivregeln: 6) 7) 8) 9) 10) GLDB 2013/14 54