112
Kapitel DB:II II. Datenbankentwurf und Datenbankmodelle Entwurfsprozess Datenbankmodelle DB:II-1 DB Design and Models © STEIN 2004-2018

II.Datenbankentwurf und Datenbankmodelle · q 1976 von Peter Chen vorgeschlagen q Standardmodell für frühe Entwurfsphasen in der Datenbankentwicklung q mittlerweile existieren viele

  • Upload
    others

  • View
    0

  • Download
    0

Embed Size (px)

Citation preview

Kapitel DB:II

II. Datenbankentwurf und Datenbankmodelleq Entwurfsprozessq Datenbankmodelle

DB:II-1 DB Design and Models © STEIN 2004-2018

EntwurfsprozessANSI/SPARC-Schema-Architektur

externe Ebene

interne Ebene

konzeptuelle Ebene konzeptuelles Schema

internes Schema

externesSchema 1

externesSchema n...

“Usually, a representational [= implementational, logical] data model isused to describe the conceptual schema when a database system isimplemented. This implementation conceptual schema is often basedon a conceptual schema design in a high-level data model.”

[p.30 Elmasri/Navathe 2010]

DB:II-2 DB Design and Models © STEIN 2004-2018

Bemerkungen zu [p.30 Elmasri/Navathe 2010]:

q Aussage 1: In einem Datenbanksystem wird das konzeptuelle Schema oft durch einimplementierungsnahes Datenmodell wie dem relationalen Datenmodell approximiert.

q Aussage 2: Im Entwurfsprozess entsteht dieses implementierungsnahe Datenmodell aufGrundlage eines semantisch reicheren Modells wie dem ER-Modell oder UML.

q Idealerweise sollte eine Datenbankbeschreibung jedoch direkt auf dem semantisch reicherenModell beruhen, ohne dass eine (manuelle) Transformation in ein implementierungsnahesDatenmodell erfolgen muss.

DB:II-3 DB Design and Models © STEIN 2004-2018

EntwurfsprozessANSI/SPARC-Schema-Architektur: Entwurfspraxis

konzeptuelles Schema(z.B. auf Basis von ERM)

Modellbildung

high-level data model(semantisch reichhaltig)

Ausschnitt derrealen Welt

DB:II-4 DB Design and Models © STEIN 2004-2018

EntwurfsprozessANSI/SPARC-Schema-Architektur: Entwurfspraxis

konzeptuelles Schema(z.B. auf Basis von ERM)

Modellbildung

high-level data model(semantisch reichhaltig)

Ausschnitt derrealen Welt

logisches Schema(z.B. Relationen)

representational data model(eher weniger Semantik)

DB:II-5 DB Design and Models © STEIN 2004-2018

EntwurfsprozessANSI/SPARC-Schema-Architektur: Entwurfspraxis

konzeptuelles Schema(z.B. auf Basis von ERM)

Modellbildung

high-level data model(semantisch reichhaltig)

Ausschnitt derrealen Welt

logisches Schema(z.B. Relationen)

representational data model(eher weniger Semantik)

physisches Schema(Dateien, Indexstrukturen, ...)

Sicht 1 Sicht n...

typische implementierteSchema-Architektur

Praxis

DB:II-6 DB Design and Models © STEIN 2004-2018

EntwurfsprozessANSI/SPARC-Schema-Architektur: Entwurfspraxis

konzeptuelles Schema(z.B. auf Basis von ERM)

Modellbildung

high-level data model(semantisch reichhaltig)

Ausschnitt derrealen Welt

logisches Schema(z.B. Relationen)

representational data model(eher weniger Semantik)

physisches Schema(Dateien, Indexstrukturen, ...)

Sicht 1 Sicht n...

typische implementierteSchema-Architektur

Praxis

konzeptuelles Schema

internes Schema

externesSchema 1

externesSchema n...

Schema-Architekturnach ANSI/SPARC

Theorie

DB:II-7 DB Design and Models © STEIN 2004-2018

Entwurfsprozess

Zentrale Anforderung an den Entwurfsprozess ist die Informationserhaltung:

Ü Erhaltung der Fakten

Ü Erhaltung der Beziehungen zwischen den Fakten

Weitere, zum Teil informelle Gütekriterien:

q Redundanzfreiheit

q Vollständigkeit bzgl. der Anforderungsanalyse

q Konsistenz der Beschreibung

q Ausdrucksstärke und Verständlichkeit des benutzten Formalismus

q formale Semantik

q Lesbarkeit der Dokumente

q Unterstützung von Erweiterbarkeit, Modularisierung, Wiederverwendbarkeit,Werkzeugeinsatz

DB:II-8 DB Design and Models © STEIN 2004-2018

Bemerkungen:

q Die Informationserhaltung bezieht sich auf die Transformation der Modelle ausgehend vonder Anforderungsanalyse hin zur Implementierung:

1. Die Erhaltung der Fakten fordert, dass alle gewünschten Eigenschaften der Objekte desWeltausschnitts auf jeder Abstraktionsstufe vorhanden sind.

2. Die Erhaltung der Beziehungen fordert, dass alle gewünschten Regeln undEinschränkungen (Constraints) des Weltausschnitts auf jeder Abstraktionsstufe abbildbarsind.

DB:II-9 DB Design and Models © STEIN 2004-2018

Entwurfsprozess

DB:II-10 DB Design and Models © STEIN 2004-2018

Phasenmodell des Datenbankentwurfs

Ausschnitt derrealen Welt

Anforderungsanalyse(requirements analysis)

Informations-struktur-

anforderungen

Daten-verarbeitungs-anforderungen

konzeptuellerEntwurf

Implementations-bzw. logischer Entwurf

physischerEntwurf

Anforderungsspezifikation

Informationsstruktur

logische Datenbankstruktur

physische Datenbankstruktur

DBMS-Charakteristika

Hardware/BS-Charakteristika

ER-Schema

DB:II-11 DB Design and Models © STEIN 2004-2018

Bemerkungen:

q Verschiedene Phasen dieses Modells lassen sich weiter aufschlüsseln. Beispielsweisegliedern [Heuer/Saake 2013] den konzeptuellen Entwurf noch in einen Sichtenentwurf, eineSichtenanalyse und eine Sichtenintegration.

q Sollen die Daten auf mehreren Rechnern verteilt vorliegen, muss Art und Weise der verteiltenSpeicherung festgelegt werden. Dies geschieht im sogenannten Verteilungsentwurf, einerEntwurfsphase zwischen konzeptuellem und logischen Entwurf.

DB:II-12 DB Design and Models © STEIN 2004-2018

EntwurfsprozessPhasenmodell: Anforderungsanalyse

Ziel:

Sammlung des Informationsbedarfs in den verschiedenen Abteilungen bzw.Benutzergruppen.

Ergebnis:

q informelle Beschreibung des Problems bzw. der Aufgabenstellung(User Stories, Use-Cases, Texte, tabellarische Aufstellungen, Formblätter,Maskenentwürfe, etc.)

q Trennen der Informationen über Daten (Datenanalyse) von den Informationenüber Funktionen (Funktionsanalyse)

DB:II-13 DB Design and Models © STEIN 2004-2018

Bemerkungen:

q Im klassischen Datenbankentwurf wird nur die Datenanalyse einschließlich ihrer Folgeschrittebehandelt; die Funktionsanalyse wird weitgehend ignoriert. Mittelfristig wird sich eineintegrierte objektorientierte Betrachtung von Daten und Funktionen durchsetzen.

DB:II-14 DB Design and Models © STEIN 2004-2018

EntwurfsprozessPhasenmodell: konzeptueller Entwurf

Ziel:

Formale, semantisch reichhaltige Beschreibung der Aufgabenstellung (der zuspeichernden Daten) in einem abstrakten („high-level“) Datenmodell. Hierfür wirddas Entity-Relationship-Modell am häufigsten eingesetzt.

Vorgehensweise:

1. Modellierung von Sichten (z.B. einer Abteilung oder Benutzergruppe)

2. Analyse der vorliegenden Sichten hinsichtlich von Konflikten:q Namenskonflikt: Homonyme, Synonyme

q Typkonflikt: verschiedene Strukturen für das gleiche Konzept

q Wertebereichskonflikt: keine Vereinheitlichung möglich

q Bedingungskonflikt: verschiedene Sichten fordern eigene Integritätsbedingungen

q Modellierungskonflikt: gleicher Sachverhalt ist unterschiedlich modelliert

3. Integration der Sichten in ein Gesamtschema bzw. ER-Diagramm

DB:II-15 DB Design and Models © STEIN 2004-2018

Bemerkungen:

q Ein Homonym ist ein Begriff, der für mehrere Konzepte steht. Beispiel: Jaguar

q Synonyme sind verschiedene Begriffe für dasselbe Konzept. Beispiel: {Haus, Gebäude}

q Beispiel für einen Typkonflikt: ein Patient hat aus Sicht der Krankenkasse andereEigenschaften als aus Sicht des Arztes.

q Beispiele für einen Bedingungskonflikt: verschiedene Schlüssel wurden (von verschiedenenBenutzergruppen) für dieselbe Menge von Objekten vorgesehen.

DB:II-16 DB Design and Models © STEIN 2004-2018

EntwurfsprozessPhasenmodell: Verteilungsentwurf

Ziel:

Festlegung von Art und Weise einer verteilten Speicherung.

Beispiel:

Kunde(KdNr, Name, Adresse, PLZ, Kontostand)

q horizontale Verteilung:Kunde_1(KdNr, Name, Adresse, PLZ, Kontostand)

mit PLZ ≤ 50 000

Kunde_2(KdNr, Name, Adresse, PLZ, Kontostand)

mit PLZ > 50 000

q vertikale Verteilung:Kunde_adr(KdNr, Name, Adresse, PLZ)

Kunde_kto(KdNr, Kontostand)

Zusammenhang kann über das Attribut KdNr hergestellt werden.

DB:II-17 DB Design and Models © STEIN 2004-2018

EntwurfsprozessPhasenmodell: logischer Entwurf

Ziel:

Umsetzung des konzeptuellen Entwurfs in das Datenmodell des Realisierungs-DBMS, zur Zeit meist das relationale Modell.

Vorgehensweise:

1. teilweise automatische Transformation des konzeptuellen Schemas, z.B. desEntity-Relationship-Modells in das relationale Modell

2. Verbesserung des relationalen Schemas anhand von Gütekriterien durchentsprechende Normalisierungsalgorithmen. Stichwort: Normalformen

Ergebnis:

Ein logisches (relationales) Datenbankschema, das Datenredundanzen„weitgehend“ vermeidet und die Konsistenzbedingungen des Entity-Relationship-Modells „weitgehend“ erhält.

DB:II-18 DB Design and Models © STEIN 2004-2018

EntwurfsprozessPhasenmodell: physischer Entwurf

Ziel:

Effizienzsteigerung ohne die logische Struktur der Daten zu verändern.

Konzepte:

„Tuning“ der Abbildung der Relationen auf den Sekundärspeicher:

q Definition von Indexstrukturen, die direkten (assoziativen) Zugriff auf alleTupel einer Relation mit bestimmten Attributwerten erlauben.

q Clusteranalyse zur Gruppierung von Daten im Sekundärspeicher, so dasszusammen benötigte Daten auf denselben Seiten liegen. Typischinsbesondere bei objektorientierten DBMS.

DB:II-19 DB Design and Models © STEIN 2004-2018

Bemerkungen [Schuerr 2001]:

q Kritik an dieser Vorgehensweise aus Sicht der Softwaretechnik:

– es handelt sich um das überholte Wasserfallmodell der Softwaretechnik– Rückgriffe von einer Phase zu vorgehenden Phasen fehlen– Testaktivitäten sind nicht explizit aufgeführt– Wartung mit Aktivitäten aus allen Phasen ist unstrukturiert– inkrementelle bzw. schrittweise Realisierung eines DBS wird nicht unterstützt– Modellierung der Funktionen bleibt nahezu unberücksichtigt– Verzahnung mit Entwicklung sonstiger Teile eines Informationssystems fehlen

q Bessere Vorgehensweise:

– objektorientierter Entwurf für das gesamte Informationssystem– Abbildung von Klassendiagrammen (statt ER-Diagrammen) auf Relationen– Verwendung moderner(er) Vorgehensmodelle der Softwaretechnik

DB:II-20 DB Design and Models © STEIN 2004-2018

DatenbankmodelleDefinition 1 (Datenmodell)

Datenmodelle dienen zur Erfassung und Darstellung der Informationsstruktur füreine Anwendung oder einen Anwendungsbereich.

DB:II-21 DB Design and Models © STEIN 2004-2018

DatenbankmodelleDefinition 1 (Datenmodell)

Datenmodelle dienen zur Erfassung und Darstellung der Informationsstruktur füreine Anwendung oder einen Anwendungsbereich.

Beispiele:

q Typsysteme in Programmiersprachen

q Formalismen zur Wissensrepräsentation in Expertensystemen(Frames, Regeln, logische Formeln)

q Repräsentationsmodelle in Graphiksystemen (BRep, CSG)

q SPO-Tripel im Resource Description Framework des Semantic Web

q Datenbankmodelle in Datenbanksystemen(hierarchisches Modell, Relationenmodell, Entity-Relationship-Modell)

Datenmodell für Datenbanksysteme = Datenbankmodell

DB:II-22 DB Design and Models © STEIN 2004-2018

DatenbankmodelleDefinition 2 (Datenbankmodell, Datenbankschema [Heuer/Saake 2013])

Ein Datenbankmodell ist ein System von Konzepten zur Beschreibung vonDatenbanken. Es legt Syntax und Semantik von Datenbankbeschreibungen für einDatenbanksystem fest.

Eine konkrete Datenbankbeschreibung wird Datenbankschema genannt.

DB:II-23 DB Design and Models © STEIN 2004-2018

DatenbankmodelleDefinition 2 (Datenbankmodell, Datenbankschema [Heuer/Saake 2013])

Ein Datenbankmodell ist ein System von Konzepten zur Beschreibung vonDatenbanken. Es legt Syntax und Semantik von Datenbankbeschreibungen für einDatenbanksystem fest.

Eine konkrete Datenbankbeschreibung wird Datenbankschema genannt.

Gegenüberstellung zu Programmiersprachen:

Datenbank Programmiersprache

Datenbankmodell TypsystemRelation, Attribut, . . . class, int, String, . . .

Datenbankschema VariablendeklarationKunde(KdNr, Name, ...) class Kunde{int KdNr; String Name;}

Datenbank, DB Werte(2305, ”Meier”, ...) 2305, ”Meier”

Datenbankmanagementsystem DBMS Entwicklungs- und Laufzeitumgebung

Datenbanksystem DBS = DB + DBMS Programm zur Laufzeit

DB:II-24 DB Design and Models © STEIN 2004-2018

DatenbankmodelleHistorie

ab Mitte 1960

1970

1980

1990

2000

hierarchisches Modell

Netzwerkmodell

relationalesModell

objektorientiertesDatenmodell

objektrelationalesDatenmodell

objektorientierteEntwurfsmodelle

erweiterteER-Modelle

Entity-Relationship-Modell

NF2-Modell

[Heuer/Saake 2000]

implementierungsnah abstrakt

DB:II-25 DB Design and Models © STEIN 2004-2018

DatenbankmodelleDatenbankschema

Das Datenbankschema einer Datenbank definiert für eine Anwendung:

1. statische Eigenschaften

(a) identifizierbare Objekte (Basisdatentypen)(b) Beziehungen zwischen Objekten(c) Attribute von Objekten und Beziehungen

2. dynamische Eigenschaften

(a) Operationen auf Daten(b) Abfolge und Koordination von Operationen

3. Integritätsbedingungen

(a) an Objekte(b) an Operationen

DB:II-26 DB Design and Models © STEIN 2004-2018

Bemerkungen:

q Beispiel für eine statische Eigenschaft: Sportler haben eine Nationalität.

q Beispiel für eine dynamische Eigenschaft: Ein Auto muss zugelassen werden, bevor man esfahren darf.

q Beispiel für eine Integritätsbedingung für Objekte: Studierende haben unterschiedlicheMatrikelnummern. (Schlüsselbedingung)

q Beispiel für eine Integritätsbedingung für Operationen: Bei einer Gehaltsänderung darf dasGehalt nur steigen. (Übergangsbedingung)

DB:II-27 DB Design and Models © STEIN 2004-2018

DatenbankmodelleDatenbankzustand

Ein Datenbankzustand ist der zu einem Zeitpunkt t gültige bzw. gespeicherteZustand aller Objekte und ihren Beziehungen und muss den im Datenbankschemafestgelegten Strukturbeschreibungen gehorchen.

Buch

Inv_Nr Titel ISBN Autor

0110 Lesebuch 2-341... Popper4711 Glücksformel 2-679... Klein

Buch

Inv_Nr Titel ISBN Autor

0110 Lesebuch 2-341... Popper4711 Glücksformel 2-679... Klein

Zeit

state1

state2

state0

Buch

Inv_Nr Titel ISBN Autor

0110 Lesebuch 2-341... Popper2305 Glücksformel 2-679... Klein

7510 Heuristics 9-212... Pearl

DB:II-28 DB Design and Models © STEIN 2004-2018

Bemerkungen:

q Typischerweise ändert sich ein Datenbankschema selten; der Datenbankzustand istGegenstand laufender Modifikationen. Beispiel Flugbuchungssystem: Jede Reservierungentspricht einer Änderung des Datenbankzustands.

q Ein Datenbanksystem kann als kontinuierlich laufender Prozess aufgefasst werden, dessenjeweils aktueller Zustand state den Inhalt der Datenbank (Datenbasis) festlegt. Eine formaleDefinition der Semantik dieses Prozesses lässt sich durch eine lineare Folge von Zuständenmodellieren, wobei die Zustandsübergänge den Änderungen der Datenbankinhalteentsprechen.

DB:II-29 DB Design and Models © STEIN 2004-2018

Kapitel DB:III

III. Konzeptueller Datenbankentwurfq Einführung in das Entity-Relationship-Modellq ER-Konzepte und ihre Semantikq Charakterisierung von Beziehungstypenq Existenzabhängige Entity-Typenq Abstraktionskonzepteq Konsolidierung, Sichtenintegrationq Konzeptuelle Modellierung mit UML

DB:III-1 Conceptual Design © STEIN 2004-2018

Einführung in das Entity-Relationship-ModellHistorie:

q Entity-Relationship-Modell kurz: ER-Modell bzw. ERM

q 1976 von Peter Chen vorgeschlagen

q Standardmodell für frühe Entwurfsphasen in der Datenbankentwicklung

q mittlerweile existieren viele Varianten und Erweiterungen

q eingesetzt auch in anderen Bereichen der Informatik

Eigenschaften:

q unabhängig von einem bestimmten Datenbanksystem

q Grundkonzepte „Entity“ und „Relationship“ werden als natürlich und – trotzihrer Einfachheit – als ausreichend für viele Situationen empfunden

q unterstützt die drei wichtigsten Abstraktionsmechanismen:Klassifikation, Aggregation, Verallgemeinerung

q starre Informationsstruktur, d. h., Ausrichtung auf große Datenmengen

q Definition von statischen Eigenschaften und Integritätsbedingungen

DB:III-2 Conceptual Design © STEIN 2004-2018

Einführung in das Entity-Relationship-ModellElemente

1. Entity(-Instanz)Ein Objekt oder Ding (Entity) der realen oder einer virtuellen Welt, für dasInformationen zu speichern sind. Jedes Entity ist von einem bestimmtenEntity-Typ.

2. Beziehung(sinstanz)Ein n-Tupel mit Entities. Jede Beziehung (Relationship) ist von einembestimmten Beziehungstyp. Beziehungen zwischen Entities derselben Typengehören zu demselben Beziehungstyp.

3. AttributDefiniert eine Eigenschaft von Entity-Typen oder Beziehungstypen.

4. RolleDokumentiert die Rolle eines Entities in einer Beziehung.

DB:III-3 Conceptual Design © STEIN 2004-2018

Einführung in das Entity-Relationship-ModellDie Beschreibung der Informationsstruktur eines Anwendungsbereichs im Entity-Relationship-Modell heißt Entity-Relationship-Diagramm (ER-Diagramm) oderEntity-Relationship-Schema (ER-Schema).

" Ein Professor liest eine Vorlesung "

DB:III-4 Conceptual Design © STEIN 2004-2018

Einführung in das Entity-Relationship-ModellDie Beschreibung der Informationsstruktur eines Anwendungsbereichs im Entity-Relationship-Modell heißt Entity-Relationship-Diagramm (ER-Diagramm) oderEntity-Relationship-Schema (ER-Schema).

" Ein Professor liest eine Vorlesung "

liest VorlesungProfessor

DB:III-5 Conceptual Design © STEIN 2004-2018

Einführung in das Entity-Relationship-ModellDie Beschreibung der Informationsstruktur eines Anwendungsbereichs im Entity-Relationship-Modell heißt Entity-Relationship-Diagramm (ER-Diagramm) oderEntity-Relationship-Schema (ER-Schema).

" Ein Professor liest eine Vorlesung "

liest VorlesungProfessor

" Eine Vorlesung hat einen Zeitplan und einen Titel "

DB:III-6 Conceptual Design © STEIN 2004-2018

Einführung in das Entity-Relationship-ModellDie Beschreibung der Informationsstruktur eines Anwendungsbereichs im Entity-Relationship-Modell heißt Entity-Relationship-Diagramm (ER-Diagramm) oderEntity-Relationship-Schema (ER-Schema).

" Ein Professor liest eine Vorlesung "

liest VorlesungProfessor

" Eine Vorlesung hat einen Zeitplan und einen Titel "

TitelZeitplan

DB:III-7 Conceptual Design © STEIN 2004-2018

Einführung in das Entity-Relationship-ModellDie Beschreibung der Informationsstruktur eines Anwendungsbereichs im Entity-Relationship-Modell heißt Entity-Relationship-Diagramm (ER-Diagramm) oderEntity-Relationship-Schema (ER-Schema).

" Ein Professor liest eine Vorlesung "

liest VorlesungProfessor

" Eine Vorlesung hat einen Zeitplan und einen Titel "

TitelZeitplan

in einem Semester "

DB:III-8 Conceptual Design © STEIN 2004-2018

Einführung in das Entity-Relationship-ModellDie Beschreibung der Informationsstruktur eines Anwendungsbereichs im Entity-Relationship-Modell heißt Entity-Relationship-Diagramm (ER-Diagramm) oderEntity-Relationship-Schema (ER-Schema).

" Ein Professor liest eine Vorlesung "

liest VorlesungProfessor

" Eine Vorlesung hat einen Zeitplan und einen Titel "

TitelZeitplan

in einem Semester "

Semester

DB:III-9 Conceptual Design © STEIN 2004-2018

Einführung in das Entity-Relationship-ModellDie Beschreibung der Informationsstruktur eines Anwendungsbereichs im Entity-Relationship-Modell heißt Entity-Relationship-Diagramm (ER-Diagramm) oderEntity-Relationship-Schema (ER-Schema).

liest VorlesungProfessor

TitelZeitplan

Semester

Buch

empfiehlt

Autor

Titel

ISBN

Name

Fach

Telefon

DB:III-10 Conceptual Design © STEIN 2004-2018

ER-Konzepte und ihre SemantikDatentypen

Datentypen, hier insbesondere Entity-, Beziehungs- und Attributtypen, dienen zurDefinition von Wertebereichen. Ein Datentyp X ist gekennzeichnet durch:

1. dom(X) Domain, Definitionsbereich.Die möglichen Werte, die ein Objekt vom Typ X annehmen kann.

2. Operationen, Funktionen, Prädikate, die für die Bearbeitung von Werten undfür Aussagen über Werte zur Verfügung stehen.

3. state(X) Zustand.Alle zu einem bestimmten Zeitpunkt bekannten Werte vom Typ X.

DB:III-11 Conceptual Design © STEIN 2004-2018

ER-Konzepte und ihre SemantikDatentypen

Datentypen, hier insbesondere Entity-, Beziehungs- und Attributtypen, dienen zurDefinition von Wertebereichen. Ein Datentyp X ist gekennzeichnet durch:

1. dom(X) Domain, Definitionsbereich.Die möglichen Werte, die ein Objekt vom Typ X annehmen kann.

2. Operationen, Funktionen, Prädikate, die für die Bearbeitung von Werten undfür Aussagen über Werte zur Verfügung stehen.

3. state(X) Zustand.Alle zu einem bestimmten Zeitpunkt bekannten Werte vom Typ X.

Beispiele:

q abstrakter Datentyp Integer.dom(Integer) = Z mit Operationen + − ∗ / < > =

q abstrakter Datentyp String.dom(String) = Σ∗ für ein Alphabet Σ mit Operationen + length

DB:III-12 Conceptual Design © STEIN 2004-2018

Bemerkungen:

q Die Operationen auf einem Datentyp sind hier nur informell genannt. Implementierungen vonDatenbanken verwenden hauptsächlich aus Programmiersprachen bekannte, primitiveDatentypen sowie Nicht-Standard-Datentypen wie Date und Time. Operationen über diesenDatentypen werden teilweise in der Anfragesprache, die ein DBMS unterstützt, zur Verfügunggestellt.

q Der Zustand eines Datentyps ist üblicherweise nicht Teil der Definition eines Datentyps. Erdient hier als Hilfsmittel, den Zustand einer Datenbank ermitteln zu können.

DB:III-13 Conceptual Design © STEIN 2004-2018

ER-Konzepte und ihre SemantikEntity-Typen

Ein Entity-Typ deklariert eine Menge von Objekten mit bestimmten Eigenschaften,die (in der Datenbank) repräsentiert werden sollen. Graphische Darstellung:

Entity-Typ

Bezeichner für Entity-Typen sind E,E1, E2, ... oder wie im Beispiel Professor,Vorlesung und Buch.

dom(E):

Menge der möglichen Entities (Objekte) vom Typ E. Diese Menge wird meist nichtexplizit festgelegt, sondern als genügend groß, z.B. isomorph zu N angenommen.Man kann dom(E) als die Menge der Namen der Entities auffassen.

DB:III-14 Conceptual Design © STEIN 2004-2018

ER-Konzepte und ihre SemantikEntity-Typen (Fortsetzung)

state(E):

Menge der aktuellen Entities vom Typ E im::::::::::::Zustand

:::::::::state

::::::der

:::::::::::::::::Datenbank. Durch

Operationen auf der Datenbank kann sich state(E) verändern. Insbesondere gilt:

q state(E) ⊆ dom(E)

q state(E) ist endlich

Die Anzahl der zum Typ E gespeicherten Entities kann beliebig sein, ist aberin jedem Zustand state endlich.

Beispiel:

q Entity-Typ Professor

q dom(Professor ) = Σ∗ mit Σ = {A, . . . , Z, a, . . . , z}

q state(Professor ) = {Froehlich,Lucks,Wuethrich}

DB:III-15 Conceptual Design © STEIN 2004-2018

ER-Konzepte und ihre SemantikBeziehungstypen

Ein Beziehungstyp deklariert eine Beziehung zwischen Entity-Typen. Es kann einebeliebige Anzahl n≥2 von Entity-Typen an einem Beziehungstyp teilhaben.Graphische Darstellung:

Beziehungstyp

E1 Ei En... ...

Bezeichner für Beziehungstypen sind R,R1, R2, . . ., oder wie im Beispiel empfiehltund liest.

dom(R):

Menge der möglichen Beziehungen (Entity-Tupel) vom Typ R zwischen Entities derTypen E1, . . . , En.

dom(R) = dom(E1)× . . .× dom(En)

DB:III-16 Conceptual Design © STEIN 2004-2018

ER-Konzepte und ihre SemantikBeziehungstypen (Fortsetzung)

state(R):

Menge der aktuellen Beziehungen vom Typ R im:::::::::::::Zustand

::::::::state

::::::der

::::::::::::::::::Datenbank.

Durch Operationen auf der Datenbank kann sich state(R) verändern.

state(R) ⊆ state(E1)× . . .× state(En)

Schreibweise:R(E1, . . . , En)

Beispiel:

q Beziehungstyp liest

q state(Professor ) = {Froehlich,Lucks,Wuethrich}

q state(Vorlesung) = {Algorithmen,Computergrafik,Kryptographie,HCI,DB}

q state(liest) = {(Wuethrich,Algorithmen), (Lucks,Kryptographie)}

DB:III-17 Conceptual Design © STEIN 2004-2018

ER-Konzepte und ihre SemantikBeziehungstypen (Fortsetzung)

Sind einzelne Entity-Typen mehrfach in einem Beziehungstyp eingebunden, legenRollenbezeichner die Rollen der beteiligten Objekte in der Beziehung fest. Mannennt solche Beziehungstypen reflexiv.

Beispiel:verheiratet(Frau : Person,Mann : Person)

verheiratet

Person

Frau

Mann

DB:III-18 Conceptual Design © STEIN 2004-2018

Bemerkungen:

q In der textuellen Notation sind Rollenbezeichner nicht erforderlich: die Rolle kann über diePosition im Argumentetupel (Signatur) festgelegt werden: verheiratet(Person,Person)

q In der graphischen Darstellung sind Rollenbezeichner erforderlich.

q In der Datenbankliteratur werden reflexive Beziehungstypen mitunter auch rekursiveBeziehungstypen genannt.

DB:III-19 Conceptual Design © STEIN 2004-2018

ER-Konzepte und ihre SemantikAttribute und Attributtypen

Ein Attribut definiert eine Eigenschaft für alle Instanzen eines Entity-Typs oderBeziehungstyps. Ein Attribut kann deshalb als Funktion verstanden werden, diejeder Instanz eine Eigenschaftsausprägung zuordnet. Graphische Darstellung:

A : T

E

A : T

R

Bezeichner für Attribute sind A,A1, A2, . . . oder wie im Beispiel Name, ISBN, Titeloder Semester.

Der Attributtyp T bezeichnet den Typ der Eigenschaft und ist üblicherweise einStandard-Datentyp wie Integer oder String.

dom(T ):

Menge der möglichen Werte des Attributtyps T .

DB:III-20 Conceptual Design © STEIN 2004-2018

Bemerkungen:

q Nicht-Standard-Datentypen für Attribute sind

– von DBMS zur Verfügung gestellte Datentypen wie Date, Time, Timestamp, Blob.

– Potenzmengen von Attributtypen für mehrwertige Attribute. Beispiel: Attribut Titel vomAttributtyp P(dom(T )) für dom(T ) = {Prof., Dr., MSc, BSc, Dipl.-Inform., . . .}.

– (hierarchische) Kompositionen von Standard-Datentypen. Beispiel: Attribut Adresse vomgleichnamigen Attributtyp Adresse, das Adressbestandteile vom Typ String undInteger zusammenfasst.

DB:III-21 Conceptual Design © STEIN 2004-2018

ER-Konzepte und ihre SemantikAttribute von Entity-Typen

dom(A):

Menge der möglichen Abbildungen von dom(E) nach dom(T ).

state(A):

Eine Abbildung state(E)→ dom(T ) im Zustand state der Datenbank, die jedemaktuellen Entity aus state(E) einen Wert aus dom(T ) zuordnet.

Schreibweise (Entity-Typ mit Attributen A1, . . . , An):

E(A1 : T1, . . . , An : Tn) bzw. E(A1, . . . , An)

Beispiel: ; TAFEL

DB:III-22 Conceptual Design © STEIN 2004-2018

Bemerkungen:

q Modellierungstechnisch gibt es zwei Blickwinkel, unter denen Attribute betrachtet werden.dom(A) und dom(T ) spiegeln diese Unterscheidung wider:

1. Aus Sicht des ER-Modells.Hier wird ein Attribut als eine Abbildung über dem Wertebereich eines Entity-Typs bzw.Beziehungstyps aufgefasst. dom(A) ist die Menge der möglichen Abbildungen.Diese Sichtweise ist durch die Operationen auf der Datenbank motiviert: Zu jedemZeitpunkt t ist der Zustand der Datenbank durch die Attribute (= den entsprechendenAbbildungen) festgelegt. [

::::::DB:II

::::::::::::::::::::Datenbankmodelle

::»:::::::::::::::::::::Datenbankzustand]

Beispiel: Zum Zeitpunkt t ordnet Attribut ISBN jedem Buch eine ganze Zahl zu.

2. Aus Sicht des relationalen Modells.Hier wird ein Attribut lediglich als Bezeichner des Datentyps einer Eigenschaftverstanden. dom(A) im relationalen Modell ist die Menge der möglichen Attributwerteund entspricht der Menge dom(T ) im ER-Modell. [

:::::::DB:IV

:::::Das

::::::::::::Relationale

::::::::Modell]

Beispiel: Das Attribut ISBN ist vom Typ „ganze Zahl“.

DB:III-23 Conceptual Design © STEIN 2004-2018

ER-Konzepte und ihre SemantikAttribute von Beziehungstypen

dom(A):

Menge der möglichen Abbildungen von dom(R) nach dom(T ).

state(A):

Eine Abbildung state(R)→ dom(T ) im Zustand state der Datenbank, die jederaktuellen Beziehung aus state(R) einen Wert des Datentyps T aus dom(T )

zuordnet.

Schreibweise:

R(E1, . . . , Em; A1 : T1, . . . , An : Tn) bzw. R(E1, . . . , Em; A1, . . . , An)

DB:III-24 Conceptual Design © STEIN 2004-2018

ER-Konzepte und ihre SemantikOptionale Attribute

Optionale Attribute müssen nicht für alle Entities einen definierten Wert annehmen.Graphische Darstellung:

A : T

E

A : T

R

Beispiel:

liest Vorlesung

SemesterTitel

Professor

Name

Fach

Telefon

Prüfung

DB:III-25 Conceptual Design © STEIN 2004-2018

Bemerkungen:

q Eine Kennzeichnung von A als optionales Attribut zeigt also an, dass es sich bei der Funktionstate(A) um eine partielle Funktion handelt.

DB:III-26 Conceptual Design © STEIN 2004-2018

ER-Konzepte und ihre SemantikSchlüssel

Definition 3 (Schlüssel im ER-Modell, Schlüsselattribut)

Sei {A1, . . . , An} die Menge der Attribute eines Entity-Typs E. Eine nichtverkleinerbare Menge von Attributen {Ai1, . . . , Aik} ⊆ {A1, . . . , An} nennt manSchlüssel, gdw. (↔) deren Werte das zugeordnete Entity eindeutig innerhalb allerEntities seines Typs identifiziert. Die {Ai1, . . . , Aik} heißen Schlüsselattribute.

Beispiele:

q Ein/e Student/in wird eindeutig durch eine Matrikelnummer identifiziert.q Ein Buch wird eindeutig durch eine ISBN identifiziert.

DB:III-27 Conceptual Design © STEIN 2004-2018

ER-Konzepte und ihre SemantikSchlüssel

Definition 3 (Schlüssel im ER-Modell, Schlüsselattribut)

Sei {A1, . . . , An} die Menge der Attribute eines Entity-Typs E. Eine nichtverkleinerbare Menge von Attributen {Ai1, . . . , Aik} ⊆ {A1, . . . , An} nennt manSchlüssel, gdw. (↔) deren Werte das zugeordnete Entity eindeutig innerhalb allerEntities seines Typs identifiziert. Die {Ai1, . . . , Aik} heißen Schlüsselattribute.

Beispiele:

q Ein/e Student/in wird eindeutig durch eine Matrikelnummer identifiziert.q Ein Buch wird eindeutig durch eine ISBN identifiziert.

Folgerung auf Basis von Definition 3 (beispielhaft):

Sei {A2} die Menge der Schlüsselattribute von Entity-Typ E(A1, A2, A3).

∀e1, e2 ∈ state(E) :

Gleiche Werte für A2 implizieren die Gleichheit von e1 und e2.DB:III-28 Conceptual Design © STEIN 2004-2018

Bemerkungen:

q Es handelt sich um eine Folgerung und keine Äquivalenzbeziehung, da aus der eindeutigenIdentifizierbarkeit in der Menge state(E) nicht auf die eindeutige Identifizierbarkeit in derMenge dom(E) geschlossen werden kann: state(E) ⊆ dom(E).

q Es kann mehrere Schlüsselkandidaten geben. Von ihnen ist einer auszuwählen und wird alsPrimärschlüssel bezeichnet.

q Verschiedene Schlüsselkandidaten können eine unterschiedliche Anzahl von Attributenbesitzen.

DB:III-29 Conceptual Design © STEIN 2004-2018

ER-Konzepte und ihre SemantikSchlüssel (Fortsetzung)

Graphische Darstellung:

A1 : T

EA2 : T

A3 : T

Schreibweise:E(A1, A2, A3)

DB:III-30 Conceptual Design © STEIN 2004-2018

ER-Konzepte und ihre SemantikDatenbankzustand

Für jeden::::::::::::Zustand

:::::::::state

::::::::einer

::::::::::::::::::Datenbank besitzt ein ER-Schema folgende

Zuordnungen:

E 7→ state(E) ⊆ dom(E)

R(E1, . . . , En) 7→ state(R) ⊆ state(E1)× . . .× state(En)

E(. . . , Ai : T, . . .) 7→ state(Ai) : state(E)→ dom(T )

R(. . . ; . . . , Aj : T, . . .) 7→ state(Aj) : state(R)→ dom(T )

Vorausgesetzt sind passende Interpretationen für dom(E) und dom(T ): Mengenmöglicher Entities für Entity-Typen und Wertebereiche für Datentypen.

DB:III-31 Conceptual Design © STEIN 2004-2018

Kapitel DB:III (Fortsetzung)

III. Konzeptueller Datenbankentwurfq Einführung in das Entity-Relationship-Modellq ER-Konzepte und ihre Semantikq Charakterisierung von Beziehungstypenq Existenzabhängige Entity-Typenq Abstraktionskonzepteq Konsolidierung, Sichtenintegrationq Konzeptuelle Modellierung mit UML

DB:III-32 Conceptual Design © STEIN 2004-2018

Charakterisierung von BeziehungstypenFunktionalitäten bei zweistelligen Beziehungen (Formalismus I für Kardinalitäten)

RE1 E2x y

Zweistellige Beziehungstypen und ihre Semantik:

q 1:1-BeziehungJedem Entity e1 ∈ state(E1) ist höchstens ein Entity e2 ∈ state(E2) zugeordnetund umgekehrt.

q 1:n-BeziehungJedem Entity e1 ∈ state(E1) sind beliebig viele (auch gar keine) Entities ausstate(E2) zugeordnet, und jedem Entity e2 ∈ state(E2) ist höchstens ein Entitye1 ∈ state(E1) zugeordnet.

q n:m-BeziehungKeine Restriktionen gelten; jedes Entity e1 ∈ state(E1) kann mit beliebig vielenEntities e2 ∈ state(E2) in Beziehung stehen und umgekehrt.

DB:III-33 Conceptual Design © STEIN 2004-2018

Charakterisierung von BeziehungstypenFunktionalitäten bei zweistelligen Beziehungen (Formalismus I für Kardinalitäten)

RE1 E2x y

Zweistellige Beziehungstypen und ihre Semantik:

q 1:1-BeziehungJedem Entity e1 ∈ state(E1) ist höchstens ein Entity e2 ∈ state(E2) zugeordnetund umgekehrt.

q 1:n-BeziehungJedem Entity e1 ∈ state(E1) sind beliebig viele (auch gar keine) Entities ausstate(E2) zugeordnet, und jedem Entity e2 ∈ state(E2) ist höchstens ein Entitye1 ∈ state(E1) zugeordnet.

q n:m-BeziehungKeine Restriktionen gelten; jedes Entity e1 ∈ state(E1) kann mit beliebig vielenEntities e2 ∈ state(E2) in Beziehung stehen und umgekehrt.

DB:III-34 Conceptual Design © STEIN 2004-2018

Bemerkungen:

q Mit dem Wort „Funktionalität“ wird hier eine Abhängigkeitsbeziehung zwischen Entity-Typenbzw. zwischen Entity-Typen und einem Beziehungstyp bezeichnet. Eine andere Bezeichnungfür Funktionalität ist Constraint.

q Die Semantik von n:1-Beziehungen ist analog zu der von 1:n-Beziehungen.

q Bei jeder Art von zweistelligen Beziehungen kann es Entities aus state(E1) (bzw. state(E2))geben, denen kein Element aus state(E2) (bzw. state(E1)) zugeordnet ist.

DB:III-35 Conceptual Design © STEIN 2004-2018

Charakterisierung von BeziehungstypenFunktionalitäten bei zweistelligen Beziehungen (Formalismus I für Kardinalitäten)

RE1 E2x y

Beispiele:

q 1:1-Beziehung. „verheiratet“-Relation zwischen Männern und Frauen nacheuropäischem Recht.

q 1:n-Beziehung. „beschäftigen“-Relation zwischen Firmen und Personen.

q n:m-Beziehung. „unterrichtet“-Relation zwischen Studierenden undProfessoren.

DB:III-36 Conceptual Design © STEIN 2004-2018

Bemerkungen:

q Funktionalitäten stellen Integritätsbedingungen dar, die in der zu modellierenden Welt immergelten müssen.

q Die binären 1:1, 1:n und n:1-Beziehungen stellen partielle Funktionen dar. Insbesondere istjede 1:1-Beziehung umkehrbar, und es existieren folgende Funktionen:R : E1 → E2

R−1 : E2 → E1

Beispiel:Ehemann: Frauen→ MännerEhefrau: Männer→ Frauen

q Bei einer 1:n-Beziehung ist die Richtung der Funktion zwingend, vom „n-Entity-Typ“ zum„1-Entity-Typ“.

Beispiel:beschäftigen: Personen→ Firmen

DB:III-37 Conceptual Design © STEIN 2004-2018

Charakterisierung von BeziehungstypenFunktionalitäten bei zweistelligen Beziehungen (Formalismus I für Kardinalitäten)

state(E1) state(E2)

1:1 1:n

state(E1) state(E2)

state(E1) state(E2)

n:1 n:m

state(E1) state(E2)

DB:III-38 Conceptual Design © STEIN 2004-2018

Charakterisierung von BeziehungstypenFunktionalitäten bei zweistelligen Beziehungen (Formalismus I für Kardinalitäten)

Alternative graphische Darstellungen für zweistellige funktionale Beziehungen:

RE1 E2n 1

RE1 E2

RE1 E21 1

DB:III-39 Conceptual Design © STEIN 2004-2018

Charakterisierung von BeziehungstypenFunktionalitäten bei n-stelligen Beziehungen (Formalismus I für Kardinalitäten)

Sei R eine Beziehung zwischen den Entity-Typen E1, . . . , En, wobei dieFunktionalität bei Entity-Typ Ek, 1 ≤ k ≤ n, mit 1 spezifiziert ist. Dann wird durch R

folgende partielle Funktion vorgegeben:

R : E1 × . . .× Ek−1 × Ek+1 × . . .× En → Ek

[Kemper/Eickler 2011]

R

E1 Ek En... ...

n n1

DB:III-40 Conceptual Design © STEIN 2004-2018

Charakterisierung von BeziehungstypenFunktionalitäten bei n-stelligen Beziehungen (Formalismus I für Kardinalitäten)

Sei R eine Beziehung zwischen den Entity-Typen E1, . . . , En, wobei dieFunktionalität bei Entity-Typ Ek, 1 ≤ k ≤ n, mit 1 spezifiziert ist. Dann wird durch R

folgende partielle Funktion vorgegeben:

R : E1 × . . .× Ek−1 × Ek+1 × . . .× En → Ek

[Kemper/Eickler 2011]

R

E1 Ek En... ...

n n1

Urbildbereich Bildbereich

DB:III-41 Conceptual Design © STEIN 2004-2018

Bemerkungen:

q n-stellige (n-äre) Beziehungstypen spezifizieren genau die Menge der Funktionen, für derenSignatur gilt: die Bildmenge besteht aus einem Entity-Typ mit der Kardinalität 1; dieUrbildmenge ist das kartesische Produkt der restlichen n− 1 Entity-Typen.

q Diese Definition von n-stelligen Beziehungstypen erweitert die binären n:1-Beziehungen inkanonischer Weise. Dabei ist der 1-Entity-Typ der rechten Seite in der Rolle des rechten1-Entity-Typs der binären Funktionalität; die restlichen n− 1 Entity-Typen sind zusammen inder Rolle des linken n-Entity-Typs der binären Funktionalität.

q n-stellige Beziehungstypen sind in der Regel keine Kurzschreibweise von(n2

)binären

Beziehungstypen. Selbst eine ternäre 1:1:1-Relation R lässt sich nicht zwangsläufigverlustlos bzw. verbundtreu in binäre Beziehungstypen zerlegen.

DB:III-42 Conceptual Design © STEIN 2004-2018

Charakterisierung von BeziehungstypenFunktionalitäten bei n-stelligen Beziehungen (Formalismus I für Kardinalitäten)

Beispiel Prüfungsordnung (= Ausschnitt der realen Welt) :

(a) Ein Student darf bei demselben Professor nur ein Seminarthema machen.(b) Ein Student darf dasselbe Thema nur einmal bearbeiten und nicht zu einem anderen

Professor damit gehen.(c) Ein Professor kann dasselbe Thema an verschiedene Studenten vergeben.(d) Dasselbe Thema kann von verschiedenen Professoren vergeben werden.

DB:III-43 Conceptual Design © STEIN 2004-2018

Charakterisierung von BeziehungstypenFunktionalitäten bei n-stelligen Beziehungen (Formalismus I für Kardinalitäten)

Beispiel Prüfungsordnung (= Ausschnitt der realen Welt) :

(a) Ein Student darf bei demselben Professor nur ein Seminarthema machen.(b) Ein Student darf dasselbe Thema nur einmal bearbeiten und nicht zu einem anderen

Professor damit gehen.(c) Ein Professor kann dasselbe Thema an verschiedene Studenten vergeben.(d) Dasselbe Thema kann von verschiedenen Professoren vergeben werden.

Konzeptuelles Modell:

Student

Note

betreutn

1

1

Professor

Thema

DB:III-44 Conceptual Design © STEIN 2004-2018

Charakterisierung von BeziehungstypenFunktionalitäten bei n-stelligen Beziehungen (Formalismus I für Kardinalitäten)

Beispiel Prüfungsordnung (= Ausschnitt der realen Welt) :

(a) Ein Student darf bei demselben Professor nur ein Seminarthema machen.(b) Ein Student darf dasselbe Thema nur einmal bearbeiten und nicht zu einem anderen

Professor damit gehen.(c) Ein Professor kann dasselbe Thema an verschiedene Studenten vergeben.(d) Dasselbe Thema kann von verschiedenen Professoren vergeben werden.

Konzeptuelles Modell:

Student

Note

betreutn

1

1

Professor

Thema

Analyse des konzeptuellen Modells:

zu (a) Abgebildet durch betreutf1 : Professor × Student → Themazu (b) Abgebildet durch betreutf2 : Thema × Student → Professorzu (c) Zugelassen durch betreutf1.zu (d) Zugelassen durch betreutf2.

DB:III-45 Conceptual Design © STEIN 2004-2018

Charakterisierung von BeziehungstypenFunktionalitäten bei n-stelligen Beziehungen (Formalismus I für Kardinalitäten)

Beispiel Prüfungsordnung (= Ausschnitt der realen Welt) :

(a) Ein Student darf bei demselben Professor nur ein Seminarthema machen.(b) Ein Student darf dasselbe Thema nur einmal bearbeiten und nicht zu einem anderen

Professor damit gehen.(c) Ein Professor kann dasselbe Thema an verschiedene Studenten vergeben.(d) Dasselbe Thema kann von verschiedenen Professoren vergeben werden.

Konzeptuelles Modell:

Student

Note

betreutn

1

1

Professor

Thema

Analyse des konzeptuellen Modells:

zu (a) Abgebildet durch betreutf1 : Professor × Student → Themazu (b) Abgebildet durch betreutf2 : Thema × Student → Professorzu (c) Zugelassen durch betreutf1.zu (d) Zugelassen durch betreutf2.

DB:III-46 Conceptual Design © STEIN 2004-2018

Charakterisierung von BeziehungstypenFunktionalitäten bei n-stelligen Beziehungen (Formalismus I für Kardinalitäten)

Beispiel Prüfungsordnung (= Ausschnitt der realen Welt) :

(a) Ein Student darf bei demselben Professor nur ein Seminarthema machen.(b) Ein Student darf dasselbe Thema nur einmal bearbeiten und nicht zu einem anderen

Professor damit gehen.(c) Ein Professor kann dasselbe Thema an verschiedene Studenten vergeben.(d) Dasselbe Thema kann von verschiedenen Professoren vergeben werden.

Konzeptuelles Modell:

Student

Note

betreutn

1

1

Professor

Thema

Analyse des konzeptuellen Modells:

zu (a) Abgebildet durch betreutf1 : Professor × Student → Themazu (b) Abgebildet durch betreutf2 : Thema × Student → Professorzu (c) Zugelassen durch betreutf1.zu (d) Zugelassen durch betreutf2.

DB:III-47 Conceptual Design © STEIN 2004-2018

Charakterisierung von BeziehungstypenFunktionalitäten bei n-stelligen Beziehungen (Formalismus I für Kardinalitäten)

Beispiel Prüfungsordnung (= Ausschnitt der realen Welt) :

(a) Ein Student darf bei demselben Professor nur ein Seminarthema machen.(b) Ein Student darf dasselbe Thema nur einmal bearbeiten und nicht zu einem anderen

Professor damit gehen.(c) Ein Professor kann dasselbe Thema an verschiedene Studenten vergeben.(d) Dasselbe Thema kann von verschiedenen Professoren vergeben werden.

Konzeptuelles Modell:

Student

Note

betreutn

1

1

Professor

Thema

Analyse des konzeptuellen Modells:

zu (a) Abgebildet durch betreutf1 : Professor × Student → Themazu (b) Abgebildet durch betreutf2 : Thema × Student → Professorzu (c) Zugelassen durch betreutf1.zu (d) Zugelassen durch betreutf2.

DB:III-48 Conceptual Design © STEIN 2004-2018

Charakterisierung von Beziehungstypen[min,max ]-Notation (Formalismus II für Kardinalitäten)

R

E1 En...

[min1, max1] [minn, maxn]

Schreibweise:

R(E1[min1,max1], . . . , Ei[mini,max i], . . . , En[minn,maxn])

DB:III-49 Conceptual Design © STEIN 2004-2018

Charakterisierung von Beziehungstypen[min,max ]-Notation (Formalismus II für Kardinalitäten)

R

E1 En...

[min1, max1] [minn, maxn]

Schreibweise:

R(E1[min1,max1], . . . , Ei[mini,max i], . . . , En[minn,maxn])

Semantik der [min,max ]-Notation:

Die Anzahl der Beziehungsinstanzen vom Typ R mit Beteiligung der Instanz ei vomTyp Ei ist zwischen mini und max i:

∀i ∈ {1, . . . , n} ∀ei ∈ state(Ei) : mini ≤ |{t ∈ state(R) | t.Ei = ei}| ≤ max i

t.Ei bezeichne die Projektion der Beziehungsinstanz t auf den Entity-Typ Ei.

DB:III-50 Conceptual Design © STEIN 2004-2018

Charakterisierung von Beziehungstypen[min,max ]-Notation (Formalismus II für Kardinalitäten)

R

E1 En...

[min1, max1] [minn, maxn]

Schreibweise:

R(E1[min1,max1], . . . , Ei[mini,max i], . . . , En[minn,maxn])

Semantik der [min,max ]-Notation:

Die Anzahl der Beziehungsinstanzen vom Typ R mit Beteiligung der Instanz ei vomTyp Ei ist zwischen mini und max i:

∀i ∈ {1, . . . , n} ∀ei ∈ state(Ei) : mini ≤ |{t ∈ state(R) | t.Ei = ei}| ≤ max i

t.Ei bezeichne die Projektion der Beziehungsinstanz t auf den Entity-Typ Ei.

DB:III-51 Conceptual Design © STEIN 2004-2018

Charakterisierung von Beziehungstypen[min,max ]-Notation (Formalismus II für Kardinalitäten)

Beispiele:

q arbeitet_in(Mitarbeiter[0,1], Raum[0,3])„Mitarbeitern ist ein oder kein Raum zugeordnet. Pro Raum gibt es höchstens dreiMitarbeiter.“

q verantwortlich_für (Mitarbeiter[0,*], Computer[1,1])„Es gibt Mitarbeiter, die für keinen Computer verantwortlich sind – aber auch Mitarbeiter, diefür mehrere Computer verantwortlich sind. Jedem Computer ist genau ein Mitarbeiterzugeordnet, der verantwortlich für diesen Computer ist.“

DB:III-52 Conceptual Design © STEIN 2004-2018

Charakterisierung von Beziehungstypen[min,max ]-Notation (Formalismus II für Kardinalitäten)

Beispiele:

q arbeitet_in(Mitarbeiter[0,1], Raum[0,3])„Mitarbeitern ist ein oder kein Raum zugeordnet. Pro Raum gibt es höchstens dreiMitarbeiter.“

q verantwortlich_für (Mitarbeiter[0,*], Computer[1,1])„Es gibt Mitarbeiter, die für keinen Computer verantwortlich sind – aber auch Mitarbeiter, diefür mehrere Computer verantwortlich sind. Jedem Computer ist genau ein Mitarbeiterzugeordnet, der verantwortlich für diesen Computer ist.“

DB:III-53 Conceptual Design © STEIN 2004-2018

Bemerkungen:

q Eine spezielle Wertangabe für max i ist ∗. Sie dient zum Anzeigen einer unbegrenztenAnzahl.

q [0, ∗] bedeutet keine Einschränkung und ist die Standardannahme, wenn keine Kardinalitätenangegeben sind.

q R(E1[0, 1], E2) entspricht einer partiellen funktionalen Beziehung R : E1 → E2.

q R(E1[1, 1], E2) entspricht einer totalen funktionalen Beziehung R : E1 → E2.

q Die Kardinalitätsangabe auf der rechten Seite verrät auch etwas über die Surjektivität derAbbildung: [0, ∗] bedeutet, dass nicht jedes Element in einer Beziehung stehen muss; [1, ∗]bedeutet, dass jedes Element erreicht wird, die Funktion also surjektiv ist.

DB:III-54 Conceptual Design © STEIN 2004-2018

Charakterisierung von BeziehungstypenFormalismus I versus Formalismus II

Unterschied in der Semantik:

q Die Semantik der Kardinalitäten bei Formalismus I bezieht sich auf Instanzenvon Entity-Typen.

q Die Semantik der Kardinalitäten bei Formalismus II ([min,max ]-Notation)bezieht sich auf Instanzen von Beziehungstypen.

DB:III-55 Conceptual Design © STEIN 2004-2018

Charakterisierung von BeziehungstypenFormalismus I versus Formalismus II

Unterschied in der Semantik:

q Die Semantik der Kardinalitäten bei Formalismus I bezieht sich auf Instanzenvon Entity-Typen.

q Die Semantik der Kardinalitäten bei Formalismus II ([min,max ]-Notation)bezieht sich auf Instanzen von Beziehungstypen.

q Somit kann eine partielle Funktion R : E1 → E2 graphisch u.a. auf folgendeArten dargestellt werden:

RE1 E2n 1

RE1 E2

RE1 E2[0,1] [0,*]

DB:III-56 Conceptual Design © STEIN 2004-2018

Charakterisierung von BeziehungstypenUmwandlung n-stelliger Beziehungen

Beispiel für die Umwandlung einer dreistelligen Beziehung in drei zweistelligeBeziehungen:

�Professor

Name

Fach

ISBN

Titel

Vorlesung

Buch

empfiehlt

empfiehlt-P-V

Professor

Name

Fach

ISBN

Titel

Vorlesung

Buch

empfiehlt-V-B

empfiehlt-P-B

DB:III-57 Conceptual Design © STEIN 2004-2018

Charakterisierung von BeziehungstypenUmwandlung n-stelliger Beziehungen (Fortsetzung)

empfiehlt

Professor Vorlesung Buch (ISBN)

Pearl Datenbanken 0-341...Pearl IT-Systeme 2-305...Graham Datenbanken 2-305...Graham IT-Systeme 2-305...

ursprünglicher Zustand:

Zustände der drei zweistelligen Beziehungen:

empfiehlt-P-V

Professor Vorlesung

Pearl DatenbankenPearl IT-SystemeGraham DatenbankenGraham IT-Systeme

empfiehlt-P-B

Professor Buch (ISBN)

Pearl 0-341...Pearl 2-305...Graham 2-305...

empfiehlt-V-B

Vorlesung Buch (ISBN)

Datenbanken 0-341...IT-Systeme 2-305...Datenbanken 2-305...

DB:III-58 Conceptual Design © STEIN 2004-2018

Charakterisierung von BeziehungstypenUmwandlung n-stelliger Beziehungen (Fortsetzung)

empfiehlt

Professor Vorlesung Buch (ISBN)

Pearl Datenbanken 0-341...Pearl IT-Systeme 2-305...Graham Datenbanken 2-305...Graham IT-Systeme 2-305...

ursprünglicher Zustand:

Zustände der drei zweistelligen Beziehungen:

empfiehlt-P-V

Professor Vorlesung

Pearl DatenbankenPearl IT-SystemeGraham DatenbankenGraham IT-Systeme

empfiehlt-P-B

Professor Buch (ISBN)

Pearl 0-341...Pearl 2-305...Graham 2-305...

empfiehlt-V-B

Vorlesung Buch (ISBN)

Datenbanken 0-341...IT-Systeme 2-305...Datenbanken 2-305...

empfiehlt-P-V

Professor Vorlesung

Pearl DatenbankenPearl IT-SystemeGraham DatenbankenGraham IT-Systeme

empfiehlt-P-B

Professor Buch (ISBN)

Pearl 0-341...Pearl 2-305...Graham 2-305...

empfiehlt-V-B

Vorlesung Buch (ISBN)

Datenbanken 0-341...IT-Systeme 2-305...Datenbanken 2-305...

DB:III-59 Conceptual Design © STEIN 2004-2018

Charakterisierung von BeziehungstypenUmwandlung n-stelliger Beziehungen (Fortsetzung)

empfiehlt

Professor Vorlesung Buch (ISBN)

Pearl Datenbanken 0-341...Pearl IT-Systeme 2-305...Graham Datenbanken 2-305...Graham IT-Systeme 2-305...

ursprünglicher Zustand:

Zustände der drei zweistelligen Beziehungen:

empfiehlt-P-V

Professor Vorlesung

Pearl DatenbankenPearl IT-SystemeGraham DatenbankenGraham IT-Systeme

empfiehlt-P-B

Professor Buch (ISBN)

Pearl 0-341...Pearl 2-305...Graham 2-305...

empfiehlt-V-B

Vorlesung Buch (ISBN)

Datenbanken 0-341...IT-Systeme 2-305...Datenbanken 2-305...

empfiehlt-P-V

Professor Vorlesung

Pearl DatenbankenPearl IT-SystemeGraham DatenbankenGraham IT-Systeme

empfiehlt-P-B

Professor Buch (ISBN)

Pearl 0-341...Pearl 2-305...Graham 2-305...

empfiehlt-V-B

Vorlesung Buch (ISBN)

Datenbanken 0-341...IT-Systeme 2-305...Datenbanken 2-305...

Pearl Datenbanken 2-305...

Problem 1�

DB:III-60 Conceptual Design © STEIN 2004-2018

Charakterisierung von BeziehungstypenUmwandlung n-stelliger Beziehungen (Fortsetzung)

empfiehlt

Professor Vorlesung Buch (ISBN)

Pearl Datenbanken 0-341...Pearl IT-Systeme 2-305...Graham Datenbanken 2-305...Graham IT-Systeme 2-305...

ursprünglicher Zustand:

Zustände der drei zweistelligen Beziehungen:

empfiehlt-P-V

Professor Vorlesung

Pearl DatenbankenPearl IT-SystemeGraham DatenbankenGraham IT-Systeme

empfiehlt-P-B

Professor Buch (ISBN)

Pearl 0-341...Pearl 2-305...Graham 2-305...

empfiehlt-V-B

Vorlesung Buch (ISBN)

Datenbanken 0-341...IT-Systeme 2-305...Datenbanken 2-305...

empfiehlt-P-V

Professor Vorlesung

Pearl DatenbankenPearl IT-SystemeGraham DatenbankenGraham IT-Systeme

empfiehlt-P-B

Professor Buch (ISBN)

Pearl 0-341...Pearl 2-305...Graham 2-305...

empfiehlt-V-B

Vorlesung Buch (ISBN)

Datenbanken 0-341...IT-Systeme 2-305...Datenbanken 2-305...

Pearl Datenbanken 2-305...

Problem 1�

Web-Services 1-100

?

Problem 2

DB:III-61 Conceptual Design © STEIN 2004-2018

Bemerkungen:

q Verschiedene Zustände der dreistelligen Relation (oben) bilden auf dieselben zweistelligenRelationen (unten) ab. Bei der Umkehrung dieser Zerlegung (von unten nach oben) könnenzusätzliche Tupel enstehen.

q Die illustrierte Problematik wird als die Eigenschaft der Verlustlosigkeit bzw. Verbundtreue inder Entwurfstheorie relationaler Datenbanken behandelt.

q Die im Beispiel durchgeführte Zerlegung ist nicht verlustlos: verloren gegangen ist dieInformation, dass Pearl das Buch 2-305 für IT-Systeme, aber nicht für Datenbankenempfiehlt. D.h., Anfragen auf der Datenbank mit dem zerlegten Schema können (ungewollterWeise) zu anderen Ergebnissen als auf der ursprünglichen Datenbank führen.

q Mit den drei zweistelligen Beziehungstypen können (ungewollter Weise) auchZusammenhänge abgebildet werden, die vorher in der dreistelligen Relation nicht möglichwaren: ein Buch (1-100) wird für eine Vorlesung (Web-Services) empfohlen, für die keineProfessorin angegeben ist.

q Manche Datenbanksysteme bieten für die Modellierung nur binäre Beziehungstypen an.

DB:III-62 Conceptual Design © STEIN 2004-2018

Existenzabhängige Entity-TypenBisher vorausgesetzt: Entities existieren autonom und sind innerhalb ihres Typsüber die Schlüsselattribute eindeutig identifizierbar.

DB:III-63 Conceptual Design © STEIN 2004-2018

Existenzabhängige Entity-TypenBisher vorausgesetzt: Entities existieren autonom und sind innerhalb ihres Typsüber die Schlüsselattribute eindeutig identifizierbar.

Aus Modellierungssicht sind auch Entity-Typen sinnvoll, die

1. von einem anderen, übergeordneten Entity-Typ abhängig sind, und

2. in Kombination mit dem Schlüssel des übergeordneten Entity-Typs eindeutigidentifizierbar sind.

Beispiel:

GebNr

1nGebäude

Größe

RaumNr

Straße

Raum liegt-in

DB:III-64 Conceptual Design © STEIN 2004-2018

Bemerkungen:

q Existenzabhängige Entity-Typen werden auch als schwache Entity-Typen bezeichnet.

q Existenzabhängige Entity-Typen werden durch doppelt umrandete Rechtecke, die Beziehungzu dem übergeordneten Entity-Typ durch eine doppelt umrandete Raute und die zugehörigeKante durch eine Doppellinie repräsentiert.

q Die Beziehung eines existenzabhängigen Entity-Typs zu dem übergeordneten Entity-Typ istmeist n:1, manchmal 1:1, aber nie n:m.

q Existenzabhängige Entity-Typen haben im Allgemeinen keinen Schlüssel, der alle Entitieseindeutig identifiziert. Statt dessen gibt es ein Attribut (bzw. eine Menge von Attributen), dasalle existenzabhängigen Entities, die einem übergeordneten Entity zugeordnet sind,voneinander unterscheidet. Diese Attribute werden im ER-Diagramm gestricheltunterstrichen.

DB:III-65 Conceptual Design © STEIN 2004-2018

AbstraktionskonzepteGeneralisierung / Spezialisierung

Die Generalisierung wird im konzeptuellen Entwurf eingesetzt, um eine bessere –im Sinne von „natürlichere“ – Strukturierung der Entity-Typen zu erzielen.

DB:III-66 Conceptual Design © STEIN 2004-2018

AbstraktionskonzepteGeneralisierung / Spezialisierung

Die Generalisierung wird im konzeptuellen Entwurf eingesetzt, um eine bessere –im Sinne von „natürlichere“ – Strukturierung der Entity-Typen zu erzielen.

Vorgehensweise:

q Die Eigenschaften ähnlicher Entity-Typen werden „faktorisiert“ und einemgemeinsamen Obertyp zugeordnet.

q Eigenschaften, die nicht faktorisierbar sind, verbleiben beim jeweiligenUntertyp, der somit eine Spezialisierung des Obertyps darstellt.

Beispiel:

Mitarbeiter

Institut

Prüfer

Fach PersNr

IST

Prüfer( Institut , PersNr︸ ︷︷ ︸geerbt von Mitarbeiter

,Fach)

DB:III-67 Conceptual Design © STEIN 2004-2018

Bemerkungen:

q Im Beispiel ist „Mitarbeiter“ der generellere Obertyp und „Prüfer“ der speziellere Untertyp.

q Ein wichtiges Prinzip der Generalisierung ist die Vererbung: ein Untertyp erbt alleEigenschaften des Obertyps.

q Bei der Übersetzung in das Relationenmodell werden Generalisierungsbeziehungenbesonders behandelt.

DB:III-68 Conceptual Design © STEIN 2004-2018

AbstraktionskonzepteGeneralisierung / Spezialisierung (Fortsetzung)

Die Entities eines Untertyps sind gleichzeitig Entities des Obertyps; es handelt sichalso um eine Teilmengenbeziehung: state(E1) ⊆ state(E2)

IST E2E1

Schreibweise: E1 IST E2

Hinsichtlich der Teilmengensicht sind zwei Fälle von besonderem Interesse:

1. Disjunkte SpezialisierungDie Mengen der Entity-Untertypen eines Entity-Obertyps sind paarweisedisjunkt.

2. Vollständige SpezialisierungDie Menge des Entity-Obertyps enthält keine unspezialisierten Elementesondern ergibt sich vollständig durch die Vereinigung der Mengen derEntity-Untertypen.

DB:III-69 Conceptual Design © STEIN 2004-2018

AbstraktionskonzepteGeneralisierung / Spezialisierung (Fortsetzung)

Die Entities eines Untertyps sind gleichzeitig Entities des Obertyps; es handelt sichalso um eine Teilmengenbeziehung: state(E1) ⊆ state(E2)

IST E2E1

Schreibweise: E1 IST E2

Hinsichtlich der Teilmengensicht sind zwei Fälle von besonderem Interesse:

1. Disjunkte SpezialisierungDie Mengen der Entity-Untertypen eines Entity-Obertyps sind paarweisedisjunkt.

2. Vollständige SpezialisierungDie Menge des Entity-Obertyps enthält keine unspezialisierten Elementesondern ergibt sich vollständig durch die Vereinigung der Mengen derEntity-Untertypen.

DB:III-70 Conceptual Design © STEIN 2004-2018

AbstraktionskonzepteGeneralisierung / Spezialisierung (Fortsetzung)

Graphische Notation als Standard-Beziehungstyp:

Mitarbeiter

Institut

Prüfer

Fach PersNr

IST

Alternative graphische Notation:

Mitarbeiter

Institut

Prüfer

Fach PersNr

is-a

DB:III-71 Conceptual Design © STEIN 2004-2018

Konsolidierung, Sichtenintegration

Ausschnitt derrealen Welt

DB:III-72 Conceptual Design © STEIN 2004-2018

Konsolidierung, Sichtenintegration

Ausschnitt derrealen Welt

Sicht 1

Sicht 2

Sicht 3Sicht 4

Sicht 5

Konsolidierung

globales Schema

� redundanzfrei

� widerspruchsfrei

� Synonyme bereinigt

� Homonyme bereinigt

� ...

DB:III-73 Conceptual Design © STEIN 2004-2018

Bemerkungen: [::::::DB:II

::::::::::::::::::Entwurfsprozess

::>

:::::::::::::::Konzeptueller

:::::::::Entwurf]

q Bei größeren Anwendungen ist es nicht praktikabel, den konzeptuellen Entwurf in einemGuss durchzuführen; sinnvoll ist die Aufteilung in verschiedene Anwendersichten.

q Konsolidierung bedeutet die Zusammenfassung einzelner Sichten zu einem globalenSchema, das u.a. redundanz- und widerspruchsfrei ist.

q Bei der Konsolidierung einer größeren Anwendung sollte man schrittweise vorgehen, so dassman jeweils nur zwei Teilschemata gleichzeitig betrachtet.

q Arten von Widersprüchen, die bei einer Konsolidierung aufzulösen sind:

– unterschiedliche Benennung gleicher Sachverhalte (Synonyme)– gleiche Benennung unterschiedlicher Sachverhalte (Homonyme)– Sachverhalt einmal als Entity-Typ und ein andermal als Beziehungstyp modelliert

(struktureller Widerspruch)– widersprüchliche Funktionalitätsangaben– widersprüchliche Datentypen, widersprüchliche Schlüsselattribute

DB:III-74 Conceptual Design © STEIN 2004-2018

Konsolidierung, SichtenintegrationBeispiel: drei Sichten einer Universitätsdatenbank

Buchempfehlungen

Bibliotheks-verwaltung

Erstellung vonDokumenten

DB:III-75 Conceptual Design © STEIN 2004-2018

Konsolidierung, SichtenintegrationBeispiel: drei Sichten einer Universitätsdatenbank

Buchempfehlungen

Bibliotheks-verwaltung

Erstellung vonDokumenten

Titel

Student

Titelbetreut

Masterarbeit

Assistent

Professor

erstellt

bewertet

verfasst Dissertation

DB:III-76 Conceptual Design © STEIN 2004-2018

Konsolidierung, SichtenintegrationBeispiel: drei Sichten einer Universitätsdatenbank

Buchempfehlungen

Bibliotheks-verwaltung

Erstellung vonDokumenten

Datum

FakultätSignatur

JahrAutor

Titel

Bibliothek

entleiht

Dokument

UniMitglied

besitzt

leitet

DB:III-77 Conceptual Design © STEIN 2004-2018

Konsolidierung, SichtenintegrationBeispiel: drei Sichten einer Universitätsdatenbank

Buchempfehlungen

Bibliotheks-verwaltung

Erstellung vonDokumenten

Jahr

Verlag

Vorlesung

empfiehlt Buch

Dozent

AutorTitel

DB:III-78 Conceptual Design © STEIN 2004-2018

Konsolidierung, SichtenintegrationBeispiel: drei Sichten einer Universitätsdatenbank

Buchempfehlungen

Bibliotheks-verwaltung

Erstellung vonDokumenten

Titel

Student

Titelbetreut

Masterarbeit

Assistent

Professor

erstellt

bewertet

verfasst Dissertation

Datum

FakultätSignatur

JahrAutor

Titel

Bibliothek

entleiht

Dokument

UniMitglied

besitzt

leitet

Jahr

Verlag

Vorlesung

empfiehlt Buch

Dozent

AutorTitel

DB:III-79 Conceptual Design © STEIN 2004-2018

Konsolidierung, SichtenintegrationBeispiel: drei Sichten einer Universitätsdatenbank

Buchempfehlungen

Bibliotheks-verwaltung

Erstellung vonDokumenten

Titel

Student

Titelbetreut

Masterarbeit

Assistent

Professor

erstellt

bewertet

verfasst Dissertation

Datum

FakultätSignatur

JahrAutor

Titel

Bibliothek

entleiht

Dokument

UniMitglied

besitzt

leitet

Jahr

Verlag

Vorlesung

empfiehlt Buch

Dozent

AutorTitel

synonym

DB:III-80 Conceptual Design © STEIN 2004-2018

Konsolidierung, SichtenintegrationBeispiel: drei Sichten einer Universitätsdatenbank

Buchempfehlungen

Bibliotheks-verwaltung

Erstellung vonDokumenten

Titel

Student

Titelbetreut

Masterarbeit

Assistent

Professor

erstellt

bewertet

verfasst Dissertation

Datum

FakultätSignatur

JahrAutor

Titel

Bibliothek

entleiht

Dokument

UniMitglied

besitzt

leitet

Jahr

Verlag

Vorlesung

empfiehlt Buch

Dozent

AutorTitel

generalisieren

DB:III-81 Conceptual Design © STEIN 2004-2018

Konsolidierung, SichtenintegrationBeispiel: drei Sichten einer Universitätsdatenbank

Buchempfehlungen

Bibliotheks-verwaltung

Erstellung vonDokumenten

Titel

Student

Titelbetreut

Masterarbeit

Assistent

Professor

erstellt

bewertet

verfasst Dissertation

Datum

FakultätSignatur

JahrAutor

Titel

Bibliothek

entleiht

Dokument

UniMitglied

besitzt

leitet

Jahr

Verlag

Vorlesung

empfiehlt Buch

Dozent

AutorTitel

?

DB:III-82 Conceptual Design © STEIN 2004-2018

Bemerkungen:

q Aufgabe ist die Konsolidierung dieser Sichten in ein Schema.

q Die Entity-Typen „Dozent“ und „Professor“ sind synonym verwendet worden.

q Der Entity-Typ „UniMitglied“ ist eine Generalisierung der Entity-Typen „Student“, „Professor“und „Assistent“.

q Fakultätsbibliotheken werden von Angestellten und nicht von Studierenden geleitet: derBeziehungstyp „leitet“ in Sicht 2 sollte revidiert werden.

q Die Entity-Typen „Dissertation“, „Masterarbeit“ und „Buch“ sind Spezialisierungen desEntity-Typs „Dokument“.

q Alle an der Universität erstellten Diplomarbeiten und Dissertationen werden in Bibliothekenverwaltet.

q Die Beziehungtypen „erstellt“ und „verfasst“ in Sicht 1 modellieren denselben Sachverhalt wiedas Attribut „Autor“ vom Entity-Typ „Dokument“ in Sicht 2.

q Alle in einer Bibliothek verwalteten Dokumente werden durch die Signatur identifiziert.

DB:III-83 Conceptual Design © STEIN 2004-2018