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

3. Grundlagen des Relationenmodells Vorlesung "Informationssysteme" Sommersemester 2017 Gliederung § Konzepte zur Datenmodellierung im Relationenmod...
2 downloads 0 Views 458KB Size
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.=