Datenmodellierung
description
Transcript of Datenmodellierung
2
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
3
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
4
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
5
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
6
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
7
Datenmodellierung im Relationalen Modell
Beispiel
Mitarbeiter
Prof. Dr. Fabian Glasen, Datenbanken, Februar 2002
M# Name Wohnort
M1 Becker Basel
M2 Meier Lörrach
Spalte / Attribut
Datensatz
Datenelement / Datenwert
8
Datenmodellierung im Relationalen Modell
Beziehung Tabelle / Relationen
R= {(M1, Becker, Basel), (M2, Meier, Lörrach)}
Prof. Dr. Fabian Glasen, Datenbanken, Februar 2002
M# Name Ort
M1 Becker Basel
M2 Meier Lörrach
9
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üsselwertenProf. Dr. Fabian Glasen, Datenbanken, Februar 2002
10
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
11
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
12
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
13
Datenmodellierung im Relationalen Modell
Beispiel: Normalisierung in 1NFDie 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
15
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
16
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
17
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-Typ-Name
18
Beispiele: Entity-Typen
Prof. Dr. Fabian Glasen, Datenbanken, Februar 2002
Mitarbeiter
Produkte
Kunden Bestellungen
Prozesse
Flugzeuge
Reisen
Flüge
Vorlesungen
19
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
20
Beispiel: Angestellter
Prof. Dr. Fabian Glasen, Datenbanken, Februar 2002
Angestellter
Name
Angest_Nr
Gehaltmit den Attributen:
Name Angest_Nr (für Angestellten-Nummer) Gehalt
21
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
Relationship-Type-Name
22
Beziehungen zwischen Entity-Typen
Prof. Dr. Fabian Glasen, Datenbanken, Februar 2002
Entity-Typ 1
Entity-Typ3
Entity-Typ 2R-Typ
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
Attribut
23
Beziehungen zwischen Entity-Typen
Prof. Dr. Fabian Glasen, Datenbanken, Februar 2002
Beispiel: Professor empfiehlt Buch für Vorlesung
Professor
Buch
Vorlesungempfiehlt
Semester
24
Grundkonzepte des klassischen ERM
Domäne:
Zulässiger Wertebereich eines Attributes
Graphische Notation:
Prof. Dr. Fabian Glasen, Datenbanken, Februar 2002
Attributname:Domainname
25
Beispiel: Angestellter
Prof. Dr. Fabian Glasen, Datenbanken, Februar 2002
Angestellter
Name:string
A#: int
Gehalt:int
26
Grundkonzepte des klassischen ERM
DomäneStandard-Datentypen in MS-Access
– Zahl – Text – Datum / Uhrzeit– Währung– AutoWert– Ja/Nein– Memo– Hyperlink– OLE-Objekt
Prof. Dr. Fabian Glasen, Datenbanken, Februar 2002
27
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
28
Entititypen mit Attributen
Prof. Dr. Fabian Glasen, Datenbanken, Februar 2002
Textuelle Notation (allgemein):
E(A1:D1, ... , An:Dn) (mit Domänen)
E: Entitytyp.Ai: Attribute i = 1 ... n. Di: Domänen i = 1 ... n.
Kurzform:E(A1, ... , An) (ohne Domänen)
29
Beispiel: Angestellter
Prof. Dr. Fabian Glasen, Datenbanken, Februar 2002
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)
30
Beispiel: Mitarbeiter
Prof. Dr. Fabian Glasen, Datenbanken, Februar 2002
Mitarbeiter
Name
Telefon
VornameGeb-Datum
Einstellungs-termin
Raum
Textuelle Notation:
Mitarbeiter(Personalnr,Vorname, Name, E-Mail,Telefon,Raum, Geb-Datum, Einstellungstermin)
Personalnr
31
Beispiel: Mitarbeiter mit Wertebereichen
Prof. Dr. Fabian Glasen, Datenbanken, Februar 2002
Mitarbeiter
Name:string
Telefon:string
E-Mail:string
Vorname: stringGeb-Datum:
date
Einstellungs-termin:date
Raum: string
Textuelle Notation:
Mitarbeiter(Personalnr: int, Vorname:string, Name:string, E-Mail:string, Telefon:string, Raum:string, Geb-Datum:date, Einstellungstermin:date)
Personalnr: int
32
Beispiel: Buchempfehlung
Prof. Dr. Fabian Glasen, Datenbanken, Februar 2002
Professor
NameSemester
Autor
ISBN
Titel
Titel
Telefon
Fach
Buch
Vorlesung
empfiehlt
liest
Priorität
33
Beispiel: Bibliothek
Prof. Dr. Fabian Glasen, Datenbanken, Februar 2002
Leser
NameRDatum
InvNrISBN
Verlag
Titel
Lnr
Adresse
Buch
Geschriebenvon
Ausleihe
AutorName
Autornr
ADatum
34
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
35
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 = zN:1 Relationship:((x,y) R (x,z) R) y = z1:N Relationship:((x,y) R (z,y) R) x = zN:M Relationship:keine EinschränkungProf. Dr. Fabian Glasen, Datenbanken, Februar 2002
36
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
37
Funktionale Beziehungen / Beispiele
Prof. Dr. Fabian Glasen, Datenbanken, Februar 2002
Abteilungsleiter Abteilungleitet
Angestellter Abteilungarbeitet-in
Person Hausbesitzt
Student Vorlesunghört
1 1
N 1
1 N
N M
38
Relationships - Funktionale Beziehungen
Prof. Dr. Fabian Glasen, Datenbanken, Februar 2002
......
......1:1
.........
Abteilungsleiter Abteilung
Angestellter Abteilung
N:1
leitet
arbeitet in
39
Relationships - Funktionale Beziehungen
Prof. Dr. Fabian Glasen, Datenbanken, Februar 2002
.........
1:N
......
.....
Person Haus
Student Vorlesung
N:M
besitzt
hört
40
Relationships - Beispiel
Prof. Dr. Fabian Glasen, Datenbanken, Februar 2002
Person Stadt
wohnt in 1
N
geb. in
N
1
41
Optional undefinierte Attribute
Prof. Dr. Fabian Glasen, Datenbanken, Februar 2002
Entity-Typ A
Attribut A kann undefiniert seinalso „Null-Wert“ haben.
42
Graphische Bausteine des ERM
Prof. Dr. Fabian Glasen, Datenbanken, Februar 2002
E Entity-Typ E
A Attribut A
A Schlüssel-Attribut A
E A Verbindung zwischen Entity-Typ E und Attribut AA kann undefiniert sein
E1 E2R Binäre Relationship zwischen den Entity-Typen E1 und E2
44
ISA-Relationship
Prof. Dr. Fabian Glasen, Datenbanken, Februar 2002
DefinitionSeien 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.
45
Spezialisierungs- / Generalisierungsbeziehung
Synonyme
• Spezialisierung- / Generalisierung
• Unter- / Oberbegriff
• IST-Beziehung
• is-a-Relationship
• isa-Relationship
Prof. Dr. Fabian Glasen, Datenbanken, Februar 2002
46
ISA-Relationship
Prof. Dr. Fabian Glasen, Datenbanken, Februar 2002
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.
47
ISA-Relationship: Beispiel
Prof. Dr. Fabian Glasen, Datenbanken, Februar 2002
ABTEILUNGSLEITER isa ANGESTELLTERABTEILUNGSLEITER(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,
48
ISA-Relationship: Beispiel
Prof. Dr. Fabian Glasen, Datenbanken, Februar 2002
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
49
ISA-Relationship
Prof. Dr. Fabian Glasen, Datenbanken, Februar 2002
p
Isa-Beziehung:p: partiellt: total
t
nicht disjunkt disjunkt
total partiell
50
ISA-Relationship
Prof. Dr. Fabian Glasen, Datenbanken, Februar 2002
Angestellter
Pilot Techniker
p
Partiellenicht-disjunkteisa-Beziehung
51
ISA-Relationship
Prof. Dr. Fabian Glasen, Datenbanken, Februar 2002
Person
Mann Frau
t
Totaledisjunkteisa-Beziehung(Spezialisierung)
52
ISA-Relationship
Prof. Dr. Fabian Glasen, Datenbanken, Februar 2002
Fahrzeug
Auto Fahrrad
p
Partielledisjunkteisa-Beziehung(Spezialisierung)
53
ISA-Relationship
Prof. Dr. Fabian Glasen, Datenbanken, Februar 2002
Person
Mann Angestellter
p
Partiellenicht disjunkteisa-Beziehung(Spezialisierung)
54
ISA-Relationship
Prof. Dr. Fabian Glasen, Datenbanken, Februar 2002
Sportler
Fussballer Tennisspieler
p
Partiellenicht disjunkteisa-Beziehung(Spezialisierung)
55
ISA-Relationship
Prof. Dr. Fabian Glasen, Datenbanken, Februar 2002
Person
Manager Sekretärin
p
Angestellter
Techniker Programmierer
p
Verkäufer
partiellnicht disjunkt
partielldisjunkt
56
Disjunkte Klassifikation
Prof. Dr. Fabian Glasen, Datenbanken, Februar 2002
Führungskraft Fachspezialist Lehrling
Beispiel: Mitarbeiter
MitarbeiterJeder Mitarbeiterist entweder (oder)• Führungskraft• Fachspezialist• Lehrling t
58
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üssel-attributen 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
59
ERM - Schlüsselattribute
Schlüsselkandidaten• minimaler SchlüsselPrimärschlüssel• ausgewählter Schlüssel zur Identifikation der
Entities in einer TabelleFremdschlüssel• Attributmenge die in einer anderen Relation
Schlüssel istzusammengesetzter Schlüssel• Schlüssel, der aus mehreren Attributen
besteht
Prof. Dr. Fabian Glasen, Datenbanken, Februar 2002
60
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
61
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
62
In der graphischen Notation
Prof. Dr. Fabian Glasen, Datenbanken, Februar 2002
Professor
NameSemester
Autor
ISBN
Titel
Titel
Telefon
Fach
Buch
Vorlesung
empfiehlt
liest
Priorität
MitarbnrVorlesnr
63
Beispiel: Mitarbeitereigenschaften mit Schlüssel
Prof. Dr. Fabian Glasen, Datenbanken, Februar 2002
Mitarbeiter
Name:string
Telefon:string
E-Mail:string
Vorname: stringGeb-Datum:
date
Einstellungs-termin:date
Raum: string
Textuelle Notation:
Mitarbeiter(Personalnr: int, Vorname:string, Name:string, E-Mail:string, Telefon:string, Raum:string, Geb-Datum:date, Einstellungstermin:date)
Personalnr: int