Skript Folge 2

Werbung
Datenmodellierung
Datenmodellierung
Tätigkeit zur Strukturierung der
Datenbestände
Ziel:
Redundanzarme systematische
Beschreibung der zur jeweiligen
computerunterstützten Arbeit mit einem
DBMS benötigten Gegenstände,
Begriffe und deren Zusammenhänge.
Prof. Dr. Fabian Glasen, Datenbanken, Februar 2002
2
Datenmodellierung im Relationalen Modell
1. Bestimmung der relevanten Objekte
2. Bestimmung der relevanten
Eigenschaften der Objekte
3. Bestimmung der Beziehungen
zwischen den Objekten
4. Abbildung auf Tabellen
5. Normalisierung der Tabellen
Prof. Dr. Fabian Glasen, Datenbanken, Februar 2002
3
Datenmodellierung im Relationalen Modell
Objekte (Entities) können sein:
• Dinge
• Personen
• Gegenstände
• Vorgänge / Ereignisse
• Dokumente
alles was Eigenschaften hat!!!
Prof. Dr. Fabian Glasen, Datenbanken, Februar 2002
4
Datenmodellierung im Relationalen Modell
Entity-Types (Entitätentypen) sind
abstrakte (Klassen) Zusammenfassungen von
Entitäten des gleichen Typs durch
Spezifikation der Eigenschaftsstruktur der
zusammengefassten Entities
Beispiel: Mitarbeiter durch Eigenschaften
spezifiziert
Intension (Intensionale Beschreibung)
Prof. Dr. Fabian Glasen, Datenbanken, Februar 2002
5
Datenmodellierung im Relationalen Modell
Entitätsmengen sind konkrete Mengen von
Entities
Beispiel: die Menge der in einem Unternehmen
angestellten Personen, die sich zu jedem
Zeitpunkt ändern kann
Eine Abfrage bezieht sich auf eine
Entitätenmenge
Extension (Extensionale Beschreibung)
Prof. Dr. Fabian Glasen, Datenbanken, Februar 2002
6
Datenmodellierung im Relationalen Modell
Beispiel
Spalte / Attribut
Mitarbeiter
Datensatz
M#
M1
M2
Name
Becker
Meier
Wohnort
Basel
Lörrach
Datenelement / Datenwert
Prof. Dr. Fabian Glasen, Datenbanken, Februar 2002
7
Datenmodellierung im Relationalen Modell
Beziehung Tabelle / Relationen
R= {(M1, Becker, Basel), (M2, Meier, Lörrach)}
M#
Name
Ort
M1
M2
Becker
Meier
Basel
Lörrach
Prof. Dr. Fabian Glasen, Datenbanken, Februar 2002
8
Datenmodellierung im Relationalen Modell
Tabellendefinition
• Eindeutiger Tabellenname
• Eindeutiger Merkmalsname pro Tabelle
• Reihenfolge der Merkmale ist egal
• Anzahl der Merkmale ist beliebig (endlich)
• Anzahl der Datensätze ist beliebig (endlich)
• Die Reihenfolge der Datensätze ist beliebig
• Mit jedem Merkmal wird ein Datentyp verknüpft
• Schlüsselfeld dient der eindeutigen Identifikation
eines Datensatzes
• Es gibt keine 2 Datensätze mit identischen
Schlüsselwerten
Prof. Dr. Fabian Glasen, Datenbanken, Februar 2002
9
Datenmodellierung im Relationalen Modell
Atomare Attributwerte:
Für das Relationale Modell gilt folgende
wesentliche Einschränkung:
• Der Wert eines Attributs darf nur aus
einem „atomaren“ Attributwert bestehen.
Prof. Dr. Fabian Glasen, Datenbanken, Februar 2002
10
Datenmodellierung im Relationalen Modell
Beispiel:
Die Relation
Hobby(Name, Hobbies)
enthalte die folgenden Tupel:
• (Huber, {Drachenfliegen,Segeln, Bergsteigen})
• (Meier, Musik)
• (Mueller, {Musik, Literatur, Theater})
Nicht-atomare Attributwerte sind
• {Drachenfliegen, Segeln, Bergsteigen} und
{Musik, Literatur, Theater}.
Prof. Dr. Fabian Glasen, Datenbanken, Februar 2002
11
Datenmodellierung im Relationalen Modell
Definition:
erste Normalform
Eine Relation ist in erster Normalform
(1NF), wenn alle ihre Attribute nur
atomare Attributwerte besitzen.
Prof. Dr. Fabian Glasen, Datenbanken, Februar 2002
12
Datenmodellierung im Relationalen Modell
Beispiel:
Normalisierung in 1NF
Die Relation Hobby kann auf einfache Weise in eine Relation „Hob“
in erster Normalform überführt werden:
Relationenschema
Hob(Name: varchar(20), Hobby: varchar(30))
und folgenden Tupeln
(Huber, Drachenfliegen)
(Huber, Segeln)
(Huber, Bergsteigen)
(Meier, Musik)
(Mueller, Musik)
(Mueller, Literatur)
(Mueller, Theater)
Prof. Dr. Fabian Glasen, Datenbanken, Februar 2002
13
Das Entity-RelationshipModell
ERM bzw. E/R-Modell
ERM - Relationales Datenbankschema
• Das ERM ist optimal für die
Modellierung des konzeptionellen
Schemas für relationale DB-Systeme.
• Modellierungen im ERM können
„automatisch“ in ein relationales Modell
transformiert werden.
Prof. Dr. Fabian Glasen, Datenbanken, Februar 2002
15
ERM - Relationales Datenbankschema
• Es gibt leider keine eindeutige
Normierung der graphischen Darstellung
des ERM und deshalb sehr viele
unterschiedliche graphische Notationen.
• Es gibt diverse Erweiterungen des ERM:
– EERM (Extended Entity Relationship
Model)
Prof. Dr. Fabian Glasen, Datenbanken, Februar 2002
16
Grundkonzepte des klassischen ERM
• Entity: Gegenstände; z.B.: „Paul Müller“.
• Entity-Typ: Klasse von Gegenständen mit
gleichen Attributen.
z.B.: „Mitarbeiter“, „Kunden“, „Produkte“, „Personen“
Die Attribute „beschreiben“ die Klasse;
Graphische Notation
Rechteck:
Prof. Dr. Fabian Glasen, Datenbanken, Februar 2002
Entity-TypName
17
Beispiele:
Entity-Typen
Reisen
Kunden
Bestellungen
Flüge
Mitarbeiter
Prozesse
Vorlesungen
Produkte
Flugzeuge
Prof. Dr. Fabian Glasen, Datenbanken, Februar 2002
18
Grundkonzepte des klassischen ERM
• Attribute: sind Eigenschaften,
Merkmale von Entities
(z.B.: Gewicht, Preis, Farbe, Lieferdatum)
• Nicht zu verwechseln mit den
Eingenschaftsausprägungen
(z.B.: 50 kg, 200 Euro, grün, 26.11.2001)
Graphische Notation
abgerundetes Rechteck:
Prof. Dr. Fabian Glasen, Datenbanken, Februar 2002
Attributname
19
Beispiel:
Angestellter
Name
Angestellter
mit den Attributen:
Angest_Nr
Gehalt
 Name
 Angest_Nr (für Angestellten-Nummer)
 Gehalt
Prof. Dr. Fabian Glasen, Datenbanken, Februar 2002
20
Grundkonzepte des klassischen ERM
• Relationship: Beziehung zwischen Entities;
z.B.: „verheiratet mit“: „Paul Müller“ und
„Maria Müller“ .
• Relationship-Types (Beziehungstypen)
zwischen Entity-Typen
• z.B. zwischen „Kunden“ und „Produkten“
• Graphische Notation
Raute:
Prof. Dr. Fabian Glasen, Datenbanken, Februar 2002
RelationshipTypeName
21
Beziehungen zwischen Entity-Typen
Attribut
Entity-Typ 1
R-Typ
Entity-Typ 2
Entity-Typ3
 Die Darstellung repräsentiert eine dreistellige Beziehung.
 Möglich sind beliebig viele Stellen.
 Am häufigsten sind zweistellige (binäre) Beziehungen.
 Beziehungen können zusätzlich auch Attribute zugeordnet werden
Prof. Dr. Fabian Glasen, Datenbanken, Februar 2002
22
Beziehungen zwischen Entity-Typen
Beispiel:
Professor empfiehlt Buch für Vorlesung
Semester
Professor
empfiehlt
Vorlesung
Buch
Prof. Dr. Fabian Glasen, Datenbanken, Februar 2002
23
Grundkonzepte des klassischen ERM
Domäne:
Zulässiger Wertebereich eines Attributes
Graphische Notation:
Prof. Dr. Fabian Glasen, Datenbanken, Februar 2002
Attributname:Domainname
24
Beispiel:
Angestellter
Name:string
Angestellter
A#: int
Gehalt:int
Prof. Dr. Fabian Glasen, Datenbanken, Februar 2002
25
Grundkonzepte des klassischen ERM
Domäne
Standard-Datentypen in MS-Access
–
–
–
–
–
–
–
–
–
Zahl
Text
Datum / Uhrzeit
Währung
AutoWert
Ja/Nein
Memo
Hyperlink
OLE-Objekt
Prof. Dr. Fabian Glasen, Datenbanken, Februar 2002
26
Grundkonzepte des klassischen ERM
Domäne
 In SQL können neue Domänen definiert
werden
 Mit Integritätsregeln können in SQL die
Wertebereiche von Attributen zusätzlich
eingeschränkt werden
Prof. Dr. Fabian Glasen, Datenbanken, Februar 2002
27
Entititypen mit Attributen
Textuelle Notation (allgemein):
E(A1:D1, ... , An:Dn) (mit Domänen)
E:
Ai:
Di:
Entitytyp.
Attribute i = 1 ... n.
Domänen i = 1 ... n.
Kurzform:
E(A1, ... , An)
(ohne Domänen)
Prof. Dr. Fabian Glasen, Datenbanken, Februar 2002
28
Beispiel:
Angestellter
Textuelle Notation:
Entity-Typ ANGESTELLTER
Angestellter(A# : integer, Name : string, Gehalt : integer)
-------------------------------------------------------------------------------Entities vom Typ ANGESTELLTER:
Angestellter(523, 'Bill‘, 90.000)
Angestellter(122, 'John', 50.500)
Prof. Dr. Fabian Glasen, Datenbanken, Februar 2002
29
Beispiel: Mitarbeiter
Personalnr
Raum
Mitarbeiter
Geb-Datum
Einstellungstermin
Vorname
Name
E-Mail
Telefon
Textuelle Notation:
Mitarbeiter(Personalnr,Vorname, Name, E-Mail,Telefon,Raum, Geb-Datum, Einstellungstermin)
Prof. Dr. Fabian Glasen, Datenbanken, Februar 2002
30
Beispiel:
Mitarbeiter mit Wertebereichen
Personalnr: int
Raum: string
Geb-Datum:
date
Mitarbeiter
Vorname: string
Einstellungstermin:date
Name:string
E-Mail:string
Telefon:string
Textuelle Notation:
Mitarbeiter(Personalnr: int, Vorname:string, Name:string, E-Mail:string, Telefon:string,
Raum:string, Geb-Datum:date, Einstellungstermin:date)
Prof. Dr. Fabian Glasen, Datenbanken, Februar 2002
31
Beispiel: Buchempfehlung
Titel
liest
Vorlesung
Semester
empfiehlt
Professor
Name
Fach
Telefon
Autor
Titel
Priorität
Buch
ISBN
Prof. Dr. Fabian Glasen, Datenbanken, Februar 2002
32
Beispiel: Bibliothek
ADatum
Titel
ISBN
InvNr
Leser
Ausleihe
Buch
Verlag
Name
Adresse
RDatum
Geschrieben
von
Lnr
Name
Autor
Autornr
Prof. Dr. Fabian Glasen, Datenbanken, Februar 2002
33
Relationships - Funktionale Beziehungen
Formulieren
Constraints (Integritätsregeln)
für faktische Einträge in der Datenbank.
und geben Hinweise zur Abbildung der
Relationship-Types auf Tabellen
Prof. Dr. Fabian Glasen, Datenbanken, Februar 2002
34
Relationships - Funktionale Beziehungen
R  E1 x ... x En wobei Ei (i= 1,...,n) Entity-Typen sind
Definitionen für n=2 (R  E1 x E2)
1:1 Relationship:
((x,y)  R  (x,z)  R)  y = z
((x,y)  R  (z,y)  R)  x = z
N:1 Relationship:
((x,y)  R  (x,z)  R)  y = z
1:N Relationship:
((x,y)  R  (z,y)  R)  x = z
N:M Relationship:
keine Einschränkung
Prof. Dr. Fabian Glasen, Datenbanken, Februar 2002
35
Funktionale Beziehungen / Beispiele
Abteilungsleiter leitet Abteilung
• 1:1-Relationship
Angestellter arbeitet in Abteilung
• N:1-Relationship
Person besitzt Haus
• 1:N-Relationship
Student hört Vorlesung
• N:M-Relationship
Prof. Dr. Fabian Glasen, Datenbanken, Februar 2002
36
Funktionale Beziehungen / Beispiele
Abteilungsleiter
1
Angestellter N
Person
1
Student
N
Prof. Dr. Fabian Glasen, Datenbanken, Februar 2002
leitet
arbeitet-in
besitzt
hört
1
Abteilung
1
Abteilung
N
Haus
M Vorlesung
37
Relationships - Funktionale Beziehungen
..
..
..
..
..
..
Abteilungsleiter
Angestellter
leitet
1:1
arbeitet in
Prof. Dr. Fabian Glasen, Datenbanken, Februar 2002
N:1
..
..
..
..
.
Abteilung
Abteilung
38
Relationships - Funktionale Beziehungen
Person
..
.
Student
..
..
..
Prof. Dr. Fabian Glasen, Datenbanken, Februar 2002
besitzt
1:N
hört
N:M
..
..
..
..
..
.
Haus
Vorlesung
39
Relationships - Beispiel
N
wohnt in
1
Person
Stadt
N
1
geb. in
Prof. Dr. Fabian Glasen, Datenbanken, Februar 2002
40
Optional undefinierte Attribute
Entity-Typ
A
Attribut A kann undefiniert sein
also „Null-Wert“ haben.
Prof. Dr. Fabian Glasen, Datenbanken, Februar 2002
41
Graphische Bausteine des ERM
E
Entity-Typ E
A
Attribut A
A
Schlüssel-Attribut A
E
E1
A
R
E2
Prof. Dr. Fabian Glasen, Datenbanken, Februar 2002
Verbindung zwischen
Entity-Typ E und Attribut A
A kann undefiniert sein
Binäre Relationship zwischen
den Entity-Typen E1 und E2
42
E/R-Modell
ISA-Relationship
ISA-Relationship
Definition
Seien E1,E2 zwei Entity-Typen.
Die Relationship
E1 isa E2
besteht genau dann, wenn E1 eine
Spezialisierung von E2 ist.
E1 heißt Subtyp des Supertyps E2.
Prof. Dr. Fabian Glasen, Datenbanken, Februar 2002
44
Spezialisierungs- /
Generalisierungsbeziehung
Synonyme
• Spezialisierung- / Generalisierung
• Unter- / Oberbegriff
• IST-Beziehung
• is-a-Relationship
• isa-Relationship
Prof. Dr. Fabian Glasen, Datenbanken, Februar 2002
45
ISA-Relationship
Besteht die Relationship
E1 isa E2, so erbt E1 die Attribute von E2.
Dies hat folgende Konsequenzen:
Für E1 ist lediglich die Angabe zusätzlicher Attribute
notwendig.
Die Schlüsselattribute von E2 sind auch die
Schlüsselattribute von E1.
Auf der Instanzenebene gilt: ein Entity von E1 erbt die
zugehörigen Werte aus E2.
Prof. Dr. Fabian Glasen, Datenbanken, Februar 2002
46
ISA-Relationship: Beispiel
ABTEILUNGSLEITER isa ANGESTELLTER
ABTEILUNGSLEITER(Dienstwagen:string)
ANGESTELLTER(Personalnr:int, Name:string)
In diesem Fall erbt ABTEILUNGSLEITER alle Attribute
von ANGESTELLTER (also „Personalnr“ und „Name“)
und hat das zusätzliche Attribut „Dienstwagen“.
Es besteht auch die Möglichkeit der Mehrfachvererbung,
Prof. Dr. Fabian Glasen, Datenbanken, Februar 2002
47
ISA-Relationship: Beispiel
Beispiel Mehrfachvererbung:
STUDENT isa PERSON
ANGESTELLTER isa PERSON
HIWI isa Student
HIWI isa ANGESTELLTER
STUDENT(Fachrichtung:string)
Angestellter(Fachrichtung:String)
Bei Mehrfachvererbung gleichbezeichneter Attribute sind
Massnahmen zur Konfliktlösung erforderlich
Prof. Dr. Fabian Glasen, Datenbanken, Februar 2002
48
ISA-Relationship
total
t
nicht disjunkt
Prof. Dr. Fabian Glasen, Datenbanken, Februar 2002
partiell
p
Isa-Beziehung:
p: partiell
t: total
disjunkt
49
ISA-Relationship
Angestellter
Partielle
nicht-disjunkte
isa-Beziehung
Pilot
Prof. Dr. Fabian Glasen, Datenbanken, Februar 2002
p
Techniker
50
ISA-Relationship
Totale
disjunkte
isa-Beziehung
(Spezialisierung)
Mann
Prof. Dr. Fabian Glasen, Datenbanken, Februar 2002
Person
t
Frau
51
ISA-Relationship
Partielle
disjunkte
isa-Beziehung
(Spezialisierung)
Fahrzeug
Auto
Prof. Dr. Fabian Glasen, Datenbanken, Februar 2002
p
Fahrrad
52
ISA-Relationship
Partielle
nicht disjunkte
isa-Beziehung
(Spezialisierung)
Mann
Prof. Dr. Fabian Glasen, Datenbanken, Februar 2002
Person
p
Angestellter
53
ISA-Relationship
Partielle
nicht disjunkte
isa-Beziehung
(Spezialisierung)
Sportler
Fussballer
Prof. Dr. Fabian Glasen, Datenbanken, Februar 2002
p
Tennisspieler
54
ISA-Relationship
Person
partiell
disjunkt
p
Manager
Angestellter
partiell
nicht disjunkt
p
Techniker
Verkäufer
Prof. Dr. Fabian Glasen, Datenbanken, Februar 2002
Sekretärin
Programmierer
55
Disjunkte Klassifikation
Beispiel:
Mitarbeiter
Jeder Mitarbeiter
ist entweder (oder)
• Führungskraft
• Fachspezialist
• Lehrling
Mitarbeiter
Führungskraft
Fachspezialist
Prof. Dr. Fabian Glasen, Datenbanken, Februar 2002
t
Lehrling
56
E/R-Modell
Schlüsselattribute
ERM - Schlüsselattribute
• Jede Teilmenge der Attributmenge eines
Entity-Typs, mit der die Entities dieses Typs
eindeutig identifizierbar sind, heisst Schlüssel
dieses Entity-Typs.
• Jede minimale Menge von Schlüsselattributen heisst Schlüsselkandidat.
• Der Primärschlüssel ist der beim Entwurf der
DB zur eindeutigen Identifikation der Entities
ausgewählte Schlüsselkandidat.
Prof. Dr. Fabian Glasen, Datenbanken, Februar 2002
58
ERM - Schlüsselattribute
Schlüsselkandidaten
• minimaler Schlüssel
Primärschlüssel
• ausgewählter Schlüssel zur Identifikation der
Entities in einer Tabelle
Fremdschlüssel
• Attributmenge die in einer anderen Relation
Schlüssel ist
zusammengesetzter Schlüssel
• Schlüssel, der aus mehreren Attributen
besteht
Prof. Dr. Fabian Glasen, Datenbanken, Februar 2002
59
ERM - Schlüsselattribute
Die Schlüsseleigenschaft kann nicht
an der Definition eines Entity-Typs
erkannt werden.
Die Attribute eines Entity-Typs
müssen so gewählt sein,
dass dadurch die Entities eindeutig
identifizierbar sind.
Prof. Dr. Fabian Glasen, Datenbanken, Februar 2002
60
Schlüsselattribute - Notation
Schlüsselattribute werden durch
Unterstreichung gekennzeichnet:
in der textlichen Notation:
Mitarbeiter(Personalnr, Name, Vorname, Gebdatum)
Prof. Dr. Fabian Glasen, Datenbanken, Februar 2002
61
In der graphischen Notation
Mitarbnr
Titel
Vorlesnr
liest
Vorlesung
Semester
empfiehlt
Professor
Name
Fach
Telefon
Autor
Titel
Priorität
Buch
ISBN
Prof. Dr. Fabian Glasen, Datenbanken, Februar 2002
62
Beispiel:
Mitarbeitereigenschaften
mit Schlüssel
Personalnr: int
Raum: string
Geb-Datum:
date
Mitarbeiter
Vorname: string
Einstellungstermin:date
Name:string
E-Mail:string
Telefon:string
Textuelle Notation:
Mitarbeiter(Personalnr: int, Vorname:string, Name:string, E-Mail:string, Telefon:string,
Raum:string, Geb-Datum:date, Einstellungstermin:date)
Prof. Dr. Fabian Glasen, Datenbanken, Februar 2002
63
Herunterladen