dr. brigitte mathiak kapitel 3 daten- und informationsmodellierung
TRANSCRIPT
Dr. Brigitte Mathiak
Kapitel 3
Daten- und Informationsmodellierung
Datenbanken, SS 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, SS 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, SS 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, SS 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, SS 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, SS 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, SS 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, SS 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, SS 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 Darstellung von Klasseninstanzen (Objekten) keine Methodenangabe
Datenbanken, SS 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, SS 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, SS 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, SS 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, SS 12 Kapitel 3: Daten- und Informationsmodellierung 15
UML: Assoziations-Klassen
Studenten Professoren** Prüfungstermin
Studenten Professoren*
Prüfungstermin
* * *
Punkte und DreieckeFarben von DreieckenTisch und TischbeinFahrzeug und RadBuch und BücherregalAutor und BuchAutor, Buch und BücherregalArbeiter und ArbeitgeberArbeiter, Arbeitgeber und Lohn
Datenbanken, SS 12 Kapitel 3: Daten- und Informationsmodellierung 16
Übung – Wie modelliert man…
Datenbanken, SS 12 Kapitel 3: Daten- und Informationsmodellierung 17
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, SS 12 Kapitel 3: Daten- und Informationsmodellierung 18
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, SS 12 Kapitel 3: Daten- und Informationsmodellierung 19
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
Dackel und HundWaldi und HundFrauen, Männer und MenschenFrauen, Männer und HochzeitAngestellter und Chef
Datenbanken, SS 12 Kapitel 3: Daten- und Informationsmodellierung 20
Übung – Wie modelliert man…
Datenbanken, SS 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, SS 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, SS 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
Was ist die Beziehung zwischen Deckel und Topf?Raum und Tisch?Baum und Blatt?Buch und Buchstabe?Buch und Titel?Dackel und Hund?Lassie und Hund?Buch und Lesen?Beamer, Sehen und Student?Auto, Fahrer, Geschwindigkeit?Party, Haus, Gast, Geburtstag?…
Datenbanken, SS 12 Kapitel 3: Daten- und Informationsmodellierung 24
Übung
Datenbanken, SS 12 Kapitel 3: Daten- und Informationsmodellierung 25
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)