25
Dr. Brigitte Mathiak Kapitel 3 Daten- und Informationsmodellierung

Kapitel 3

Embed Size (px)

DESCRIPTION

Kapitel 3. Daten- und Informationsmodellierung. 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 - PowerPoint PPT Presentation

Citation preview

Page 1: Kapitel 3

Dr. Brigitte MathiakKapitel 3

Daten- und Informationsmodellierung

Page 2: Kapitel 3

Datenbanken, SS 12 Kapitel 3: Daten- und Informationsmodellierung 2

LernzieleKenntnis 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

Page 3: Kapitel 3

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

plem

entie

rung

Tests Evaluationen

AuswertungenModifikationen

-

Page 4: Kapitel 3

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 "

Page 5: Kapitel 3

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

Page 6: Kapitel 3

Datenbanken, SS 12 Kapitel 3: Daten- und Informationsmodellierung 6

Objektbeschreibung

Uni-Angestellte- Anzahl: 1000

- AttributePersonalNummer

• 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: neinRang

• Typ: String

• Länge: 4

• Anzahl Wiederholung: 0

• Definiertheit: 100%

• Identifizierend: nein

Page 7: Kapitel 3

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

Page 8: Kapitel 3

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

Page 9: Kapitel 3

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

Page 10: Kapitel 3

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

Page 11: Kapitel 3

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 StudentMatrNr: intName: String

Student

semester(): intsumSWS(): short

Student

semester(): intsumSWS(): short

MatrNr: intName: String

rudi :Student S2: Student

MatrNr: 12345Name: Maier

Page 12: Kapitel 3

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*)

Page 13: Kapitel 3

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

Page 14: Kapitel 3

Datenbanken, SS 12 Kapitel 3: Daten- und Informationsmodellierung 14

Rmin2..max2

UML: KardinalitätsrestriktionenVerfeinerung 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 E2min1..max1

e1 nimmt an [min2, max2] Beziehungen vom Typ R teil

e2 nimmt an [min1, max1] Beziehungen vom Typ R teil

Page 15: Kapitel 3

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

* * *

Page 16: Kapitel 3

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…

Page 17: Kapitel 3

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 SuperklasseVererbung 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

Page 18: Kapitel 3

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).

Page 19: Kapitel 3

Datenbanken, SS 12 Kapitel 3: Daten- und Informationsmodellierung 19

Arten von SpezialisierungenX

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

Page 20: Kapitel 3

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…

Page 21: Kapitel 3

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

Page 22: Kapitel 3

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

Page 23: Kapitel 3

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

Page 24: Kapitel 3

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

Page 25: Kapitel 3

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)