Upload
mariele-henz
View
105
Download
0
Embed Size (px)
Citation preview
Dr. Brigitte Mathiak
Kapitel 2
Daten- und Informationsmodellierung
Datenbanken für Mathematiker, WS 11/12 Kapitel 3: Daten- und Informationsmodellierung 2
Lernziele
Kenntnis der Vorgehensweise beim DB-Entwurf
Grundkonzepte von UML Klassendiagrammen für Datenmodellierung
Kenntnis der Abstraktionskonzepte (Generalisierung, Aggregation)
Fähigkeit zur praktischen Anwendung der Konzepte– Erstellung von Modellen für gegebene Anwendungsszenarien– Festlegung der Primärschlüssel, Beziehungstypen, Kardinalitäten,
Existenzabhängigkeiten etc.– Interpretation gegebener Modelle
Allgemeine Vorgehensweise
Datenbanken für Mathematiker, WS 11/12 Kapitel 3: Daten- und Informationsmodellierung 3
reales System
Anforderungsermittlung und Analyse
Konzeptioneller Entwurf (Informationsmodellierung)
Logischer Entwurf (DB-Schema, externe Schema)
physischer Entwurf (internes Schema)
Anwendungserstellung, Systemintegration
Informationssystem
Verwendung
Ent
wur
fIm
ple
me
ntie
rung
Tests Evaluationen
AuswertungenModifikationen
-
Datenbanken für Mathematiker, WS 11/12 Kapitel 3: Daten- und Informationsmodellierung 4
Informationsmodellierung
Darstellungselemente + Regeln:- Objekte und Beziehungen (Relationships)- Klassen von Objekten / Beziehungen- Eigenschaften (Attribute)
Informationen über Objekte und Beziehungen nur wenn:- relevant- unterscheidbar und identifizierbar, selektiv beschreibbar
Zusammenhänge
Sachverhalte Gegenstände
Informationen
PersonenTatsachen
Formalisierung
Objekte
Beziehungen
Attribute
Vorgänge, Veränderungen..
" Miniwelt "
Datenbanken für Mathematiker, WS 11/12 Kapitel 3: Daten- und Informationsmodellierung 5
Abstraktionskonzepte
Informations- und Datenmodelle basieren auf drei grundlegenden Abstraktionskonzepten:
Klassifikation: fasst Objekte (Entities, Instanzen) mit gemeinsamen Eigenschaften zu einem neuen (Mengen-) Objekt (Entity-Menge, Klasse, Objekttyp) zusammen.– Instanzen/Objekten einer Klasse unterliegen gleicher Struktur (Attribute),
gleichen Integritätsbedingungen, gleichen Operationen– mathematisch: Mengenbildung
Aggregation: Zusammenfassung potentiell unterschiedlicher Teilobjekte (Komponenten) zu neuem Objekt
– mathematisch: Bildung von kartesischen Produkten
Generalisierung: Teilmengenbeziehungen zwischen Elementen verschiedener Klassen– mathematisch: Bildung von Potenzmengen (bzw. Teilmengen)– wesentlich: Vererbung von Eigenschaften an Teilmengen
Datenbanken für Mathematiker, WS 11/12 Kapitel 3: Daten- und Informationsmodellierung 6
Objektbeschreibung
Uni-Angestellte
- Anzahl: 1000
- Attribute
PersonalNummer
• Typ: char
• Länge: 9
• Wertebereich:
0...999.999.999
• Anzahl Wiederholungen: 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
Datenbanken für Mathematiker, WS 11/12 Kapitel 3: Daten- und Informationsmodellierung 7
Beziehungsbeschreibung: prüfen
Beteiligte Objekte:
- Professor als Prüfer
- Student als Prüfling
- Vorlesung als Prüfungsstoff
Attribute der Beziehung:
- Datum
- Uhrzeit
- Note
Anzahl: 100 000 pro Jahr
Datenbanken für Mathematiker, WS 11/12 Kapitel 3: Daten- und Informationsmodellierung 8
Prozeßbeschreibungen: Zeugnisausstellung
Häufigkeit: halbjährlich
benötigte Daten Prüfungen
Studienordnungen
Studenteninformation
...
Priorität: hoch
Zu verarbeitende Datenmenge 500 Studenten
3000 Prüfungen
10 Studienordnungen
Datenbanken für Mathematiker, WS 11/12 Kapitel 3: Daten- und Informationsmodellierung 9
Unified Modeling Language (UML)
standardisierte graphische Notation / Sprache zur Beschreibung objektorientierter Software-Entwicklung
Kombination unterschiedlicher Modelle bzw. Notationen, u.a.– Booch– Rumbaugh (OMT)– Jacobson (UseCases)
Standardisierung durch Herstellervereinigung OMG (Object Management Group):
– 1997: UML 1.1– 2001: UML 1.4– 2003: UML 2.0
Infos: www.uml.org
J. Rumbaugh, I. Jacobson, Grady Booch:The Unified Modeling Language Reference Manual (2nd Edition)
Addison-Wesley, 2004
Datenbanken für Mathematiker, WS 11/12 Kapitel 3: Daten- und Informationsmodellierung 10
UML: Bestandteile
UML umfasst Modellelemente (Klassen, Interfaces, Anwendungsfälle ...) Beziehungen (Assoziationen, Generalisierung, Abhängigkeiten ...) und Diagramme
Anforderungen
Analyse
Entwurf
Implementierung
Software-Entwicklung
Anwendungsfälle
KlassendiagrammeModularisierung
Klassendiagrammeverfeinert
KomponentendiagrammeCode (Klassendefinition)
Aktivitäten
SzenarienSequenzdiagramme
Kooperations-,Zustandsdiagramme
Verteilungsdiagramme,Code (Methoden)
Objektstruktur Objektverhalten
Klassensymbol: Angabe von Klassenname, Attribute (optional),Methoden (optional)
i. a. werden nur relevante Details gezeigt
Analoge Darestellung von Klasseninstanzen (Objekten) keine Methodenangabe
Datenbanken für Mathematiker, WS 11/12 Kapitel 3: Daten- und Informationsmodellierung 11
UML: Darstellung von Klassen und Objekten
Student Student
MatrNr: intName: String
Student
semester(): intsumSWS(): short
Student
semester(): intsumSWS(): short
MatrNr: intName: String
rudi :Student S2: Student
MatrNr: 12345Name: Maier
Datenbanken für Mathematiker, WS 11/12 Kapitel 3: Daten- und Informationsmodellierung 12
UML: Darstellung von Klassen (2)
Detaildarstellung auf Implementierungsebene Attributspezifikation:
Sichtbarkeit Name: Typ = Default-Wert { Eigenschaften } Operationen:
Sichtbarkeit Name (Parameterliste) : Rückgabeausdruck { Eigenschaften } Sichtbarkeit: öffentlich / public (+), geschützt / protected (#), privat (-) unterstrichen: Klassen-Attribute / -Operationen Darstellung von Bedingungen (Constraints) innerhalb geschweifter { .. }
Windowsize: Areavisibility: Boolean
Window
display()hide()
+size: Area = (100,100)#visibility: Boolean = false+default-size: Rectangle-xptr: Xwindow*
Window{abstrakt, autor=Joe}
+display()+create()-attachXWindow(xwin:Xwindow*)
Datenbanken für Mathematiker, WS 11/12 Kapitel 3: Daten- und Informationsmodellierung 13
ArbeitetIn
Assoziationsname
UML: Assoziationen
Repräsentation von Beziehungen (relationships)optional: Festlegung eines Assoziationsnamens, seiner
Leserichtung (bzw.), von Rollennamen, Sichtbarkeit von Rollen (+, -, #) sowie Kardinalitätsrestriktionen
Klasse 1 Klasse 2Rolle 1 Rolle 2
Person AbteilungRolle 1 Rolle 2
Datenbanken für Mathematiker, WS 11/12 Kapitel 3: Daten- und Informationsmodellierung 14
R
min2..max2
UML: Kardinalitätsrestriktionen
Verfeinerung der Semantik eines Beziehungstyps durch Kardinalitätsrestriktionen: x .. y mindestens x, maximal y Objekte nehmen an der Beziehung teil 0 ..* optionale Teilnahme an der Beziehung (alternativ ' * ' = 'many') 1 ..* obligatorische teilnahme an der Beziehung 0 .. 1 "es kann nur einen geben" (oder keinen) 1 genau 1
für binäre Assoziation: Multiplizität min1..max1 (min2..max2) bedeutet, dass zu jedem E2 (E1) - Element
wenigstens min1 (min2) und höchstens max1 (max2) Instanzen von E1 (E2) enthalten sein müssen (mit 0 <= mini <= maxi, maxi >= 1)
Bezugnahme zur „gegenüberliegenden“ Klasse
.. erlaubt Unterscheidung, ob Beziehungsteilnahme optional (Mindestkardinalität = 0) oder obligatorisch (Mindestkardinalität 1 ) ist
E1 E2
min1..max1
e1 nimmt an [min2, max2] Beziehungen vom Typ R teil
e2 nimmt an [min1, max1] Beziehungen vom Typ R teil
notwendig für Beziehungen mit eigenen Attributen gestrichelte Linie Name der Assoziations-Klasse entspricht dem der Assoziation
alternativ:
Datenbanken für Mathematiker, WS 11/12 Kapitel 3: Daten- und Informationsmodellierung 15
UML: Assoziations-Klassen
Studenten Professoren** Prüfungstermin
Studenten Professoren*
Prüfungstermin
* * *
Datenbanken für Mathematiker, WS 11/12 Kapitel 3: Daten- und Informationsmodellierung 16
UML: N-stellige Assoziationen
Multiplizitätsangabe einer Klasse regelt bei n-stelligen Beziehungen die Anzahl möglicher Instanzen (Objekte) zu einer fixen Kombination von je einem Objekt der übrigen n-1 Assoziationsenden:
Studenten dürfen bei einem Professor nur ein Seminarthema bearbeiten Studenten dürfen dasselbe Thema nur bei einem Professor bearbeiten
Professoren können ein Thema an mehrere Studenten vergeben Ein Thema kann von mehreren Professoren vergeben werden – aber an
unterschiedliche Studenten
Studenten Professoren
Seminarthemen
0..1
10..*
Datenbanken für Mathematiker, WS 11/12 Kapitel 3: Daten- und Informationsmodellierung 17
UML: N-stellige Assoziationen (2)
Studenten dürfen bei einem Professor nur ein Seminarthema bearbeiten Studenten dürfen dasselbe Thema nur bei einem Professor bearbeiten Professoren können ein Thema an mehrere Studenten vergeben Ein Thema kann von mehreren Professoren vergeben werden
Studenten Professoren
Seminarthemen
0..110..*
Studenten Professoren
Seminarthemen
?
??record
?
?
?
record
Datenbanken für Mathematiker, WS 11/12 Kapitel 3: Daten- und Informationsmodellierung 18
UML: Is-A Beziehungen
Is-A-Beziehung zwischen Klassen (Entity-Mengen) E1 is-a E2 bedeutet, dass jedes Objekt aus E1 auch ein Objekt aus E2 ist,
jedoch mit zusätzlichen strukturellen Eigenschaften Substitutionsprinzip: alle Instanzen einer Subklasse sind auch
Instanzen der Superklasse
Vererbung von Eigenschaften (Attribute, Integritätsbedingungen, Methoden ...) der Superklasse an alle Subklassen Wiederverwendbarkeit, Erweiterbarkeit keine Wiederholung von Beschreibungsinformation, Fehlervermeidung
Subklasse 1
Superklasse
Subklasse 1 Subklasse 1
Superklasse
Subklasse 1 PKW
Fahrzeug
LKW
KennzeichenHalterBaujahr
Datenbanken für Mathematiker, WS 11/12 Kapitel 3: Daten- und Informationsmodellierung 19
Spezialisierung: Definitionen
Klasse: Menge von Entities (Entity-Mengen, Superklassen,Subklassen)
Subklasse: Klasse S, deren Entities eine Teilmenge einer Superklasse G sind (is-a-Beziehung), d.h. S G, d. h. jedes Element (Ausprägung) von S ist auch in G.
Spezialisierung: Z (G) = {S1, S2, ... Sn}Menge von Subklassen Si mit derselben Superklasse G
Zusätzliche Integritätsbedingungen: Vollständigkeit(Überdeckung) und Disjunktheit von Spezialisierungen
Z heisst vollständig (complete), falls gilt: G = Si i = 1..nandernfalls partiell (incomplete).
Z ist disjunkt (disjoint), falls Si ∩ Sj = { } für i ≠ jandernfalls überlappend (overlapping).
Datenbanken für Mathematiker, WS 11/12 Kapitel 3: Daten- und Informationsmodellierung 20
Arten von Spezialisierungen
X
Y Z
disjunkte Spezialisierungen (Partitionierung)
Subklassen
überlappende Spezialisierungen
vollständig, disjunkt (complete, disjoint)
Y ZX
Y ZX
vollständig, überlappend (complete, overlapping)
partiell, disjunkt (incomplete, disjoint)
YZ
XY Z
X
partiell, überlappend (incomplete, overlapping)
Superklasse
Datenbanken für Mathematiker, WS 11/12 Kapitel 3: Daten- und Informationsmodellierung 21
UML: Part-Of Beziehungen
Part-of-Beziehung (Teil-von-Beziehung) zwischen Komponenten und Aggregatobjekten
Elemente einer Subkomponente sind auch Elemente aller Superkomponenten dieser Subkomponente
Referenzsemantik ermöglicht, dass ein Objekt gleichzeitig Elemente verschiedener Komponenten bzw. Subkomponente von mehreren Superkomponenten sein kann - Netzwerke, (n:m) Beziehungen möglich
Wertesemantik (Komposition): Teil-Objekt gehört genau zu einem Aggregat-Objekt; Existenzabhängigkeit!
Aggregatklasse
Komp. Klasse 1 Komp. Klasse 1
Aggregatklasse
Komp. Klasse 1 Komp. Klasse 1
Aggregation Komposition
Datenbanken für Mathematiker, WS 11/12 Kapitel 3: Daten- und Informationsmodellierung 22
Kombination von Generalisierung und Aggregation
Rahmen
Rohre Lenker
Räder
Felgen Speichen
Fahrräder
Unmotorisierte Fahrzeuge
Segler PKW
Motorisierte Fahrzeuge
LKW
Fahrzeuge
Datenbanken für Mathematiker, WS 11/12 Kapitel 3: Daten- und Informationsmodellierung 23
Kombination von Generalisierung und Aggregation
Rahmen
Rohre Lenker
Räder
Felgen Speichen
Fahrräder
Unmotorisierte Fahrzeuge
Segler PKW
Motorisierte Fahrzeuge
LKW
Fahrzeuge
Datenbanken für Mathematiker, WS 11/12 Kapitel 3: Daten- und Informationsmodellierung 24
Zusammenfassung
DB-Entwurf umfasst Informationsanalyse konzeptioneller Entwurf (-> Informationsmodell) logischer Entwurf (-> logisches DB-Schema) physischer Entwurf (-> physisches DB-Schema)
UML-Klassendiagramme: standardisiert Spezifikation von Verhalten (Methoden), nicht nur strukturelle Aspekte genauere Kardinalitätsrestriktionen (Multiplizitäten) Unterstützung der Abstraktionskonzepte der
Generalisierung / Spezialisierung, Aggregation / Komposition
keine festen Regeln zur eigentlichen Informationsmodellierung(i.A. mehrere Modellierungsmöglichkeiten einer Miniwelt)