• Nenhum resultado encontrado

Kapitel 6: Das E/R-Modell p

N/A
N/A
Protected

Academic year: 2023

Share "Kapitel 6: Das E/R-Modell p"

Copied!
13
0
0

Texto

(1)

Ludwig Maximilians Universität München Institut für Informatik

Lehr- und Forschungseinheit für Datenbanksysteme

Skript zur Vorlesung

Lehr und Forschungseinheit für Datenbanksysteme

Skript zur Vorlesung

Datenbanksysteme I

Wintersemester 2010/2011

Kapitel 6: Das E/R-Modell p

Vorlesung: PD Matthias Schubert Übungen: Thomas Bernecker Andreas Züfle Übungen: Thomas Bernecker, Andreas Züfle,

Skript © 2005 Christian Böhm

http://www.dbs.ifi.lmu.de/cms/Datenbanksysteme_I

Schema-Entwurf

• Generelle Aufgabe:

Finde eine formale Beschreibung (Modell) für einen zu modellierenden Teil der realen Welt

• Zwischenstufen:

ysteme I E/R-Modell

• Zwischenstufen:

– Beschreibung durch natürliche Sprache (Pflichtenheft):

Beispiel: In der Datenbank sollen alle Studierenden mit den

atenbanksy itel 6: Das E p

durch sie belegten Lehrveranstaltungen gespeichert sein

– Beschreibung durch abstrakte grafische Darstellungen:

Da Kapi g g g

Student belegt Vorlesung

– Beschreibung im relationalen Modell:

(2)

Das Entity/Relationship Modell y p

• Dient dazu, für einen Ausschnitt der realen Welt ein konzeptionelles Schema zu erstellen

• Grafische Darstellung: E/R-Diagramm

ysteme I E/R-Modell

• Maschinenfernes Datenmodell

• Hohes Abstraktionsniveau

atenbanksy itel 6: Das E

• Überlegungen zur Effizienz spielen keine Rolle

• Das E/R-Modell muss in ein relationales Schema überführt

Da Kapi

werden

– Einfache Grundregeln zur Transformation

– Gewinnung eines effizientenSchemas erfordert tiefes Verständnis vom Zielmodell

3

Beispiel: Lehrveranstaltungen p g

ysteme I E/R-Modellatenbanksy itel 6: Das EDa Kapi

(3)

Elemente des E/R-Modells

• Entities:

St d t (eigentlich: Entity Sets)

Objekttypen A ib

Student

ysteme I E/R-Modell

• Attribute:

Eigenschaften

• Relationships:

Name

atenbanksy itel 6: Das E • Relationships:

Beziehungen zw. Entities belegt

Da Kapi

Entscheidende Aufgabe des Schema-Entwurfs:

• FindeFinde geeignetegeeignete Entities, Attribute und RelationshipsEntities, Attribute und Relationships

5

Entities und Attribute

Entities Matrikel-Nr.

• Objekte, Typen, "Seiendes"

• Objekte der realen Welt, unterscheidbar

• Bsp: Mensch Haus Vorlesung Bestellung

Student

ysteme I E/R-Modell

• Bsp: Mensch, Haus, Vorlesung, Bestellung, ...

Attribute

• Entities durch charakterisierende Eigenschaften beschrieben Name

atenbanksy itel 6: Das E

• Einfache Datentypen wie INT, STRING usw.

• Bsp: Farbe, Gewicht, Name, Titel, ...

Da Kapi

• Häufig beschränkt man sich auf die wichtigsten Attribute Schlüssel

ähnlich definiert ie im relationalen Modell

• ähnlich definiert wie im relationalen Modell

• Primärschlüssel-Attribute werden unterstrichen

(4)

Relationships (Beziehungen) p ( g )

• Stellen Zusammenhänge zwischen Entities dar

• Beispiele:

ysteme I E/R-Modell

Student belegt Vorlesung

Ausprägung: b l t (A t I f tik 1)

atenbanksy itel 6: Das E Ausprägung: belegt (Anton, Informatik 1)

belegt (Berta, Informatik 1)

belegt (Caesar, Wissensrepräsentation) belegt (Anton Datenbanksysteme 1)

Da Kapi

welche

belegt (Anton, Datenbanksysteme 1)

Ausprägung:

Vorauss (I 1 DBS 1)

Vorlesung Vorauss

welche wofür

Vorauss (I 1, DBS 1)

Vorauss (I 1, Software-Eng.) Vorauss (DBS 1, DBS 2) Vorauss (I 1 Wissensrepr )

7 unterschiedliche Rollen

Vorauss (I 1, Wissensrepr.)

Relationships (Beziehungen) p ( g )

• Relationships können eigene Attribute haben.

Beispiel: Student belegtVorlesung belegthat Attribut Note

• Mehrstellige (ternäre usw ) Relationships:

ysteme I E/R-Modell

• Mehrstellige (ternäre usw.) Relationships:

D t

atenbanksy itel 6: Das E

empfiehlt Dozent

Da Kapi

Buch Vorlesung

empfiehlt

Ausprägung: empfiehlt (Böhm, Heuer&Saake, DBS 1) empfiehlt (Böhm, Kemper&Eickler, DBS 1) empfiehlt (Böhm, Bishop, Informatik 1) empfiehlt (Böhm, Bishop, Programmierkurs)

(5)

Funktionalität von Relationships p

• 1:1-Beziehung (one-to-one-relationship):

Angestellter 1 leitet 1 Abteilung

ysteme I E/R-Modell

• Charakteristik:

Jedes Objekt aus dem linken Entity steht in Beziehung zu

1 1

atenbanksy itel 6: Das E Jedes Objekt aus dem linken Entity steht in Beziehung zu

höchstens einem Objekt aus dem rechten Entity und umgekehrt.

Da Kapi g

• Grafische Notation: Pfeile auf jeder Seite

• Beispiel gilt unter der Voraussetzung, dass jede Abteilung max. einen Leiter hat und kein Angestellter mehrere Abteilungen leitet

9

Funktionalität von Relationships p

m:1-Beziehung (many-to-one-relationship)

Angestellter m arbeitet_in 1 Abteilung

ysteme I E/R-Modell

• Charakteristik:

Jedes Objekt auf der "many" Seite steht in Beziehung zu

m 1

atenbanksy itel 6: Das E Jedes Objekt auf der many -Seite steht in Beziehung zu

höchstens einem Objekt auf der "one"-Seite (im Allgemeinen nicht umgekehrt)

Da Kapi g g )

• Grafische Notation:

Pfeil in Richtung zur "one"-Seite

(6)

Funktionalität von Relationships p

m:n-Beziehung (many-to-many-relationship)

Student m belegt n Vorlesung

ysteme I E/R-Modell

• Charakteristik:

Jedes Objekt auf der linken Seite kann zu mehreren

m n

atenbanksy itel 6: Das E Jedes Objekt auf der linken Seite kann zu mehreren

Objekten auf der rechten-Seite in Beziehung stehen (d.h.

keine Einschränkung)

Da Kapi g)

• Grafische Notation:

Kein Pfeil

B i i l A ä Beispiel-Ausprägung:

belegt (Anton, Informatik 1) belegt (Berta, Informatik 1)

belegt (Caesar Wissensrepräsentation) 11

belegt (Caesar, Wissensrepräsentation) belegt (Anton, Datenbanksysteme 1)

Beispiel: Lehrveranstaltungen p g

ysteme I E/R-Modellatenbanksy itel 6: Das EDa Kapi

(7)

Optionalität p

• Das E/R-Modell trifft lediglich Aussagen darüber, ob ein Objekt zu mehreren Objekten in Beziehung stehen darf oder zu max. einem

b b i d i bj k i i h

ysteme I E/R-Modell

• Darüber, ob es zu mindestens einem Objekt in Beziehung stehen muss, keine Aussage

E it d N t ti it

atenbanksy itel 6: Das E • Erweiterung der Notation mit:

– Geschlossener Kreis: Verpflichtend mindestens eins.

Off K i O ti l

Da Kapi – Offener Kreis: Optional

– Gilt auch für Attribute (vgl. NOT NULL)

Abteilung (0..m) arbeitet_in (1..1)

Angestellter 13

( .. ) (1..1)

Verschiedene Notationen

• Pfeil-Notation der Funktionalität:

Angestellter arbeitet_in Abteilung

ysteme I E/R-Modell

• Krähenfuß-Notation:

atenbanksy itel 6: Das E

Abteilung arbeitet_in

Angestellter

Da Kapi

• Kardinalitäts-Notation:

Angestellter (1..m) arbeitet_in (1..1) Abteilung

(8)

ISA-Beziehung/Vererbung g g

• Das Erweiterte E/R-Modell kennt Vererbungs- Beziehungen für Entities

• Beispiel:

ysteme I E/R-Modell

Lehrender

atenbanksy itel 6: Das E

Professor Assistent Lehr-Beauftr isa

Da Kapi

• Charakteristik und Bedeutung:

Professor Assistent Lehr Beauftr.

– Assistent ist ein Lehrender (engl.: is a) – Vererbung aller Attribute und Beziehungen

15

Vom E/R-Modell zur Relation

Einfache Umsetzungsregeln:

• Entities und Attribute:

KName

ysteme I E/R-Modell

Kunde

KName KAdr

Kto

atenbanksy itel 6: Das E

– Jedem Entity-Typ wird eine Relation zugeordnet

Jedes Attribut des Entity wird ein Attribut der Relation

Kto

Da Kapi – Jedes Attribut des Entity wird ein Attribut der Relation – Der Primärschlüssel des Entity wird Primärschlüssel

der Relation der Relation

– Attribute können im weiteren Verlauf dazukommen

K d (KN KAd Kt )

Kunde (KName, KAdr, Kto)

(9)

Vom E/R-Modell zur Relation

• Bei Relationships:

Umsetzung abh. von Funktionalität/Kardinalität:

– 1:1

Z ät li h Att ib t i b t h d R l ti

ysteme I E/R-Modell

– 1:n

n:m Erzeugung einer zusätzlichen Relation

Zusätzliche Attribute in bestehende Relationen

atenbanksy itel 6: Das E

Die ersten beiden Funktionalitäten sind Spezialfälle der d itt

Da Kapi dritten.

Deshalb ist es immer auch möglich, zusätzliche Relationen einzuführen jedoch nicht erforderlich

einzuführen, jedoch nicht erforderlich

17

Vom E/R-Modell zur Relation

• One-To-Many Relationships:

Abteilung 1 beschäftigt n Mitarbeiter

ysteme I E/R-Modell

ANr PNr

1 n

atenbanksy itel 6: Das E

– Keine zusätzliche Tabelle wird angelegt

– Der Primärschlüssel der Relation auf der one-Seite der R l ti hi k t i di R l ti d man S it

Da Kapi Relationship kommt in die Relation der many-Seite (Umbenennung bei Namenskonflikten)

– Die neu eingeführten Attribute werden FremdschlüsselDie neu eingeführten Attribute werden Fremdschlüssel – Die Primärschlüssel der Relationen ändern sich nicht

(10)

Vom E/R-Modell zur Relation

• Beispiel One-To-Many-Relationship:

Abteilung 1 beschäftigt n Mitarbeiter

ysteme I E/R-Modell

ANr PNr

1 n

atenbanksy itel 6: Das E

Abteilung (ANr, Bezeichnung, ...)

Da Kapi

Mitarbeiter (PNr, Name, Vorname, ..., ANr)

t t bl Mit b it ( create tableMitarbeiter (

PNr char(3) primary key, ...

19 ANr char(3) referencesAbteilung (ANr) ) ;

Vom E/R-Modell zur Relation

• Many-To-Many-Relationships:

Student n hört m Vorlesung

ysteme I E/R-Modell Einführung einer zusätzlichen Relation mit dem

MatrNr Note VNr

atenbanksy itel 6: Das E – Einführung einer zusätzlichen Relation mit dem

Namen der Relationship

– Attribute: Die Primärschlüssel-Attribute der

Da Kapi

Relationen, den Entities beider Seiten zugeordnet sind – Diese Attribute sind jeweils Fremdschlüssel

– Zusammen sind diese Attribute Primärschlüssel der neuen Relation

Attribute der Relationship ebenfalls in die neue Rel – Attribute der Relationship ebenfalls in die neue Rel.

(11)

Vom E/R-Modell zur Relation

• Beispiel: Many-To-Many-Relationships

Student n hört m Vorlesung

ysteme I E/R-Modell

MatrNr Note VNr

atenbanksy itel 6: Das E

Student (MatrNr, ...) Vorlesung (VNr, ...)

Da Kapi

Hoert (MatrNr, VNr, Note)

...

primary key(MatrNr, VNr),

foreign keyMatrNr referencesStudent, foreign keyVNrreferencesVorles ng 21

foreign keyVNr referencesVorlesung...

Vom E/R-Modell zur Relation

• One-To-One-Relationships:

Gebrauchsanw 1 gehört_zu 1 Gerät

ysteme I E/R-Modell

AktenNr GerID

atenbanksy itel 6: Das E

– Die beiden Entities werden zu einer Relation zusammengefasst

Ei d P i ä hlü l d E titi i d

Da Kapi – Einer der Primärschlüssel der Entities wird Primärschlüssel der Relation

Geraet (GerID, ..., AktenNr, ...)

– Häufig auch Umsetzung wie bei 1:n-Beziehung Geraet (GerID, ..., AktenNr, ...)

(12)

Vom E/R-Modell zur Relation

• Mehrstellige Relationen Dozent

ysteme I E/R-Modell Buch Vorlesung

empfiehlt

atenbanksy itel 6: Das E

– Eigene Relation für empfiehlt falls mehr als eine

Buch Vorlesung

Da Kapi Eigene Relation für empfiehlt, falls mehr als eine Funktionalität many ist:

Dozent (PNr, ...) Buch (ISBN, ...)

V l (VN )

23

Vorlesung (VNr, ...)

empfiehlt (PNr, ISBN, VNr)

Vom E/R-Modell zur Relation

• Selbstbezug

welche

ysteme I E/R-Modell VNr

Vorlesung Voraussetzg

wofür

atenbanksy itel 6: Das E

Keine Besonderheiten:

Vorgehen je nach Funktionalität.

Da Kapi

Vorlesung (VNr, ...)

Voraussetzg (Welche, Wofuer)

f i k W l h f V l (VN )

foreign keyWelche referencesVorlesung (VNr), foreign keyWofuer referencesVorlesung (VNr)

(13)

Vom E/R-Modell zur Relation

• Umsetzung der ISA-Beziehung:

Lehrender isa

ysteme I E/R-Modell

Professor Assistent Lehr-Beauftr.

isa

atenbanksy itel 6: Das E

• Meist wie bei 1:m-Beziehungen:

Lehrender

Da Kapi

isa2

isa1 isa3

Alt ti Att ib t d R l ti hi L h d

Professor Assistent Lehr-Beauftr.

25

• Alternative: Attribute und Relationships von Lehrender explizit in Professor (...) übernehmen

UML

• Wegen Unübersichtlichkeit und Einschränkungen Verdrängung der E/R-Diagramme durch UML

• Unterschiede:

ysteme I E/R-Modell

– Attribute werden direkt im Entity-Kasten notiert

– Relationships ohne eigenes Symbol (nur Verbindung)

atenbanksy itel 6: Das E Ausnahme: Ternäre Relationships mit Raute

– Verschiedene Vererbungsbeziehungen, Part-of-Bez.

Da Kapi

– (Methoden: Nicht gebraucht bei DB-Modellierung)

Angestellter Personalnr: int Name: string

Abteilung Abteilungsnr: int Bezeichn: string 0..* arbeitet in 1

Referências

Documentos relacionados

Para o Grosejean (1982) propõe os seguintes postulados sobre os bilíngues: i) Os bilíngues que não têm a mesma fluência nas duas línguas tomam emprestados os