50
2. Datenbankentwurf Vorlesung "Informationssysteme" Sommersemester 2017

Vorlesung Informationssysteme Sommersemester 2017 · § Vorgehensweise bei DB-Entwurf und -Modellierung •Lebenszyklus •Informationserhebung § Entity-Relationship-Modell (ERM)

Embed Size (px)

Citation preview

Page 1: Vorlesung Informationssysteme Sommersemester 2017 · § Vorgehensweise bei DB-Entwurf und -Modellierung •Lebenszyklus •Informationserhebung § Entity-Relationship-Modell (ERM)

2.Datenbankentwurf

Vorlesung"Informationssysteme"Sommersemester2017

Page 2: Vorlesung Informationssysteme Sommersemester 2017 · § Vorgehensweise bei DB-Entwurf und -Modellierung •Lebenszyklus •Informationserhebung § Entity-Relationship-Modell (ERM)

Überblick§ VorgehensweisebeiDB-Entwurfund-Modellierung

• Lebenszyklus• Informationserhebung

§ Entity-Relationship-Modell(ERM)• Definitionen,Konzepte• Beziehungstypen• Diagrammdarstellung• Beispiele

§ ErweiterungendesERM• Kardinalitätsrestriktionen• Abstraktionskonzepte

§ Abstraktionskonzepte• Generalisierung• Aggregation

2Informationssysteme2017 Kapitel2:Datenbankentwurf

Page 3: Vorlesung Informationssysteme Sommersemester 2017 · § Vorgehensweise bei DB-Entwurf und -Modellierung •Lebenszyklus •Informationserhebung § Entity-Relationship-Modell (ERM)

VorgehensweisebeiDB-Entwurfund-Modellierung§ Ziel:ModellierungeinerMiniwelt (Entwurfvon

Datenbankschemata)§ SchrittweiseAbleitung:("top-down"-Entwurf)

1. InformationinunsererVorstellung2. Informationsstruktur:OrganisationsformderInformation3. LogischeDatenstruktur(zugriffspfadunabhängig,Was-Aspekt)4. PhysischeDatenstruktur(zugriffspfadabhängig,Was- undWie-

Aspekt)§ Nebenbedingungen• genaueAbbildung• hoherGradanAktualität• Verständlichkeit,Natürlichkeit,Einfachheit,...

ÄnderungenhabenAuswirkungenaufvorangegangeneSchritte!

3Informationssysteme2017 Kapitel2:Datenbankentwurf

Page 4: Vorlesung Informationssysteme Sommersemester 2017 · § Vorgehensweise bei DB-Entwurf und -Modellierung •Lebenszyklus •Informationserhebung § Entity-Relationship-Modell (ERM)

DiePhasen desDatenbankentwurfs

Informationssysteme2017 Kapitel2:Datenbankentwurf 4

Anforderungsanalyse

Konzeptioneller Entwurf

Implementationsentwurf(logischer Entwurf)

Physischer Entwurf(internes Schema)

Informations-anforderungen

Datenverarbeitungsanforderungen

DBMS-Charakteristika

Hardware/BS-Charakteristika

Anforderungsspezifikation

InformationsstrukturER-Schema

Logische Datenbankstruktur

Physische Datenbankstruktur

DB-Schema

internes Schema

Page 5: Vorlesung Informationssysteme Sommersemester 2017 · § Vorgehensweise bei DB-Entwurf und -Modellierung •Lebenszyklus •Informationserhebung § Entity-Relationship-Modell (ERM)

Schritt 1:Anforderungsanalyse§ RealeWelt:Universität

à Anforderungsanalyse

Informationsanforderungen:• IdentifikationvonOrganisationseinheiten• IdentifikationvonBeziehungenDatenverarbeitungsanforderungen:• IdentifikationvonProzessen

Formalisierung• Ziel:Anforderungskatalog/Pflichtenheft

Informationssysteme2017 Kapitel2:Datenbankentwurf 5

Page 6: Vorlesung Informationssysteme Sommersemester 2017 · § Vorgehensweise bei DB-Entwurf und -Modellierung •Lebenszyklus •Informationserhebung § Entity-Relationship-Modell (ERM)

Anforderungen§ "StudentenhörenVorlesungen"§ "ProfessorenhaltenVorlesungen"§ "StudentenkönntenanhandihrerMatrikelnummereindeutig

identifiziertwerden"§ ...

Informationssysteme2017 Kapitel2:Datenbankentwurf 6

Page 7: Vorlesung Informationssysteme Sommersemester 2017 · § Vorgehensweise bei DB-Entwurf und -Modellierung •Lebenszyklus •Informationserhebung § Entity-Relationship-Modell (ERM)

ObjektbeschreibungUni-Angestellte

Anzahl:1000Attribute:

Informationssysteme2017 Kapitel2:Datenbankentwurf 7

PersonalNummer• Typ: char• Länge: 10• Wertebereich: 0...999.999.99• Anzahl Wiederholung: 0• Definiertheit: 100%• Identifizierend: ja

Gehalt• Typ: dezimal• Länge: (8,2)• Anzahl Wiederholung: 0• Definiertheit: 10%• Identifizierend: nein

Rang• Typ: String• Länge: 4• Anzahl Wiederholung: 0• Definiertheit: 100%• Identifizierend: nein

Page 8: Vorlesung Informationssysteme Sommersemester 2017 · § Vorgehensweise bei DB-Entwurf und -Modellierung •Lebenszyklus •Informationserhebung § Entity-Relationship-Modell (ERM)

Beziehungsbeschreibung:prüfen§ BeteiligteObjekte:• ProfessoralsPrüfer• StudentalsPrüfling• VorlesungalsPrüfungsstoff

§ Attributederprüfen-Beziehung:• Datum• Uhrzeit• Note

§ Anzahl:100000proJahr

Informationssysteme2017 Kapitel2:Datenbankentwurf 8

Page 9: Vorlesung Informationssysteme Sommersemester 2017 · § Vorgehensweise bei DB-Entwurf und -Modellierung •Lebenszyklus •Informationserhebung § Entity-Relationship-Modell (ERM)

Prozessbeschreibung*Zeugnisausstellung§ Häufigkeit:halbjährlich§ benötigteDaten• Prüfungen• Studienordnungen• Studenteninformationen• ...

§ Priorität:hoch§ ZuverarbeitendeDatenmenge• 500Studenten• 3000Prüfungen• 10Studienordnungen

*)Prozessewerdennichtweiterbetrachtet.

Informationssysteme2017 Kapitel2:Datenbankentwurf 9

Page 10: Vorlesung Informationssysteme Sommersemester 2017 · § Vorgehensweise bei DB-Entwurf und -Modellierung •Lebenszyklus •Informationserhebung § Entity-Relationship-Modell (ERM)

Schritt2:AbbildungaufkonzeptuellesModell§ "StudentenhörenVorlesungen"§ "ProfessorenhaltenVorlesungen"§ "StudentenkönntenanhandihrerMatrikelnummereindeutig

identifiziertwerden"§ ...

Informationssysteme2017 Kapitel1:EinführungundGrundbegriffe 10

PersNrMatrNr

NameName

Studenten Professoren

hörenlesen

Vorlesungen Titel

VorlNr

KonzeptuelleModellierung

Page 11: Vorlesung Informationssysteme Sommersemester 2017 · § Vorgehensweise bei DB-Entwurf und -Modellierung •Lebenszyklus •Informationserhebung § Entity-Relationship-Modell (ERM)

WichtigeModellierungssprachen§ ERM(EntityRelationshipModel):

• generelleinsetzbaresModellierungswerkzeug,hauptsächlichfürdenrelationalenDB-Entwurfgeeignet

§ UML(UnifiedModelingLanguage):• NotationundSprachezurUnterstützungderobjekt-orientiertenModellierungimSoftwareEngineering:EsgibtsehrvieleUntermodellefürdenEntwurfvonSoftwaresystemenaufdenverschiedenstenAbstraktionsebenen

11Informationssysteme2017 Kapitel2:Datenbankentwurf

Page 12: Vorlesung Informationssysteme Sommersemester 2017 · § Vorgehensweise bei DB-Entwurf und -Modellierung •Lebenszyklus •Informationserhebung § Entity-Relationship-Modell (ERM)

Entity-Relationship-Modell(ERM)– Überblick§ Konzepte

• EntitiesundAttribute• Entity-Mengen/Typen• Primärschlüssel• Relationship-Mengen/Typen

§ KlassifikationderBeziehungstypen• benutzerdefinierteBeziehungen• Abbildungstyp:1:1;n:1;n:m

§ Ziel:ModellbildungaufderTypebene (Schema)!• FestlegungvonsemantischenAspekten• expliziteDefinitionvonstrukturellenIntegritätsbedingungen• diesegeltenfüralle(möglichen)InstanzendesSchemas

§ ER-Diagramm:graphischeDarstellungeinesER-Schemasà Chen-Notation

Informationssysteme2017 Kapitel2:Datenbankentwurf 12

Chen, P. P.-S.: The Entity-Relationship Model –Toward a Unified view of Data, in: ACM TODS 1:1, March 1976, pp. 9-36.

Page 13: Vorlesung Informationssysteme Sommersemester 2017 · § Vorgehensweise bei DB-Entwurf und -Modellierung •Lebenszyklus •Informationserhebung § Entity-Relationship-Modell (ERM)

EntitiesundAttribute§ Entities• wohlunterscheidbareDingederMiniwelt(Diskurswelt)• „Athingthathasrealorindividualexistenceinrealityorinmind“(Webster)

§ Attribute• EigenschaftenvonEntities,derenkonkreteAusprägungenalsWertebezeichnetwerden

§ Beispiel:

13Informationssysteme2017 Kapitel2:Datenbankentwurf

b1

InvNr = 4711

Erstautor = Kemper

Titel = Datenbanksysteme

Verlag = Oldenbourg

Page 14: Vorlesung Informationssysteme Sommersemester 2017 · § Vorgehensweise bei DB-Entwurf und -Modellierung •Lebenszyklus •Informationserhebung § Entity-Relationship-Modell (ERM)

Entity-MengenundEntity-Typen§ Entity-Mengen(Entity-Sets)• Gruppierungvon„ähnlichen“oder„vergleichbaren“Entities mitgemeinsamenEigenschaften

§ Entity-TypdefiniertdasSchema einerEntity-Menge• Name• Attribute

§ Entity-MengeundihreEntitiessindzeitveränderlich(Ausprägung)e1 = (4711,Kemper,DBS,Oldenbourg,...)e2 = (0815,Date,Intro.to DBS,Addison,...)

e3 = (1234,Härder,DBS,Springer,...)

§ ER-Schema/DiagrammenthältEntity-Typen,keineAusprägungen!

Informationssysteme2017 Kapitel2:Datenbankentwurf 14

InvNr EAutor Titel Verlag EJahr VPreis

Bücher

Diagrammdarstellung

t1

t2

Page 15: Vorlesung Informationssysteme Sommersemester 2017 · § Vorgehensweise bei DB-Entwurf und -Modellierung •Lebenszyklus •Informationserhebung § Entity-Relationship-Modell (ERM)

KomplexeAttribute§ Wiewirdmodelliert,wenn

• einBuchmehrereAutorenhat• dieVerlagsinformationzusammengesetztist(Name,Ort)• Eigenschaftenhierarchischgegliedertsind

§ ErhöhungderModellierungsgenauigkeit• bisher:einwertigeAttribute• mehrwertigeAttribute (Doppelovale)• zusammengesetzte Attribute(hierarchischangeordneteOvale)➮Verschachtelungensindmöglich

e3=(1234,{Härder,Rahm},DBS,(Springer,{Hd,Be}),2001)

15

InvNr Autor Titel Verlag EJahr

Name Ort

Bücher

Informationssysteme2017 Kapitel2:Datenbankentwurf

Page 16: Vorlesung Informationssysteme Sommersemester 2017 · § Vorgehensweise bei DB-Entwurf und -Modellierung •Lebenszyklus •Informationserhebung § Entity-Relationship-Modell (ERM)

Wertebereich/DomaineinesAttributs§ WertebereichW(A)(oderdom(A))• Diemöglichenoder„zulässigen“WertefüreinAttribut

• EinAttributordnetjedemEntityeinerEntity-MengeeinenWertauseinembestimmtenWertebereich(demdesAttributs)zu

§ Domaindom(A)füratomareundkomplexeAttributeW(A) fallsAeinwertig

dom(A):= 2W(A) fallsAmehrwertigdom(B1)x...xdom(Bk) fallsAaus B1,...,Bk

zusammengesetzt§ WertebereichesindnichtTeildesER-Diagramms,könnengetrennt

spezifiziertwerden

Informationssysteme2017 Kapitel2:Datenbankentwurf 16

Attribut Wertebereich

InvNr i ∊ N,i≤105

EAutor char(40)

EJahr {1571,...2012}

VPreis DECIMAL(9,2)

Page 17: Vorlesung Informationssysteme Sommersemester 2017 · § Vorgehensweise bei DB-Entwurf und -Modellierung •Lebenszyklus •Informationserhebung § Entity-Relationship-Modell (ERM)

(Primär-)SchlüsselundSchlüsselkandidat§ WiewirdeinEntityidentifiziert?• Entities müssenanhandvonAttributwerten„wohlunterscheidbar“sein

§ IdentifikationeinesEntities durchAttribut(oderKombinationvonAttributen)• Attributwerteeindeutig füralleEntities derselbenEntitymenge• ggf.künstlicherzwungen(z.B.laufendeNr.)

§ {A1,A2,...,Am}=AseiMengeder(einwertigen)AttributezurEntity-MengeEK⊆ AheißtSchlüsselkandidat vonE⇔

Keindeutig:ei,ej∈ E;ei ≠ej →K(ei)≠K(ej)undKminimal (irreduzibel):∀K‘⊂ K:K‘istnichteindeutig

§ FallsmehrereSchlüsselkandidaten(SK):Primärschlüssel auswählen• imER-DiagrammdurchUnterstreichen gekennzeichnet

Informationssysteme2017 Kapitel2:Datenbankentwurf 17

Page 18: Vorlesung Informationssysteme Sommersemester 2017 · § Vorgehensweise bei DB-Entwurf und -Modellierung •Lebenszyklus •Informationserhebung § Entity-Relationship-Modell (ERM)

Beispiel§ PrimärschlüsselfürEntity-Typ"Buch"

§ Entity-TypStudent

Schlüsselkandidaten?Primärschlüssel?

Informationssysteme2017 Kapitel2:Datenbankentwurf 18

InvNr Autor Titel Verlag EJahr

Name Ort

Bücher

SemMatrNr Name Gebdat FBNr

Studenten

Page 19: Vorlesung Informationssysteme Sommersemester 2017 · § Vorgehensweise bei DB-Entwurf und -Modellierung •Lebenszyklus •Informationserhebung § Entity-Relationship-Modell (ERM)

RelationshipsundRelationship-Mengen§ Relationship (Beziehung)• AssoziationzwischenEntities

§ Relationship-MengenZusammenfassungvongleichartigenBeziehungen(Relationships)zwischenEntities,diejeweilsgleichenEntity-Mengenangehören

z.B.„hatausgeliehen“zwischen„Leser“und„Bücher“

Instanzbeispiel:r1 =(s1,b5)

19

Studenten Bücherhat-ausgeliehen

Informationssysteme2017 Kapitel2:Datenbankentwurf

Page 20: Vorlesung Informationssysteme Sommersemester 2017 · § Vorgehensweise bei DB-Entwurf und -Modellierung •Lebenszyklus •Informationserhebung § Entity-Relationship-Modell (ERM)

Relationship-Typ§ Relationship-Typ(Beziehungstyp)definiert• NamederRelationship• beteiligteEntity-TypenundRollennamen(unddamitGradderBeziehung)- Relationship istTeilmengedeskartesichen ProduktsderbeteiligtenEntity-Mengen:R⊆ E1xE2x...xEn

• Attribute(optional)- unabhängigvonEntity-Typen

• Funktionalitäten:1:1,1:N/N:1,N:M§ ER-Diagramm

• Gradà 2(binär)• Funktionalitätà 1:Nx

Informationssysteme2017 Kapitel2:Datenbankentwurf 20

Studenten Bücherhat-ausgeliehen

RDatum

1 N

Page 21: Vorlesung Informationssysteme Sommersemester 2017 · § Vorgehensweise bei DB-Entwurf und -Modellierung •Lebenszyklus •Informationserhebung § Entity-Relationship-Modell (ERM)

Rollennamen§ MotivationfürRollennamen

§ Entity-Typ(hier"Vorlesung")nimmtmehralseinmalanRelationship teil• rekursiveBeziehung• dergleicheEntity-TypspieltverschiedeneRollen

- ExpliziteSpezifikationvonRollenerforderlich- RollennamenwerdenimDiagrammandieBeziehungskantengeschrieben

• GradderBeziehung(hier:2)durchRollenbestimmt

Informationssysteme2017 Kapitel2:Datenbankentwurf 21

Vorlesung Voraus-setzung

N

M

Vorgänger

Nachfolger

Instanzbeispiel:r2 = (Vorgänger: v1, Nachfolger: v3)

Page 22: Vorlesung Informationssysteme Sommersemester 2017 · § Vorgehensweise bei DB-Entwurf und -Modellierung •Lebenszyklus •Informationserhebung § Entity-Relationship-Modell (ERM)

FunktionalitätbinärerBeziehungen– 1:1

§ JedemEntitye1 ausE1 istmaximal1Entitye2 ausE2 zugeordnet,undumgekehrt• d.h.,eskannauchEntities inE1 undE2 geben,denenkeinanderesEntityzugeordnetist

• RkannalsPaarvonpartielleFunktioneninterpretiertwerden:- R:E1 à E2 undR-1:E2 à E1

Informationssysteme2017 Kapitel2:Datenbankentwurf 22

Vorlesungen Übungen

1:1: gehören-zu ⊆ Übungen x Vorlesungen

E1 E2R1 1

hat-Übung: Vorlesungen à Übungen

gehört-zu-Vorlesung: Übungen à Vorlesungen

Page 23: Vorlesung Informationssysteme Sommersemester 2017 · § Vorgehensweise bei DB-Entwurf und -Modellierung •Lebenszyklus •Informationserhebung § Entity-Relationship-Modell (ERM)

FunktionalitätbinärerBeziehungen– 1:N/N:1

23Informationssysteme2017 Kapitel2:Datenbankentwurf

Professoren Vorlesungen1:n: lesen ⊆ Professoren x Vorlesungen

E1 E2R1 N

§ 1:N• JedemEntitye1 ausE1 sindbeliebigvieleEntities ausE2zugeordnet(evtl.auchgarkeins)

• JedemEntitye2 ausE2 isthöchstens1Entitye1 ausE1zugeordnetà partielleFunktionR-1:E2 à E1imBeispiel:gelesen-von:Vorlesungenà Professoren

§ N:1analogà partielleFunktionR:E1 à E2

Page 24: Vorlesung Informationssysteme Sommersemester 2017 · § Vorgehensweise bei DB-Entwurf und -Modellierung •Lebenszyklus •Informationserhebung § Entity-Relationship-Modell (ERM)

FunktionalitätbinärerBeziehungen– N:M

§ EsgeltenkeineRestriktionen§ JedesEntityausE1 kannmitbeliebigvielenEntitiesausE2 in

Beziehungstehen,undumgekehrt

Informationssysteme2017 Kapitel2:Datenbankentwurf 24

Studenten Vorlesungenn:m: hören ⊆ Studenten x Vorlesungen

E1 E2RN M

Page 25: Vorlesung Informationssysteme Sommersemester 2017 · § Vorgehensweise bei DB-Entwurf und -Modellierung •Lebenszyklus •Informationserhebung § Entity-Relationship-Modell (ERM)

Funktionalitätenbein-stelligenBeziehungen§ SeiReineBeziehungzwischenEntity-MengenE1,...En und

Funktionalitätist"1"fürEntity-TypEkè partielleFunktionE1,...Ek-1,Ek+1,... Enà EkD.h.,jedebeliebigeKombinationvonEntitiesausE1,...Ek-1,Ek+1,... EnkannaufgrundvonRhöchstenseinemek ausEk zugeordnetsein

§ Beispiel

• betreuen:ProfessorenXStudentenà Seminarthemen• betreuen:SeminarthemenXStudentenà Professoren

Informationssysteme2017 Kapitel2:Datenbankentwurf 25

StudentenProfessoren

N1

Seminarthemen

betreuen1

Page 26: Vorlesung Informationssysteme Sommersemester 2017 · § Vorgehensweise bei DB-Entwurf und -Modellierung •Lebenszyklus •Informationserhebung § Entity-Relationship-Modell (ERM)

s1

s2

s3

s4

Studenten

p1

p2

p3

p4

Professoren

t1

t2

t3

t4

Seminar-themen

Funktionalitätenbein-stelligenBeziehungen(2)

Informationssysteme2017 Kapitel2:Datenbankentwurf 26

StudentenProfessoren

N1

Seminarthemen

betreuen1

b1

b2

b3

b4

b5

b6

OK

illegal

Profs dürfen dasselbe Themawiederverwenden (bei anderenStudis)

Dasselbe Thema darf von mehrerenProfs vergeben werden (anverschiedene Studis)

Studis dürfen beim selben Profnur ein Seminar ableisten

Studis dürfen dasselbe Thema nur einmal bearbeiten

Page 27: Vorlesung Informationssysteme Sommersemester 2017 · § Vorgehensweise bei DB-Entwurf und -Modellierung •Lebenszyklus •Informationserhebung § Entity-Relationship-Modell (ERM)

ER-Diagramm- Vorlesungsbetrieb

27Informationssysteme2017 Kapitel2:Datenbankentwurf

voraus-setzen

Vorlesungen

VorlNr

SWS

Titel

NamePersNr

Rang

Raum

lesen

hören

arbeiten-für

halten

ÜNr

SWS

Titel

ProfessorenAssistenten

Übungen

Studenten

besuchen

gehören-zu

Name SemMatNr

Fachge-bietNamePersNr

Note prüfen

Vorgänger Nachfolger

11

M

1N

N

1

1

NN

NN

1

M

M

1

M

Page 28: Vorlesung Informationssysteme Sommersemester 2017 · § Vorgehensweise bei DB-Entwurf und -Modellierung •Lebenszyklus •Informationserhebung § Entity-Relationship-Modell (ERM)

Existenzabhängigkeit§ Schwache(existenzabhängige)Entity-Typen

• Existenzder(schwachen)EntitiesistabhängigvonübergeordnetenEntities(identifizierenderEntity-Typ)- FunktionalitätderBeziehung:N:1(oder1:1)- Diagramm:doppeltumrandeteEntity-/Relationship-Typen,doppelteKante

• EntitiessindoftnurinKombinationmitdemSchlüsseldesübergeordnetenEntitytypseindeutigidentifizierbar- Diagramm:lokalerSchlüsselanteilistgestricheltunterstrichen

§ Beispiel

28Informationssysteme2017 Kapitel2:Datenbankentwurf

Gebäude liegt_in

GNr . . . . . .RNr

Räume

r1

r3r2

g1

g3g2

Existenzabhängigkeit: „Relationship begründet Existenz von“

1 N

Page 29: Vorlesung Informationssysteme Sommersemester 2017 · § Vorgehensweise bei DB-Entwurf und -Modellierung •Lebenszyklus •Informationserhebung § Entity-Relationship-Modell (ERM)

Existenzabhängigkeit(2)§ ExistenzabhängigkeitalsIntegritätsbedingung• istbewussteEntscheidungdesModellierers• OftistdieWahl/ZusammensetzungdesSchlüssels einHinweis

- Beispiel:PrimärschlüsseleinesRaumes=Gebäudeschlüssel+lokalgültigeRaumnummer(z.B.46,220)

• Alternative:fallsGebäudeohneweitereAttributemodelliertsindundquasizurBeschreibungvonRäumendienen,könnendieEntity-Typenauchzusammengefasstwerden.

29Informationssysteme2017 Kapitel2:Datenbankentwurf

Gebäude liegtin

GNr . . .RNr

Räume Räume

GNr RNr . . .

Page 30: Vorlesung Informationssysteme Sommersemester 2017 · § Vorgehensweise bei DB-Entwurf und -Modellierung •Lebenszyklus •Informationserhebung § Entity-Relationship-Modell (ERM)

DreistelligeRelationship-Mengen

30

Lieferanten n Lieferung m Projekte

Teile

p

Lieferanten beliefertm

Projekte

Teile

liefert bezieht

m

n n

m

n

ACHTUNG:Nicht gleichwertig mit drei zweistelligen (binären) Relationship-Mengen!

L P

T

L P

T

verboten!

erlaubt!

zu welchemProjekt?

Informationssysteme2017 Kapitel2:Datenbankentwurf

Page 31: Vorlesung Informationssysteme Sommersemester 2017 · § Vorgehensweise bei DB-Entwurf und -Modellierung •Lebenszyklus •Informationserhebung § Entity-Relationship-Modell (ERM)

L P

LF

T

DreistelligeRelationship-Mengen(2)

31

Lieferanten

N

Projekte

Teile

1

Lieferungen

beliefertliefert

bezieht

1

1

N N verboten!

Informationssysteme2017 Kapitel2:Datenbankentwurf

ABER:Manche Werkzeuge erlauben nur die Modellierung binärer Relationship-MengenAlternative:Schwacher Entity-Typ mit drei identifizierenden Entities/Relationships

Page 32: Vorlesung Informationssysteme Sommersemester 2017 · § Vorgehensweise bei DB-Entwurf und -Modellierung •Lebenszyklus •Informationserhebung § Entity-Relationship-Modell (ERM)

Kardinalitätsrestriktionen– (min,max)-Notation§ Bisher:

grobestrukturelleFestlegungderBeziehungenz. B.:1:1bedeutet„höchstenseinszuhöchstenseins“

§ VerfeinerungderSemantikeinesBeziehungstypsSeiR⊆ E1 xE2 x...xEn:Kardinalitätsrestriktionkard(R,Ei)=(min,max)bedeutet,dassjedesElementausEi inwenigstensmin undhöchstensmaxAusprägungenvonRenthaltenseinmuss(mit0≤min≤max,max≥1).

§ GraphischeDarstellung

32

RE1 E2(min1, max1) (min2, max2)Kardinalitäts-

restriktionen

e1 nimmt an (min1, max1) Beziehungen von Typ R teile2 nimmt an (min2, max2) Beziehungen von Typ R teil

Informationssysteme2017 Kapitel2:Datenbankentwurf

Page 33: Vorlesung Informationssysteme Sommersemester 2017 · § Vorgehensweise bei DB-Entwurf und -Modellierung •Lebenszyklus •Informationserhebung § Entity-Relationship-Modell (ERM)

Beispiel:BegrenzungsflächendarstellungvonKörpern

Informationssysteme2017 Kapitel2:Datenbankentwurf 33

Beispiel-KörperER-Diagramm

Polyeder

Flächen

Begrenzung

Hülle

Kanten

StartEnde

Punkte

1

N

N

M

M

N

PolyID

FlächenID

KantenID

X

Y

Z

(4, *)

(1, 1)

(3, *)

(2, 2)

(2, 2)

(3, *)

Page 34: Vorlesung Informationssysteme Sommersemester 2017 · § Vorgehensweise bei DB-Entwurf und -Modellierung •Lebenszyklus •Informationserhebung § Entity-Relationship-Modell (ERM)

(min,max)undschwacheEntity-Typen§ WiemodelliertmanExistenzabhängigkeiteinesEntity-Typs?• schwacherEntity-Typ

- existenzabhängigvonidentifizierendemEntity-/Relationship-Typ

• Kardinalitätsrestriktion(min,max)- min≥1:jedesEntitymussanmindestenseinerBeziehungteilnehmen,istalsoexistenzabhängig

• "Überlappung"derModellierungskonzepte§ NurlokalerSchlüsselanteilvorhandenà schwacherEntity-Typ

• aufkonsistente(min,max)-Angabeachten!(1,1)§ InanderenFällenistKardinalitätsrestriktionausreichend

Informationssysteme2017 Kapitel2:Datenbankentwurf 34

Angestellte Kinder(0, *) (1, 1)Eltern

von

Vorname

Abteilungen Personal(0, *) (1, 1)Mit-

arbeit

PNr

Page 35: Vorlesung Informationssysteme Sommersemester 2017 · § Vorgehensweise bei DB-Entwurf und -Modellierung •Lebenszyklus •Informationserhebung § Entity-Relationship-Modell (ERM)

(min,max)undFunktionalitäten§ ModellierungskonzeptemitunterschiedlicherSemantik

Beipiel:gegebenR(E1,...,Ek,...En):• "(0,1)"beiEk:jedesek kommthöchstens1malinRvor• "1"beiEk:jedeKombination(e1,...,ek-1,ek+1,...en)

kommthöchstens1malinRvor§ Spezialfall"BinäreRelationship"

• Semantikistvergleichbar,(min,max)istmächtiger

§ RelationshipmitGrad>2• Semantik/Ausdruckskraftistnichtmehrvergleichbar• EsgibtStrukturbedingungen,diemitFunktionalitätenausgedrücktwerdenkönnen,abernichtmit(min,max)– undumgekehrt!

§ BeideKonzeptekönnenkombiniertwerden!

Informationssysteme2017 Kapitel2:Datenbankentwurf 35

Abteilungen Personal(0, *) (0, 1)Mit-

arbeitAbteilungen Personal1 NMit-

arbeit

Page 36: Vorlesung Informationssysteme Sommersemester 2017 · § Vorgehensweise bei DB-Entwurf und -Modellierung •Lebenszyklus •Informationserhebung § Entity-Relationship-Modell (ERM)

s1

s2

s3

s4

Studenten

p1

p2

p3

p4

Professoren

t1

t2

t3

t4

Seminar-Themen

(min,max)undFunktionalitäten- Beipiel

Informationssysteme2017 Kapitel2:Datenbankentwurf 36

StudentenProfessoren

N1

Seminarthemen

betreuen1

b1

b2

b3

b4

b5

b6

OK

illegal

Profs dürfen dasselbe Themawiederverwenden (bei anderenStudis)Dasselbe Thema darf von mehrerenProfs vergeben werden (anverschiedene Studis)Studis dürfen beim selben Profnur ein Seminar ableistenStudis dürfen dasselbe Thema nur einmal bearbeiten

Funktionalitäten:

(0, 1)(0, *)

(0, *)

gefordert:Studis dürfen maximal ein Seminar ableisten(egal bei welchem Prof)

è (0, 1) bei "Studenten"

X

Page 37: Vorlesung Informationssysteme Sommersemester 2017 · § Vorgehensweise bei DB-Entwurf und -Modellierung •Lebenszyklus •Informationserhebung § Entity-Relationship-Modell (ERM)

Abstraktionskonzepte– semantischeModellierung§ Ziel:• ErfassungvonnochmehrSemantik ausderMiniwelt• Entwicklungvon(Beschreibungs-)ModellenzuradäquaterenWiedergabederausgewähltenMiniwelt(Diskursbereich)

• DefinitionvonsystemkontrolliertenBeziehungen§ Aufgabe:• IdentifikationvonwesentlichenKonstrukten,dievomMenschenangewendetwerden,wennerseinenDiskursbereichbeschreibt.

• AnwendungvonAbstraktion,umdieInformationzuorganisieren

§ UnterstützungimER-Modellà enhancedER-Modell(EER-Modell)• AufStrukturaspektebeschränkt(keinVerhalten/Methoden)

Informationssysteme2017 Kapitel2:Datenbankentwurf 37

Page 38: Vorlesung Informationssysteme Sommersemester 2017 · § Vorgehensweise bei DB-Entwurf und -Modellierung •Lebenszyklus •Informationserhebung § Entity-Relationship-Modell (ERM)

Abstraktionskonzepteinsem.Datenmodellenü Klassifikation/Instantiierung• entsprichtderDefinitionvonEntity-Typen/MengenimERM(Klasse≈Typ+Menge)

• möglicheErweiterung:expliziteModellierungvonInstanzen(hiernichtweiterbehandelt)

ü Identifikation• ObjektehabenimmereineneindeutigenIdentifikator• imERMdurcheindeutigeNamenvonEntity-TypenundDefinitionvonPrimärschlüsseln

Ø Generalisierung/Spezialisierung("is-a"-Beziehung)Ø Aggregation("part-of"-Beziehung)

38Informationssysteme2017 Kapitel2:Datenbankentwurf

siehe auch Elmasri, Navathe: Grundlagen von DBS

Page 39: Vorlesung Informationssysteme Sommersemester 2017 · § Vorgehensweise bei DB-Entwurf und -Modellierung •Lebenszyklus •Informationserhebung § Entity-Relationship-Modell (ERM)

Is-a – Beziehung(Subklasse/Superklasse)§ Notation: vereinfacht:

• E2 "istein"E1;E2 istSubklassevonE1;E1 istSuperklassevonE2§ Bedeutung(seiS"is-a"G)• Mengeninklusion:SistTeilmengevonG(S⊆ G)• Typenvererbung

- Attribute:alleAttribute(inkl.Schlüssel!)vonGbeschreibenauchS(sindimplizitfürSdefiniert– werdenvonS"geerbt")

• Relationships:EntitiesinSkönnenanallenRelationshipsvonGteilnehmen

• fürSkönnenzusätzlicheAttribute/RelationshipsdefiniertseinInformationssysteme2017 Kapitel2:Datenbankentwurf 39

E1 E1

E2 En... E2 En...

is-a is-a is-a

Page 40: Vorlesung Informationssysteme Sommersemester 2017 · § Vorgehensweise bei DB-Entwurf und -Modellierung •Lebenszyklus •Informationserhebung § Entity-Relationship-Modell (ERM)

Klassen-Hierarchie(Beispiel)

Informationssysteme2017 Kapitel2:Datenbankentwurf 40

Uni-Mitglieder

StudentenBeschäftigte

ProfessorenAssistenten

is-ais-a

is-a is-a

• Name• Geburtstag

• PNr• Fachbereich• Name• Geburtstag

• Matnr• Fachbereich• Name• Geburtstag

• Rang• Raum• Pnr• Fachbereich• Name• Geburtstag

• Fachgebiet• PNr• Fachbereich• Name• Geburtstag

kursiv ≣ geerbtTypenvererbung

s1s3

s2

s4p1

p2

p3a1

a3

a2a4

b1

b2

Mengeninklusion

Page 41: Vorlesung Informationssysteme Sommersemester 2017 · § Vorgehensweise bei DB-Entwurf und -Modellierung •Lebenszyklus •Informationserhebung § Entity-Relationship-Modell (ERM)

VererbungvonBeziehungen

41

Uni-Mitglieder

Kinder

Projekte

Fachbereiche

Kinder

Projekte

Fachbereiche

Kinder

Projekte

Fachbereiche

Kinder

Projekte

Fachbereiche

Informationssysteme2017 Kapitel2:Datenbankentwurf

Kinder

Projekte

Fachbereiche

Professoren

Assistenten

Studenten

is-a

Beschäftigte

is-a

Page 42: Vorlesung Informationssysteme Sommersemester 2017 · § Vorgehensweise bei DB-Entwurf und -Modellierung •Lebenszyklus •Informationserhebung § Entity-Relationship-Modell (ERM)

VollständigeunddisjunkteSpezialisierungen§ Si "is-a"G(1≤i≤n);immer:Si istTeilmengevonG(Si⊆ G)§ ZusätzlicheEinschränkungsmöglichkeitenderSubklassenbeziehung

• disjunkte Spezialisierung- Si sindpaarweisedisjunkt:Si ⋂ Sj =∅ füri≠j- einEntityausGkannzus.inmax.einerderSubklassenenthaltensein

• vollständige Spezialisierung- DieVereinigungallerSi ergibtG:G=∪Si (1≤i≤n)- einEntityausGistimmerauchineinerderSubklassenenthalten

§ ImDiagramm:wieKardinalitätsrestriktionenderSuperklasse• vollständig:min=1;disjunkt:max=1

§ ViermöglicheKombinationen• partiell+überlappend:(0,*)- default• vollständig+disjunkt:(1,1)• partiell+disjunkt:(0,1)• vollständig+überlappend:(1,*)

Informationssysteme2017 Kapitel2:Datenbankentwurf 42

E1

E2 En...

is-a(min, max)

Page 43: Vorlesung Informationssysteme Sommersemester 2017 · § Vorgehensweise bei DB-Entwurf und -Modellierung •Lebenszyklus •Informationserhebung § Entity-Relationship-Modell (ERM)

VollständigeunddisjunkteSpezialisierungen(Beispiel)

Informationssysteme2017 Kapitel2:Datenbankentwurf 43

Uni-Mitglieder

Beschäftigte Studenten

is-a(1, 1)

Assistenten Professoren

is-a(0, 1)

vollständig, disjunkt

partiell, disjunkt

Uni-Mitglieder sind immer auch Angestellte oder Studenten, aberniemals beides!

Angestellte können auch Assistenten oder Professoren sein, aber niemals beides!

Explizite Kardinalitätsrestriktionen für Subklassen sind nicht sinnvoll! Warum?

Wo müssen Primärschlüssel definiert werden?

Page 44: Vorlesung Informationssysteme Sommersemester 2017 · § Vorgehensweise bei DB-Entwurf und -Modellierung •Lebenszyklus •Informationserhebung § Entity-Relationship-Modell (ERM)

MehrereSpezialisierungenfüreinenEntity-Typ§ MehrereSpezialisierungennachverschiedenenKriterien• werdendurcheigene"is-a"-Boxendargestellt• eigeneAngabenzuVollständigkeit,Disjunktheitmöglich

Informationssysteme2017 Kapitel2:Datenbankentwurf 44

Uni-Mitglieder

Beschäftigte Studenten

is-a(1, 1)

Assistenten Professoren

is-a

(0, 1)

Beamte Angestellte

is-a

(1, 1)

Page 45: Vorlesung Informationssysteme Sommersemester 2017 · § Vorgehensweise bei DB-Entwurf und -Modellierung •Lebenszyklus •Informationserhebung § Entity-Relationship-Modell (ERM)

Aggregation§ BeziehungmitspeziellerzusätzlicherBedeutung:

EinObjektistausBestandteilen zusammengesetzt(Teil-Ganze-Beziehung),z. B.Auto – MotorTisch – TischplatteKante – EndpunktBild – Farbtabelle

§ Entwederexklusiv*:keinanderesObjektdarfdenselbenBestandteilhaben

odergemeinsam:derselbeBestandteilwirdinzweiodermehrObjektenverwendet

§ Entwederabhängig:Bestandteilkannnichtalleinexistieren;wirdmitdemObjektgelöscht

oderunabhängig:BestandteilkannauchfürsichalsObjektexistieren

§ Objektemitexklusivenund/oderabhängigenObjektenheißenzusammengesetzteObjekte (compositeobjects,komplexeObjekte)oderAggregate

45

(*) Die exklusive Aggregation wird in UML als Komposition bezeichnet, die gemeinsame als „Aggregation“.

Auto – Motor

Kante – Endpunkt

Tisch – Tischplatte

Bild – Farbtabelle

Informationssysteme2017 Kapitel2:Datenbankentwurf

Page 46: Vorlesung Informationssysteme Sommersemester 2017 · § Vorgehensweise bei DB-Entwurf und -Modellierung •Lebenszyklus •Informationserhebung § Entity-Relationship-Modell (ERM)

AggregationimER-Modell§ AttributesindBestandteileihrerEntities• immerexklusiv,abhängig

§ BeliebigeRelationshipzurModellierungvonAggregation• KardinalitätsrestriktionenzurModellierungvon

- Exklusivität:Bestandteilhatmax=1- Abhängigkeit:Bestandteilhatmin=1

§ "Teil-von"-Relationship(oder"part-of")• erfordertingleicherWeiseAngabevonKardinalitäten

Informationssysteme2017 Kapitel2:Datenbankentwurf 46

Fahrräder Teil-von

Räder

Rahmen

Speichen

Felgen

Rohre

Lenker

Teil-von

Teil-von

Page 47: Vorlesung Informationssysteme Sommersemester 2017 · § Vorgehensweise bei DB-Entwurf und -Modellierung •Lebenszyklus •Informationserhebung § Entity-Relationship-Modell (ERM)

MöglicheErweiterungen§ VerschiedeneVorschlägezurErweiterungder"is-a"-Beziehung

• Mehrfachvererbung(mehralseineSuperklasseerlaubt)• Definition/Vererbung/Verfeinerungvon

- Funktionen/Methoden- WertebereichenundConstraints

• BedingungenzurautomatischenAbleitungvonSubklassen- prädikatdefinierteSubklassen- attributdefinierteSubklassen

§ ErweiterungderAggregation(impliziertePrädikate)§ Assoziationskonzept

• Element-/TeilmengenbeziehungüberbeliebigeKlassen• MitgliedschaftsbedingungenundAbleitungsregeln

§ AlternativeNotationenfürdieindiesemKapiteleingeführtenKonzepteèWerdenandieserStellenichtweitervertieft

Informationssysteme2017 Kapitel2:Datenbankentwurf 47

Page 48: Vorlesung Informationssysteme Sommersemester 2017 · § Vorgehensweise bei DB-Entwurf und -Modellierung •Lebenszyklus •Informationserhebung § Entity-Relationship-Modell (ERM)

Entwurfsprinzipien§ Korrektheit• EntwurfsolldieMiniweltkorrektdarstellen• ErfordertinstensivenAustauschmitAnwendungsexperten

§ VermeidungvonRedundanz• DasgleicheKonzeptsolltenureinmalmodelliertwerden

- Bsp."Studenten":entweder"studiert-in"-Beziehungoder"FBR"-Attribut,abernichtbeides

• ableitbareBeziehungsolltennichtexplizitgemachtwerden• sonstGefahrvonInkonsistenzen,Speicherplatzverschwendung

§ Einfachheitistwichtig• VermeidungvonunnötigerDetaillierung• keineVerfeinerunginEntities/Relationships,wennnichtvonderAnwendungbenötigt

Informationssysteme2017 Kapitel2:Datenbankentwurf 48

Page 49: Vorlesung Informationssysteme Sommersemester 2017 · § Vorgehensweise bei DB-Entwurf und -Modellierung •Lebenszyklus •Informationserhebung § Entity-Relationship-Modell (ERM)

Zusammenfassung§ DB-Entwurfumfasst

• Informationsbedarfsanalyse• konzeptionellesDB-Schema(à Informationsmodell)• logischesDB-Schema• physischesDB-Schema(nichtdiskutiert)

§ ERM-Charakteristika• ModellierungbeziehtsichaufdieTypebene• RelevanteZusammenhängederMiniweltwerdendurchEntity- undRelationship-Mengenmodelliert.SiewerdengenauerdurchAttribute,Wertebereiche,Primärschlüssel/Schlüsselkandidatenbeschrieben

• KlassifikationvonBeziehungstypendientderSpezifikationvonstrukturellenIntegritätsbedingungen

• AnschaulicheEntwurfsdarstellungdurchER-Diagramme➭relativkargesInformationsmodell

49Informationssysteme2017 Kapitel2:Datenbankentwurf

Page 50: Vorlesung Informationssysteme Sommersemester 2017 · § Vorgehensweise bei DB-Entwurf und -Modellierung •Lebenszyklus •Informationserhebung § Entity-Relationship-Modell (ERM)

Zusammenfassung(2)§ EinführungweitererModellierungskonzepte

• VerfeinerungvonBeziehungendurchKardinalitätsrestriktionenundvorallemAbstraktionskonzepte

• DaserweiterteERMistsehrmächtigundumfasstvielebekannteModellierungskonzepte

§ AbstraktionskonzepteerlaubendiegenauereModellierungundOrganisationvonInformationen• Generalisierung/SpezialisierungmitVererbung,Mengeninklusion(Disjunktheit,Vollständigkeit)

• Aggregation(Teile-Ganzes-Beziehung)§ Integritätsbedingungen

• (E)ER-ModellermöglichtDefinitionvonstrukturellenBedingungen• beliebigelogischeBedingungennichtTeildes(formalen)ER-Modells

- höchstensüberKommentare/Annotationenspezifizierbar

50Informationssysteme2017 Kapitel2:Datenbankentwurf