3. Grundlagen des Relationenmodells. Vorlesung "Informationssysteme" Sommersemester 2017

Größe: px
Ab Seite anzeigen:

Download "3. Grundlagen des Relationenmodells. Vorlesung "Informationssysteme" Sommersemester 2017"

Transkript

1 3. Grundlagen des Relationenmodells Vorlesung "Informationssysteme" Sommersemester 2017

2 Gliederung Konzepte zur Datenmodellierung im Relationenmodell (RM) Normalisierte Relationen Primärschlüssel, Fremdschlüssel, Nullwerte Abbildung ERM à RM Entity- und Relationship-Mengen Generalisierung Aggregation Relationenalgebra Klassische Mengenoperationen Relationenoperationen Motivation der Anfrageoptimierung (Rewrite-Regeln) Erweiterungen der Relationenalgebra Informationssysteme 2017 Kapitel 3: Grundlagen des Relationenmodells 2

3 Konzepte zur Datenmodellierung Datenstruktur "Relation"* (auch: Tabelle) einzige Datenstruktur (neben atomaren Werten) alle Informationen ausschließlich durch Werte dargestellt zeitinvariante Typinformation: Relationenschema Integritätsbedingungen auf/zwischen Relationen: relationale Invarianten Beziehungen sind stets explizit, binär und symmetrisch werden durch Werte dargestellt: Rolle von Primär-/Fremdschlüssel è Entwurfstheorie (siehe Kapitel 4) Normalformenlehre, Synthese von Relationen * Dr. E.F. Codd described the relational model of data one firmly grounded in predicate logic and mathematics in a series of papers published between 1969 and He was named an IBM fellow in 1976 and received the highest technical honor in computing, the Turing award, in Informationssysteme 2017 Kapitel 3: Grundlagen des Relationenmodells 3

4 Relationenmodell Grundkonzepte Definition: Normalisierte Relation R(A 1, A 2,, A n ) W(A 1 ) W(A 2 ) W(A n ) D i D j D k Untermenge des kartesischen Produktes Relationenschema Name der Relation, Attribute, Wertebereiche (Domänen) Attribute sind atomar, d.h. nur einfache Wertebereiche Primärschlüssel (einfach oder zusammengesetzt) optional! - eindeutig und minimal (siehe ER-Modell) sssss(rr) oder RR bezeichnet die Menge der Attribute der Relation RR Relation (Ausprägung) Teilmenge des kart. Produktes der Wertebereiche Relationenelemente heißen "Tupel" Relation ist eine Menge Garantie der Eindeutigkeit der Tupel Informationssysteme 2017 Kapitel 3: Grundlagen des Relationenmodells 4

5 Schemanotation und Tabellendarstelllung Schemanotation (textuell): Relation: {[A 1 : W(A 1 ),..., A k : W(A k ),... A n : W(A n )]} Darstellungsmöglichkeit für Relation: n-spaltige Tabelle Beispiel: FB: {[FBNR: string, FBNAME: string, DEKAN: integer]} PROF: {[PNR: integer, PNAME: string, FBNR: string, FACHGEBIET: string]} FB FBNR FBNAME DEKAN PROF PNR PNAME FBNR FACHGEBIET FB 9 Wirtschaftswissenschaften Härder FB 5 Datenbanksysteme 5678 Wedekind FB 9 Informationssysteme FB 5 Informatik Müller FB 9 Operations Research 6780 Nehmer FB 5 Betriebssysteme 2223 Richter FB 5 Expertensysteme Informationssysteme 2017 Kapitel 3: Grundlagen des Relationenmodells 5

6 Eigenschaften der Tabellendarstellung Vorsicht! Tabelle ist nur eine Darstellungsform! Es gelten folgende Grundregeln * Jede Zeile (Tupel) ist eindeutig und beschreibt ein Objekt der Miniwelt Die Ordnung der Zeilen ist ohne Bedeutung; durch ihre Reihenfolge wird keine für den Benutzer relevante Information ausgedrückt Die Ordnung der Spalten ist ohne Bedeutung, da sie einen eindeutigen Namen (Attributnamen) tragen Jeder Datenwert innerhalb einer Relation ist ein atomares Datenelement Alle für den Benutzer bedeutungsvollen Informationen sind ausschließlich durch Datenwerte ausgedrückt (*) Codd, E.F.: A Relational Model of Data for Large Shared Data Banks, in: Comm. ACM 13:6, June 1970, pp Informationssysteme 2017 Kapitel 3: Grundlagen des Relationenmodells 6

7 Darstellung von Beziehungen Informationsdarstellung im RM ausschließlich durch Werte eines W(A i ) in Relationen Wie werden Beziehungen dargestellt? (Evtl. zusammengesetzter) Attributwert eine Tupels enthält Primärschlüsselwert eines (anderen) Tupels Ein solches Attribut (oder eine Attributkombination) wird Fremdschlüssel genannt - Fremdschlüssel ist in Bezug auf Primärschlüssel / Schlüsselkandidat einer Relation definiert (gleicher Definitionsbereich) - Paare von Fremdschlüssel und Primärschlüssel / Schlüsselkandidaten mit gleichen Domains - man sagt auch: der Fremdschlüssel referenziert den Primärschlüssel Beziehungen sind dadurch wertbasiert und symmetrisch! Informationssysteme 2017 Kapitel 3: Grundlagen des Relationenmodells 7

8 Beziehungen im Relationenmodell Im Schemadiagramm: Pfeil vom Fremdschlüssel (FS) zum Primärschlüssel Beispiel: FB FBNR FBNAME DEKAN FB FBNR FBNAME DEKAN FB 9 Wirtschaftswissenschaften 4711 PROF PNR PNAME FBNR FACHGEBIET FB 5 Informatik 2223 PROF PNR PNAME FBNR FACHGEBIET 1234 Härder FB 5 Datenbanksysteme 5678 Wedekind FB 9 Informationssysteme 4711 Müller FB 9 Operations Research 6780 Nehmer FB 5 Betriebssysteme 2223 Richter FB 5 Expertensysteme Informationssysteme 2017 Kapitel 3: Grundlagen des Relationenmodells 8

9 Nullwerte Nullwerte Attributwert innerhalb eines Tupels ist unbekannt oder trifft nicht zu NULL-Indikator wird verwendet, um dies zu beschreiben - in unseren Tabellen-Beispielen auch durch ein "-" dargstellt Verbieten von Nullwerten für ein Attribut im Schema Angabe von "NOT NULL" für das Attribut FB FBNR FBNAME DEKAN FB 9 Wirtschaftswissenschaften FB 5 Informatik PROF PNR PNAME FBNR FACHGEBIET 1234 Härder FB 5 Datenbanksysteme 5678 Wedekind FB 9 Informationssysteme 4711 Müller FB 9 Operations Research 6780 Nehmer FB Richter FB 5 Expertensysteme Informationssysteme 2017 Kapitel 3: Grundlagen des Relationenmodells 9

10 Fremdschlüssel & Primärschlüssel Definition "Fremdschlüssel": Ein Fremdschlüssel bzgl. einer Relation R1 ist ein (ggf. zusammengesetztes) Attribut FS einer Relation R2, für das zu jedem Zeitpunkt gilt: zu jedem Wert (ungleich Null) von FS muss ein gleicher Wert des Primärschlüssels PS oder eines Schlüsselkandidaten SK in irgendeinem Tupel von Relation R1 vorhanden sein. Bemerkungen Primärschlüssel: automatisch NOT NULL. Fremdschlüssel und Schlüsselkandidat: Nullwerte OK - Ausnahme: Überlappung mit Primärschlüssel oder NOT NULL spezifiziert Primärschlüssel (Schlüsselkandidat) zusammengesetzt à Fremdschlüssel auch Eine Relation kann mehrere Fremdschlüssel besitzen, welche die gleiche oder verschiedene Relationen referenzieren. Referenzierte und referenzierende Relation sind nicht notwendig verschieden ( self-referencing table ). Zyklen sind möglich (geschlossener referentieller Pfad). Informationssysteme 2017 Kapitel 3: Grundlagen des Relationenmodells 10

11 Abbildung vom ER-Modell in das Relationenmodell ER-Modell Einwertiges Attribut Definitionsbereich Primärschlüssel Zusammengesetztes Attribut Mehrwertiges Attribut Entity-Menge Relationship-Menge Relationenmodell nur als unabh. einwertige Attribute Relation Relation Relation Die RM-Konzepte erreichen nicht das semantische Ausdrucksvermögen der ER-Konzepte. Deshalb gehen gewisse Aspekte der Semantik verloren. Es kann jedoch versucht werden, diese durch weitergehende Datenmodellkonzepte (siehe SQL) oder durch Anwendungsfunktionen nachzubilden. Informationssysteme 2017 Kapitel 3: Grundlagen des Relationenmodells 11

12 Abbildung von Entity- und Relationship-Mengen Kriterien Informationserhaltung - Abbildung der ER-Konzepte auf RM-Konzepte - möglichst genaue Übereinstimmung der Semantik (Übernahme aller spezifizierten Eigenschaften) Minimierung der Redundanz Minimierung des Verknüpfungsaufwandes aber auch: Natürlichkeit der Abbildung, keine Vermischung von Objekten, Verständlichkeit Informationssysteme 2017 Kapitel 3: Grundlagen des Relationenmodells 12

13 (Initiale) Abbildung von Entity-Mengen Jeder (starke) Entity-Typ E wird auf eine Relation R abgebildet R enthält alle einfachen Attribute von E R enthält alle einfachen Komponentenattribute der zusammengesetzten Attribute von E (evtl. Umbenennung) - mengenwertige Attribute erfordern gesonderte Behandlung Primärschlüssel von R := Primärschlüssel von E Name Ort InvNr Autor Titel Verlag EJahr Bücher Bücher InvNr Titel VName EJahr Informationssysteme 2017 Kapitel 3: Grundlagen des Relationenmodells 13

14 Abbildung von mengenwertigen Attributen Mengenwertiges Attribut M in E wird auf eigene Relation R' abgebildet, mit folgenden Definitionen R' enthält M (oder alle Komponenten, falls Werte zusammengesetzt sind) R' erhält Primärschlüssel von R als Fremdschlüssel K (K, M) wird Primärschlüssel von R' Beispiel (für Autor von Bücher) Bücher analog für Ort von Verlag InvNr Titel VName EJahr Wiederholte Abbildung bei komplexer geschachtelten Strukturen InvNr Autoren Autor Natürliche Abbildung? Alternativen? Informationssysteme 2017 Kapitel 3: Grundlagen des Relationenmodells 14

15 Abbildung von schwachen Entities Schwache Entities Abbildung wie bei starken Entities, aber: Primärschlüssel von R ergibt sich aus der Kombination der Primärschlüssel der bestimmenden Entity-Typen und des partiellen Schlüssels, falls E einen partiellen Schlüssel definiert PNr... Vorname Alter Angestellte (0, *) Eltern (1, 1) von Kinder Angestellte Kinder PNr... PNr Vorname Alter Informationssysteme 2017 Kapitel 3: Grundlagen des Relationenmodells 15

16 Abbildung von Relationships Initiales (generelles) Vorgehen jede n-äre Relationship mit Entity-Typen E 1,... E n wird als eigene Relation R dargestellt R enthält als Attribute - alle Schlüssel K 1,... K n, mit K i Schlüssel von E i - alle Relationship-Attribute - wenn nötig mit Umbenennung von Attributen (eindeutige Namen!) K 1,... K n sind Fremdschlüssel, referenzieren E 1,... E n (K 1,... K n ) ist (zusammengesetzter) (Primär-)Schlüssel von R Nachfolgend wird das resultierende Relationenschema verfeinert bzw. vereinfacht falls (K 1,... K n ) nicht minimal ist (also kein echter Primärschlüssel), bestimme einen (minimalen) Primärschlüssel PS - abhängig von den definierten Funktionalitäten/Kardinalitäten optional: Zusammenfassen von Tabellen mit den gleichen PS (à einfacheres Schema, geringerer Verknüpfungsaufwand) Informationssysteme 2017 Kapitel 3: Grundlagen des Relationenmodells 16

17 Zwei Entity-Mengen mit n:m-verknüpfung JNR Dauer PNR n m PROJEKT MITARBEIT PERS Projekt j1 j2 j3 Mitarbeit p1 p2 p3 Pers PROJEKT (JNR, BEZEICH, ) j1 j2 j3 MITARBEIT (JNR, PNR, DAUER) j1, p1... j2, p1... j2, p2... PERS (PNR, PNAME, ) p1 p2 p3 Verwendung von drei Relationen erforderlich: Generische Abbildung (wie bereits definiert) Alle Fremdschlüssel sind Bestandteile des Primärschlüssels! Informationssysteme 2017 Kapitel 3: Grundlagen des Relationenmodells 17

18 Zwei Entity-Mengen mit 1:n-Verknüpfung ANR Dauer 1 PNR N ABT ABT-ZUGEH PERS (0,*) (0,1) Initiale Abbildung führt zu drei Relationen (ABT, PER, ABT-ZUGEH) "1" bei ABT bzw. Kardinalitäsrestriktion (0, 1) oder (1, 1) bei PERS heißt PERS à ABT (PERS bestimmt ABT eindeutig) èanr ist nur Femdschlüssel, nicht Teil des Primärschlüssels èpnr ist Schlüsselkandidat bzw. Primärschlüssel Korrekte initiale Abbildung mit drei Relationen: ABT(ANR, ANAME, ) a1 a2 PERS (PNR, PNAME, ) p1 p2 ABT-ZUGEH (ANR, PNR, DAUER) a1 p1 a1 p2 Informationssysteme 2017 Kapitel 3: Grundlagen des Relationenmodells 18

19 Zwei Entity-Mengen mit 1:n-Verknüpfung (2) PERS und ABT-ZUGEH haben beide PNR als Primärschlüssel und können deshalb zusammengefasst werden alle Attribute aus ABT-ZUGEH werden übernommen ABT(ANR, ANAME, ) a1 a2 PERS (PNR, PNAME,, ANR, DAUER) p1,... a1 p2,... a1 Fazit: bei 1:n-Beziehungen kann auf eigene Relation zur Darstellung der Relationship verzichtet werden bei Existenz von Relationship-Attributen kann Verständlichkeit durch Vermischung der Attribute leiden Vorsicht: niemals Relationen mit verschiedenen Primärschlüsseln zusammenfassen! (Führt zu Anomalien) Informationssysteme 2017 Kapitel 3: Grundlagen des Relationenmodells 19

20 Zwei Entity-Mengen mit 1:1-Verknüpfung PNR 1 ÜNR 1 Assistenten halten Übungen (0,1) (0,1) Initiale Abbildung: Relation "halten" (hier mit PS "ÜNR") sowohl ÜNR als auch PNR sind Schlüsselkandidaten Assistenten(PNR, ) Übungen(ÜNR, ) halten (PNR, ÜNR) Zusammenfassen 2 Möglichkeiten, nach Wahl des PS Assistenten(PNR, ) Übungen(ÜNR, PNR ) welche? Übungen(ÜNR, ) Assistenten(PNR, ÜNR, ) Vorsicht: Abbildung garantiert so nur 1:N! 1:1 erfordert expl. Definition von Schlüsselkandidat (UNIQUE) Informationssysteme 2017 Kapitel 3: Grundlagen des Relationenmodells 20

21 Kardinalitätsrestriktionen "(1, 1)" Beispiel: PNR 1 ÜNR 1 Assistenten halten Übungen (0,1) (1,1) Kann bei geeigneter Zusammenfassung durch Verbot von Nullwerten erfolgen in der "abhängigen" Relation wird für Fremdschlüssel NOT NULL gefordert Im Beispiel: Übungen - PNR NOT NULL Auch bei zusammengefassten Relationen bei 1:N verwendbar 1 1 bzw. N Assistenten(PNR, ) Übungen(ÜNR, PNR ) (0,n) (0,n) (0,1) (0,1) (0,1) (1,1) (0,1) (1,1) FS FS... NOT NULL FS... UNIQUE FS... UNIQUE NOT NULL Informationssysteme 2017 Kapitel 3: Grundlagen des Relationenmodells 21

22 Verfeinerung bei n-ären Beziehungen Studenten N (0, 1) betreuen 1 Professoren 1 Seminarthemen Professoren Studenten Seminarthemen betreuen(matrnr, PNr, Thema) Initiale Abbildung: Relation "betreuen" mit MatrNr, PNr und Thema als Fremdschlüssel Geeigneter PS für "betreuen"? Es gilt aufgrund N:1:1 - Professoren X Studenten à Seminarthemen - Seminarthemen X Studenten à Professoren è(pnr, MatrNr) und (Thema, MatrNr) sind Schlüsselkandidaten Zusätzlich card(0, 1) oder card(1, 1) bei "Studenten"? (MatrNr) ist Schlüsselkandidat (und damit PS) von "betreuen" Option: Zusammenfassen von "betreuen" mit "Studenten"!? Informationssysteme 2017 Kapitel 3: Grundlagen des Relationenmodells 22

23 Abbildung der Generalisierung im RM Einschränkungen des Relationenmodells keine Unterstützung der Abstraktionskonzepte keine Maßnahmen zur Vererbung (von Struktur, Integritätsbedingungen, Operationen) Simulation der Generalisierung eingeschränkt möglich Generalisierungsbeispiel: UNI-ANGEH. ID NAME Ernie ANGESTELLTE BAT BEAMTE... TECHNIKER ERFAHRUNG Garfield WISS.-MA DIPLOM SPEZ.-GEB. Donald Daisy Grouch Informationssysteme 2017 Kapitel 3: Grundlagen des Relationenmodells 23

24 Generalisierung relationale Sicht Lösung 1: Hausklassen-Modell: Jede Instanz ist genau einmal und vollständig in ihrer Hausklasse gespeichert UNI-ANGEH. ID NAME "horizontale Partitionierung" Eigenschaften: 111 Ernie ANGESTELLTE ID NAME BAT 007 Garfield Ia TECHNIKER ID ERFAHRUNG NAME BAT 123 SUN Donald IVa WISS.-MA. ID DIPLOM SPEZ.-GEB. NAME BAT Informatik Mathematik Recovery ERM Daisy Grouch niedrige Speicherungskosten und keine Änderungsanomalien Retrieval kann rekursives Suchen in Unterklassen erfordern explizite Rekonstruktion durch Relationenoperationen Beispiel: Finde alle ANGESTELLTE: TECHNIKER WISS.-MA ANGESTELLTE, beschränkt auf ID, NAME, BAT IIa IIa Informationssysteme 2017 Kapitel 3: Grundlagen des Relationenmodells 24

25 Generalisierung relationale Sicht (2) Lösung 2: Partitionierungs-Modell Instanz wird entsprechend der Klassenattribute in der Is_a-Hierarchie zerlegt und in Teilen in den zugehörigen Klassen gespeichert ID-Attribut dupliziert "vertikale Partitionierung" UNI-ANGEH. ID NAME Garfield Ernie Donald Daisy Grouch TECHNIKER ID ERFAHRUNG 123 SUN ANGESTELLTE ID BAT Eigenschaften geringfügig erhöhte Speicherungskosten, aber hohe Aufsuch- und Aktualisierungskosten Integritätsbedingungen: TECHNIKER.ID ANGESTELLTE.ID usw. Instanzenzugriff erfordert implizite oder explizite Verbundoperationen Beispiel: Finde alle TECHNIKER-Daten Verbinde TECHNIKER, ANGESTELLTE, UNI-ANGEH über gleiche IDs Ia IVa IIa IIa WISS.-MA. ID DIPLOM SPEZ.-GEB Informatik Mathematik Recovery ERM Informationssysteme 2017 Kapitel 3: Grundlagen des Relationenmodells 25

26 Generalisierung relationale Sicht (3) Lösung 3: Volle Redundanz Instanz wird wiederholt in jeder Klasse, zu der sie gehört, mit allen (auch geerbten) Attributen gespeichert UNI-ANGEH. ID NAME Garfield Ernie Donald Daisy Grouch TECHNIKER ID NAME BAT ERFAHRUNG 123 Donald IVa SUN ANGESTELLTE ID NAME BAT Eigenschaften hoher Speicherplatzbedarf, Auftreten von Änderungsanomalien einfaches Retrieval: Aufsuchen der Zielklasse (z. B. ANGESTELLTE) Garfield Donald Daisy Grouch WISS.-MA. ID NAME BAT DIPLOM SPEZ.-GEB Daisy Grouch IIa IIa Informatik Mathematik Recovery ERM Ia IVa IIa IIa Informationssysteme 2017 Kapitel 3: Grundlagen des Relationenmodells 26

27 Generalisierung relationale Sicht (4) Lösung 4: Hierarchierelation Eine einzige Relation für Generalisierungshierarchie Attribut zur Typidentifikation (TT - type tag): Kennzeichnung der Klassenzugehörigkeit einer Instanz Nullwerte für Attribute für nicht zutreffende Attribute ID TT NAME BAT ERFAHR. DIPLOM SPEZ.-GEB Angestellte Uni-Angeh. Techniker Wiss.-MA Wiss.-MA Garfield Ernie Donald Daisy Grouch Eigenschaften erhöhte Speicherkosten (Typidentifikator, Nullwerte) Vermeidung von Redundanz Vermeidung von Verbund, Union Retrieval erfordert Projektion und mglw. zusätzliche Selektionsbedingungen über TT abhängig von der Zielklasse Ia - Iva IIa IIa - - SUN Informatik Mathematik Recovery ERM Informationssysteme 2017 Kapitel 3: Grundlagen des Relationenmodells 27

28 Aggregation relationale Sicht Abbildung ähnlich zur Abbildung von Relationships Kardinalitätsrestriktionen beachten/nutzen, um Exklusivität und Abhängigkeit zu modellieren PC-System ID PREIS tv = teil-von tv tv tv tv Prozessor Plattenk. Drucker Monitor CD-ROM tv tv Festplatte ID KAPAZITÄT EINZELPREIS Informationssysteme 2017 Kapitel 3: Grundlagen des Relationenmodells 28

29 Aggregation relationale Sicht (2) PC-System ID PREIS PROZESSOR PLATTENK. DRUCKER MONITOR PC-1 PC-2 PC-3 900, , ,-- I-Pentium IV 1,8 GHz I-Pentium IV 2,4 GHz I-Pentium IV 3,0 GHz PK1 PK2 PK3 Tintenstrahldr. Laserdrucker Laserdrucker 15 TFT 17 TFT 17 TFT Plattenk. ID CD-ROM Festplatte PK1 PK2 PK3 C1 C2 C3 F1 F2 F3 CD-ROM ID Geschwindigk. Preis C1 C2 C3 DVD R DVD R+CD RW DVD R+RW 35,-- 85,-- 165,-- Monitor ID Hersteller Festplatte Belinea Belinea 320,-- 420,-- Festplatte ID Kapaz. Preis F1 F2 F3 80 GB 120 GB 160 GB 85,-- 100,-- 150,-- Prozessor ID SPEC int 2000 Preis I-Pentium IV 1,8 GHz I-Pentium IV 2,4 GHz I-Pentium IV 3,0 GHz ,-- 190,-- 310,-- Drucker ID Hersteller Typ Preis Tintenstrahldrucker Laserdrucker HP HP Desk Jet 5150 Laser ,-- 360,-- Informationssysteme 2017 Kapitel 3: Grundlagen des Relationenmodells 29

30 Zusammenfassung: Abbildungskonzepte Datenstruktur Relation (Tabelle) einzige Datenstruktur (neben atomaren Werten) alle Informationen ausschließlich durch Werte dargestellt Integritätsbedingungen: relationale Invarianten Abbildung von Beziehungen durch PS/SK FS alle Beziehungen sind explizit, binär und symmetrisch alle Beziehungstypen müssen im Prinzip durch (n:1)-beziehungen - dargestellt werden generelles Vorgehen: eigene Relation à Ermittlung des PS à ggf. Zusammenfassen - (n:m)-beziehungstypen sind durch eine eigene Relation darzustellen - für (1:n) und (1:1) ist Zusammenfassen von Relationen möglich Bewertung hinsichtlich der Abstraktionskonzepte keine direkte Bereitstellung der Abstraktionskonzepte (nur Klassifikation der Tupeln in Relationen) begrenzte Möglichkeiten zur Abbildung der Abstraktionskonzepte Informationssysteme 2017 Kapitel 3: Grundlagen des Relationenmodells 30

31 Sprachen für das Relationenmodell Datenmodell = Datenobjekte + Operatoren Im RM wird vereinheitlichte Sprache angestrebt für alle Aufgaben der Datenverwaltung (Datendefinition, Anfragen (Queries), Datenmanipulation, Zugriffs-, Integritäts- und Transaktionskontrolle zur Nutzung - im Stand-Alone-Modus (Ad-hoc-Anweisungen) und - in einer Wirtssprache (eingebettete DB-Anweisungen) Vier verschiedene Grundtypen: Relationenalgebra (z. B. ISBL) ç in diesem Kapitel Relationenkalkül (z. B. Alpha) Abbildungsorientierte Sprachen (z. B. SQL) Graphikorientierte Sprachen (z. B. Query-by-Example) Informationssysteme 2017 Kapitel 3: Grundlagen des Relationenmodells 31

32 Relationenalgebra (RA) - Überblick Objekte: Ein System, das aus einer nichtleeren Menge und einer Familie von Operationen besteht, heißt Algebra. Relationen sind Mengen. Operationen: Arbeiten auf einer oder mehreren Relationen als Eingabe und erzeugen eine Relation als Ausgabe. Abgeschlossenheit nur unäre und binäre Operationen op 3 op 5 op 1 op 2 op i op 4 R R S R S T R S T Informationssysteme 2017 Kapitel 3: Grundlagen des Relationenmodells 32

33 Operationen der Relationalen Algebra - Überblick Klassische relationale Algebra Klassische Mengenoperationen: - Vereinigung, Differenz, kartesisches Produkt - ableitbar: Durchschnitt Relationenoperationen: - Projektion, Restriktion (Selektion) - ableitbar: Verbund (Join), Division Auswahlvermögen entspricht Prädikatenkalkül erster Ordnung ( relational vollständig ) Schemaoperation: - Umbenennung (Rename) Erweiterungen Join-Varianten (Outer Join, Semi-Join...) Gruppierung und Aggregation, Duplikateliminierung Informationssysteme 2017 Kapitel 3: Grundlagen des Relationenmodells 33

34 Selektion (Restriktion) Auswahl von Zeilen einer Relation über Prädikate, abgekürzt σσ PP PP = log. Formel (ohne Quantoren!) zusammengestellt aus: a) Operanden (Konstanten oder Attributnamen) b) Vergleichsoperator Q Î {<, =, >,,, } c),, Definition: s PP (RR) = {tt tt Î RR PP(tt)} PP(tt): Ersetze in der log. Formel PP alle Attributnamen durch entsprechende Werte aus tt. Informationssysteme 2017 Kapitel 3: Grundlagen des Relationenmodells 34

35 Selektion - Beipiele PERS PNR NAME ALTER GEHALT PROVISION ANR MNR Coy Müller Schmid Abel K55 K51 K53 K s A BCDEFG A =HI?J K LM (PPPPPPPP) PNR NAME ALTER GEHALT PROVISION ANR MNR s P?Q=HI R SJTUVBVT< (PPPPPPPP) 829 Schmid K PNR NAME ALTER GEHALT PROVISION ANR MNR s =<J@ A WXX A P?Q=HI K XMMMM (PPPPPPPP) 574 Abel K PNR NAME ALTER GEHALT PROVISION ANR MNR 406 Coy K Informationssysteme 2017 Kapitel 3: Grundlagen des Relationenmodells 35

36 Projektion Auswahl der Spalten (Attribute) AA = AA 1, AA 2,..., AA kk aus einer Relation RR (Grad n k) Definition: p AA (RR) = {pp $ttîrr: pp = < tt[aa 11 ],, tt[aa kk ] > } Mengeneigenschafterfordert ggf. Duplikateliminierung! Beispiele: p <=>?,P?Q=HI,=HI?J (PPPPPPPP) p =<J,><J (PPPPPPPP) PERS PNR NAME ALTER GEHALT ANR MNR ERG ANR MNR Coy Müller Schmid Abel K55 K51 K53 K p ANR, MNR K K51 - K53 777! Duplikate entfernt! Informationssysteme 2017 Kapitel 3: Grundlagen des Relationenmodells 36

37 Operationssequenzen Ausführen von mehreren Operatoren nacheinander Abgeschlossenheit der Algebra Geschachtelte RA-Ausdrücke Beispiel: p NAME, GEHALT, ALTER (s ANR='K55' GEHALT > (PERS)) Alternativ: Verwendung von Zwischenrelationen Beipiel: TEMP ß s ANR='K55' GEHALT > (PERS) RESULTAT ß p NAME, GEHALT, ALTER (TEMP) Informationssysteme 2017 Kapitel 3: Grundlagen des Relationenmodells 37

38 Klassische Mengenoperationen Klassische binäre Mengenoperationen für Relationen Voraussetzung: Vereinigungsverträglichkeit der beteiligten Relationen (gleicher Grad + gleiche Wertebereiche) (A 1, A 2,..., A n ) (B 1, B 2,..., B n ) W(A i ) = W(B i ) : i = 1, n D i D j... D k 1. Vereinigung (UNION) von R und S R È S = {t t Î R t Î S} 2. Differenz R S = {t t Î R t Ï S} zusätzlich (redundante Mengenoperationen): 3. Durchschnitt (INTERSECTION) R Ç S = R (R S) = {t t Î R t Î S} 4. Symmetrische Differenz R Δ S = (R È S) (R Ç S) = ((R È S) (R (R S))) = {t t Î R Å t Î S} Informationssysteme 2017 Kapitel 3: Grundlagen des Relationenmodells 38

39 (Erweitertes) Kartesisches Produkt RR (Grad r) und SS (Grad s) beliebig Definition: KK = RR SS = {kk $xxîrr, yyîss: (kk = xx yy)} kk = xx yy =< xx 1,, xx rr, yy 1,, yy ss > nicht << xx 1,, xx rr >, < yy 1,, yy ss >> wie übliches kartesisches Produkt Anwendung von: AAAAAA PPPPPPPP ABT ANR ANAME AORT K51 K53 K55 Planung Einkauf Vertrieb PERS PNR ALTER ANR K55 K51 K53 K55 KL F F ABT x PERS ANR ANAME AORT PNR ALTER ANR' K51 K51 K51 K51 K53 : : Planung Planung Planung Planung Einkauf : : KL KL KL KL F : : : : : : K55 K51 K53 K55 K55 : : Enthält viele (oft auch unsinnige) Kombinationen! Informationssysteme 2017 Kapitel 3: Grundlagen des Relationenmodells 39

40 Umbenennung von Attributen und Relationen Auflösung von Namenskonflikten kann erforderlich sein, wenn ein Attributname in mehreren beteiligten Relationen auftaucht die gleiche Relation mehrmals in Operationen verwendet wird Implizite Umbenennung von Attributen Name der Ursprungsrelation wird als Präfix verwendet Beispiel: Ermittle Kombinationen von Abteilungen mit Personen, die in den Abteilungen arbeiten p =pi.=<j,=<=>?,s<j (s (AAAAAA PPPPPPPP)) Explizite Umbenennung durch Rename-Operator (r) Umbenennung eines Attributs p =<J,=<=>?,S<J (s =pi<j (AAAAAA r =pi<j =<J(PPPPPPPP))) Umbenennung von Relationen durch Angabe des neuen Relationennamens Beispiel: Ermittle Paare von Personen, die in der gleichen Abteilung arbeiten s Ss.=<J (r Sr (PPPPPPPP) r Ss(PPPPPPPP)) Informationssysteme 2017 Kapitel 3: Grundlagen des Relationenmodells 40

41 Verbund (Join, Θ-Join) Grob: Kartesisches Produkt zwischen zwei Relationen RR (Grad r) und SS (Grad s) eingeschränkt durch QQ-Bedingungen zwischen i-spalte von RR und j-spalte von SS. Definition: Sei Θ {<, =, >,,, } (Vergleichsoperator) Θ-Verbund zwischen RR(AA 1, AAAA) und SS(BB 1, BBBB): VV = RR AAii ΘΘΘΘΘΘ SS = σσ AAii ΘΘΘΘΘΘ (RR SS) Bemerkungen: (1) Speziell Q = '=' : Gleichverbund (Equi-Join) (2) Ein Gleichverbund zwischen R und S heißt verlustfrei (lossless join), wenn alle Tupel von R und S am Verbund teilnehmen. Die inverse Operation Projektion erzeugt dann wieder R und S. (3) Joins sind kommutativ und assoziativ Informationssysteme 2017 Kapitel 3: Grundlagen des Relationenmodells 41

42 Gleichverbund - Beispiel Anwendung von ABT ABT.ANR = PERS.ANR PERS ABT ANR ANAME AORT PERS PNR ALTER ANR Fremdschlüssel K51 K53 K55 Planung Einkauf Vertrieb KL F F K55 K51 K53 K55 R = ABT PERS ANR ANAME AORT PNR ALTER ANR' K51 K53 K55 K55 Planung Einkauf Vertrieb Vertrieb KL F F F K51 K53 K55 K55 verlustfrei: p ANR, ANAME, AORT (R)=ABT ; p PNR, ALTER, ANR (R)=PERS Wäre verlustbehaftet, wenn Tupel in ABT oder PERS keine Verbundpartner finden z. B. (K56, Finanzen, M) in ABT oder (471, 63, -) in PERS p als Umkehroperation führt nicht auf ABT oder PERS Informationssysteme 2017 Kapitel 3: Grundlagen des Relationenmodells 42

43 Natürlicher Verbund (Natural Join) Grob: Gleichverbund über alle gemeinsamen Attribute und anschließende Projektion (gemeinsame Attribute werden nur einmal übernommen) Definition gegeben: RR(AA 1, AA 2, AAAA, BB r,, BB kk ), SS(BB r,, BB kk, CC 1, CC nn ) o.b.d.a.: BB ii sind gleichbenannt (sonst. Umsortierung) Natürlicher Verbund zwischen R und S: RR SS = p AA11,,AA mm,rr.bb 11,,RR.BB kk,cc 11,,CC nn (s SS.BB 11 (RR.BB SS.BB kk )(RR SS)) Bemerkungen: ohne Joinbedingung = Zeichen für Natural Join gemeinsame Attribute sind durch Namensübereinstimmung gegeben (nicht durch PK/FK-Paare!) Informationssysteme 2017 Kapitel 3: Grundlagen des Relationenmodells 43

44 Natürlicher Verbund - Beispiel Anwendung von AAAAAA PPPPPPPP ABT ANR ANAME AORT PERS PNR ALTER ANR K51 K53 K55 Planung Einkauf Vertrieb KL F F K55 K51 K53 K55 AP = ABT PERS ANR ANAME AORT PNR ALTER K51 K53 K55 K55 Planung Einkauf Vertrieb Vertrieb KL F F F verlustfrei? Informationssysteme 2017 Kapitel 3: Grundlagen des Relationenmodells 44

45 Äußerer Verbund (Outer Join) Join (auch Inner Join genannt) ist nicht immer verlustfrei Ziel: Verlustfreier Verbund soll erzwungen werden Beispiel: Bei R S sollen auch Teilobjekte als Ergebnis geliefert werden R Ansatz S Input-Tupel, die keinen Join-Partner haben, werden trotzdem übernommen die fehlenden Partnerattribute werden mit Nullwerten belegt Äußerer natürlicher Verbund (full outerjoin) R A B C a 1 b 1 c 1 a 2 b 2 c 2 S C D E c 1 d 1 e 1 c 3 d 2 e 2 = ERG A B C D E a 1 a 2 - b 1 b 2 - c 1 c 2 c 3 d 1 - d 2 e 1 - e 2 Informationssysteme 2017 Kapitel 3: Grundlagen des Relationenmodells 45

46 Äußerer Verbund - Varianten Linker äußerer Verbund linke Argumentrelation bleibt verlustfrei R A B C S C D E = ERG A B C D E a 1 b 1 c 1 a 2 b 2 c 2 c 1 d 1 e 1 c 3 d 2 e 2 a 1 b 1 c 1 d 1 a 2 b 2 c 2 -- e 1 -- Rechter äußerer Verbund rechte Argumentrelation bleibt verlustfrei R A B C S C D E = ERG A B C D E a 1 b 1 c 1 a 2 b 2 c 2 c 1 d 1 e 1 c 3 d 2 e 2 a 1 -- b 1 -- c 1 d 1 e 1 c 3 d 2 e 2 Äußerer Theta-Join, Gleichverbund mit Varianten analog definiert Rechter und linker äußerer Verbund sind nicht kommutativ Informationssysteme 2017 Kapitel 3: Grundlagen des Relationenmodells 46

47 Weitere Join Typen: Semi-Joins Idee: Finde alle Tupel der linken Relation, die Joinpartner in der rechten Relation haben. LL RR = ππ L (LL RR) R A B C S C D E = ERG A B C a 1 b 1 c 1 a 2 b 2 c 2 c 1 d 1 e 1 c 3 d 2 e 2 a 1 b 1 c 1 LL RR ist analog definiert. R A B C S C D E = ERG C D E a 1 b 1 c 1 a 2 b 2 c 2 c 1 d 1 e 1 c 3 d 2 e 2 c 1 d 1 e 1 Es gilt: LL RR = RR LL allerdings sind Semi-Joins genau wie die linken und rechten äußeren Joins nicht kommutativ! Informationssysteme 2017 Kapitel 3: Grundlagen des Relationenmodells 47

48 Weitere Join Typen: Anti-Joins Idee: Finde alle Tupel, für die kein Joinpartner existiert. Anti-Join von L mit R R A B C S C D E = ERG A B C a 1 b 1 c 1 a 2 b 2 c 2 c 1 d 1 e 1 c 3 d 2 e 2 a 2 b 2 c 2 Anti-Join von R mit L R A B C S C D E = ERG C D E a 1 b 1 c 1 a 2 b 2 c 2 c 1 d 1 e 1 c 3 d 2 e 2 c 3 d 2 e 2 Informationssysteme 2017 Kapitel 3: Grundlagen des Relationenmodells 48

49 Division Ziel Beantwortung von Fragen, bei denen eine ganze Relation zur Qualifikation herangezogen wird Beispiel: Welche Schauspieler haben alle Rollen gespielt? Simulation des Allquantors è ein Tupel aus RR steht mit allen Tupeln aus SS in einer bestimmten Beziehung Definition der Division: Sei RR vom Grad r und SS vom Grad s, r > s und s ¹ 0 SS-Attribute RR-Attribute, tt sei (r - s)-tupel, uu sei s-tupel Dann gilt: RR SS = {tt "uu Î SS: (tt uu Î RR)} Beschreibung der Division mit den Grundoperationen RR SS = p RRëSS (RR) - p RRëSS ((p RRëSS (RR) SS) - RR) Es gilt: (RR SS) SS = RR Informationssysteme 2017 Kapitel 3: Grundlagen des Relationenmodells 49

50 Division - Beispiel Datenbank: DARSTELLER PNR FIGUR A-Jahr ROLLE FIGUR TITEL R-Typ P1 P1 P2 P3 P3 P3 Faust Nathan Werther Faust Nathan Werther Faust Nathan Werther Faust Nathan der Weise Die Leiden Frage: Welche Schauspieler haben alle Rollen gespielt? (p PNR,FIGUR (DA)) (p FIGUR (RO)) Auswertung: p PNR,FIGUR (DA) PNR FIGUR P1 P1 Faust Nathan? p FIGUR (RO) FIGUR Faust Nathan Werther p PNR,FIGUR (DA) PNR FIGUR P2 Werther p PNR,FIGUR (DA) PNR FIGUR P3 P3 P3 Faust Nathan Werther Ergebnis PNR P3 Informationssysteme 2017 Kapitel 3: Grundlagen des Relationenmodells 50

51 Anfragedarstellung als Operatorbaum Anstelle komplex geschachtelter Ausdrücke (inline) kann auch eine (oft übersichtlicher) Baumdarstellung verwendet werden Beispiel: ππ PNR, NAME, ANAME, AORT σ GEHALT>50000 PERS ABT Informationssysteme 2017 Kapitel 3: Grundlagen des Relationenmodells 51

52 Anfrageoptimierung - Motivation ABT ANR ANAME AORT PERS PNR NAME ALTER GEHALT ANR MNR K51 K53 K55 Planung Einkauf Vertrieb Kaiserslautern Frankfurt Frankfurt Coy Müller Schmid Abel K55 K51 K53 K Anfrage: Finde alle Angestellten (PNR, ALTER, ANAME), die in einer Abteilung in Frankfurt arbeiten und zwischen 30 und 34 Jahre alt sind. ABT p s s s PNR, ALTER, ANAME AORT='F' ALTER ³ 30 Ù ALTER 34 ABT.ANR=PERS.ANR PERS ABT p s 3 mögliche Lösungen PNR, ALTER, ANAME ALTER ³ 30 Ù ALTER 34 Ù AORT='F' Informationssysteme 2017 Kapitel 3: Grundlagen des Relationenmodells 52 PERS s ABT p AORT='F' PNR, ALTER, ANAME s PERS ALTER ³ 30 Ù ALTER 34

53 Relationenalgebra - Optimierung Relationenalgebraische Formulierungen spezifizieren Ausführungsreihenfolge (prozedurale Elemente) äquivalente Umformungen möglich Problem gegeben: Ausdruck der Relationenalgebra (RA) gesucht: äquivalenter, möglichst effizient auszuführender Ausdruck der Relationenalgebra Hierbei kommen Äquivalenzregeln zum Einsatz, die Beschreiben, wie Operatoren innerhalb eines Ausdrucks verschoben werden können. Später im Kapitel über Anfrageverarbeitung und Optimierung betrachten wir Heuristiken zur Anwendung der Regeln, um kostengünstigere "Anfragepläne" zu finden. Informationssysteme 2017 Kapitel 3: Grundlagen des Relationenmodells 53

54 Rewrite-Regeln der Relationenalgebra Äquivalenz von Ausdrücken mit Relationen R i 1. Kommutatives Gesetz für Produkt, Verbund, Schnitt, Vereinigung R 1 R 2 º R 2 R 1 R 1 F R 2 º R 2 F R 1 R 1 R 2 º R 2 R 1 R 1 R 2 º R 2 R 1 2. Assoziatives Gesetz für Produkt, Verbund, Schnitt, Vereinigung (R 1 R 2 ) R 3 º R 1 (R 2 R 3 ) (R 1 F1 R 2 ) F2 R 3 º R 1 F1 (R 2 F2 R 3 ) (R 1 R 2 ) R 3 º R 1 (R 2 R 3 ) (R 1 R 2 ) R 3 º R 1 (R 2 R 3 ) 3. Folgen von Projektionen (Eliminieren/Generieren von Projektionen) p A,B,C (p A,B,C,,Z (R)) º p A,B,C (R) Informationssysteme 2017 Kapitel 3: Grundlagen des Relationenmodells 54

55 Rewrite-Regeln der Relationenalgebra (2) 4. Folgen von Selektionen vs. Konjunktionen in Bedingungen s F1 (s F2 (R)) º s F1 Ù F2 (R) Da (F 1 Ù F 2 º F 2 Ù F 1 ): s F1 (s F2 (R)) º s F2 (s F1 (R)) 5. Vertauschung von Selektionen und Projektionen F enthält nur Attribute aus A... Z: s F (p A,,Z (R)) º p A,,Z (s F (R)) wenn F auch Attribute aus B 1 B m enthält: p A,,Z (s F (R)) º p A,,Z (s F (p A,,Z,B1,...,Bm (R))) 6. Vertauschung von Selektion und Produkt (bzw. Verbund) F enthält nur Attribute aus R 1 : s F (R 1 R 2 ) º s F (R 1 ) R 2 allgemeiner: F = F 1 Ù F 2 Ù F 3 F 1 : nur Attribute aus R 1, F 2 : nur Attribute aus R 2, F 3 : beides s F (R 1 R 2 ) º s F3 (s F1 (R 1 ) s F2 (R 2 )) ºs F1 (R 1 ) F3 s F2 (R 2 ) Informationssysteme 2017 Kapitel 3: Grundlagen des Relationenmodells 55

56 Rewrite-Regeln der Relationenalgebra (2) 7. Vertauschung von Selektionen und Mengenoperationen (Selektion ist distributiv mit Mengenoperationen) s F (R 1 R 2 ) º s F (R 1 ) s F (R 2 ) s F (R 1 R 2 ) º s F (R 1 ) s F (R 2 ) s F (R 1 - R 2 ) º s F (R 1 ) - s F (R 2 ) 8. Vertauschung von Projektion und Vereinigung (Projektion ist distributiv mit Vereinigung) p A (R 1 R 2 ) º p A (R 1 ) p A (R 2 ) 9. Veränderung von Bedingungen (à DeMorgans Gesetz) (p 1 p 2 ) º p 1 p 2 (p 1 p 2 ) º p 1 p 2 à erlaubt anschließend Aufbrechen/Verschieben von Selektionen Informationssysteme 2017 Kapitel 3: Grundlagen des Relationenmodells 56

57 Erweiterungen der Relationalen Algebra Wir betrachten nun einige praxisrelevante Erweiterungen der relationalen Algebra. Aggregation Multimengen Verschiedene weitere Operatoren (Duplikateliminierung, Sortierung, erweiterte Projektion) Informationssysteme 2017 Kapitel 3: Grundlagen des Relationenmodells 57

58 Gruppierung und Aggregation Ermittlung von "verdichteten" Daten (Summe, Durchschnitt,..) Schritt 1 (optional): Bilde Gruppen von Tupeln aufgrund Wertegleichheit von Attributen (z.b. PERS nach ANR gruppiert) Schritt 2: Wende für jede Gruppe Aggregatfunktion(en) an (z.b. AVG(Gehalt) um Durchschnittsgehalt zu berechnen) Ergebnis: Für jede Gruppe genau ein Tupel (Zusammenfassung) a a a Gruppierung b b b b b b c c a b c Aggregation Informationssysteme 2017 Kapitel 3: Grundlagen des Relationenmodells 58

59 Gruppierung/Aggregation: γγ - Operator γγ Operator ermöglicht Spezifikation von Gruppierungsattributen Aggregatfunktionen mit zu aggregierenden Attributen Genauer: - optionale Benennung des resultierenden Ergebnisattributs geg. Relation RR mit Attributen AA = {AA 1,, AAAA} G = γγ GGGG; AAAA RR mit - Gruppierungsattributen GGGG AA - Aggregatfunktionen AAAA = AAAA 1, AAAA kk mit AAAA ii = AAAA ii ß CCCCCCCCCC SSSSSS AAAAAA MMMMMM MMMMMM (AA ii ) - AAAA ii ist Name des entstehenden Attributes für AF-Wert (optional) - zusätzlich COUNT(*) erlaubt à Anzahl der Tupel in Gruppe Informationssysteme 2017 Kapitel 3: Grundlagen des Relationenmodells 59

60 Gruppierung/Aggregation: γγ - Operator (2) Die Attribute in GA beschreiben wie die Tupel der Relation R gruppiert werden. Ergebnisrelation enthält für jede vorkommende Wertekombination von GA ein Tupel Tupel hält GA-Werte und berechnete AF-Werten für jede Gruppe Gruppe = alle Tupel in R mit den gleichen GA-Werten Falls GA = wird auf der gesamten Relation (eine große Gruppe) aggregiert. Ergebnis besteht in diesem Fall nur aus den berechneten AF-Werten (1 Tupel). Und GA = wird auch einfach weggelassen in der Anfrage. Beispiele: γγ =<J; P?Q =UP P?Q=HI (PPPPPPPP) γγ =UP P?Q=HI (PPPPPPPP) Informationssysteme 2017 Kapitel 3: Grundlagen des Relationenmodells 60

61 Der Erweiterte Projektions-Operator Wo in der ursprünglichen Definition der Projektion nur Attributnamen angegeben werden, also p =r,,=ß(rr) lassen wir in der Erweiterung des Projektions-Operators auch Funktionen zu, die ein oder mehrere Attribute als Argumente haben. Ausgabe der Funktionen können benannt werden. Beispiel: ππ S<J, >P?Q P?Q=HI rs, (PPPPPPPP) Informationssysteme 2017 Kapitel 3: Grundlagen des Relationenmodells 61

62 Sortierung ττ H RR ist eine Liste von Tupeln aus Relation RR, geordnet nach den Attributen, die in LL genannt sind. In lexikographischer Ordnung. Optional mit Angabe der Sortierung: - Absteigend oder Aufsteigend, pro Attribut. - Default: Aufsteigend. ττ =,p RR ττ p, RR ττ RR A B C A B C A B C Informationssysteme 2017 Kapitel 3: Grundlagen des Relationenmodells 62

63 Duplikate in den Daten: Multimengen (Bags) Die bislang betrachteten Anfragesprachen arbeiten auf Mengen, im Sinne von Relationen, die Mengen von Tupeln sind. Es werden bei dieser Mengen-Betrachtung implizit Duplikate entfernt. Insbesondere nach einer Projektion oder Mengenvereinigung treten oft Duplikate auf. Datenbanksysteme arbeiten in der Regel mit Multimengen (aka. Bags), d.h. die Relationen (Tabellen) dürfen auch Duplikate enthalten. Zum Beispiel sind {a,b,b} und {a,b} Multimengen, wobei letztere auch eine Menge ist. Informationssysteme 2017 Kapitel 3: Grundlagen des Relationenmodells 63

64 Operationen auf Multimengen (Bags) Selektion, Join, Kreuzprodukt, Umbenennung (sowieso), Aggregation/Gruppierung, Sortierung funktionieren auch für Multimengen. Projektion erfordert nur Verzicht auf Duplikateliminierung (einfach) Was ist mit Mengendifferenz, Mengendurchschnitt, Mengenvereinigung für Multimengen? Für ein Bag BB bezeichnen wir mit #BB(xx) die Anzahl des Auftretens von Element xx in BB (aka. Multiplizität). Wir haben dann Kardinalität von Bag B als BB = Æ Ø #BB(xx) AA BB als #AA(xx) #BB xx xx Informationssysteme 2017 Kapitel 3: Grundlagen des Relationenmodells 64

65 Vereinigung, Differenz, Schnittmenge für Multimengen Vereinigung: #(XX YY)(zz) = #XX(zz) + #YY (zz) Schnittmenge: #(XX YY)(zz) = min (#XX zz, #YY(zz)) Differenz: #(XX YY )(zz) = max (0, #XX zz #(YY )) Anmerkung: Die Definition der Vereinigung für Bags ist nicht identisch zu der Vereinigung von Bags aus der Mathematik, welche definiert wäre als #(XX EΩØ YY)(zz) = max (#XX zz, #YY(zz)). Mit dieser Definition würden auch die Regeln für Mengen bei Bags gelten. Die oben angegebene Definition#(XX YY)(zz) = #XX(zz) + #YY zz folgt jedoch genau dem was in DB-Systemen (siehe später SQL) oder Programmiersprachen benutzt wird, im Sinne der "Konkatenation" von Bags. XX EΩØ YY (XX YY ) YY Informationssysteme 2017 Kapitel 3: Grundlagen des Relationenmodells 65

66 Beispiel: Verletzte Regel für Bags RR SS TT RR SS RR TT gilt für Mengen, aber nicht für Bags Seien R, S und T jeweils das Bag {1} Dann ist die linke Seite: SS TT = 1, 1 ; RR SS TT = {1}. Und die rechte Seite: RR SS = RR TT = 1 RR SS RR TT = 1 1 = 1, 1 {1} Informationssysteme 2017 Kapitel 3: Grundlagen des Relationenmodells 66

67 Operator für Duplikateliminierung δδ(rr) ergibt eine Relation, in der jedes Tupel einmal auftritt für Tupel die in R einmal oder mehrfach auftreten. RR A B δδ RR A B Technisch gesehen ist der Duplikateliminierungsoperator redundant. Für Relation RR(AA 1, AA 2,, AAAA) ist die Relation δ(rr) äquivalent zu γγ =r,= s,,= (RR). D.h. um Duplikate zu eliminieren gruppieren wir nach allen Attributen, ohne Anwendung einer Aggregatfunktion. Informationssysteme 2017 Kapitel 3: Grundlagen des Relationenmodells 67

68 Zusammenfassung Relationenmodell Relation mit (atomaren) Attributen als zentrale Datenstruktur wertbasierte Darstellung von Beziehungen (Fremdschlüssel) wohldefinierte Abbildung ER à RM Relationenalgebra Abgeschlossenheit bzgl. der Algebraoperationen Klassische Mengenoperationen Relationenoperationen elementare und abgeleitete Operatoren für Anfragen komplexe RA-Ausdrücke, Schachtelung Äquivalenzregeln als Basis der algebraischen Optimierung Erweiterungen Gruppierung und Aggregation Multimengen, Duplikateliminierung,... Informationssysteme 2017 Kapitel 3: Grundlagen des Relationenmodells 68

69 ANHANG: BEISPIELANFRAGEN Informationssysteme 2017 Kapitel 3: Grundlagen des Relationenmodells 69

70 Beispiel-DB: BÜHNE ER-Diagramm Schauspieler n stelltdar m Rolle n hat 1 Ist- Autorvon n 1 Drama Dichter n Ist- Kritikervon 1 Relationales Schema SCHAUSPIELER (SP) PNR NAME W-ORT... ROLLE (RO) FIGUR TITEL R-Typ... DICHTER (DI) AUTOR G-ORT G-JAHR DARSTELLER (DA) PNR FIGUR A-JAHR A-ORT THEATER DRAMA (DR) TITEL AUTOR KRITIKER U-ORT U-JAHR Informationssysteme 2017 Kapitel 3: Grundlagen des Relationenmodells 70

71 Beispiel-DB: Anfragen Q1: Finde alle Schauspieler (NAME), die einmal den Faust (die Figur Faust ) gespielt haben. π NAME (σ FIGUR=Faust (SP DA)) Q2: Finde alle Schauspieler (NAME), die einmal im Faust (im Drama Faust ) mitgespielt haben. π NAME (σ TITEL=Faust (SP DA RO)) Q3: Finde alle Schauspieler (NAME), die in Dramen von Schiller mitgespielt haben. π NAME (SP DA RO (σ AUTOR=Schiller DR )) Q4: Welcher Dichter ist Schauspieler? SP SP.NAME=DI.AUTOR DI Q5: Finde alle Dramen mit Autoren (TITEL, AUTOR, G-JAHR), die nach 1800 uraufgeführt wurden. π TITEL, AUTOR, G-JAHR ((σ U-JAHR>1800 DR) DI) Q6: Liste alle Dramen mit ihren Kritikern, die in Weimar geboren wurden, (mit TITEL, KRITIKER) auf. π TITEL, KRITIKER ((σ G-ORT=Weimar DI) DI.AUTOR=DR.KRITIKER DR) Informationssysteme 2017 Kapitel 3: Grundlagen des Relationenmodells 71

72 Beispiel-DB: Anfragen (2) Q7: Finde die Schauspieler (PNR), die nie gespielt haben. π PNR SP - π PNR DA Q8: Finde die Schauspieler (PNR), die nur Faust oder Wallenstein gespielt haben. π PNR (σ FIGUR=Faust FIGUR=Wallenstein DA) - π PNR (σ FIGUR Faust FIGUR Wallenstein DA) Q9: Finde alle Schaupieler (NAME), die alle Rollen in Dramen von Goethe gespielt haben. π NAME (SP (π PNR,FIGUR DA π FIGUR (RO (σ AUTOR=Goethe DR)))) Q10: Finde alle Schauspieler (NAME), die alle Narrenrollen am Pfalztheater gespielt haben. π NAME (SP ((π PNR,FIGUR (σ THEATER=Pfalztheater DA)) (π FIGUR (σ R-TYP=Narr RO)))) Q11: Ermittle für jede Figur, wie oft sie von Schauspielern, die in Kaiserslautern wohnen, gespielt wurde γγ FIGUR; ANZßCOUNT(*) ((σ W-ORT=KL SP) DA) Informationssysteme 2017 Kapitel 3: Grundlagen des Relationenmodells 72

3. Grundlagen des Relationenmodells. Relationenmodell Übersicht

3. Grundlagen des Relationenmodells. Relationenmodell Übersicht 3. Grundlagen des Relationenmodells Relationenmodell Übersicht Übersicht - Grundkonzepte - Normalisierte Relationen - Schlüssel - Sprachen für das Relationenmodell Datenstruktur Relation (Tabelle) Relationenalgebra

Mehr

Grundlagen von Datenbanken. Abbildung ERM-RM

Grundlagen von Datenbanken. Abbildung ERM-RM Grundlagen von Datenbanken E1 R1 E2 Kriterien: Informationserhaltung, d.h. möglichst genaue Übereinstimmung der Semantik (Übernahme aller spezifizierten Eigenschaften) Minimierung der Redundanz Minimierung

Mehr

Grundlagen von Datenbanken. Abbildung ERM-RM

Grundlagen von Datenbanken. Abbildung ERM-RM Grundlagen von Datenbanken Abbildung ERM-RM Abbildung ERM-RM E1 R1 E2 Kriterien: Informationserhaltung, d.h. möglichst genaue Übereinstimmung der Semantik (Übernahme aller spezifizierten Eigenschaften)

Mehr

Grundlagen des Relationenmodells. Inhalt. Übersicht Grundkonzepte Abbildung von ER-Diagrammen Relationenalgebra Algebraische Optimierung

Grundlagen des Relationenmodells. Inhalt. Übersicht Grundkonzepte Abbildung von ER-Diagrammen Relationenalgebra Algebraische Optimierung Grundlagen des Relationenmodells Inhalt Übersicht Grundkonzepte Abbildung von ER-Diagrammen Relationenalgebra Algebraische Optimierung N. Ritter, HMS, 13.09.2007 1 Übersicht (1) Datenstruktur Relation

Mehr

Grundlagen des Relationenmodells. Inhalt. Übersicht Grundkonzepte Abbildung von ER-Diagrammen Relationenalgebra Algebraische Optimierung

Grundlagen des Relationenmodells. Inhalt. Übersicht Grundkonzepte Abbildung von ER-Diagrammen Relationenalgebra Algebraische Optimierung Grundlagen des Relationenmodells Inhalt Übersicht Grundkonzepte Abbildung von ER-Diagrammen Relationenalgebra Algebraische Optimierung N. Ritter, HMS 1 Übersicht (1) Datenstruktur Relation (Tabelle) einzige

Mehr

3. Grundlagen des Relationalen Datenmodells

3. Grundlagen des Relationalen Datenmodells 3. Grundlagen des Relationalen Datenmodells Grundkonzepte Relationale Invarianten Primärschlüsselbedingung Fremdschlüsselbedingung (referentielle Integrität) Wartung der referentiellen Integrität Abbildung

Mehr

3. Grundlagen des Relationalen Datenmodells

3. Grundlagen des Relationalen Datenmodells 3. Grundlagen des Relationalen Datenmodells Grundkonzepte Relationale Invarianten Primärschlüsselbedingung Fremdschlüsselbedingung (referentielle Integrität) Wartung der referentiellen Integrität Abbildung

Mehr

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

Relationen-Algebra. Prof. Dr. T. Kudraß 1 Relationen-Algebra Prof. Dr. T. Kudraß 1 Relationale Anfragesprachen Query Language (QL): Manipulation und Retrieval von Daten einer Datenbank Relationenmodell erlaubt einfache, mächtige Anfragesprachen

Mehr

Übersicht (1) Übersicht (2) 4. Grundlagen des Relationenmodells. Inhalt. Datenstruktur. Operatoren auf (mehreren) Relationen.

Übersicht (1) Übersicht (2) 4. Grundlagen des Relationenmodells. Inhalt. Datenstruktur. Operatoren auf (mehreren) Relationen. 4. Grundlagen des Relationenmodells Inhalt Übersicht Grundkonzepte Abbildung von ER-Diagrammen Relationenalgebra Algebraische Optimierung N. Ritter, DIS, SS 2005, Kapitel 4 1 Übersicht (1) Datenstruktur

Mehr

Das Relationen-Modell. Prof. Dr. T. Kudraß 1

Das Relationen-Modell. Prof. Dr. T. Kudraß 1 Das Relationen-Modell Prof. Dr. T. Kudraß 1 Einführung Geht auf klassische Arbeit von Codd zurück (1970) Meistgenutztes Datenmodell Anbieter: IBM (DB2), Informix, Microsoft (SQL-Server), Sybase, Oracle

Mehr

Rückblick: Datenbankentwurf

Rückblick: Datenbankentwurf Rückblick: Datenbankentwurf Entity-Relationship-Modell für konzeptuellen Entwurf Entitytypen (entity types) (z.b. Studenten) Beziehungstypen (relationships) (z.b. hören) Attribute beschreiben Gegenstände

Mehr

Das relationale Datenmodell

Das relationale Datenmodell Das relationale Datenmodell Konzepte Attribute, Relationenschemata, Datenbank-Schemata Konsistenzbedingungen Beispiel-Datenbank Seite 1 Einführung Zweck datenmäßige Darstellung von Objekten und Beziehungen

Mehr

3. Grundlagen relationaler Datenbanksysteme

3. Grundlagen relationaler Datenbanksysteme 3. Grundlagen relationaler Datenbanksysteme Hier nur kurze Rekapitulation, bei Bedarf nachlesen 3.1 Basiskonzepte des Relationenmodells 1 Darstellung der Miniwelt in Tabellenform (DB = Menge von Relationen

Mehr

Rückblick: Relationales Modell

Rückblick: Relationales Modell Rückblick: Relationales Modell Relationales Modell als vorherrschendes Datenmodell Relationen (Tabellen) besitzen Attribute (Spalten) mit Wertebereichen und beinhalten Tupel (Zeilen) Umsetzung eines konzeptuellen

Mehr

Das Relationale Modell

Das Relationale Modell Kapitel 3 Das Relationale Modell 1 / 50 Generelle Anmerkungen Wurde in den Siebzigern von E.F.Codd entwickelt (er bekam den Turing Award dafür) Im Moment das am weitesten verbreitete Datenmodell Hat die

Mehr

Kap. 3 Relationenmodell mit relationaler Algebra

Kap. 3 Relationenmodell mit relationaler Algebra Kap. 3 Relationenmodell mit relationaler Algebra Kap. 3.1. Trägermenge Seien D 1, D 2,..., D k Domänen: (Typen, Arten, Sorten, Wertmengen) z.b. string integer real Boolean DateTime BLOB, TIFF-image, HTML-Doc,

Mehr

3. Grundlagen des Relationalen Datenmodells

3. Grundlagen des Relationalen Datenmodells 3. Grundlagen des Relationalen Datenmodells Grundkonzepte Relationale Invarianten Primärschlüsselbedingung, Fremdschlüsselbedingung (referentielle Integrität) Wartung der referentiellen Integrität Abbildung

Mehr

3. Grundlagen des Relationalen Datenmodells

3. Grundlagen des Relationalen Datenmodells 3. Grundlagen des Relationalen Datenmodells Grundkonzepte Relationale Invarianten Primärschlüsselbedingung, Fremdschlüsselbedingung (referentielle Integrität) Wartung der referentiellen Integrität Abbildung

Mehr

Datenbanksysteme 2009

Datenbanksysteme 2009 Datenbanksysteme 2009 Vorlesung vom 11.05.2009: Anfang von Kapitel 6: Das Relationale Modell Oliver Vornberger Institut für Informatik Universität Osnabrück Das Relationale Modell Wertebereiche (Domänen):

Mehr

3. Das Relationale Datenmodell

3. Das Relationale Datenmodell ! " # $ # $ % # $ 3. Das Relationale Datenmodell 1. Datenstruktur und Integritätsbedingungen 2. Abbildung zwischen ERM und RDM 3. Implementierung in SQL 4. Anomalien und Normalformen des RDM 5. Relationenalgebra

Mehr

Grundlagen von Datenbanken

Grundlagen von Datenbanken Agenda: Grundlagen von Datenbanken SS 2010 3. Relationale Algebra Prof. Dr. Stefan Böttcher Universität Paderborn mit Material von Prof. Dr. Gregor Engels Grundlagen von Datenbanken - SS 2010 - Prof. Dr.

Mehr

Wiederholung VU Datenmodellierung

Wiederholung VU Datenmodellierung Wiederholung VU Datenmodellierung VU Datenbanksysteme Reinhard Pichler Arbeitsbereich Datenbanken und Artificial Intelligence Institut für Informationssysteme Technische Universität Wien Wintersemester

Mehr

Query Languages (QL) Relationale Abfragesprachen/Relational

Query Languages (QL) Relationale Abfragesprachen/Relational Relationale Algebra Relationale Abfragesprachen/Relational Query Languages (QL) Abfragesprachen: Daten aus einer Datenbank zu manipulieren und abzufragen (retrieve information) Das relationalle Modell

Mehr

Aggregatfunktionen in der Relationenalgebra?

Aggregatfunktionen in der Relationenalgebra? Aggregatfunktionen in der Relationenalgebra? Dieter Sosna Aggregatfunktionen in der Relationenalgebra p.1/23 Gliederung Motivation Begriffe Definitionen Anwendungen Zusammenfassung Aggregatfunktionen in

Mehr

3. Das Relationale Datenmodell

3. Das Relationale Datenmodell 3. Das Relationale Datenmodell Das Relationale Datenmodell geht zurück auf Codd (1970): E. F. Codd: A Relational Model of Data for Large Shared Data Banks. Comm. of the ACM 13(6): 377-387(1970) DBMS wie

Mehr

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

Wirtschaftsinformatik 7a: Datenbanken. Hochschule für Wirtschaft und Recht SS 16 Dozent: R. Witte Wirtschaftsinformatik 7a: Datenbanken Hochschule für Wirtschaft und Recht SS 16 Dozent: R. Witte Drei Gäste bezahlen nach einem gemeinsamen Abendessen eine Rechnung von 30 Euro, so dass jeder 10 Euro gibt.

Mehr

Datenbanksysteme SS 2007

Datenbanksysteme SS 2007 Datenbanksysteme SS 2007 Frank Köster (Oliver Vornberger) Institut für Informatik Universität Osnabrück 1 Kapitel 6a: Das relationale Modell 2 Das Relationale Modell Wertebereiche (Domänen): D 1, D 2,,...,

Mehr

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

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 Universität Augsburg, Institut für Informatik WS 2009/2010 Prof. Dr. W. Kießling 06. Nov. 2009 Dr. A. Huhn, F. Wenzel, M. Endres Lösungsblatt 2 Aufgabe 1: ER-Modellierung 1. Siehe Unterstreichungen in

Mehr

Grundlagen von Datenbanken. Relationale Algebra und algebraische Optimierung

Grundlagen von Datenbanken. Relationale Algebra und algebraische Optimierung Grundlagen von Datenbanken Relationale Algebra und algebraische Optimierung Relationale Algebra Überblick Selektion: σ Projektion: π Mengenoperationen:,,,, Kartesisches Produkt: Verbund (Join): Umbenennung:

Mehr

Vorlesung DBIS I (WS 2005/2006) Teil 4

Vorlesung DBIS I (WS 2005/2006) Teil 4 otivation Das Relationenmodell Vorlesung Prof. Johann Christoph Freytag, Ph.D. Institut für Informatik Humboldt-Universität zu Berlin WS 2005/2006 Ziel des Relationenmodells Hoher Grad an Datenunabhängigkeit

Mehr

Grundlagen des relationalen Modells

Grundlagen des relationalen Modells Historische Entwicklung relationaler DBMS Grundlagen des relationalen Modells Seien D 1, D 2,..., D n Domänen (~Wertebereiche) Relation: R D 1 x... x D n Bsp.: Telefonbuch string x string x integer Tupel:

Mehr

Das relationale Modell (Teil 1)

Das relationale Modell (Teil 1) Vorlesung #2 Das relationale Modell (Teil 1) Fahrplan WS 2010/11 Feedback Vorlesung#1 Das relationale Modell Einordnung (wir überspringen die Modellierung, das kommt im 4. Semester Datenmanagement ) Definition,

Mehr

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

Daniel Warner SQL. Das Praxisbuch. Mit 119 Abbildungen. Franzis Daniel Warner SQL Das Praxisbuch Mit 119 Abbildungen Franzis Inhaltsverzeichnis Teil I - Einleitung 15 1 Einleitung 17 1.1 Zum Aufbau des Buchs 17 1.2 Hinweise zur Buch-CD 18 1.3 Typografische Konventionen

Mehr

Vorlesung Datenbanksysteme vom

Vorlesung Datenbanksysteme vom Vorlesung Datenbanksysteme vom 27.10.2008 Wiederholung: Relationale Algebra Relationale Algebra Join-Operatoren Eigenschaften der relationalen Operatoren Grundlagen des relationalen Modells Seien D 1,

Mehr

Relationales Datenmodell Relationale Algebra

Relationales Datenmodell Relationale Algebra Institute for Web Science & Technologies WeST Grundlagen der Datenbanken Relationale Algebra Dr. Thomas Gottron Wintersemester 2012/13 Lernziele Grundbegriffe des Relationalen Modells Abbildung von ER-Diagrammen

Mehr

Kapitel DB:IV (Fortsetzung)

Kapitel DB:IV (Fortsetzung) Kapitel DB:IV (Fortsetzung) IV. Logischer Datenbankentwurf mit dem relationalen Modell Das relationale Modell Integritätsbedingungen Umsetzung ER-Schema in relationales Schema DB:IV-46 Relational Design

Mehr

Geoinformation Abbildung auf Tabellen

Geoinformation Abbildung auf Tabellen Folie 1 von 32 Geoinformation Abbildung auf Tabellen Folie 2 von 32 Abbildung auf Tabellen Übersicht Motivation des relationalen Datenmodells Von Objekten zu Tabellen Abbildung von Objekten Schlüssel Abbildung

Mehr

Kapitel 6: Das E/R-Modell

Kapitel 6: Das E/R-Modell Ludwig Maximilians Universität München Institut für Informatik Lehr- und Forschungseinheit für Datenbanksysteme Skript zur Vorlesung Wintersemester 2013/2014 Vorlesung: Prof. Dr. Christian Böhm Übungen:

Mehr

3. Grundlagen des Relationenmodells 1. Relationenmodell Übersicht. GBIS-Rahmen: Einordnung. Datenstruktur. Relation (Tabelle)

3. Grundlagen des Relationenmodells 1. Relationenmodell Übersicht. GBIS-Rahmen: Einordnung. Datenstruktur. Relation (Tabelle) 3. Grundlagen des Relationenmodells 1 Relationenmodell Übersicht GBIS-Rahmen: Einordnung Datenstruktur Relation (Tabelle) Anwendung Daten Steuerung Funktionen SW-Architektur Übersicht - Grundkonzepte -

Mehr

Kapitel 3: Datenbanksysteme

Kapitel 3: Datenbanksysteme LUDWIG- MAXIMILIANS- UNIVERSITY MUNICH DEPARTMENT INSTITUTE FOR INFORMATICS Skript zur : Einführung in die Informatik: Systeme und Anwendungen Sommersemester 2009 Kapitel 3: Datenbanksysteme : PDDr. Peer

Mehr

Acknowledgments. Datenmodellierung VU , WS Das Relationale Modell: Begriffsklärung. Übersicht. Das relationale Modell

Acknowledgments. Datenmodellierung VU , WS Das Relationale Modell: Begriffsklärung. Übersicht. Das relationale Modell Das relationale Modell Das relationale Modell Acknowledgments Datenmodellierung VU 184.685, WS 2015 Das relationale Modell Sebastian Skritek Die Folien sind eine kleine Erweiterung der Folien von Katrin

Mehr

2.5 Relationale Algebra

2.5 Relationale Algebra 2.5 Relationale Algebra 2.5.1 Überblick Codd-vollständige relationale Sprachen Relationale Algebra Abfragen werden durch exakte Angabe der auf den Relationen durchzuführenden Operationen formuliert Relationenkalküle

Mehr

Kapitel 3: Datenbanksysteme

Kapitel 3: Datenbanksysteme LUDWIG- MAXIMILIANS- UNIVERSITY MUNICH DEPARTMENT INSTITUTE FOR INFORMATICS Skript zur Vorlesung: Einführung in die Informatik: Systeme und Anwendungen Sommersemester 2008 Kapitel 3: Datenbanksysteme Vorlesung:

Mehr

E-R-Modell zu Relationenschema

E-R-Modell zu Relationenschema Raum: LF 230 Nächste Sitzung: 27./30. Oktober 2003 Aktuelle Informationen unter: http://www.is.informatik.uni-duisburg.de/teaching/lectures/dbp_ws03/index.html E-R-Modell zu Relationenschema Als zweiter

Mehr

Grundlagen des relationalen Modells

Grundlagen des relationalen Modells Grundlagen des relationalen Modells Seien D 1, D,, D n Domänen (Wertebereiche) Relation: R D 1 x x D n Bsp.: Telefonbuch string x string x integer Tupel: t R Bsp.: t = ( Mickey Mouse, Main Street, 711)

Mehr

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

Einleitung Projektion Selektion Join Mengenop. Vollst.keit. Einleitung Projektion. Selektion Join. Vollst.keit. Einleitung Projektion Selektion Join Parsen der Anfrage (SQL) Transformation in eine Standardform (Relationenalgebra) Logische Optimierung Transformation in alternative Zugriffspläne, Physische Optimierung Ausführung des gewählten Zugriffsplans

Mehr

Grundlagen des relationalen Modells

Grundlagen des relationalen Modells Grundlagen des relationalen Modells Seien D 1, D,, D n Domänen (Wertebereiche) Relation: R D 1 x x D n Bsp.: Telefonbuch string x string x integer Tupel: t R Bsp.: t = ( Mickey Mouse, Main Street, 4711)

Mehr

Relationale Darstellung von Entitytypen. Uni-Schema. Grundlagen des relationalen Modells

Relationale Darstellung von Entitytypen. Uni-Schema. Grundlagen des relationalen Modells Grundlagen des relationalen Modells Seien D, D 2,, D n Domänen (Wertebereiche) elation: D x x D n Bsp.: Telefonbuch string x string x integer Mickey Mouse Mini Mouse Donald Duck Telefonbuch Straße Main

Mehr

Datenbanken 1. Relationale Algebra. Nikolaus Augsten. FB Computerwissenschaften Universität Salzburg

Datenbanken 1. Relationale Algebra. Nikolaus Augsten. FB Computerwissenschaften Universität Salzburg Datenbanken 1 Nikolaus Augsten nikolaus.augsten@sbg.ac.at FB Computerwissenschaften Universität Salzburg http://dbresearch.uni-salzburg.at Sommersemester 2015 Version: 29. Juni 2015 Augsten (Univ. Salzburg)

Mehr

Kapitel 2: Das Relationale Modell

Kapitel 2: Das Relationale Modell Ludwig Maximilians Universität München Institut für Informatik Lehr- und Forschungseinheit für Datenbanksysteme Skript zur Vorlesung Datenbanksysteme I Wintersemester 2012/2013 Kapitel 2: Das Relationale

Mehr

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

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 Kapitel 7 Normalformen und DB-Entwurf Kap. 7.1 Normalformen Theorie Funktionale Abhängigkeit: f X Y f als Relation, d.h. Menge von Paaren {(x,y)} x: Definitions-Stelle, y: Funktionswert f ist Funktion

Mehr

3. Das Relationale Datenmodell

3. Das Relationale Datenmodell 3. Das Relationale Datenmodell Das Relationale Datenmodell geht zurück auf Codd (1970): E. F. Codd: A Relational Model of Data for Large hared Data Banks. Comm. of the ACM 13(6): 377-387(1970) DBM wie

Mehr

Datenbanken Unit 4: Das Relationale Modell & Datenintegrität

Datenbanken Unit 4: Das Relationale Modell & Datenintegrität Datenbanken Unit 4: Das Relationale Modell & Datenintegrität 15. III. 2016 Outline 1 Organisatorisches 2 SQL 3 Relationale Algebra Notation 4 Datenintegrität Organisatorisches Erster Zwischentest: nach

Mehr

Grundlagen: Datenbanken

Grundlagen: Datenbanken Grundlagen: Datenbanken 1. Zentralübung Harald Lang FAQs Ist der Prüfungtermin schon bekannt? Termin: Mi. 18.02.2015, 08:00 Uhr FAQs Gilt der Bonus auch für die Nachholklausur? Ja. Selbst dann, wenn die

Mehr

Konzeptueller Entwurf

Konzeptueller Entwurf Konzeptueller Entwurf UML Klassendiagrame UML Assoziationen Entspricht Beziehungen Optional: Assoziationsnamen Leserichtung ( oder ), sonst bidirektional Rollennamen Kardinalitätsrestriktionen UML Kardinalitätsrestriktionen

Mehr

Grundlagen des relationalen Modells

Grundlagen des relationalen Modells Grundlagen des relationalen Modells Seien D 1, D 2,..., D n Relation: R D 1 Domänen (Wertebereiche) x... x D n Bsp.: Telefonbuch string x string x integer Tupel: t R Bsp.: t = ( Mickey Mouse, Main Street,

Mehr

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

Kapitel 5 Dr. Jérôme Kunegis. SQL: Grundlagen. WeST Institut für Web Science & Technologien Kapitel 5 Dr. Jérôme Kunegis SQL: Grundlagen WeST Institut für Web Science & Technologien Lernziele Kenntnis der Grundkonzepte von SQL Fähigkeit zur praktischen Anwendung von einfachen SQL-Anweisungen

Mehr

Kapitel 2: Das Relationale Modell

Kapitel 2: Das Relationale Modell Ludwig Maximilians Universität München Institut für Informatik Lehr- und Forschungseinheit für Datenbanksysteme Skript zur Vorlesung Wintersemester 2006/2007 Kapitel 2: Das Relationale Modell Vorlesung:

Mehr

Wiederholung: Relationale Algebra

Wiederholung: Relationale Algebra Vorlesung Datenbanksysteme vom 1.11.016 Wiederholung: Relationale Algebra Relationale Algebra Join-Operatoren Eigenschaften der relationalen Operatoren Grundlagen des relationalen Modells Seien D1, D,,

Mehr

Kapitel 3: Datenbanksysteme

Kapitel 3: Datenbanksysteme LUDWIG- MAXIMILIANS- UNIVERSITY MUNICH DEPARTMENT INSTITUTE FOR INFORMATICS Skript zur Vorlesung: Einführung in die Informatik: Systeme und Anwendungen Sommersemester 2014 Kapitel 3: Datenbanksysteme Vorlesung:

Mehr

Abschnitt 3: Mathematische Grundlagen

Abschnitt 3: Mathematische Grundlagen Abschnitt 3: Mathematische Grundlagen 3. Mathematische Grundlagen 3.1 3.2 Induktion und Rekursion 3.3 Boolsche Algebra Peer Kröger (LMU München) Einführung in die Programmierung WS 14/15 48 / 155 Überblick

Mehr

Grundlagen des relationalen Modells

Grundlagen des relationalen Modells Grundlagen des relationalen Modells Seien D 1, D,, D n Domänen (Wertebereiche, Mengen) Eine Relation ist eine Teilmenge R D 1 x x D n Bsp.: Telefonbuch string x string x integer Ein Tupel ist jedes Element

Mehr

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

Inhaltsverzeichnis. Lothar Piepmeyer. Grundkurs Datenbanksysteme. Von den Konzepten bis zur Anwendungsentwicklung ISBN: Lothar Piepmeyer Grundkurs Datenbanksysteme Von den Konzepten bis zur Anwendungsentwicklung ISBN: 978-3-446-42354-1 Weitere Informationen oder Bestellungen unter http://www.hanser.de/978-3-446-42354-1

Mehr

Kapitel 3: Relationale Algebra

Kapitel 3: Relationale Algebra Kapitel 3: Relationale Algebra Algebra Motivation (1) Wir wollen aus Relationen für uns interessante Informationen extrahieren, Tabellen modifizieren und neue Tabellen aus alten generieren Datenbankeinsatz:

Mehr

Einführung in die Informatik II

Einführung in die Informatik II Einführung in die Informatik II Relationale Datenbanken und SQL Theorie und Anwendung Prof. Dr. Nikolaus Wulff Gründe für eine Datenbank Meist werden Daten nicht in XML-Dokumenten, sondern innerhalb einer

Mehr

Relationale Datenbanken

Relationale Datenbanken Ramon A. Mata-Toledo, Pauline K. Cushman Relationale Datenbanken Schaum's Repetitorien Übersetzung aus dem Amerikanischen von G&U Technische Dokumentation GmbH Z Die Autoren 9 Vorwort 9 1 Ein Überblick

Mehr

PRG2 Folien Zicari Teil 5. Einführung in Datenbanken SS 2007

PRG2 Folien Zicari Teil 5. Einführung in Datenbanken SS 2007 PRG2 Folien Zicari Teil 5 Einführung in Datenbanken SS 2007 Prof. Dott. Ing. Roberto Zicari Johann Wolfgang Goethe-Universität Frankfurt am Main PRG2 V-1 Fachbereich Informatik und Mathematik SQL SQL =

Mehr

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

Dieser Foliensatz darf frei verwendet werden unter der Bedingung, dass diese Titelfolie nicht entfernt wird. Thomas Studer Relationale Datenbanken: Von den theoretischen Grundlagen zu Anwendungen mit PostgreSQL Springer, 2016 ISBN 978-3-662-46570-7 Dieser Foliensatz darf frei verwendet werden unter der Bedingung,

Mehr

Kapitel DB:V. V. Grundlagen relationaler Anfragesprachen

Kapitel DB:V. V. Grundlagen relationaler Anfragesprachen Kapitel DB:V V. Grundlagen relationaler Anfragesprachen Anfragen und Änderungen Relationale Algebra Anfragekalküle Relationaler Tupelkalkül Relationaler Domänenkalkül DB:V-1 Relational Algebra & Calculus

Mehr

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

Handout zur Unit Datenmodellierung Web-Technologien Datenmodellierung Prof. Dr. rer. nat. Nane Kratzke Handout zur Unit Web-Technologien 1 Prof. Dr. rer. nat. Nane Kratzke Praktische Informatik und betriebliche Informationssysteme Raum: 17-0.10 Tel.: 0451 300 5549 Email: nane.kratzke@fh-luebeck.de (Praktische

Mehr

Relationale Algebra Datenbanken I (Systemorientierte Informatik IV) Sommersemester Mengenoperationen

Relationale Algebra Datenbanken I (Systemorientierte Informatik IV) Sommersemester Mengenoperationen Concept Content.. Information Topic Relationale Algebra Datenbanken I (Systemorientierte Informatik IV) Sommersemester 2007 Gunar Fiedler (fiedler@is.informatik.uni-kiel.de) Institut für Informatik Arbeitsgruppe

Mehr

Das relationale Modell

Das relationale Modell Das relationale Modell Grundlagen Übersetzung von ER-Schemata in relationale Schemata Relationale Algebra Relationenkalkül Domänenkalkül Grundlagen des relationalen Modells Seien D 1, D 2,..., D n Domänen

Mehr

Schlüssel. Definition: Ein Schlüssel (key) einer Relation r(r) ist eine Til Teilmenge K von R, so dass für je zwei verschiedene Tupeln t 1

Schlüssel. Definition: Ein Schlüssel (key) einer Relation r(r) ist eine Til Teilmenge K von R, so dass für je zwei verschiedene Tupeln t 1 Schlüssel Definition: Ein Schlüssel (key) einer Relation r(r) ist eine Til Teilmenge K von R, so dass für je zwei verschiedene Tupeln t 1 und t 2 r gilt: - t 1 (K) t 2 (K) und - keine echte Teilmenge K'

Mehr

Daten-Definitionssprache (DDL) Bisher: Realwelt -> ERM -> Relationen-Modell -> normalisiertes Relationen-Modell. Jetzt: -> Formulierung in DDL

Daten-Definitionssprache (DDL) Bisher: Realwelt -> ERM -> Relationen-Modell -> normalisiertes Relationen-Modell. Jetzt: -> Formulierung in DDL Daten-Definitionssprache (DDL) Bisher: Realwelt -> ERM -> Relationen-Modell -> normalisiertes Relationen-Modell Jetzt: -> Formulierung in DDL Daten-Definitionssprache (DDL) DDL ist Teil von SQL (Structured

Mehr

Medizininformatik Software Engineering

Medizininformatik Software Engineering Vorlesung Software Engineering Inhaltsverzeichnis 1. Einleitung 2. Software und Medizinprodukt 3. Vorgehensmodelle 4. Strukturierter Entwurf von Echtzeitsystemen 4.1 Echzeit, was ist das? 4.2 Einführung

Mehr

Datenbanken Unit 3: Das relationale Modell

Datenbanken Unit 3: Das relationale Modell Datenbanken Unit 3: Das relationale Modell 7. III. 2017 Outline 1 SQL 2 Das ER Modell Zusammenfassung 3 Das Relationale Modell Termin zweiter Zwischentest UE-Tests (Thema: SQL) zweiter Zwischentest findet

Mehr

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

Vorlesungen. Studenten. hören. Grundzüge. Fichte Glaube und Wissen Jonas Das relationale eato aedatenmodell Studenten hören Vorlesungen MatrNr Name MatrNr VorlNr VorlNr Titel 26120 Fichte 25403 5022 5001 Grundzüge 25403... Jonas... 26120... 5001... 5022... Glaube und Wissen...

Mehr

Entwurf und Verarbeitung relationaler Datenbanken

Entwurf und Verarbeitung relationaler Datenbanken Entwurf und Verarbeitung relationaler Datenbanken Eine durchgängige und praxisorientierte Vorgehens weise von Prof. Dr. Nikolai Preiß Berufsakademie Stuttgart R. Oldenbourg Verlag München Wien Inhalt Abbildungsverzeichnis

Mehr

Einführung in Datenbanken

Einführung in Datenbanken Einführung in Datenbanken Vorlesungsmanuskript Dr. Josef Templ Universität Salzburg SS 2006 http://www.cs.uni-salzburg.at/~josef.templ/ (c) Copyright Josef Templ, 2003-2006; Alle Rechte vorbehalten. Teil

Mehr

Abstraktionsschichten. Das Relationale Datenmodell

Abstraktionsschichten. Das Relationale Datenmodell Abstraktionsschichten. Das Relationale Datenmodell Verschiedene Abstraktionsebene Data in Beziehung zur Application Data in Beziehung zur Datenmodell Data in Beziehung zur physischen Darstellung Datenunabhängigkeit

Mehr

Das Relationale Modell

Das Relationale Modell Kapitel 6 Das Relationale Modell 6.1 Definition Gegeben sind n nicht notwendigerweise unterschiedliche Wertebereiche (auch Domänen genannt) D 1,..., D n, welche nur atomare Werte enthalten, die nicht strukturiert

Mehr

Datenbanken Unit 3: Das relationale Modell

Datenbanken Unit 3: Das relationale Modell Datenbanken Unit 3: Das relationale Modell 8. III. 2016 Outline 1 Das ER Modell Zusammenfassung 2 Das Relationale Modell 3 SQL Organisatorisches Wissensüberprüfung: heute zwei Aufgaben statt nur einer

Mehr

Grundlagen des relationalen l Modells

Grundlagen des relationalen l Modells Grundlagen des relationalen l Modells Seien D 1, D 2,..., D n Domänen (~Wertebereiche) Relation: R D 1 x... x D n Bsp.: Telefonbuch string x string x integer Tupel: t R Bsp.: t = ( Mickey Mouse, Main Street,

Mehr

Kapitel DB:V. V. Grundlagen relationaler Anfragesprachen

Kapitel DB:V. V. Grundlagen relationaler Anfragesprachen Kapitel DB:V V. Grundlagen relationaler Anfragesprachen Anfragen und Änderungen Relationale Algebra Anfragekalküle Relationaler Tupelkalkül Relationaler Domänenkalkül DB:V-1 Relational Algebra & Calculus

Mehr

Kapitel 1: Einführung 1.1 Datenbanken?

Kapitel 1: Einführung 1.1 Datenbanken? Kapitel 1: Einführung 1.1 Datenbanken? 1. Einführung 1.1. Datenbanken Grundlagen der Datenbanksysteme, WS 2012/13 29. Oktober 2012 Seite 1 1. Einführung 1.1. Datenbanken Willkommen! Studierenden-Datenbank

Mehr

Kapitel 3: Datenbanksysteme

Kapitel 3: Datenbanksysteme LUDWIG- MAXIMILIANS- UNIVERSITY MUNICH DEPARTMENT INSTITUTE FOR INFORMATICS Skript zur Vorlesung: Einführung in die Informatik: Systeme und Anwendungen Sommersemester 2015 Kapitel 3: Datenbanksysteme Vorlesung:

Mehr

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

Dieser Foliensatz darf frei verwendet werden unter der Bedingung, dass diese Titelfolie nicht entfernt wird. Thomas Studer Relationale Datenbanken: Von den theoretischen Grundlagen zu Anwendungen mit PostgreSQL Springer, 2016 ISBN 978-3-662-46570-7 Dieser Foliensatz darf frei verwendet werden unter der Bedingung,

Mehr

Kapitel DB:IV (Fortsetzung)

Kapitel DB:IV (Fortsetzung) Kapitel DB:IV (Fortsetzung) IV. Logischer Datenbankentwurf mit dem relationalen Modell Das relationale Modell Integritätsbedingungen Umsetzung ER-Schema in relationales Schema DB:IV-45 Relational Design

Mehr

Kapitel 2: Grundlagen von Anfragesprachen

Kapitel 2: Grundlagen von Anfragesprachen 2. Grundlagen von Anfragesprachen Seite 1 Kapitel 2: Grundlagen von Anfragesprachen Sprachparadigmen Relationenalgebra Relationenkalkül später SQL 2. Grundlagen von Anfragesprachen 2.1. Relationenalgebra

Mehr

Inhaltsverzeichnis Vorwort zur vierten Auflage Vorwort zur dritten Auflage Vorwort zur zweiten Auflage Vorwort zur ersten Auflage Hinweise zur CD

Inhaltsverzeichnis Vorwort zur vierten Auflage Vorwort zur dritten Auflage Vorwort zur zweiten Auflage Vorwort zur ersten Auflage Hinweise zur CD Vorwort zur vierten Auflage 11 Vorwort zur dritten Auflage 13 Vorwort zur zweiten Auflage 15 Vorwort zur ersten Auflage 17 Hinweise zur CD 19 1 Datenbanken und Datenbanksysteme 21 1.1 Zentralisierung der

Mehr

9. Einführung in Datenbanken

9. Einführung in Datenbanken 9. Einführung in Datenbanken 9.1 Motivation und einführendes Beispiel 9.2 Modellierungskonzepte der realen Welt 9.3 Anfragesprachen (Query Languages) 9.1 Motivation und einführendes Beispiel Datenbanken

Mehr

Kapitel 2. Mathematische Grundlagen. Skript zur Vorlesung Einführung in die Programmierung

Kapitel 2. Mathematische Grundlagen. Skript zur Vorlesung Einführung in die Programmierung LUDWIG- MAXIMILIANS- UNIVERSITY MUNICH DEPARTMENT INSTITUTE FOR INFORMATICS DATABASE Kapitel 2 Mathematische Grundlagen Skript zur Vorlesung Einführung in die Programmierung im Wintersemester 2012/13 Ludwig-Maximilians-Universität

Mehr

Datenbankentwurf. Kapitel 3. Datenbankentwurf 76 / 508

Datenbankentwurf. Kapitel 3. Datenbankentwurf 76 / 508 Kapitel 3 Datenbankentwurf 76 / 508 Phasen des Datenbankentwurfs Phasen des Datenbankentwurfs Anforderungsanalyse Spezifikation Konzeptueller Entwurf Konzeptuelles Schema Logischer Entwurf Logisches Schema

Mehr

insert, update, delete Definition des Datenbankschemas select, from, where Rechteverwaltung, Transaktionskontrolle

insert, update, delete Definition des Datenbankschemas select, from, where Rechteverwaltung, Transaktionskontrolle Einführung in SQL insert, update, delete Definition des Datenbankschemas select, from, where Rechteverwaltung, Transaktionskontrolle Quelle Wikipedia, 3.9.2015 SQL zur Kommunikation mit dem DBMS SQL ist

Mehr

Grundlagen des relationalen Modells

Grundlagen des relationalen Modells Grundlagen des relationalen Modells Das relationale Modell Verfeinerung des relationalen Schemas Relationale Algebra Relationenkalkül Kapitel 3 1 Grundlagen des relationalen Modells Seien D 1, D,, D n

Mehr