Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Daten- und Informationsmodellierung

Ähnliche Präsentationen


Präsentation zum Thema: "Daten- und Informationsmodellierung"—  Präsentation transkript:

1 Daten- und Informationsmodellierung
Kapitel 2 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 Datenbanken für Mathematiker, WS 11/12 Kapitel 3: Daten- und Informationsmodellierung

3 Allgemeine Vorgehensweise
reales System Auswertungen Modifikationen Anforderungsermittlung und Analyse Konzeptioneller Entwurf (Informationsmodellierung) Entwurf - Logischer Entwurf (DB-Schema, externe Schema) physischer Entwurf (internes Schema) Implementierung Tests Evaluationen Anwendungserstellung, Systemintegration Informationssystem Verwendung Datenbanken für Mathematiker, WS 11/12 Kapitel 3: Daten- und Informationsmodellierung

4 Informationsmodellierung
Informationsmodellierung Objekte " Miniwelt " Zusammenhänge Attribute Gegenstände Sachverhalte Formalisierung Informationen Tatsachen Personen Beziehungen Vorgänge, Veränderungen.. 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 Datenbanken für Mathematiker, WS 11/12 Kapitel 3: Daten- und Informationsmodellierung

5 Abstraktionskonzepte
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 Gehalt Anzahl: 1000 Typ: dezimal
Attribute PersonalNummer Typ: char Länge: 9 Wertebereich: 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 Definiertheit: 100% Datenbanken für Mathematiker, WS 11/12 Kapitel 3: Daten- und Informationsmodellierung

7 Beziehungsbeschreibung: prüfen
Beziehungsbeschreibung: prüfen Beteiligte Objekte: Professor als Prüfer Student als Prüfling Vorlesung als Prüfungsstoff Attribute der Beziehung: Datum Uhrzeit Note Anzahl: pro Jahr Datenbanken für Mathematiker, WS 11/12 Kapitel 3: Daten- und Informationsmodellierung

8 Prozeßbeschreibungen: Zeugnisausstellung
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)
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: 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 Software-Entwicklung Anforderungen  Analyse  Entwurf  Implementierung Anwendungsfälle Aktivitäten Klassendiagramme Modularisierung Szenarien Sequenzdiagramme Klassendiagramme verfeinert Kooperations-, Zustandsdiagramme Komponentendiagramme Code (Klassendefinition) Verteilungsdiagramme, Code (Methoden) Objektstruktur Objektverhalten Datenbanken für Mathematiker, WS 11/12 Kapitel 3: Daten- und Informationsmodellierung

11 UML: Darstellung von Klassen und Objekten
Klassensymbol: Angabe von Klassenname, Attribute (optional), Methoden (optional) i. a. werden nur relevante Details gezeigt Analoge Darestellung von Klasseninstanzen (Objekten) keine Methodenangabe Student Student Student Student MatrNr: int Name: String MatrNr: int Name: String semester(): int sumSWS(): short semester(): int sumSWS(): short rudi :Student S2: Student MatrNr: 12345 Name: 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 { .. } Window Window Window {abstrakt, autor=Joe} size: Area visibility: Boolean +size: Area = (100,100) #visibility: Boolean = false +default-size: Rectangle -xptr: Xwindow* display() hide() +display() +create() -attachXWindow(xwin:Xwindow*) Datenbanken für Mathematiker, WS 11/12 Kapitel 3: Daten- und Informationsmodellierung

13 Repräsentation von Beziehungen (relationships)
UML: Assoziationen Repräsentation von Beziehungen (relationships) optional: Festlegung eines Assoziationsnamens, seiner Leserichtung (bzw.), von Rollennamen, Sichtbarkeit von Rollen (+, -, #) sowie Kardinalitätsrestriktionen Klasse 1 Assoziationsname Klasse 2 Rolle 1 Rolle 2  ArbeitetIn Person Abteilung Rolle 1 Rolle 2 Datenbanken für Mathematiker, WS 11/12 Kapitel 3: Daten- und Informationsmodellierung

14 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 "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 nimmt an [min2, max2] Beziehungen vom Typ R teil e2 nimmt an [min1, max1] Beziehungen vom Typ R teil E1 min1..max1 min2..max2 E2 R Datenbanken für Mathematiker, WS 11/12 Kapitel 3: Daten- und Informationsmodellierung

15 UML: Assoziations-Klassen
notwendig für Beziehungen mit eigenen Attributen gestrichelte Linie Name der Assoziations-Klasse entspricht dem der Assoziation alternativ: Studenten * Prüfungstermin * Professoren Prüfungstermin Studenten Professoren * * * * 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 Seminarthemen 0..1 Studenten 0..* 1 Professoren 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 Seminarthemen 0..1 Studenten 0..* 1 Professoren record Seminarthemen ? ? Studenten ? ? record ? ? Professoren Datenbanken für Mathematiker, WS 11/12 Kapitel 3: Daten- und Informationsmodellierung

18 Is-A-Beziehung zwischen Klassen (Entity-Mengen)
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 Kennzeichen Halter Baujahr Superklasse Superklasse Fahrzeug Subklasse 1 Subklasse 1 Subklasse 1 Subklasse 1 PKW LKW 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..n andernfalls partiell (incomplete). Z ist disjunkt (disjoint), falls Si ∩ Sj = { } für i ≠ j andernfalls überlappend (overlapping). Datenbanken für Mathematiker, WS 11/12 Kapitel 3: Daten- und Informationsmodellierung

20 Arten von Spezialisierungen
X Superklasse Y Z Subklassen disjunkte Spezialisierungen (Partitionierung) überlappende Spezialisierungen X X Y Z Y Z vollständig, disjunkt (complete, disjoint) vollständig, überlappend (complete, overlapping) X X Y Z Z Y partiell, disjunkt (incomplete, disjoint) partiell, überlappend (incomplete, overlapping) 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 Aggregatklasse Komp. Klasse 1 Komp. Klasse 1 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
Fahrzeuge Unmotorisierte Fahrzeuge Motorisierte Fahrzeuge Segler Fahrräder LKW PKW Rahmen Räder Rohre Lenker Felgen Speichen Datenbanken für Mathematiker, WS 11/12 Kapitel 3: Daten- und Informationsmodellierung

23 Kombination von Generalisierung und Aggregation
Fahrzeuge Unmotorisierte Fahrzeuge Motorisierte Fahrzeuge Segler Fahrräder LKW PKW Rahmen Räder Rohre Lenker Felgen Speichen Datenbanken für Mathematiker, WS 11/12 Kapitel 3: Daten- und Informationsmodellierung

24  Zusammenfassung DB-Entwurf umfasst UML-Klassendiagramme:
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) Datenbanken für Mathematiker, WS 11/12 Kapitel 3: Daten- und Informationsmodellierung


Herunterladen ppt "Daten- und Informationsmodellierung"

Ähnliche Präsentationen


Google-Anzeigen