Datenmodellierung. 2 Tätigkeit zur Strukturierung der Datenbestände Ziel: Redundanzarme...

Post on 05-Apr-2015

103 views 0 download

Transcript of Datenmodellierung. 2 Tätigkeit zur Strukturierung der Datenbestände Ziel: Redundanzarme...

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

Das Entity-Relationship-Modell

ERM bzw. E/R-Modell

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

E-Mail

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

E/R-Modell

ISA-Relationship

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

E/R-Modell

Schlüsselattribute

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