Kapitel DB:IV (Fortsetzung)

Ähnliche Dokumente
Kapitel DB:IV (Fortsetzung)

Kapitel DB:III (Fortsetzung)

Übungsblatt DB:IV. Abzugeben sind, bis , Lösungen zu den Aufgaben 1d, 1e, 3, 7, 9, 12. Aufgabe 1 : Datenintegrität

Kapitel DB:III (Fortsetzung)

Rückblick: Datenbankentwurf

E-R-Modell zu Relationenschema

3. Das Relationale Datenmodell

Kommunikation und Datenhaltung

2. Relationale Datenbanken

3. Relationales Modell & Algebra

3. Relationales Modell

3. Relationales Modell & Algebra

Teil IV Datenbankentwurf

Konzeptuelle Modellierung

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

Kapitel 3: Entity-Relationship-Modell

Rückblick: Entity-Relationship-Modell

Datenbanken 1. Kapitel 2: Datenbankentwurf. Ansprechpartner hat Name Adresse. Geschaeftspartner <pi> Characters (30) Characters (50) ist.

3. Das Relationale Datenmodell

Kapitel DB:III. III. Konzeptueller Datenbankentwurf

Konzeptueller Entwurf

PD Dr.-Ing. F. Lobeck. Seite 6

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

Entwurfsaufgabe. 4. Datenbankentwurf. Anforderungsanalyse. Phasenmodell. Entwurfsaufgabe

Entwurfsaufgabe Phasenmodell Konzeptioneller Entwurf ER-Abbildung auf andere Datenbankmodelle Datendefinitionssprachen

Medizininformatik Software Engineering

Vorlesung DBIS I (WS 2005/2006) Teil 4

Einführung in das Entity-Relationship-Modell

Logischer Entwurf. Stufen der Entwicklung einer Datenbank. Inhalt. Übersicht. 1. Datenbank - Entwurf ( ER - Diagramm)

Kapitel DB:IV. IV. Logischer Datenbankentwurf mit dem relationalen Modell

Theorie zur Übung 8 Datenbanken

Datenbankentwurf. VO Datenmodellierung. Katrin Seyr. Institut für Informationssysteme Technische Universität Wien.

Matthias Schubert. Datenbanken. Theorie, Entwurf und Programmierung relationaler Datenbanken. 2., überarbeitete Auflage. Teubner

Kapitel 4: Konzeptueller Datenbankentwurf

funktionale Abhängigkeiten: Semantik funktionale Abhängigkeiten: Syntax

Datenorientierter Ansatz. Datenbankentwurfsschritte. Welche Daten müssen im System verwaltet werden? Wie werden die Daten im System verändert?

Datenbankentwurf. Abstraktionsebenen des Datenbankentwurfs. 1. Konzeptuelle Ebene. 2. Implementationsebene (Logische Ebene) 3.

Relationale Datenbanken

Abstraktionsebenen des Datenbankentwurfs

Entitätstypen, Attribute, Relationen und Entitäten

Datenbankentwurf. Kapitel 3. Datenbankentwurf 76 / 508

5. Datenbankentwurf. Entwurfsaufgabe. Phasenmodell. Konzeptioneller Entwurf. ER-Abbildung auf andere Datenbankmodelle

Datenbanksysteme: Entwurf

Vorlesung Datenbankmanagementsysteme

Teil III Entity-Relationship-Modell

Inhalt. 2.1 Datenbankentwurf. 2.2 Relationales Modell. 2.3 Relationale Entwurfstheorie. 2.4 Relationale Algebra. 2.5 Structured Query Language (SQL)

3. Spezielle ER-Modelle und Tabellenableitung. Transformation von ER-Diagrammen in Relationen

Datenmodelle. Einführung in das Entity-Relationship-Modell. Datenbankmodelle. Beispiel für ein ER-Schema. Kunde( Meier, , ) 41, Meier

Datenmodelle dienen der Darstellung der Informationsstruktur, nicht der Darstellung der Informationen selbst. Motivation

Schema: konkrete Beschreibung einer bestimmten. (unter Verwendung eines Datenmodells)

Einführung in die Datenorganisation. Informationssysteme

Das relationale Datenmodell

1. Einführung Seite 1. Kapitel 1: Einführung

Entity Relationship Modell (ERM) (Konzeptueller Datenbankentwurf)

Einführung in die Datenbanktechnik

3. Grundlagen relationaler Datenbanksysteme

Datenbanken. Teil 2: Informationen. Kapitel 2: Einführung. Zusammenfassung der Grundbegriffe. Übersicht über wichtige Grundbegriffe:

Datenbanken 1. Sommersemester Übung 2

Der Tabellenname wird in Grossbuchstaben geschrieben.

Datenbanken Unit 4: Das Relationale Modell & Datenintegrität

Grundlagen des relationalen l Modells

Übung Datenbanksysteme Updates, Integritätsbedingungen, funktionale Abhängigkeiten

Kapitel 1: Einführung 1.1 Datenbanken?

Datenintegrität. Kapitel 5 1

Einführung in Datenbanken

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

Datenbankentwurf. Abstraktionsebenen des Datenbankentwurfs: 3. Konzeptuelle Ebene. 5. Implementationsebene. 7. Physische Ebene.

Datenbanken: Relationales Datenbankmodell RDM

5. Relationale Entwurfstheorie

Datenmodellierung. Ausschnitt der Realen Miniwelt. Manuelle/intellektuelle Modellierung. Konzeptuelles Schema (E/R- oder UML-Schema)

Das konzeptionelle Datenmodell

Kapitel 1: Wiederholungsfragen Grundlagen DBS

Grundlagen von Datenbanken SS 2010

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

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

Geoinformation Abbildung auf Tabellen

Vorlesung Datenbankmanagementsysteme

Datenintegrität. Kapitel 5 1

Übung zur Vorlesung Einführung in die Informatik für Hörer anderer Fachrichtungen (WZW) IN8003, SS 2011 Prof. Dr. J. Schlichter

Stufen der Entwicklung einer Datenbank. ER-Modell. Datenbank-Entwurf (1) Datenbank-Entwurf (2) 1. Datenbank - Entwurf ( ER - Diagramm)

Transkript:

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 STEIN 2004-2016

Einordnung Theorie Praxis Ausschnitt der realen Welt externes Schema 1... externes Schema n Sicht 1... Sicht n Modellbildung konzeptuelles Schema logisches Schema (z.b. Relationen) konzeptuelles Schema (z.b. auf Basis von ERM) internes Schema physisches Schema (Dateien, Indexstrukturen,...) Schema-Architektur nach ANSI/SPARC typische implementierte Schema-Architektur DB:IV-46 Relational Design STEIN 2004-2016

Einordnung (Fortsetzung) Das ER-Modell besitzt zwei grundlegende Strukturierungskonzepte: 1. Entity-Typen E(,..., A n ) 2. Beziehungstypen R(E 1,..., E m ;,..., A n ) Im relationalen Modell werden beide auf das einzige Strukturierungskonzept Relationenschema, R, abgebildet. Hierbei dient das Konzept der Fremdschlüssel zur Abbildung von Beziehungstypen. DB:IV-47 Relational Design STEIN 2004-2016

Reguläre Entity-Typen... A n E Schlüssel: R E = {ID,,..., A n } κ bzw. {ID} Umsetzung: 1. Dem Entity-Typ E wird Relationenschema R E zugeordnet. Die Attribute,..., A n von E werden Attribute von R E. 2. Der Primärschlüssel κ {,..., A n } von E wird Primärschlüssel von R E. Alternative: Festlegen eines formalen Primärschlüssels durch Hinzufügen eines Schlüsselattributes ID zur Umsetzung der Eindeutigkeit von Entitäten. Der ursprüngliche Primärschlüssel κ ist dann ein weiterer Schlüssel im Relationenschema R E. 3. Der Primärschlüssel wird durch Unterstreichen gekennzeichnet. DB:IV-48 Relational Design STEIN 2004-2016

Reguläre Entity-Typen... A n E Schlüssel: R E = {ID,,..., A n } κ bzw. {ID} Umsetzung: 1. Dem Entity-Typ E wird Relationenschema R E zugeordnet. Die Attribute,..., A n von E werden Attribute von R E. 2. Der Primärschlüssel κ {,..., A n } von E wird Primärschlüssel von R E. Alternative: Festlegen eines formalen Primärschlüssels durch Hinzufügen eines Schlüsselattributes ID zur Umsetzung der Eindeutigkeit von Entitäten. Der ursprüngliche Primärschlüssel κ ist dann ein weiterer Schlüssel im Relationenschema R E. 3. Der Primärschlüssel wird durch Unterstreichen gekennzeichnet. DB:IV-49 Relational Design STEIN 2004-2016

Reguläre Entity-Typen... A n E Schlüssel: R E = {ID,,..., A n } κ bzw. {ID} Umsetzung: 1. Dem Entity-Typ E wird Relationenschema R E zugeordnet. Die Attribute,..., A n von E werden Attribute von R E. 2. Der Primärschlüssel κ {,..., A n } von E wird Primärschlüssel von R E. Alternative: Festlegen eines formalen Primärschlüssels durch Hinzufügen eines Schlüsselattributes ID zur Umsetzung der Eindeutigkeit von Entitäten. Der ursprüngliche Primärschlüssel κ ist dann ein weiterer Schlüssel im Relationenschema R E. 3. Der Primärschlüssel wird durch Unterstreichen gekennzeichnet. DB:IV-50 Relational Design STEIN 2004-2016

Reguläre Entity-Typen... A n E Schlüssel: R E = {ID,,..., A n } κ bzw. {ID} Umsetzung: 1. Dem Entity-Typ E wird Relationenschema R E zugeordnet. Die Attribute,..., A n von E werden Attribute von R E. 2. Der Primärschlüssel κ {,..., A n } von E wird Primärschlüssel von R E. Alternative: Festlegen eines formalen Primärschlüssels durch Hinzufügen eines Schlüsselattributes ID zur Umsetzung der Eindeutigkeit von Entitäten. Der ursprüngliche Primärschlüssel κ ist dann ein weiterer Schlüssel im Relationenschema R E. 3. Der Primärschlüssel wird durch Unterstreichen gekennzeichnet. DB:IV-51 Relational Design STEIN 2004-2016

Bemerkungen: Die Bezeichnung regulärer Entity-Typ dient als Unterscheidung zu abhängigen bzw. schwachen Entity-Typen sowie zu den spezialisierten Entity-Typen, die in einer IST-Beziehung stehen. DB:IV-52 Relational Design STEIN 2004-2016

Beziehungstypen Zwei Umsetzungsstrategien: (a) Direkte Abbildung auf ein adäquates Schema. (b) Kanonische Umsetzung ( Cross-Reference ) mit anschließender Zusammenfassung von Relationenschemata. Besondere Behandlung für folgende Fälle: 1. 1:n-Beziehung (Formalismus I für Kardinalitäten) 2. 1:1-Beziehung (Formalismus I für Kardinalitäten) 3. [0,1] und [1,1] bei [min, max]-beschränkung (Formalismus II für Kardinalitäten) 4. existenzabhängige (schwache) Entity-Typen 5. IST-Beziehungstypen 6. reflexive Beziehungstypen DB:IV-53 Relational Design STEIN 2004-2016

Beziehungstypen Zwei Umsetzungsstrategien: (a) Direkte Abbildung auf ein adäquates Schema. (b) Kanonische Umsetzung ( Cross-Reference ) mit anschließender Zusammenfassung von Relationenschemata. Besondere Behandlung für folgende Fälle: 1. 1:n-Beziehung (Formalismus I für Kardinalitäten) 2. 1:1-Beziehung (Formalismus I für Kardinalitäten) 3. [0,1] und [1,1] bei [min, max]-beschränkung (Formalismus II für Kardinalitäten) 4. existenzabhängige (schwache) Entity-Typen 5. IST-Beziehungstypen 6. reflexive Beziehungstypen DB:IV-54 Relational Design STEIN 2004-2016

Beziehungstypen: Kapazitätserhaltung Eine zentrale Forderung bei der Abbildung von Beziehungstypen ist die Kapazitätserhaltung: alle Zustände des ER-Modells sind auch Instanzen des relationalen Modells und umgekehrt. Definition 7 (kapazitätserhaltend) Gibt es eine bijektive totale Abbildung zwischen den Zuständen eines Entity- Relationship-Modells und den Instanzen eines relationalen Modells, so nennt man die Transformation zwischen den Modellen kapazitätserhaltend. DB:IV-55 Relational Design STEIN 2004-2016

Beziehungstypen: Kapazitätserhaltung (Fortsetzung) A 2 A B 2 B 1 x y E 1 R E 2 B A B r(r R ) DB:IV-56 Relational Design STEIN 2004-2016

Beziehungstypen: Kapazitätserhaltung (Fortsetzung) A 2 A B 2 B 1 1x 1y E 1 R E 2 B 1:1-Beziehung Modellierung (a) R R = {A, B} mit Schlüssel {A} DB:IV-57 Relational Design STEIN 2004-2016

Beziehungstypen: Kapazitätserhaltung (Fortsetzung) A 2 A B 2 B 1 1x 1y E 1 R E 2 B 1:1-Beziehung Modellierung (a) R R = {A, B} mit Schlüssel {A} mögliche Relationen: r 1 (R R ) = {(a 1, b 1 ), (a 2, b 2 )} r 2 (R R ) = {(a 1, b 1 ), (a 2, b 1 )} (kapazitätserhöhend) DB:IV-58 Relational Design STEIN 2004-2016

Beziehungstypen: Kapazitätserhaltung (Fortsetzung) A 2 A B 2 B 1 1x 1y E 1 R E 2 B 1:1-Beziehung Modellierung (a) R R = {A, B} mit Schlüssel {A} Modellierung (b) R R = {A, B} mit zwei Schlüsseln {A}, {B} mögliche Relationen: r 1 (R R ) = {(a 1, b 1 ), (a 2, b 2 )} r 2 (R R ) = {(a 1, b 1 ), (a 2, b 1 )} (kapazitätserhöhend) DB:IV-59 Relational Design STEIN 2004-2016

Beziehungstypen: Kapazitätserhaltung (Fortsetzung) A 2 A B 2 B 1 1x 1y E 1 R E 2 B 1:1-Beziehung Modellierung (a) R R = {A, B} mit Schlüssel {A} Modellierung (b) R R = {A, B} mit zwei Schlüsseln {A}, {B} mögliche Relationen: r 1 (R R ) = {(a 1, b 1 ), (a 2, b 2 )} r 2 (R R ) = {(a 1, b 1 ), (a 2, b 1 )} mögliche Relation: r(r R ) = {(a 1, b 1 ), (a 2, b 2 )} (kapazitätserhaltend) (kapazitätserhöhend) DB:IV-60 Relational Design STEIN 2004-2016

Kapazitätserhaltung (Fortsetzung) A 2 A B 2 B 1 x y E 1 R E 2 B A B r(r R ) DB:IV-61 Relational Design STEIN 2004-2016

Kapazitätserhaltung (Fortsetzung) A 2 A B 2 B 1 1n x m1 y E 1 R E 2 B n:m-beziehung Modellierung (a) R R = {A, B} mit Schlüssel {A} DB:IV-62 Relational Design STEIN 2004-2016

Kapazitätserhaltung (Fortsetzung) A 2 A B 2 B 1 1n x m1 y E 1 R E 2 B n:m-beziehung Modellierung (a) R R = {A, B} mit Schlüssel {A} mögliche Relation: r(r R ) = {(a 1, b 1 ), (a 2, b 1 )} r(r R ) = {(a 1, b 1 ), (a 1, b 2 ), (a 2, b 2 )} (kapazitätsvermindernd) DB:IV-63 Relational Design STEIN 2004-2016

Kapazitätserhaltung (Fortsetzung) A 2 A B 2 B 1 1n x m1 y E 1 R E 2 B n:m-beziehung Modellierung (a) R R = {A, B} mit Schlüssel {A} Modellierung (b) R R = {A, B} mit Schlüssel {A, B} mögliche Relation: r(r R ) = {(a 1, b 1 ), (a 2, b 1 )} r(r R ) = {(a 1, b 1 ), (a 1, b 2 ), (a 2, b 2 )} (kapazitätsvermindernd) DB:IV-64 Relational Design STEIN 2004-2016

Kapazitätserhaltung (Fortsetzung) A 2 A B 2 B 1 1n x m1 y E 1 R E 2 B n:m-beziehung Modellierung (a) R R = {A, B} mit Schlüssel {A} Modellierung (b) R R = {A, B} mit Schlüssel {A, B} mögliche Relation: r(r R ) = {(a 1, b 1 ), (a 2, b 1 )} r(r R ) = {(a 1, b 1 ), (a 1, b 2 ), (a 2, b 2 )} (kapazitätsvermindernd) mögliche Relationen: r 1 (R R ) = {(a 1, b 1 ), (a 2, b 2 )} r 2 (R R ) = {(a 1, b 1 ), (a 1, b 2 ), (a 2, b 2 )} (kapazitätserhaltend) DB:IV-65 Relational Design STEIN 2004-2016

Reguläre Beziehungstypen... R A n E 1... E m R R = {ID 1,..., ID m,,..., A n } Schlüssel: α κ 1... κ m bzw. α {ID 1,..., ID m } Cross-Reference [Elmasri/Navathe 2010] : 1. Dem Beziehungstyp R wird Relationenschema R R zugeordnet. Die Attribute,..., A n von R werden Attribute von R R. 2. Die Attribute in den κ i (bzw. die ID i ) von R Ei werden Attribute von R R. 3. Der Schlüssel von R R ist eine Teilmenge der Vereinigungsmenge der κ i (bzw. der Menge aller ID i ). DB:IV-66 Relational Design STEIN 2004-2016

Reguläre Beziehungstypen... R A n E 1... E m R R = {ID 1,..., ID m,,..., A n } Schlüssel: α κ 1... κ m bzw. α {ID 1,..., ID m } Cross-Reference [Elmasri/Navathe 2010] : 1. Dem Beziehungstyp R wird Relationenschema R R zugeordnet. Die Attribute,..., A n von R werden Attribute von R R. 2. Die Attribute in den κ i (bzw. die ID i ) von R Ei werden Attribute von R R. 3. Der Schlüssel von R R ist eine Teilmenge der Vereinigungsmenge der κ i (bzw. der Menge aller ID i ). DB:IV-67 Relational Design STEIN 2004-2016

Reguläre Beziehungstypen... R A n E 1... E m R R = {ID 1,..., ID m,,..., A n } Schlüssel: α κ 1... κ m bzw. α {ID 1,..., ID m } Cross-Reference [Elmasri/Navathe 2010] : 1. Dem Beziehungstyp R wird Relationenschema R R zugeordnet. Die Attribute,..., A n von R werden Attribute von R R. 2. Die Attribute in den κ i (bzw. die ID i ) von R Ei werden Attribute von R R. 3. Der Schlüssel von R R ist eine Teilmenge der Vereinigungsmenge der κ i (bzw. der Menge aller ID i ). DB:IV-68 Relational Design STEIN 2004-2016

Reguläre Beziehungstypen... R A n E 1... E m R R = {ID 1,..., ID m,,..., A n } Schlüssel: α κ 1... κ m bzw. α {ID 1,..., ID m } Cross-Reference [Elmasri/Navathe 2010] : 1. Dem Beziehungstyp R wird Relationenschema R R zugeordnet. Die Attribute,..., A n von R werden Attribute von R R. 2. Die Attribute in den κ i (bzw. die ID i ) von R Ei werden Attribute von R R. 3. Der Schlüssel von R R ist eine Teilmenge der Vereinigungsmenge der κ i (bzw. der Menge aller ID i ). DB:IV-69 Relational Design STEIN 2004-2016

Reguläre Beziehungstypen (Fortsetzung) Cross-Reference: κ 1 Schlüssel α ( κ 1... κ m ) r(r E1 )...... A n... κ m r(r R ) r(r Em ) DB:IV-70 Relational Design STEIN 2004-2016

Bemerkungen: Die Bezeichnung regulärer Beziehungstyp dient als Unterscheidung zu Beziehungstypen zu abhängigen bzw. schwachen Entity-Typen sowie zu IST-Beziehungstypen. Die κ i R R (bzw. die {ID i } R R ) sind Fremdschlüssel in R R bzgl. κ i (bzw. {ID i }) in R Ei. Es stellt sich die Frage, wie die Teilmenge aus der Vereinigungsmenge der κ i gebildet wird, so dass ein Schlüssel für die Relation R R entsteht. Man kann diese Frage nicht in der Allgemeinheit beantworten. Vergleiche hierzu die möglichen funktionalen Beziehungen, die beispielsweise von einer x : y : z -Relation, x, y, z {1, n, m}, impliziert sein können: falls keine funktionale Beziehung gegeben ist, also x und y und z 1, so bilden nur alle Schlüsselattribute der drei Entity-Typen zusammen einen Schlüssel für R R. Gibt es einen funktionalen Zusammenhang, also x oder y oder z = 1, so bildet die Vereinigungsmenge der Schlüsselattribute der beiden Entity-Typen des Urbildbereiches einen Schlüssel für R R. DB:IV-71 Relational Design STEIN 2004-2016

n:m-beziehungstypen Cross-Reference: κ 1 Schlüssel r(r E1 ) κ 1 κ 2... A n κ 2 r(r R ) r(r E2 ) Die Primärschlüssel der beteiligten Relationenschemata R E1 und R E2 bilden zusammen den Schlüssel im Relationenschema R R des n:m-beziehungstyps. [Kapazitätserhaltung] DB:IV-72 Relational Design STEIN 2004-2016

1:n-Beziehungstypen Funktionaler Zusammenhang E 2 E 1 : 1-Entity-Typ κ 1 r(r E1 ) κ 2 n-entity-typ r(r E2 ) state(e 1 ) 1:n state(e 2 ) DB:IV-73 Relational Design STEIN 2004-2016

1:n-Beziehungstypen (Fortsetzung) Cross-Reference: 1-Entity-Typ κ 1 Schlüssel r(r E1 ) κ 1 κ 2... A n κ 2 r(r R ) n-entity-typ r(r E2 ) DB:IV-74 Relational Design STEIN 2004-2016

1:n-Beziehungstypen (Fortsetzung) [Sonderfall 1] Als Verfeinerung der Cross-Reference kann man bei 1:n-Beziehungstypen das Relationenschema R R mit dem Relationenschema R E2, das den n-entity-typ im 1:n-Beziehungstyp repräsentiert, zusammenfassen: 1. Die Attribute des Primärschlüssels in R E1 werden Attribute in R E2 und stellen dort einen entsprechenden Fremdschlüssel dar. 2. Die Attribute des 1:n-Beziehungstyps werden Attribute in R E2. 3. Der Primärschlüssel des n-entity-typs wird Schlüssel im zusammengefassten Relationenschema. DB:IV-75 Relational Design STEIN 2004-2016

1:n-Beziehungstypen (Fortsetzung) Erlaubte Zusammenfassung von R R und R E2 : 1-Entity-Typ κ 1 r(r E1 ) Schlüssel κ 2 κ 1 κ 2... A n n-entity-typ r(r E2 ) r(r E2 ) DB:IV-76 Relational Design STEIN 2004-2016

1:n-Beziehungstypen (Fortsetzung) Unerlaubte Zusammenfassung von R R und R E1 : Schlüssel 1-Entity-Typ κ 1 κ 1 κ 2... A n r(r E1 ) r(r E1 ) κ 2 n-entity-typ r(r E2 ) DB:IV-77 Relational Design STEIN 2004-2016

1:n-Beziehungstypen (Fortsetzung) Unerlaubte Zusammenfassung von R R und R E1 : Schlüssel 1-Entity-Typ κ 1 κ 1 κ 2... A n r(r E1 ) r(r E1 ) κ 2 n-entity-typ r(r E2 ) state(e 1 ) 1:n state(e 2 ) DB:IV-78 Relational Design STEIN 2004-2016

Bemerkungen: [Kemper/Eickler 2011] gibt folgende Regel als Hilfe bei der Zusammenfassung von Relationen an: Nur Relationen mit gleichem Schlüssel zusammenfassen. In der Illustration sind das die beiden Relationen R R und R E2 ; beide haben den Schlüssel κ 2. Bei der erlaubten Zusammenfassung entstehen Nullwerte ( ) bei allen Entitäten des Typs E 2, die nicht in Beziehung mit einer Entität des Typs E 1 stehen. Dies führt dazu, dass Speicherplatz reserviert, aber nicht verwendet wird. Bei der unerlaubten Zusammenfassung werden alle Daten der Entitäten des Typs E 2, die mit mehr als einer Entität des Typ E 1 in Beziehung stehen, redundant gespeichert. Außerdem ist der wahlfreie Zugriff auf eine einzelne Entität des Typs E 1 mangels Schlüssel nicht mehr möglich. Konsistenz wird in beiden Zusammenfassungen erhalten. DB:IV-79 Relational Design STEIN 2004-2016

1:1-Beziehungstypen [Kapazitätserhaltung] Cross-Reference: 1-Entity-Typ κ 1 Schlüssel alternativer Schlüssel r(r E1 ) κ 1 κ 2... A n κ 2 r(r R ) 1-Entity-Typ r(r E2 ) DB:IV-80 Relational Design STEIN 2004-2016

1:1-Beziehungstypen (Fortsetzung) [Sonderfall 2] Als Verfeinerung der Cross-Reference kann man bei 1:1-Beziehungstypen das Relationenschema R R mit einem der beiden Relationenschemata der beteiligten Entity-Typen, R E2 oder R E1, zusammenfassen: 1. Die Attribute des Primärschlüssels in R E1 (R E2 ) werden Attribute in R E2 (R E1 ) und stellen dort einen entsprechenden Fremdschlüssel dar. 2. Die Attribute des 1:1-Beziehungstyps werden Attribute in R E2 (R E1 ). 3. Der Primärschlüssel von R E2 (R E1 ) wird Schlüssel im zusammengefassten Relationenschema. DB:IV-81 Relational Design STEIN 2004-2016

1:1-Beziehungstypen (Fortsetzung) Zusammenfassung von R R und R E2 : 1-Entity-Typ κ 1 r(r E1 ) Schlüssel κ 2 κ 1 κ 2... A n 1-Entity-Typ r(r E2 ) r(r E2 ) DB:IV-82 Relational Design STEIN 2004-2016

1:1-Beziehungstypen (Fortsetzung) Zusammenfassung von R R und R E1 : 1-Entity-Typ κ 1 Schlüssel κ 1 κ 2... A n r(r E1 ) r(r E1 ) κ 2 1-Entity-Typ r(r E2 ) DB:IV-83 Relational Design STEIN 2004-2016

Bemerkungen: Die dargestellten Zusammenfassungen bei der Umsetzung von 1:1-Beziehungstypen finden sich so auch in der Literatur; sie sind aber mit Vorsicht zu genießen: Im Gegensatz zu der Cross-Reference-Umsetzung ist die Kapazitätserhaltung nur bei einer totalen Teilnahme des aufnehmenden Entity-Typs gegeben. Liegt dieser Sachverhalt nicht vor, enthält der Fremdschlüssel Nullwerte mit der Folge, dass er im zusammengefassten Schema keinen alternativen Schlüssel mehr darstellt. Manche DBMS stellen Datentypen zu Verfügung, mittels derer die Eindeutigkeit aller Nicht-Null-Werte vereinbart werden kann und gleichzeitig beliebig viele Nullwerte zugelassen sind. Damit kann die Kapazitätserhaltung sichergestellt werden, auch wenn der aufnehmende Entity-Typ (E 2 im ersten bzw. E 1 im zweiten Beispiel) nicht total teilnimmt. Nehmen nur wenige Instanzen der beiden Entity-Typen an der Beziehung teil, sollte auf eine Zusammenfassung verzichtet werden. DB:IV-84 Relational Design STEIN 2004-2016

1:1-Beziehungstypen (Fortsetzung) Ist die Teilnahme beider Entity-Typen am Beziehungstyp total existiert also eine bijektive totale Abbildung zwischen E 1 und E 2 lassen sich R E1 und R E2 in einem Relationenschema zusammenfassen. Merged-Relation [Elmasri/Navathe 2010] : Die Primärschlüssel beider Entity-Typen sind Schlüssel im zusammengefassten Relationenschema; von ihnen wird einer als Primärschlüssel gewählt. [Kapazitätserhaltung] DB:IV-85 Relational Design STEIN 2004-2016

1:1-Beziehungstypen (Fortsetzung) Merged-Relation: 1-Entity-Typ κ 1 Schlüssel alternativer Schlüssel r(r E1 ) κ 1 κ 2... A n κ 2 r(r R ) 1-Entity-Typ r(r E2 ) DB:IV-86 Relational Design STEIN 2004-2016

Beziehungstypen mit [min, max]-beschränkung [Sonderfall 3]... A n R [min, max] E 1... E i [0,1]... [min, max] E m (a) m-äre Beziehungstypen mit [0, 1]-Beschränkung für Entity-Typ E i : R(E 1 [min 1, max 1 ],..., E i [0, 1],..., E m [min m, max m ]) Der Primärschlüssel von R Ei wird ein Schlüssel von R R. DB:IV-87 Relational Design STEIN 2004-2016

Beziehungstypen mit [min, max]-beschränkung [Sonderfall 3]... A n R [min, max] E 1... E i [0,1]... [min, max] E m (a) m-äre Beziehungstypen mit [0, 1]-Beschränkung für Entity-Typ E i : R(E 1 [min 1, max 1 ],..., E i [0, 1],..., E m [min m, max m ]) Der Primärschlüssel von R Ei wird ein Schlüssel von R R. (b) m-äre Beziehungstypen mit [1, 1]-Beschränkung für Entity-Typ E i : R(E 1 [min 1, max 1 ],..., E i [1, 1],..., E m [min m, max m ]) Der Primärschlüssel von R Ei wird ein Schlüssel von R R. Die Relationenschemata R R und R Ei können zusammengefasst werden. Alle Schlüssel von R Ei werden auch Schlüssel von R R. DB:IV-88 Relational Design STEIN 2004-2016

Beziehungstypen mit [min, max]-beschränkung zu (a) Cross-Reference: κ 1 [min, max]... [0, 1] r(r E1 ) Schlüssel κ i...... κ 1 κ i κ m... A n r(r Ei ) r(r R )... [min, max] κ m r(r Em ) DB:IV-89 Relational Design STEIN 2004-2016

Beziehungstypen mit [min, max]-beschränkung zu (b) Zusammenfassung von R R und R Ei : κ 1 [min, max]... [1, 1] r(r E1 ) Schlüssel κ i...... κ 1 κ i κ m... A n r(r Ei ) r(r R )... [min, max] κ m r(r Em ) DB:IV-90 Relational Design STEIN 2004-2016

Bemerkungen: Eine [0, 1]- bzw. [1, 1]-Beschränkung qualifiziert den Schlüssel des zugehörigen Entity-Typs E i offensichtlich als Schlüssel für den Beziehungstyp R, denn jedes Tupel vom Typ R ist höchsten bzw. genau mit einer Instanz von E i assoziiert. Für m = 2 und Vorliegen einer [0, 1]-Beschränkung bei einem Entity-Typ entspricht die Umsetzung der Cross-Reference für binäre 1:n-Beziehungen. Für m = 2 und Vorliegen einer [1, 1]-Beschränkung bei einem Entity-Typ entspricht die Umsetzung der Zusammenfassung für binäre 1:n-Beziehungen. Für m = 2 und Vorliegen einer [1, 1]-Beschränkung bei beiden Entity-Typen ist eine Umsetzung als Merged-Relation wie bei binären 1:1-Beziehungen möglich. DB:IV-91 Relational Design STEIN 2004-2016

Existenzabhängige Entity-Typen [Sonderfall 4]... A n E 1 R E 2 R E2 = {ID 1,,..., A n } Schlüssel: κ 1 κ 2 bzw. {ID 1 } κ 2 Umsetzung: 1. Dem abhängigen Entity-Typ E 2 wird Relationenschema R E2 zugeordnet. Die Attribute,..., A n von E 2 werden Attribute von R E2. 2. Die Attribute in κ 1 (bzw. ID 1 ) von R E1 werden Attribute von R E2 und stellen dort einen entsprechenden Fremdschlüssel dar. 3. Die Vereinigung des partiellen Schlüssels κ 2 von E 2 mit dem Primärschlüssel κ 1 (bzw. {ID 1 }) von E 1 bildet den Schlüssel für R E2. DB:IV-92 Relational Design STEIN 2004-2016

Existenzabhängige Entity-Typen [Sonderfall 4]... A n E 1 R E 2 R E2 = {ID 1,,..., A n } Schlüssel: κ 1 κ 2 bzw. {ID 1 } κ 2 Umsetzung: 1. Dem abhängigen Entity-Typ E 2 wird Relationenschema R E2 zugeordnet. Die Attribute,..., A n von E 2 werden Attribute von R E2. 2. Die Attribute in κ 1 (bzw. ID 1 ) von R E1 werden Attribute von R E2 und stellen dort einen entsprechenden Fremdschlüssel dar. 3. Die Vereinigung des partiellen Schlüssels κ 2 von E 2 mit dem Primärschlüssel κ 1 (bzw. {ID 1 }) von E 1 bildet den Schlüssel für R E2. DB:IV-93 Relational Design STEIN 2004-2016

Existenzabhängige Entity-Typen [Sonderfall 4]... A n E 1 R E 2 R E2 = {ID 1,,..., A n } Schlüssel: κ 1 κ 2 bzw. {ID 1 } κ 2 Umsetzung: 1. Dem abhängigen Entity-Typ E 2 wird Relationenschema R E2 zugeordnet. Die Attribute,..., A n von E 2 werden Attribute von R E2. 2. Die Attribute in κ 1 (bzw. ID 1 ) von R E1 werden Attribute von R E2 und stellen dort einen entsprechenden Fremdschlüssel dar. 3. Die Vereinigung des partiellen Schlüssels κ 2 von E 2 mit dem Primärschlüssel κ 1 (bzw. {ID 1 }) von E 1 bildet den Schlüssel für R E2. DB:IV-94 Relational Design STEIN 2004-2016

Existenzabhängige Entity-Typen [Sonderfall 4]... A n E 1 R E 2 R E2 = {ID 1,,..., A n } Schlüssel: κ 1 κ 2 bzw. {ID 1 } κ 2 Umsetzung: 1. Dem abhängigen Entity-Typ E 2 wird Relationenschema R E2 zugeordnet. Die Attribute,..., A n von E 2 werden Attribute von R E2. 2. Die Attribute in κ 1 (bzw. ID 1 ) von R E1 werden Attribute von R E2 und stellen dort einen entsprechenden Fremdschlüssel dar. 3. Die Vereinigung des partiellen Schlüssels κ 2 von E 2 mit dem Primärschlüssel κ 1 (bzw. {ID 1 }) von E 1 bildet den Schlüssel für R E2. DB:IV-95 Relational Design STEIN 2004-2016

Existenzabhängige Entity-Typen Regulärer Entity-Typ: Abhängiger Entity-Typ: κ 1 Schlüssel κ 1 κ 2... A n r(r E1 ) r(r E2 ) Fremdschlüssel Beispiel: Größe Straße Gebäude GebNr 1 n liegt-in Raum RaumNr DB:IV-96 Relational Design STEIN 2004-2016

IST-Beziehungstypen [Sonderfall 5]... A n E 2 IST E 1 R E2 = {ID 1,,..., A n } Schlüssel: κ 1 bzw. {ID 1 } Allgemeinerer Entity-Typ E 1 Speziellerer (is-a) Entity-Typ E 2 DB:IV-97 Relational Design STEIN 2004-2016

IST-Beziehungstypen [Sonderfall 5]... A n E 2 IST E 1 R E2 = {ID 1,,..., A n } Schlüssel: κ 1 bzw. {ID 1 } Umsetzung: 1. Dem speziellerem Entity-Typ E 2 wird Relationenschema R E2 zugeordnet. Die Attribute,..., A n von E 2 werden Attribute von R E2. 2. Die Attribute in κ 1 (bzw. ID 1 ) von R E1 werden Attribute von R E2 und stellen dort einen entsprechenden Fremdschlüssel dar. 3. Der Primärschlüssel κ 1 (bzw. {ID 1 }) von E 1 wird Schlüssel für R E2. DB:IV-98 Relational Design STEIN 2004-2016

IST-Beziehungstypen [Sonderfall 5]... A n E 2 IST E 1 R E2 = {ID 1,,..., A n } Schlüssel: κ 1 bzw. {ID 1 } Umsetzung: 1. Dem speziellerem Entity-Typ E 2 wird Relationenschema R E2 zugeordnet. Die Attribute,..., A n von E 2 werden Attribute von R E2. 2. Die Attribute in κ 1 (bzw. ID 1 ) von R E1 werden Attribute von R E2 und stellen dort einen entsprechenden Fremdschlüssel dar. 3. Der Primärschlüssel κ 1 (bzw. {ID 1 }) von E 1 wird Schlüssel für R E2. DB:IV-99 Relational Design STEIN 2004-2016

IST-Beziehungstypen [Sonderfall 5]... A n E 2 IST E 1 R E2 = {ID 1,,..., A n } Schlüssel: κ 1 bzw. {ID 1 } Umsetzung: 1. Dem speziellerem Entity-Typ E 2 wird Relationenschema R E2 zugeordnet. Die Attribute,..., A n von E 2 werden Attribute von R E2. 2. Die Attribute in κ 1 (bzw. ID 1 ) von R E1 werden Attribute von R E2 und stellen dort einen entsprechenden Fremdschlüssel dar. 3. Der Primärschlüssel κ 1 (bzw. {ID 1 }) von E 1 wird Schlüssel für R E2. DB:IV-100 Relational Design STEIN 2004-2016

IST-Beziehungstypen Speziellerer (is-a) Entity-Typ: Allgemeinerer Entity-Typ: Schlüssel alternativer Schlüssel κ 1 κ 1 κ 2... A n r(r E2 ) r(r E1 ) "Fremdschlüssel" Beispiel: Prüfer IST Mitarbeiter Fach PersNr Institut DB:IV-101 Relational Design STEIN 2004-2016

Bemerkungen: Es wird die Bezeichnung Fremdschlüssel benutzt, obwohl es sich bei der Spezialisierung nicht um einen Verweis auf einen anderen Entity-Typ handelt, sondern um eine Rollenbeschreibung für ein und denselben Entity-Typ. Ein spezialisierter Entity-Typ E 2 kann bereits einen Schlüssel κ 2 unabhängig von dem Entity-Typ E 1 besitzen, von dem er spezialisiert ist. In diesem Fall hat man für E 2 die Wahl zwischen zwei Schlüsseln, von denen einer als Primärschlüssel festzulegen ist. Bei mehrstufigen IST-Beziehungstypen wird der Primärschlüssel und damit die Identität top-down (vom allgemeineren zum spezielleren Entity-Typ) vererbt. Damit ist auch eine Transformationsreihenfolge vorgegeben. DB:IV-102 Relational Design STEIN 2004-2016

Reihenfolge der Regelanwendung [Elmasri/Navathe 2010] 1. Transformation der regulären Entity-Typen. 2. Transformation der abhängigen Entity-Typen. 3. Transformation der 1:1-Beziehungstypen. 4. Transformation der 1:n-Beziehungstypen. 5. Transformation der n:m-beziehungstypen. 6. Transformation der übrigen Beziehungstypen. 7. Transformation der IST-Beziehungstypen. DB:IV-103 Relational Design STEIN 2004-2016

Zusammenfassung wichtiger Regeln Konzept im ER-Modell Konzept im relationalen Modell Entity-Typ E Attribute,..., A n von E Primärschlüssel κ {,..., A n } von E Beziehungstyp R(E 1,..., E m ;,..., A n ) Attribute,..., A n von R Attribute in den Primärschlüsseln κ i der E i Relationenschema R E Attribute,..., A n von R E Primärschlüssel κ von R E Relationenschema R R Attribute,..., A n von R R Attribute von R R (als Fremdschlüssel) 1:n-Beziehungstyp zwischen E 1 und E 2 κ 2 wird Primärschlüssel von R R 1:1-Beziehungstyp zwischen E 1 und E 2 κ 1 und κ 2 werden jeweils Schlüssel von R R, κ 1 oder κ 2 wird Primärschlüssel von R R n:m-beziehungstyp zwischen E 1 und E 2 κ 1 κ 2 wird Schlüssel von R R E 2 hängt ab von E 1 R E2 erhält auch alle Attribute in κ 1, κ 1 κ 2 wird Schlüssel von R E2 IST-Beziehungstyp: E 2 IST E 1 R E2 erhält auch alle Attribute in κ 1, κ 1 wird Schlüssel von R E2 DB:IV-104 Relational Design STEIN 2004-2016

Zusammenfassung wichtiger Regeln Konzept im ER-Modell Konzept im relationalen Modell Entity-Typ E Attribute,..., A n von E Primärschlüssel κ {,..., A n } von E Beziehungstyp R(E 1,..., E m ;,..., A n ) Attribute,..., A n von R Attribute in den Primärschlüsseln κ i der E i Relationenschema R E Attribute,..., A n von R E Primärschlüssel κ von R E Relationenschema R R Attribute,..., A n von R R Attribute von R R (als Fremdschlüssel) 1:n-Beziehungstyp zwischen E 1 und E 2 κ 2 wird Primärschlüssel von R R 1:1-Beziehungstyp zwischen E 1 und E 2 κ 1 und κ 2 werden jeweils Schlüssel von R R, κ 1 oder κ 2 wird Primärschlüssel von R R n:m-beziehungstyp zwischen E 1 und E 2 κ 1 κ 2 wird Schlüssel von R R E 2 hängt ab von E 1 R E2 erhält auch alle Attribute in κ 1, κ 1 κ 2 wird Schlüssel von R E2 IST-Beziehungstyp: E 2 IST E 1 R E2 erhält auch alle Attribute in κ 1, κ 1 wird Schlüssel von R E2 DB:IV-105 Relational Design STEIN 2004-2016

Zusammenfassung wichtiger Regeln Konzept im ER-Modell Konzept im relationalen Modell Entity-Typ E Attribute,..., A n von E Primärschlüssel κ {,..., A n } von E Beziehungstyp R(E 1,..., E m ;,..., A n ) Attribute,..., A n von R Attribute in den Primärschlüsseln κ i der E i Relationenschema R E Attribute,..., A n von R E Primärschlüssel κ von R E Relationenschema R R Attribute,..., A n von R R Attribute von R R (als Fremdschlüssel) 1:n-Beziehungstyp zwischen E 1 und E 2 κ 2 wird Primärschlüssel von R R 1:1-Beziehungstyp zwischen E 1 und E 2 κ 1 und κ 2 werden jeweils Schlüssel von R R, κ 1 oder κ 2 wird Primärschlüssel von R R n:m-beziehungstyp zwischen E 1 und E 2 κ 1 κ 2 wird Schlüssel von R R E 2 hängt ab von E 1 R E2 erhält auch alle Attribute in κ 1, κ 1 κ 2 wird Schlüssel von R E2 IST-Beziehungstyp: E 2 IST E 1 R E2 erhält auch alle Attribute in κ 1, κ 1 wird Schlüssel von R E2 DB:IV-106 Relational Design STEIN 2004-2016