1 / 25

Kapitel 3

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

Download Presentation

Kapitel 3

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 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 Datenbanken, SS 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, SS 12 Kapitel 3: Daten- und Informationsmodellierung

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

  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 Software-Entwicklung AnforderungenAnalyse 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

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

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

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

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

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

  16. Ü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

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

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

  20. Ü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

  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 Komposition Aggregation Datenbanken, SS 12 Kapitel 3: Daten- und Informationsmodellierung

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

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

  24. Ü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

  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) Datenbanken, SS 12 Kapitel 3: Daten- und Informationsmodellierung

More Related