Daten- und Informationsmodellierung

Slides:



Advertisements
Ähnliche Präsentationen
Business Engineering Philipp Osl, Alexander Schmidt
Advertisements

ER-Modell: Objekte und Klassen
Datenbankentwurf Abstraktionsebenen des Datenbankentwurfs
Datenbankentwurf Abstraktionsebenen des Datenbankentwurfs
Zur Rolle der Sprache bei der Modellierung von Datenbanken
Generalisierung/Spezialisierung (1)
Rollenbasierter Entwurf am Beispiel eines benutzeradaptierbaren Hyperbooks Institut für Informatik Rechnergestützte Wissensverarbeitung Universität Hannover.
Kardinalität von binären Beziehungen (1)
Frank Simon, BTU Cottbus: Einführung in UML
spezielle Nutzersichten formale Ebene (deskriptive Regeln)
Datenmodellierung Externe Phase Informationsstruktur
Die Definitionsphase -Objektorientierte Analyse - Das statische Modell
Relationale und Objekt-relationale Datenbanken
Das Entity-Relationship-Modell
Manfred Thaller, Universität zu Köln Köln 28. Januar 2008
Daten- und Informationsmodellierung
Abhängigkeitsbeziehung
UML im Überblick – Dipl. Ing. Ulrich Borchert / FH Merseburg 1/22
Objektorientierte Konzepte und Notation in UML
Modellierung komplexer Realität mit Objekten
Übung Datenbanksysteme UML
Software-Technik: (fortgeschrittene) Klassendiagramme
Übung Datenbanksysteme WS 2002/ Übung Datenbanksysteme ER-Modellierung
Objektorientierte DBMS Klassen und Beziehungen Seminar: Verteilte Datenbanken Manuela Fischer.
RDF-Schema Seminar: „Semantic Web“ André Rosin,
ERM – Modellierung Teil 2
DVG Klassen und Objekte
Objektorientierte Analyse und Design mit der Unified Modelling Language (UML) Sandra Meißl
Kapitel 2: Konzeptuelle Modellierung
UML-Klassendiagramm: Assoziationen (1)
OO Analyse und Entwurf für Anwender
UML Begleitdokumentation des Projekts
Unified Modeling Language Einführung zu UML Was ist „UML“?
Visualisierung objektrelationaler Datenbanken
Prof. Dr. Gerhard Schmidt pres. by H.-J. Steffens Software Engineering SS 2009Folie 1 Objektmodellierung Objekte und Klassen Ein Objekt ist ein Exemplar.
6. Vorlesung: Statische Konzepte
Unified Modeling Language Repetition / Einführung zu UML
Datenbankentwurf Abstraktionsebenen des Datenbankentwurfs
Institut für Kartographie und Geoinformation Prof. Dr. Lutz Plümer Objektorientierte Konzepte/UML Geoinformation I Vorlesung 2 WS 2000/2001.
UML WS 09/10: Datenbanken vs MarkUp Dozent: Prof. Dr. Manfred Thaller
Datenbankentwurf Abstraktionsebenen des Datenbankentwurfs
OOP-Begriffe Abstraktion Modellieren Klasse Objekt Attribute Methoden
Vorlesung #2 Datenbankentwurf
SS 2009 – IBB4C Datenmanagement Fr 15:15 – 16:45 R Vorlesung #2 Datenbankentwurf.
SS 2010 – IBB4C Datenmanagement Fr 15:15 – 16:45 R Vorlesung #2 Datenbankentwurf.
SS 2004 Datenbanken 4W Mi 13:30 – 15:00 G 2.30 Vorlesung #3 ER Modellierung.
SS 2012 – IBB4C Datenmanagement Fr 15:15 – 16:45 R Vorlesung #3 ER Modellierung.
SS 2013 – IBB4B Datenmanagement Fr 17:00 – 18:30 R Vorlesung #3 ER Modellierung.
SS 2010 – IBB4C Datenmanagement Fr 15:15 – 16:45 R Vorlesung #3 ER Modellierung.
UML-Kurzüberblick Peter Brusten.
Paradigmenwechsel in der Unternehmensmodellierung Prof. Dr. Wolfgang Voigt Dipl.-Ing. Päd. Alexander Huwaldt UML Extrakt UML Seminar, Chemnitz
Software-Technik: (fortgeschrittene) Klassendiagramme
Datenbanksysteme für Hörer anderer Fachrichtungen
Informatik und Programmieren 3
1 Ausgangslage Vorgehensweise: Informell, pragmatisch, stark graphisch orientiert. Systemanalytischer Ausgangspunkt: Klassischer Systembegriff als Ansammlung.
Objektorientierte Modellierung mit UML
Klassen und Klassenstruktur
SS 2014 – IBB4C Datenmanagement Do 17:00 – 18:30 R Vorlesung #2 Datenbankentwurf.
SS 2014 – IBB4C Datenmanagement Do 17:00 – 18:30 R Vorlesung #3 ER Modellierung.
Sichtbarkeit einschränken
Gerhard Röhner September 2012
SS 2015 – IBB4C Datenmanagement Fr 17:00 – 18:30 R Vorlesung #2 Datenbankentwurf.
UML-Klassendiagramm: Klassen
Abstrakte Klassen und das Interface-Konzept
Technische Universität München, Informatik XI Angewandte Informatik / Kooperative Systeme Verteilte Anwendungen: Entwurf Dr. Wolfgang Wörndl
Technische Universität München Übung zur Einführung in die Informatik für Hörer anderer Fachrichtungen im Sommersemester 2010 Sitzung 6: Datenbanksysteme.
Vorlesung #2 ER –Modellierung (Datenbankentwurf)
Vorlesung #2 Datenbankentwurf
Vorlesung #3 ER Modellierung
 Präsentation transkript:

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

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

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

 Objektbeschreibung Uni-Angestellte Gehalt Anzahl: 1000 Typ: dezimal 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 Definiertheit: 100% Datenbanken für Mathematiker, WS 11/12 Kapitel 3: Daten- und Informationsmodellierung

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

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

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: www.uml.org 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

 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

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

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

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

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 E1 min1..max1 min2..max2 E2 R Datenbanken für Mathematiker, WS 11/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: Studenten * Prüfungstermin * Professoren Prüfungstermin Studenten Professoren * * * * Datenbanken für Mathematiker, WS 11/12 Kapitel 3: Daten- und Informationsmodellierung

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

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

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

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

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

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

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

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

 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