3. Grundlagen des Relationenmodells Vorlesung "Informationssysteme" Sommersemester 2017
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
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 1981. He was named an IBM fellow in 1976 and received the highest technical honor in computing, the Turing award, in 1981.
Informationssysteme 2017
Kapitel 3: Grundlagen des Relationenmodells
3
Relationenmodell – Grundkonzepte § Definition: Normalisierte Relation R(A1, A2, …, An) ⊆ W(A1) ☓ W(A2) ☓ … ☓ W(An) Di Untermenge
Dj
Dk
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)
• 𝑠𝑠𝑠𝑠𝑠(𝑅𝑅) oder 𝓡𝓡 bezeichnet die Menge der Attribute der Relation 𝑅𝑅 § 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
Schemanotation und Tabellendarstelllung § Schemanotation (textuell): Relation: {[A1: W(A1), ..., Ak: W(Ak), ... An: W(An)]} § 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
PROF
FBNR
FBNAME
DEKAN
PNR
PNAME
FBNR
FACHGEBIET
FB 9
Wirtschaftswissenschaften
4711
1234
Härder
FB 5
Datenbanksysteme
5678
Wedekind
FB 9
Informationssysteme
Informatik
2223
4711
Müller
FB 9
Operations Research
6780
Nehmer
FB 5
Betriebssysteme
2223
Richter
FB 5
Expertensysteme
FB 5
Informationssysteme 2017
Kapitel 3: Grundlagen des Relationenmodells
5
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. 377-387. Informationssysteme 2017
Kapitel 3: Grundlagen des Relationenmodells
6
Darstellung von Beziehungen § Informationsdarstellung im RM • ausschließlich durch Werte eines W(Ai) 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
Beziehungen im Relationenmodell § Im Schemadiagramm: • Pfeil vom Fremdschlüssel (FS) zum Primärschlüssel § Beispiel: FB
FB FBNR
FBNAME
DEKAN
PROF PNR
PNAME
Informationssysteme 2017
FBNR
FBNR
FBNAME
DEKAN
FB 9
Wirtschaftswissenschaften
4711
FB 5
Informatik
2223
FACHGEBIET
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
Kapitel 3: Grundlagen des Relationenmodells
8
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 PROF
FB FBNR
FBNAME
DEKAN
PNR
PNAME
FBNR
FACHGEBIET
FB 9
Wirtschaftswissenschaften
-
1234
Härder
FB 5
Datenbanksysteme
Informatik
2223
5678
Wedekind
FB 9
Informationssysteme
4711
Müller
FB 9
Operations Research
6780
Nehmer
FB 5
-
2223
Richter
FB 5
Expertensysteme
FB 5
Informationssysteme 2017
Kapitel 3: Grundlagen des Relationenmodells
9
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
Abbildung vom ER-Modell in das Relationenmodell ER-Modell
Relationenmodell
Einwertiges Attribut
✔
Definitionsbereich
✔
Primärschlüssel
✔
Zusammengesetztes Attribut
nur als unabh. einwertige Attribute
Mehrwertiges Attribut
Relation
Entity-Menge
Relation
Relationship-Menge
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
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
(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 InvNr
Autor
Titel
Ort Verlag
EJahr
Bücher
Bücher InvNr Titel
Informationssysteme 2017
Kapitel 3: Grundlagen des Relationenmodells
VName
EJahr
13
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
Autoren InvNr Autor
Natürliche Abbildung? Alternativen? Informationssysteme 2017
Kapitel 3: Grundlagen des Relationenmodells
14
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 Angestellte
Angestellte PNr
Informationssysteme 2017
...
Vorname
(0, *)
Eltern von
(1, 1)
Alter
Kinder
Kinder PNr Vorname
Alter
Kapitel 3: Grundlagen des Relationenmodells
15
Abbildung von Relationships § Initiales (generelles) Vorgehen • jede n-äre Relationship mit Entity-Typen E1, ... En wird als eigene Relation R dargestellt • R enthält als Attribute - alle Schlüssel K1, ... Kn, mit Ki Schlüssel von Ei - alle Relationship-Attribute - wenn nötig mit Umbenennung von Attributen (eindeutige Namen!)
• K1, ... Kn sind Fremdschlüssel, referenzieren E1, ... En • (K1, ... Kn) ist (zusammengesetzter) (Primär-)Schlüssel von R § Nachfolgend wird das resultierende Relationenschema verfeinert bzw. vereinfacht • falls (K1, ... Kn) 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
Zwei Entity-Mengen mit n:m-Verknüpfung Dauer JNR
PNR n
PROJEKT Projekt
j1
MITARBEIT Mitarbeit
p1 p2
j2 j3
PROJEKT (JNR, BEZEICH, …) j1 j2 j3
m
PERS Pers
p3
MITARBEIT (JNR, j1, j2, j2,
PNR, p1 p1 p2
DAUER) ... ... ...
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
Zwei Entity-Mengen mit 1:n-Verknüpfung Dauer
ANR ABT
1 (0,*)
N ABT-ZUGEH
PNR
(0,1)
PERS
§ 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
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
Zwei Entity-Mengen mit 1:1-Verknüpfung PNR Assistenten
1 (0,1)
halten
1
ÜNR Übungen
(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, …) welche?
Übungen(ÜNR, PNR…)
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
Kardinalitätsrestriktionen – "(1, 1)" PNR Beispiel:
Assistenten
1 (0,1)
halten
1
ÜNR Übungen
(1,1)
§ Kann bei geeigneter Zusammenfassung durch Verbot von Nullwerten erfolgen • in der "abhängigen" Relation wird für Assistenten(PNR, …) Fremdschlüssel NOT NULL gefordert Übungen(ÜNR, PNR…) • Im Beispiel: Übungen - PNR NOT NULL § Auch bei zusammengefassten Relationen bei 1:N verwendbar
Informationssysteme 2017
1
1 bzw. N
(0,n)
(0,1)
FS
(0,n)
(1,1)
FS ... NOT NULL
(0,1)
(0,1)
FS ... UNIQUE
(0,1)
(1,1)
FS ... UNIQUE NOT NULL
Kapitel 3: Grundlagen des Relationenmodells
21
Verfeinerung bei n-ären Beziehungen Studenten
N (0, 1)
1 betreuen
1
Professoren
Professoren Seminarthemen 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
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
TECHNIKER
Garfield
ERFAHRUNG
...
WISS.-MA DIPLOM SPEZ.-GEB.
Donald Informationssysteme 2017
BEAMTE
Daisy
Grouch
Kapitel 3: Grundlagen des Relationenmodells
23
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" 111 Ernie ANGESTELLTE
TECHNIKER
WISS.-MA.
ID
NAME
BAT
007
Garfield
Ia
ID
ERFAHRUNG
NAME
BAT
123
SUN
Donald
IVa
ID
DIPLOM
SPEZ.-GEB.
NAME
BAT
007 765
Informatik Mathematik
Recovery ERM
Daisy Grouch
IIa IIa
§ Eigenschaften: • 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
Informationssysteme 2017
Kapitel 3: Grundlagen des Relationenmodells
24
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 ANGESTELLTE ID BAT • "vertikale Partitionierung" 007 Ia UNI-ANGEH.
ID
NAME
007 111 123 333 765
Garfield Ernie Donald Daisy Grouch
TECHNIKER
ID
ERFAHRUNG
123
SUN
WISS.-MA.
123 333 765
IVa IIa IIa
ID
DIPLOM
SPEZ.-GEB.
007 765
Informatik Mathematik
Recovery ERM
§ 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 Informationssysteme 2017
Kapitel 3: Grundlagen des Relationenmodells
25
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.
TECHNIKER
WISS.-MA.
ID
NAME
ANGESTELLTE
ID
NAME
BAT
007 111 123 333 765
Garfield Ernie Donald Daisy Grouch
007 123 333 765
Garfield Donald Daisy Grouch
Ia IVa IIa IIa
ID
NAME
BAT
ERFAHRUNG
123
Donald
IVa
SUN
ID
NAME
BAT
DIPLOM
SPEZ.-GEB.
333 765
Daisy Grouch
IIa IIa
Informatik Mathematik
Recovery ERM
§ Eigenschaften • hoher Speicherplatzbedarf, Auftreten von Änderungsanomalien • einfaches Retrieval: Aufsuchen der Zielklasse (z. B. ANGESTELLTE) Informationssysteme 2017
Kapitel 3: Grundlagen des Relationenmodells
26
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.
007 111 123 333 765
Angestellte Uni-Angeh. Techniker Wiss.-MA Wiss.-MA
Garfield Ernie Donald Daisy Grouch
Ia Iva IIa IIa
SUN -
Informatik Mathematik
Recovery ERM
§ 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 Informationssysteme 2017
Kapitel 3: Grundlagen des Relationenmodells
27
Aggregation – relationale Sicht § Abbildung ähnlich zur Abbildung von Relationships • Kardinalitätsrestriktionen beachten/nutzen, um Exklusivität und Abhängigkeit zu modellieren
tv
Prozessor
ID PREIS
tv
tv
Plattenk. tv
CD-ROM
Informationssysteme 2017
PC-System
tv = teil-von
tv
Drucker
Monitor
tv
Festplatte
ID KAPAZITÄT EINZELPREIS
Kapitel 3: Grundlagen des Relationenmodells
28
Aggregation – relationale Sicht (2) PC-System
ID PC-1 PC-2 PC-3
Plattenk.
PREIS 900,-1700,-2200,-ID PK1 PK2 PK3
CD-ROM
PROZESSOR
PLATTENK.
Festplatte
C1 C2 C3
F1 F2 F3
Geschwindigk.
Preis
C1 C2 C3
DVD R DVD R+CD RW DVD R+RW
35,-85,-165,--
ID
ID Tintenstrahldrucker Laserdrucker
Informationssysteme 2017
15“ TFT 17“ TFT 17“ TFT
ID
Hersteller
Festplatte
15“ 17“
Belinea Belinea
320,-420,--
Festplatte
ID
Kapaz.
F1 F2 F3
SPEC int 2000
Preis
633 1034 1226
150,-190,-310,--
I-Pentium IV 1,8 GHz I-Pentium IV 2,4 GHz I-Pentium IV 3,0 GHz
MONITOR
Tintenstrahldr. Laserdrucker Laserdrucker
Monitor
ID
Prozessor
Drucker
PK1 PK2 PK3
I-Pentium IV 1,8 GHz I-Pentium IV 2,4 GHz I-Pentium IV 3,0 GHz
CD-ROM
DRUCKER
80 GB 120 GB 160 GB
Hersteller
Typ
Preis
HP HP
Desk Jet 5150 Laser 1300
100,-360,--
Kapitel 3: Grundlagen des Relationenmodells
Preis 85,-100,-150,--
29
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
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
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
op3
op5
op1 R Informationssysteme 2017
op2 R
opi S
R
S
op4 T
R
S
Kapitel 3: Grundlagen des Relationenmodells
T 32
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
Selektion (Restriktion) § Auswahl von Zeilen einer Relation über Prädikate, abgekürzt 𝜎𝜎𝑃𝑃 𝑃𝑃 = log. Formel (ohne Quantoren!) zusammengestellt aus: a) Operanden (Konstanten oder Attributnamen) b) Vergleichsoperator Q Î {, ≤, ≠, ≥} c) ∧,∨, ¬ § Definition: s𝑷𝑷(𝑹𝑹) = {𝒕𝒕 | 𝒕𝒕 Î 𝑹𝑹 ∧ 𝑷𝑷(𝒕𝒕)} 𝑃𝑃(𝑡𝑡): Ersetze in der log. Formel 𝑃𝑃 alle Attributnamen durch entsprechende Werte aus 𝑡𝑡.
Informationssysteme 2017
Kapitel 3: Grundlagen des Relationenmodells
34
Selektion - Beipiele PERS
PNR
NAME
ALTER
GEHALT
PROVISION
ANR
MNR
406 123 829 574
Coy Müller Schmid Abel
47 32 36 28
50 700 43 500 45 200 36 000
34 000 21 000 15 800 39 100
K55 K51 K53 K55
123 777 123
s? @ ABCDEFGA∧ =HI?J K LM (𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃) sP?Q=HI R SJTUVBVT< (𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃)
PNR
NAME
ALTER
GEHALT
PROVISION
ANR
MNR
829
Schmid
36
45 200
15 800
K53
777
PNR
NAME
ALTER
GEHALT
PROVISION
ANR
MNR
574
Abel
28
36 000
39 100
K55
123
ALTER
GEHALT
PROVISION
ANR
MNR
47
50 777
34 000
K55
123
s= } § Definition: § Mengeneigenschaft erfordert ggf. Duplikateliminierung! § Beispiele: • p?,P?Q=HI,=HI?J (𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃) • p= 50000(PERS)) § Alternativ: Verwendung von Zwischenrelationen Beipiel: TEMP ß sANR='K55'∧ GEHALT > 50000(PERS) RESULTAT ß p NAME, GEHALT, ALTER (TEMP)
Informationssysteme 2017
Kapitel 3: Grundlagen des Relationenmodells
37
Klassische Mengenoperationen § Klassische binäre Mengenoperationen für Relationen Voraussetzung: Vereinigungsverträglichkeit der beteiligten Relationen (gleicher Grad + gleiche Wertebereiche) (A1, A2, . . . , An)
(B1, B2, . . . , Bn) ➥
Di
Dj
...
1. Vereinigung (UNION) von R und S R È S = {t|t Î R ∨ t Î S}
W(Ai) = W(Bi) : i = 1, n
Dk
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}
Informationssysteme 2017
4. Symmetrische Differenz R Δ S = (R È S) ‒ (R Ç S) = ((R È S) ‒ (R ‒ (R ‒ S))) = {t|t Î R Å t Î S}
Kapitel 3: Grundlagen des Relationenmodells
38
(Erweitertes) Kartesisches Produkt § 𝑅𝑅 (Grad r) und 𝑆𝑆 (Grad s) beliebig Definition: 𝑲𝑲 = 𝑹𝑹×𝑺𝑺 = {𝒌𝒌|$𝒙𝒙Î𝑹𝑹, 𝒚𝒚Î𝑺𝑺: (𝒌𝒌 = 𝒙𝒙|𝒚𝒚)} 𝑘𝑘 = 𝑥𝑥|𝑦𝑦 =< 𝑥𝑥1, … , 𝑥𝑥𝑟𝑟, 𝑦𝑦1, … , 𝑦𝑦𝑠𝑠 > nicht , < 𝑦𝑦1, … , 𝑦𝑦𝑠𝑠 >> wie übliches kartesisches Produkt § Anwendung von: 𝐴𝐴𝐴𝐴𝐴𝐴×𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃 ABT
PERS
ANR
ANAME
AORT
K51 K53 K55
Planung Einkauf Vertrieb
KL F F
PNR
ALTER
ANR
406 123 829 574
47 32 36 28
K55 K51 K53 K55
Informationssysteme 2017
ABT x PERS
ANR
ANAME
AORT
PNR
ALTER
ANR'
K51 K51 K51 K51 K53 : :
Planung Planung Planung Planung Einkauf : :
KL KL KL KL F : :
406 123 829 574 406 : :
47 32 36 28 47 : :
K55 K51 K53 K55 K55 : :
Enthält viele (oft auch unsinnige) Kombinationen!
Kapitel 3: Grundlagen des Relationenmodells
39
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.=