250 likes | 353 Views
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
E N D
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 – Erstellung von Modellen für gegebene Anwendungsszenarien – Festlegung der Primärschlüssel, Beziehungstypen, Kardinalitäten, Existenzabhängigkeiten etc. – Interpretation gegebener Modelle Datenbanken, SS 12 Kapitel 3: Daten- und Informationsmodellierung
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, SS 12 Kapitel 3: Daten- und Informationsmodellierung
Informationsmodellierung Objekte " Miniwelt " • 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 Attribute Gegenstände Sachverhalte Formalisierung Informationen Tatsachen Beziehungen Personen Vorgänge, Veränderungen.. Datenbanken, SS 12 Kapitel 3: Daten- und Informationsmodellierung
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
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
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
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
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
UML: Bestandteile • UML umfasst • Modellelemente (Klassen, Interfaces, Anwendungsfälle ...) • Beziehungen (Assoziationen, Generalisierung, Abhängigkeiten ...) und • Diagramme Software-Entwicklung AnforderungenAnalyse Entwurf Implementierung Aktivitäten Anwendungsfälle KlassendiagrammeModularisierung SzenarienSequenzdiagramme Kooperations-,Zustandsdiagramme Klassendiagrammeverfeinert KomponentendiagrammeCode (Klassendefinition) Verteilungsdiagramme,Code (Methoden) Objektverhalten Objektstruktur Datenbanken, SS 12 Kapitel 3: Daten- und Informationsmodellierung
UML: Darstellung von Klassen und Objekten • Klassensymbol: Angabe von Klassenname, Attribute (optional), • Methoden (optional) • i. a. werden nur relevante Details gezeigt • Analoge Darstellung 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, SS 12 Kapitel 3: Daten- und Informationsmodellierung
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{abstrakt, autor=Joe} Window size: Area visibility: Boolean +size: Area = (100,100) #visibility: Boolean = false +default-size: Rectangle -xptr: Xwindow* display() hide() +display() +create() -attachXWindow(xwin:Xwindow*) Datenbanken, SS 12 Kapitel 3: Daten- und Informationsmodellierung
UML: Assoziationen • Repräsentation von Beziehungen (relationships) • optional: Festlegung eines Assoziationsnamens, seiner Leserichtung (bzw.), von Rollennamen, Sichtbarkeit von Rollen (+, -, #) sowie Kardinalitätsrestriktionen Assoziationsname Klasse 1 Klasse 2 Rolle 1 Rolle 2 ArbeitetIn Person Abteilung Rolle 1 Rolle 2 Datenbanken, SS 12 Kapitel 3: Daten- und Informationsmodellierung
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 nimmt an [min2, max2] Beziehungen vom Typ R teil e2 nimmt an [min1, max1] Beziehungen vom Typ R teil min1..max1 min2..max2 E1 E2 R Datenbanken, SS 12 Kapitel 3: Daten- und Informationsmodellierung
UML: Assoziations-Klassen • notwendig für Beziehungen mit eigenen Attributen • gestrichelte Linie • Name der Assoziations-Klasse entspricht dem der Assoziation • alternativ: Prüfungstermin * * Studenten Professoren Prüfungstermin Studenten Professoren * * * * Datenbanken, SS 12 Kapitel 3: Daten- und Informationsmodellierung
Übung – Wie modelliert man… • Punkte und Dreiecke • Farben von Dreiecken • Tisch und Tischbein • Fahrzeug und Rad • Buch und Bücherregal • Autor und Buch • Autor, Buch und Bücherregal • Arbeiter und Arbeitgeber • Arbeiter, Arbeitgeber und Lohn Datenbanken, SS 12 Kapitel 3: Daten- und Informationsmodellierung
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 auchInstanzen der Superklasse • Vererbung von Eigenschaften (Attribute, Integritätsbedingungen, Methoden ...) der Superklasse an alle Subklassen • Wiederverwendbarkeit, Erweiterbarkeit • keine Wiederholung von Beschreibungsinformation, Fehlervermeidung KennzeichenHalterBaujahr Superklasse Fahrzeug Superklasse Subklasse 1 Subklasse 1 PKW LKW Subklasse 1 Subklasse 1 Datenbanken, SS 12 Kapitel 3: Daten- und Informationsmodellierung
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
Arten von Spezialisierungen X Superklasse Y Z Subklassen disjunkte Spezialisierungen (Partitionierung) überlappende Spezialisierungen X X Y Z Y Z vollständig, überlappend (complete, overlapping) vollständig, disjunkt (complete, disjoint) X X Y Z Z Y partiell, disjunkt (incomplete, disjoint) partiell, überlappend (incomplete, overlapping) Datenbanken, SS 12 Kapitel 3: Daten- und Informationsmodellierung
Übung – Wie modelliert man… • Dackel und Hund • Waldi und Hund • Frauen, Männer und Menschen • Frauen, Männer und Hochzeit • Angestellter und Chef Datenbanken, SS 12 Kapitel 3: Daten- und Informationsmodellierung
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 Komposition Aggregation Datenbanken, SS 12 Kapitel 3: Daten- und Informationsmodellierung
Kombination von Generalisierung und Aggregation Fahrzeuge Motorisierte Fahrzeuge Unmotorisierte Fahrzeuge LKW PKW Segler Fahrräder Rahmen Räder Rohre Lenker Felgen Speichen Datenbanken, SS 12 Kapitel 3: Daten- und Informationsmodellierung
Kombination von Generalisierung und Aggregation Fahrzeuge Motorisierte Fahrzeuge Unmotorisierte Fahrzeuge LKW PKW Segler Fahrräder Rahmen Räder Rohre Lenker Felgen Speichen Datenbanken, SS 12 Kapitel 3: Daten- und Informationsmodellierung
Übung • 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
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) Datenbanken, SS 12 Kapitel 3: Daten- und Informationsmodellierung