24
Dr. Brigitte Mathiak Kapitel 2 Daten- und Informationsmodellierung

Dr. Brigitte Mathiak Kapitel 2 Daten- und Informationsmodellierung

Embed Size (px)

Citation preview

Page 1: Dr. Brigitte Mathiak Kapitel 2 Daten- und Informationsmodellierung

Dr. Brigitte Mathiak

Kapitel 2

Daten- und Informationsmodellierung

Page 2: 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

Page 3: Dr. Brigitte Mathiak Kapitel 2 Daten- und Informationsmodellierung

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

-

Page 4: Dr. Brigitte Mathiak Kapitel 2 Daten- und Informationsmodellierung

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 "

Page 5: Dr. Brigitte Mathiak Kapitel 2 Daten- und Informationsmodellierung

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

Page 6: Dr. Brigitte Mathiak Kapitel 2 Daten- und Informationsmodellierung

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

Page 7: Dr. Brigitte Mathiak Kapitel 2 Daten- und Informationsmodellierung

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

Page 8: Dr. Brigitte Mathiak Kapitel 2 Daten- und Informationsmodellierung

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

Page 9: Dr. Brigitte Mathiak Kapitel 2 Daten- und Informationsmodellierung

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

Page 10: Dr. Brigitte Mathiak Kapitel 2 Daten- und Informationsmodellierung

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

Page 11: Dr. Brigitte Mathiak Kapitel 2 Daten- und Informationsmodellierung

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

Page 12: Dr. Brigitte Mathiak Kapitel 2 Daten- und Informationsmodellierung

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

Page 13: Dr. Brigitte Mathiak Kapitel 2 Daten- und Informationsmodellierung

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

Page 14: Dr. Brigitte Mathiak Kapitel 2 Daten- und Informationsmodellierung

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

Page 15: Dr. Brigitte Mathiak Kapitel 2 Daten- und Informationsmodellierung

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

* * *

Page 16: Dr. Brigitte Mathiak Kapitel 2 Daten- und Informationsmodellierung

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

Page 17: Dr. Brigitte Mathiak Kapitel 2 Daten- und Informationsmodellierung

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

Page 18: Dr. Brigitte Mathiak Kapitel 2 Daten- und Informationsmodellierung

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

Page 19: Dr. Brigitte Mathiak Kapitel 2 Daten- und Informationsmodellierung

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

Page 20: Dr. Brigitte Mathiak Kapitel 2 Daten- und Informationsmodellierung

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

Page 21: Dr. Brigitte Mathiak Kapitel 2 Daten- und Informationsmodellierung

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

Page 22: Dr. Brigitte Mathiak Kapitel 2 Daten- und Informationsmodellierung

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

Page 23: Dr. Brigitte Mathiak Kapitel 2 Daten- und Informationsmodellierung

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

Page 24: Dr. Brigitte Mathiak Kapitel 2 Daten- und Informationsmodellierung

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)