HPI MOOC. n-äre Relationships. Rollen von Relationships. Konvertierung in binäre Relationships. Attribute an Relationships

HPI MOOC • n-äre Relationships • Rollen von Relationships • Konvertierung in binäre Relationships • Attribute an Relationships Datenbanksysteme für H...
13 downloads 0 Views 308KB Size
HPI MOOC • n-äre Relationships • Rollen von Relationships • Konvertierung in binäre Relationships • Attribute an Relationships

Datenbanksysteme für Hörer anderer Fachrichtungen WS 2016/2017

30.10.2016

Entwurfskriterien Regeln zur Klassifikation von Entities und Attributen: Entities sollten deskriptive Informationen enthalten. Mehrwertige Attribute sollten als Entities klassifiziert werden. Attribute sollten der Entity zugeordnet werden, die sie am direktesten beschreibt.

Redundante Relationships sollten vermieden werden. Wie eine Informationseinheit repräsentiert wird, ist anwendungsabhängig. Datenbanksysteme für Hörer anderer Fachrichtungen WS 2016/2017

30.10.2016

Beispiel: Bestellung Als Entity: Kunde

1

platziert

N

Bestellung

M

Als Relationship:

für_ein 1

Produkt

Kunde

M

bestellt

Als Attribut: Kunde

M

N

Produkt

BestellNr kauft

N

Produkt

Datenbanksysteme für Hörer anderer Fachrichtungen WS 2016/2017

30.10.2016

Aufgabe für nächste Woche Lesen und versuchen Sie zu verstehen aus Datenmanagement mit SQL, HPI open.hpi.de/courses/sql: Woche 2: 2.08 – Designprinzipien Fragen dazu bitte nächste Woche! Datenbanksysteme für Hörer anderer Fachrichtungen WS 2016/2017

30.10.2016

Modellierung einer kleinen Beispielanwendung: E/R Studenten Vorlesungen Reale Welt: Universität

Konzeptuelle Modellierung MatrNr

Studenten

Vorlesungen

hören

Name VorlNr

Datenbanksysteme für Hörer anderer Fachrichtungen WS 2016/2017

Titel

30.10.2016

Modellierung einer kleinen Beispielanwendung: UML

Datenbanksysteme für Hörer anderer Fachrichtungen WS 2016/2017

30.10.2016

Datenmodellierung mit UML UML: Unified Modelling Language De-facto Standard für den objekt-orientierten Software-Entwurf Zentrales Konstrukt: Klasse (class), modelliert gleichartige Objekte hinsichtlich • Struktur (~Attribute) • Verhalten (~Operationen/Methoden)

Assoziationen zwischen Klassen entsprechen Beziehungstypen Generalisierungshierarchien Aggregation Cheat sheet Class Diagram: http://www.code-meets-design.de/wpcontent/uploads/2013/07/uml-classdiagram-cheat-sheet.pdf Datenbanksysteme für Hörer anderer Fachrichtungen WS 2016/2017

30.10.2016

UML Notation Assoziation:

*

*

Generalisierung: Aggregation: (Teil-von)

Komposition: (Spezialfall von Aggregation) Datenbanksysteme für Hörer anderer Fachrichtungen WS 2016/2017

30.10.2016

Multiplizität KlasseA +Att1 +Att2

KlasseB Assoziation 1 k..l

+op()

1..* i..j

+Att1 +Att2 +op()

Jedes Element von KlasseA steht mit mindestens i Elementen der KlasseB in Beziehung ... und mit maximal j vielen KlasseB-Elementen Analoges gilt für das Intervall k..l Multiplizitätsangabe ist analog zur einfachen Funktionalitätsangabe im ER-Modell Nicht zur (min,max)-Angabe: Vorsicht! Datenbanksysteme für Hörer anderer Fachrichtungen WS 2016/2017

30.10.2016

Assoziationsklasse Klasse A

Klasse B

+Att1 +Att2

+Att1 +Att2 *

*

+ op()

+ op()

Klasse C +Att1 +Att2 … für Attribute der Assoziation Datenbanksysteme für Hörer anderer Fachrichtungen WS 2016/2017

30.10.2016

Klassen und Assoziationen Studenten +MatrNr : int +Name : String +Semester : int +Notenschnitt() : float +SummeWochenstunden() : short

+Hörer

voraussetzen +Nachfolger

1..*

*

Vorlesungen

hören *

*

+VorlNr : int +Titel : String +SWS : int +AnzHörer() : int +DurchfallQuote() : float

Legende: Datenbanksysteme für Hörer anderer Fachrichtungen WS 2016/2017

+: public 30.10.2016

Komposition Studenten +MatrNr : int +Name : String +Semester : int

Prüfungen +Prüfling 1

absolviert

*

+Notenschnitt() : float +SummeWochenstunden() : short

+Note : Decimal +Datum : Date

*

+verschieben() *

...

+Prüfungsstoff

1

1 +Prüfer

Datenbanksysteme für Hörer anderer Fachrichtungen WS 2016/2017

...

30.10.2016

Begrenzungsflächendarstellung Polyeder 1 (4, ) Hülle N (1,1)

PolyID

Flächen (3, ) N

FlächenID

BeispielPolyeder

Begrenzung

M (2, 2) Kanten N (2, 2) StartEnde

M (3, ) Punkte

KantenID X Y Z

Datenbanksysteme für Hörer anderer Fachrichtungen WS 2016/2017

30.10.2016

Begrenzungsflächenmodellierung von Polyedern in UML Polyeder +PolyID : int +... +Gewicht() : float +Volumen() : float +skalieren() +verschieben() +rotieren()

Punkte Flächen Hülle 11

1..* 4..*

Kanten

+FlächenID : int +... +Umfang() : float +Volumen() : float

Begrenzung 2*

3..* *

+KantenID : int +... +Länge() : float

Datenbanksysteme für Hörer anderer Fachrichtungen WS 2016/2017

StartEnde 3..* *

2*

+X : float +Y : float +Z : float +rotieren() +verschieben() +skalieren()

30.10.2016

+H örer

+M atrN r : int +N ame : String +Semester : int

+N achfolger

1..*

*

Vo rlesung en

hören

+N otenschnitt() : float +SummeW ochenstunden() : short 1

voraussetzen

+Prüfling

+VorlN r : int +T itel : String +SW S : int

*

+AnzH örer() : int +D urchfallQ uote() : float

Prüfung en +N ote : D ecimal +D atum : D ate

*

*

1

*

*

+Prüfungsstoff gelesenVon

Stud enten

+verschieben() *

1

+Prüfer Pro fesso ren

Assistenten

+Boss

+F achgebiet : String +G ehalt() : short

*

arbeitenF ür

Ang estellte +PersN r : int +N ame : String +G ehalt() : short

1

+R ang : String +N otenschnitt() : float +G ehalt() : short +Lehrstundenzahl() : short

1 +D ozent

Anwendungsfälle (use cases) Fakultäten

-liest

* -Lehrveranstaltung -Hörer

*

1 Vorlesungen anbieten

ProfessorIn -prüft 1

«verwendet»

*

StudentIn 1 -Prüfling

*

*

Prüfungen durchführen

*

«verwendet»

Studienplan überprüfen

Datenbanksysteme für Hörer anderer Fachrichtungen WS 2016/2017

-Beisitzer 1

AssistentIn

30.10.2016

Interaktions-Diagramm: Modellierung komplexer Anwendungen

ProfessorIn

Bibliothek

Terminkalender

Raumvergabe

Vorlesungsverz.

entleihe_Buch()

freierTerm in()

reserv iereTerm in()

eintragenTerm in()

ankündigenVorlesung()

Datenbanksysteme für Hörer anderer Fachrichtungen WS 2016/2017

30.10.2016

Interaktions-Diagramm: Prüfungsdurchführung StudentIn

Prüfungsamt

Vorlesung

ProfessorIn

AssistentIn

anm elden() berechtigt?() gelesenVon()

inform ieren() freierTerm in() create()

Prüfung bestätigen() Beisitz()

benachrichtigen() bewerten() protokollieren()

UML Notationsübersicht: http://www.oose.de/nuetzliches/fachliches/uml/uml-notationsubersicht/ Datenbanksysteme für Hörer anderer Fachrichtungen WS 2016/2017

30.10.2016

Quiz UML Aus dem Stanford MOOC: https://lagunita.stanford.edu/courses/DB/UML/SelfPaced/ courseware/ch-unified_modeling_language/seq-quizuml/ Quiz Q2 + Q5 – Q7

Datenbanksysteme für Hörer anderer Fachrichtungen WS 2016/2017

30.10.2016