Sie sind auf Seite 1von 26

Datenbanken

Datenbankentwurf II

Prof. Dr. Uta Bohnebeck


Internationaler Frauenstudiengang Informatik - IFI

Uta Bohnebeck Datenbanken 1


Agenda
➢ Konsolidierung und Sichtenintegration
➢ Umsetzung des ER-Modells in ein relationales Modell
Initialer Entwurf
• Relationale Darstellung des Entity-Typs
• Relationale Darstellung des Beziehungs-Typs
Verfeinerungen
• Umgang mit Kardinalitäten
• Vermeidung von Null-Werten
• Relationale Modellierung des schwachen Entity-Typs
• Relationale Modellierung der Generalisierung
• Abgeleitete, mehrwertige und zusammengesetzte Attribute

Uta Bohnebeck Datenbanken 2


Konsolidierung und Sichtenintegration
➢ Ziel:
redundanzfrei
widerspruchsfrei
➢ Bereinigung von
Homonyme: unterschiedliche Sachverhalte gleich benannt
Synonyme: gleiche Sachverhalte unterschiedlich benannt
Strukturelle Inkonsistenz: Modellierung des gleichen Sachverhalts in
verschiedenen Schemas
• als Entity-Typ und als Beziehungs-Typ
• als Attribut und als Beziehungs-Typ
• Widersprüche bezüglich Konsistenzbedingungen
– unterschiedliche Kardinalitäten
– unterschiedliche Datentypen
– unterschiedliche Schlüsselattribute

Uta Bohnebeck Datenbanken 3


Beispiel verschiedener Sichten
Sicht 1: Erstellung von Dokumenten

Sicht 2: Buchempfehlungen
Sicht 3: Bibliotheksverwaltung

Uta Bohnebeck Datenbanken 4


Konsolidiertes
Schema

Uta Bohnebeck Datenbanken 5


Umsetzung des ER-Modells in ein relationales Modell

➢ Das Entity-Relationship-Modell besitzt zwei grundlegende


Strukturierungskonzepte:
Entity-Typen
Beziehungs-Typen.
➢ Dem steht im relationalen Modell nur ein Strukturierungskonzept –
die Relation – gegenüber. Demzufolge werden sowohl Entity-Typen
als auch Beziehungs-Typen auf Relationen abgebildet.

Uta Bohnebeck Datenbanken 6


Hochschulbeispiel

Uta Bohnebeck Datenbanken 7


Transformation der Entity-Typen

➢ Direkte Abbildung der Entity-Typen mit ihren Attributen in eine


Relation:
Studierende: {[MatrNr, Name, Semester]}
Module: {[ModulNr, Titel, SWS]}
Professoren: {[PersNr, Name, Fachgebiet]}
Doktoranden: {[PersNr, Name, DissThema]}

➢ Die Generalisierung bzgl. der Angestellten wird später diskutiert.

Uta Bohnebeck Datenbanken 8


Transformation der Beziehungs-Typen

Grundprinzip für eine n-stellige Relation R

R: {[
A11,…,A1k1, Schlüssel von E1
A21,…,A2k2, Schlüssel von E2

An1,…,Ankn, Schlüssel von En
AR1,…,ARkR Attribute von R
]}

Uta Bohnebeck Datenbanken 9


Initialer Entwurf für Beziehungs-Typen

➢ belegen: {[MatrNr, ModulNr]}


➢ unterrichten: {[ModulNr, PersNr]}
➢ betreuen: {[DoktPersNr, ProfPersNr]}
➢ voraussetzen: {[Vorgaenger, Nachfolger]}
➢ pruefen: {[MatrNr, ModulNr, PersNr, Note]}

Uta Bohnebeck Datenbanken 10


Beispiel belegen

Studierende
MatrNr …
26120 …
27500 … belegen
31010 … MatrNr ModulNr
… …
26120 101
26120 102
27500 102
Module
31010 101
ModulNr …
… …
101 …
102 …
103 …
104 …
… …

Uta Bohnebeck Datenbanken 11


Beispiel unterrichten

➢ Die 1:N-Beziehung unterrichten läßt sich als Funktion


unterrichten: Module → Professoren
auffassen
➢ Analoges gilt für die Beziehung
betreuen: Doktoranden → Professoren

Professoren Module unterrichten


PersNr … ModulNr … ModulNr PersNr
4001 … 101 … 101 4001
4002 … 102 … 102 4001
… … 103 … 103 4002
… … … …

Uta Bohnebeck Datenbanken 12


Verfeinerung des Schemas

➢ Verfeinerung des relationalen Schemas durch


Zusammenfassen / Eliminieren von Relationen:
Nur Relationen mit gleichem Schlüssel zusammenfassen
1:1-Relationen erlauben wahlweise Zusammenfassung
N:M-Zusammenfassungen und falsche 1:N-Elimierung führen zu
Update-Anomalien

Uta Bohnebeck Datenbanken 13


1:N-Beziehung
➢ Beispiel unterrichten
Initialer Entwurf mit drei Relationen:
• Module: {[ModulNr, Titel, SWS]}
• Professoren: {[PersNr, Name, Fachgebiet]}
• unterrichten: {[ModulNr, PersNr]}
Zusammenfassung der Relationen Module und unterrichten:
• Module: {[ModulNr, Titel, SWS, unterrichtetVon]}
• Professoren: {[PersNr, Name, Fachgebiet]}

Module Professoren
ModulNr Titel ECTS unterrichtetVon PersNr Name …
101 … … 4001 4001 Sokrates …
102 … … 4001 4002 Curie …
103 … … 4002 … … …
… … … …

Uta Bohnebeck Datenbanken 14


Vorsicht – falsche Zusammenfassung!
➢ Ein Beispiel für eine falsche Zusammenfassung, d.h.
eine Zusammenfassung mit unterschiedlichen Schlüsseln wäre
Module: {[ModulNr, Titel, SWS]}
Professoren: {[PersNr, Name, Fachgebiet]}
unterrichten:{[ModulNr, PersNr]}
zu
Professoren: {[PersNr, unterrichtet, Name, Fachgebiet]}

 ändert den Schlüssel und führt zu Redundanz!


Professoren
PersNr unterrichtet Name Fachgebiet
4001 101 Sokrates Philosophie
4001 102 Sokrates Philosophie
4002 103 Curie Physik
… …

Uta Bohnebeck Datenbanken 15


1:1-Beziehung
➢ Für die relationale Modellierung von 1:1-Beziehungen gibt es
mehrere Optionen.

➢ Beispiel:

➢ Initial:
Professoren: {[PersNr, Name, Fachgebiet]}
Räume {[RaumNr, Sitzplätze]}
Büro: {[PersNr, RaumNr]}
➢ Variante 1:
Professoren: {[PersNr, Name, Fachgebiet, RaumNr]}
Räume {[RaumNr, Sitzplätze]}
➢ Variante 2:
Professoren: {[PersNr, Name, Fachgebiet]}
Räume {[RaumNr, Sitzplätze, PersNr]} Nachteil?
Uta Bohnebeck Datenbanken 16
Vermeidung von NULL-Werten

➢ Bei der Repräsentation von 1:1 oder 1:N-Beziehungen muss auch


beachtet werden, ob einige oder viele Entitäten nicht an der
Beziehung beteiligt sind.

➢ Beispiel:

Uta Bohnebeck Datenbanken 17


Initiale Umsetzung in das relationale Modell

➢ Nachteil: viele Tupel enthalten NULL-Werte,


da von ca. 80 Mio Einwohnern nur wenige (einige Tausend)
Mitglied des Landtags oder Ministerpräsident/ in sind.

Personen
PA-Nr Name Wohnsitz MP-von MdLvon
10000 Hoffmann Bremen NULL Bremen
10100 Kurnaz Bremen NULL NULL
10200 Bovenschulte Bremen Bremen Bremen
20010 Weil Niedersachsen Niedersachsen Niedersachsen
20020 Müller Niedersachsen NULL Niedersachsen
20030 Meyer Niedersachsen NULL NULL
20040 Schultze Niedersachsen NULL NULL
… … … … …

Uta Bohnebeck Datenbanken 18


Verbessertes relationales Schema
Personen Bundesländer
PA-Nr Name Wohnsitz Name EW-Zahl MP
10000 Hoffmann Bremen Bremen 551.767 10200
10100 Kurnaz Bremen Niedersachsen 7.962.523 20010
10200 Bovenschulte Bremen … … …
20010 Weil Niedersachsen
20020 Müller Niedersachsen MdL
20030 Meyer Niedersachsen PA-Nr Bundesland
20040 Schultze Niedersachsen 10000 Bremen
… … … 10200 Bremen
20010 Niedersachsen
20020 Niedersachsen
… …
➢ Diskussion:
1:N-Beziehung Wohnsitz als Fremdschlüssel in der Relation Personen
1:1-Beziehung MP als Fremdschlüssel in der Relation Bundesländer
1:N-Beziehung MdL als eigenständige Relation mit Fremdschlüsseln
PA-Nr auf Rel. Personen und Bundesland auf Rel. Bundesländer

Uta Bohnebeck Datenbanken 19


Anmerkungen zum NULL-Wert

➢ Ein Attribut kann den besonderen Wert NULL besitzen. Dieser Wert
ist definitionsgemäß nicht im Wertebereich des Attributtyps
enthalten.
➢ Die Interpretation kann jedoch sehr unterschiedlich sein:
Der Wert ist (bislang) unbekannt.
Der Wert existiert, aber er ist nicht verfügbar.
Das Attribut trifft auf diese Entität nicht zu oder ergibt keinen Sinn.
➢ NULL-Werte können bei Anfrage-Operationen an die Datenbank
problematisch sein.

Uta Bohnebeck Datenbanken 20


Relationale Modellierung des schwachen Entity-Typs

➢ Beispiel:

➢ Umsetzung in ein relationales Modell:


Verwendung des global eindeutigen Schlüssels, d.h.
Zusammensetzung aus Primärschlüssel (starker Entity-Typ) und
Teilschlüssel (schwacher Entity-Typ)
➢ Umsetzung Beispiel:
Gebäude:{[GebäudeNr, Strasse]}
Räume: {[GebäudeNr, RaumNr, Sitzplätze]}

Uta Bohnebeck Datenbanken 21


Relationale Modellierung der Generalisierung

➢ Beispiel:

➢ Umsetzung in ein relationales Modell:


Angestellte: {[PersNr, Name, E-Mail]}
Professoren: {[PersNr, Fachgebiet]}
Doktoranden: {[PersNr, DissThema]}
➢ Problem/ Nachteil:
Um die vollständige Information zu einem Doktoranden zu bekommen,
müssen immer beide Relationen (Angestellte und Doktoranden)
verbunden werden, d.h.
im relationalen Modell ist keine Vererbung realisiert.
Uta Bohnebeck Datenbanken 22
Abgeleitete Attribute

➢ Wenn zwei Attribute in einem funktionalen Zusammenhang stehen,


lässt sich ein Attribut aus dem anderen ableiten.

➢ Umsetzung in ein relationales Modell:


Es wird nur ein Attribut (hier Geburtstag) gespeichert, das andere (hier
Alter) wird beim Zugriff berechnet.

Uta Bohnebeck Datenbanken 23


Mehrwertige Attribute
➢ Ein Attribut kann mehr als einen Wert haben.

➢ Beispiel: Ein Professor kann mehrere Doktortitel haben.


➢ Umsetzung in ein relationales Modell:
Professoren: {[PersNr, Name]}
Titel: {[PersNr, Titel]}
Professoren
PersNr Name …
5001 Bauer …
5002 Schmidt …

Titel
PersNr Titel
5001 Dr. nat.
5001 Dr. phil.
5002 Dr.-Ing.

Uta Bohnebeck Datenbanken 24


Zusammengesetzte Attribute

➢ Ein Attribut kann einfach (atomar) oder zusammengesetzt aus


anderen Attributen bestehen.
➢ Diese Eigenschaft kann rekursiv sein, d.h.
es bildet sich eine Attributhierarchie.

 Diskussion von Normalformen

Uta Bohnebeck Datenbanken 25


Vielen Dank!

Uta Bohnebeck Datenbanken 26

Das könnte Ihnen auch gefallen