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

63
Datenmodellierun g

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

Page 1: Datenmodellierung. 2 Tätigkeit zur Strukturierung der Datenbestände Ziel: Redundanzarme systematische Beschreibung der zur jeweiligen computerunterstützten.

Datenmodellierung

Page 2: Datenmodellierung. 2 Tätigkeit zur Strukturierung der Datenbestände Ziel: Redundanzarme systematische Beschreibung der zur jeweiligen computerunterstützten.

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

Page 3: Datenmodellierung. 2 Tätigkeit zur Strukturierung der Datenbestände Ziel: Redundanzarme systematische Beschreibung der zur jeweiligen computerunterstützten.

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

Page 4: Datenmodellierung. 2 Tätigkeit zur Strukturierung der Datenbestände Ziel: Redundanzarme systematische Beschreibung der zur jeweiligen computerunterstützten.

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

Page 5: Datenmodellierung. 2 Tätigkeit zur Strukturierung der Datenbestände Ziel: Redundanzarme systematische Beschreibung der zur jeweiligen computerunterstützten.

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

Page 6: Datenmodellierung. 2 Tätigkeit zur Strukturierung der Datenbestände Ziel: Redundanzarme systematische Beschreibung der zur jeweiligen computerunterstützten.

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

Page 7: Datenmodellierung. 2 Tätigkeit zur Strukturierung der Datenbestände Ziel: Redundanzarme systematische Beschreibung der zur jeweiligen computerunterstützten.

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

Page 8: Datenmodellierung. 2 Tätigkeit zur Strukturierung der Datenbestände Ziel: Redundanzarme systematische Beschreibung der zur jeweiligen computerunterstützten.

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

Page 9: Datenmodellierung. 2 Tätigkeit zur Strukturierung der Datenbestände Ziel: Redundanzarme systematische Beschreibung der zur jeweiligen computerunterstützten.

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

Page 10: Datenmodellierung. 2 Tätigkeit zur Strukturierung der Datenbestände Ziel: Redundanzarme systematische Beschreibung der zur jeweiligen computerunterstützten.

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

Page 11: Datenmodellierung. 2 Tätigkeit zur Strukturierung der Datenbestände Ziel: Redundanzarme systematische Beschreibung der zur jeweiligen computerunterstützten.

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

Page 12: Datenmodellierung. 2 Tätigkeit zur Strukturierung der Datenbestände Ziel: Redundanzarme systematische Beschreibung der zur jeweiligen computerunterstützten.

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

Page 13: Datenmodellierung. 2 Tätigkeit zur Strukturierung der Datenbestände Ziel: Redundanzarme systematische Beschreibung der zur jeweiligen computerunterstützten.

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

Page 14: Datenmodellierung. 2 Tätigkeit zur Strukturierung der Datenbestände Ziel: Redundanzarme systematische Beschreibung der zur jeweiligen computerunterstützten.

Das Entity-Relationship-Modell

ERM bzw. E/R-Modell

Page 15: Datenmodellierung. 2 Tätigkeit zur Strukturierung der Datenbestände Ziel: Redundanzarme systematische Beschreibung der zur jeweiligen computerunterstützten.

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

Page 16: Datenmodellierung. 2 Tätigkeit zur Strukturierung der Datenbestände Ziel: Redundanzarme systematische Beschreibung der zur jeweiligen computerunterstützten.

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

Page 17: Datenmodellierung. 2 Tätigkeit zur Strukturierung der Datenbestände Ziel: Redundanzarme systematische Beschreibung der zur jeweiligen computerunterstützten.

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

Page 18: Datenmodellierung. 2 Tätigkeit zur Strukturierung der Datenbestände Ziel: Redundanzarme systematische Beschreibung der zur jeweiligen computerunterstützten.

18

Beispiele: Entity-Typen

Prof. Dr. Fabian Glasen, Datenbanken, Februar 2002

Mitarbeiter

Produkte

Kunden Bestellungen

Prozesse

Flugzeuge

Reisen

Flüge

Vorlesungen

Page 19: Datenmodellierung. 2 Tätigkeit zur Strukturierung der Datenbestände Ziel: Redundanzarme systematische Beschreibung der zur jeweiligen computerunterstützten.

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

Page 20: Datenmodellierung. 2 Tätigkeit zur Strukturierung der Datenbestände Ziel: Redundanzarme systematische Beschreibung der zur jeweiligen computerunterstützten.

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

Page 21: Datenmodellierung. 2 Tätigkeit zur Strukturierung der Datenbestände Ziel: Redundanzarme systematische Beschreibung der zur jeweiligen computerunterstützten.

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

Page 22: Datenmodellierung. 2 Tätigkeit zur Strukturierung der Datenbestände Ziel: Redundanzarme systematische Beschreibung der zur jeweiligen computerunterstützten.

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

Page 23: Datenmodellierung. 2 Tätigkeit zur Strukturierung der Datenbestände Ziel: Redundanzarme systematische Beschreibung der zur jeweiligen computerunterstützten.

23

Beziehungen zwischen Entity-Typen

Prof. Dr. Fabian Glasen, Datenbanken, Februar 2002

Beispiel: Professor empfiehlt Buch für Vorlesung

Professor

Buch

Vorlesungempfiehlt

Semester

Page 24: Datenmodellierung. 2 Tätigkeit zur Strukturierung der Datenbestände Ziel: Redundanzarme systematische Beschreibung der zur jeweiligen computerunterstützten.

24

Grundkonzepte des klassischen ERM

Domäne:

Zulässiger Wertebereich eines Attributes

Graphische Notation:

Prof. Dr. Fabian Glasen, Datenbanken, Februar 2002

Attributname:Domainname

Page 25: Datenmodellierung. 2 Tätigkeit zur Strukturierung der Datenbestände Ziel: Redundanzarme systematische Beschreibung der zur jeweiligen computerunterstützten.

25

Beispiel: Angestellter

Prof. Dr. Fabian Glasen, Datenbanken, Februar 2002

Angestellter

Name:string

A#: int

Gehalt:int

Page 26: Datenmodellierung. 2 Tätigkeit zur Strukturierung der Datenbestände Ziel: Redundanzarme systematische Beschreibung der zur jeweiligen computerunterstützten.

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

Page 27: Datenmodellierung. 2 Tätigkeit zur Strukturierung der Datenbestände Ziel: Redundanzarme systematische Beschreibung der zur jeweiligen computerunterstützten.

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

Page 28: Datenmodellierung. 2 Tätigkeit zur Strukturierung der Datenbestände Ziel: Redundanzarme systematische Beschreibung der zur jeweiligen computerunterstützten.

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)

Page 29: Datenmodellierung. 2 Tätigkeit zur Strukturierung der Datenbestände Ziel: Redundanzarme systematische Beschreibung der zur jeweiligen computerunterstützten.

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)

Page 30: Datenmodellierung. 2 Tätigkeit zur Strukturierung der Datenbestände Ziel: Redundanzarme systematische Beschreibung der zur jeweiligen computerunterstützten.

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

Page 31: Datenmodellierung. 2 Tätigkeit zur Strukturierung der Datenbestände Ziel: Redundanzarme systematische Beschreibung der zur jeweiligen computerunterstützten.

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

Page 32: Datenmodellierung. 2 Tätigkeit zur Strukturierung der Datenbestände Ziel: Redundanzarme systematische Beschreibung der zur jeweiligen computerunterstützten.

32

Beispiel: Buchempfehlung

Prof. Dr. Fabian Glasen, Datenbanken, Februar 2002

Professor

NameSemester

Autor

ISBN

Titel

Titel

Telefon

Fach

Buch

Vorlesung

empfiehlt

liest

Priorität

Page 33: Datenmodellierung. 2 Tätigkeit zur Strukturierung der Datenbestände Ziel: Redundanzarme systematische Beschreibung der zur jeweiligen computerunterstützten.

33

Beispiel: Bibliothek

Prof. Dr. Fabian Glasen, Datenbanken, Februar 2002

Leser

NameRDatum

InvNrISBN

Verlag

Titel

Lnr

Adresse

Buch

Geschriebenvon

Ausleihe

AutorName

Autornr

ADatum

Page 34: Datenmodellierung. 2 Tätigkeit zur Strukturierung der Datenbestände Ziel: Redundanzarme systematische Beschreibung der zur jeweiligen computerunterstützten.

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

Page 35: Datenmodellierung. 2 Tätigkeit zur Strukturierung der Datenbestände Ziel: Redundanzarme systematische Beschreibung der zur jeweiligen computerunterstützten.

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

Page 36: Datenmodellierung. 2 Tätigkeit zur Strukturierung der Datenbestände Ziel: Redundanzarme systematische Beschreibung der zur jeweiligen computerunterstützten.

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

Page 37: Datenmodellierung. 2 Tätigkeit zur Strukturierung der Datenbestände Ziel: Redundanzarme systematische Beschreibung der zur jeweiligen computerunterstützten.

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

Page 38: Datenmodellierung. 2 Tätigkeit zur Strukturierung der Datenbestände Ziel: Redundanzarme systematische Beschreibung der zur jeweiligen computerunterstützten.

38

Relationships - Funktionale Beziehungen

Prof. Dr. Fabian Glasen, Datenbanken, Februar 2002

......

......1:1

.........

Abteilungsleiter Abteilung

Angestellter Abteilung

N:1

leitet

arbeitet in

Page 39: Datenmodellierung. 2 Tätigkeit zur Strukturierung der Datenbestände Ziel: Redundanzarme systematische Beschreibung der zur jeweiligen computerunterstützten.

39

Relationships - Funktionale Beziehungen

Prof. Dr. Fabian Glasen, Datenbanken, Februar 2002

.........

1:N

......

.....

Person Haus

Student Vorlesung

N:M

besitzt

hört

Page 40: Datenmodellierung. 2 Tätigkeit zur Strukturierung der Datenbestände Ziel: Redundanzarme systematische Beschreibung der zur jeweiligen computerunterstützten.

40

Relationships - Beispiel

Prof. Dr. Fabian Glasen, Datenbanken, Februar 2002

Person Stadt

wohnt in 1

N

geb. in

N

1

Page 41: Datenmodellierung. 2 Tätigkeit zur Strukturierung der Datenbestände Ziel: Redundanzarme systematische Beschreibung der zur jeweiligen computerunterstützten.

41

Optional undefinierte Attribute

Prof. Dr. Fabian Glasen, Datenbanken, Februar 2002

Entity-Typ A

Attribut A kann undefiniert seinalso „Null-Wert“ haben.

Page 42: Datenmodellierung. 2 Tätigkeit zur Strukturierung der Datenbestände Ziel: Redundanzarme systematische Beschreibung der zur jeweiligen computerunterstützten.

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

Page 43: Datenmodellierung. 2 Tätigkeit zur Strukturierung der Datenbestände Ziel: Redundanzarme systematische Beschreibung der zur jeweiligen computerunterstützten.

E/R-Modell

ISA-Relationship

Page 44: Datenmodellierung. 2 Tätigkeit zur Strukturierung der Datenbestände Ziel: Redundanzarme systematische Beschreibung der zur jeweiligen computerunterstützten.

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.

Page 45: Datenmodellierung. 2 Tätigkeit zur Strukturierung der Datenbestände Ziel: Redundanzarme systematische Beschreibung der zur jeweiligen computerunterstützten.

45

Spezialisierungs- / Generalisierungsbeziehung

Synonyme

• Spezialisierung- / Generalisierung

• Unter- / Oberbegriff

• IST-Beziehung

• is-a-Relationship

• isa-Relationship

Prof. Dr. Fabian Glasen, Datenbanken, Februar 2002

Page 46: Datenmodellierung. 2 Tätigkeit zur Strukturierung der Datenbestände Ziel: Redundanzarme systematische Beschreibung der zur jeweiligen computerunterstützten.

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.

Page 47: Datenmodellierung. 2 Tätigkeit zur Strukturierung der Datenbestände Ziel: Redundanzarme systematische Beschreibung der zur jeweiligen computerunterstützten.

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,

Page 48: Datenmodellierung. 2 Tätigkeit zur Strukturierung der Datenbestände Ziel: Redundanzarme systematische Beschreibung der zur jeweiligen computerunterstützten.

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

Page 49: Datenmodellierung. 2 Tätigkeit zur Strukturierung der Datenbestände Ziel: Redundanzarme systematische Beschreibung der zur jeweiligen computerunterstützten.

49

ISA-Relationship

Prof. Dr. Fabian Glasen, Datenbanken, Februar 2002

p

Isa-Beziehung:p: partiellt: total

t

nicht disjunkt disjunkt

total partiell

Page 50: Datenmodellierung. 2 Tätigkeit zur Strukturierung der Datenbestände Ziel: Redundanzarme systematische Beschreibung der zur jeweiligen computerunterstützten.

50

ISA-Relationship

Prof. Dr. Fabian Glasen, Datenbanken, Februar 2002

Angestellter

Pilot Techniker

p

Partiellenicht-disjunkteisa-Beziehung

Page 51: Datenmodellierung. 2 Tätigkeit zur Strukturierung der Datenbestände Ziel: Redundanzarme systematische Beschreibung der zur jeweiligen computerunterstützten.

51

ISA-Relationship

Prof. Dr. Fabian Glasen, Datenbanken, Februar 2002

Person

Mann Frau

t

Totaledisjunkteisa-Beziehung(Spezialisierung)

Page 52: Datenmodellierung. 2 Tätigkeit zur Strukturierung der Datenbestände Ziel: Redundanzarme systematische Beschreibung der zur jeweiligen computerunterstützten.

52

ISA-Relationship

Prof. Dr. Fabian Glasen, Datenbanken, Februar 2002

Fahrzeug

Auto Fahrrad

p

Partielledisjunkteisa-Beziehung(Spezialisierung)

Page 53: Datenmodellierung. 2 Tätigkeit zur Strukturierung der Datenbestände Ziel: Redundanzarme systematische Beschreibung der zur jeweiligen computerunterstützten.

53

ISA-Relationship

Prof. Dr. Fabian Glasen, Datenbanken, Februar 2002

Person

Mann Angestellter

p

Partiellenicht disjunkteisa-Beziehung(Spezialisierung)

Page 54: Datenmodellierung. 2 Tätigkeit zur Strukturierung der Datenbestände Ziel: Redundanzarme systematische Beschreibung der zur jeweiligen computerunterstützten.

54

ISA-Relationship

Prof. Dr. Fabian Glasen, Datenbanken, Februar 2002

Sportler

Fussballer Tennisspieler

p

Partiellenicht disjunkteisa-Beziehung(Spezialisierung)

Page 55: Datenmodellierung. 2 Tätigkeit zur Strukturierung der Datenbestände Ziel: Redundanzarme systematische Beschreibung der zur jeweiligen computerunterstützten.

55

ISA-Relationship

Prof. Dr. Fabian Glasen, Datenbanken, Februar 2002

Person

Manager Sekretärin

p

Angestellter

Techniker Programmierer

p

Verkäufer

partiellnicht disjunkt

partielldisjunkt

Page 56: Datenmodellierung. 2 Tätigkeit zur Strukturierung der Datenbestände Ziel: Redundanzarme systematische Beschreibung der zur jeweiligen computerunterstützten.

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

Page 57: Datenmodellierung. 2 Tätigkeit zur Strukturierung der Datenbestände Ziel: Redundanzarme systematische Beschreibung der zur jeweiligen computerunterstützten.

E/R-Modell

Schlüsselattribute

Page 58: Datenmodellierung. 2 Tätigkeit zur Strukturierung der Datenbestände Ziel: Redundanzarme systematische Beschreibung der zur jeweiligen computerunterstützten.

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

Page 59: Datenmodellierung. 2 Tätigkeit zur Strukturierung der Datenbestände Ziel: Redundanzarme systematische Beschreibung der zur jeweiligen computerunterstützten.

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

Page 60: Datenmodellierung. 2 Tätigkeit zur Strukturierung der Datenbestände Ziel: Redundanzarme systematische Beschreibung der zur jeweiligen computerunterstützten.

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

Page 61: Datenmodellierung. 2 Tätigkeit zur Strukturierung der Datenbestände Ziel: Redundanzarme systematische Beschreibung der zur jeweiligen computerunterstützten.

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

Page 62: Datenmodellierung. 2 Tätigkeit zur Strukturierung der Datenbestände Ziel: Redundanzarme systematische Beschreibung der zur jeweiligen computerunterstützten.

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

Page 63: Datenmodellierung. 2 Tätigkeit zur Strukturierung der Datenbestände Ziel: Redundanzarme systematische Beschreibung der zur jeweiligen computerunterstützten.

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