Entwurf: Fortgeschrittene Konzepte

Ähnliche Dokumente
Erweiterte Entity-Relationship- und UML-Modellierung. Copyright 2004 Shamkant Ramez Elmasri B. Navathe and Shamkant Navathe.

Rückblick: Entity-Relationship-Modell

Theorie zur Übung 8 Datenbanken

8. Objektorientierte Programmierung. Informatik II für Verkehrsingenieure

Java: Vererbung. Teil 1: Grundlagen, UML.

Kapitel 4: Konzeptueller Datenbankentwurf

Objektorientierte Modellierung (1)

Kapitel DB:IV (Fortsetzung)

Kurzeinführung in UML

Vorlesung Informationssysteme

Einführung in Datenbanken

fbi h_da Datenbanken Kapitel 2: Semantische Datenmodellierung Schestag Datenbanken (Bachelor) Kapitel 2-1

Wegweisende Arbeiten in der Softwaretechnik Peter P. Chen Entity Relationship Modellierung

Kapitel DB:III (Fortsetzung)

Ein Schlüssel ist eine Menge von Attributen (also eines oder mehrere), die eine Datenzeile (Tupel) einer Tabelle eindeutig identifiziert

Datenbanksysteme I, SS 2004

Java. Prof. Dr. Stefan Enderle NTA Isny

EinfÅhrung in die objektorientiere Programmierung (OOP) unter Delphi 6.0. EDV Kurs 13/2

Software-Engineering

Aufgabe 1: Strukturmodellierung mittels Klassendiagramm Wiederholen Sie das Kapitel aus der Vorlesung, das sich mit dem Klassendiagramm beschäftigt.

Übungen Softwaretechnik I

Programmiersprache 2 (C++) Prof. Dr. Stefan Enderle NTA Isny

Jason T. Roff UML. IT Tutorial. Übersetzung aus dem Amerikanischen von Reinhard Engel

Das Entity-Relationship-Modell

Entity-Relationship-Modell. Ein Studierender kann (oder muss) mehrere Vorlesungen hören. Eine Vorlesung wird i.a. von mehrerer Studierenden gehört.

2. Datenbankmodelle für den Entwurf

Das Entity-Relationship-Modell (ERM)

ERM Modellierung Teil 2

Universität Stuttgart Institut für Automatisierungstechnik und Softwaresysteme Prof. Dr.-Ing. M. Weyrich

Einführung in das Entity-Relationship-Modell

Muster in der Software Technik. Grundlegende Konzepte der Software Entwicklung und Objekt Orientierung

Anwendungsentwicklung mit Java. Grundlagen der OOP, Vererbung, Schnittstellen, Polymorphie

4 Grundlagen der Datenbankentwicklung

2. Informationsmodellierung mit Entity-Relationship-Modell und UML

Datenbanken. Semantische Datenmodellierung:

Beziehungen zwischen Objekten

Java Einführung Objektorientierte Grundkonzepte

2 Das Entity-Relationship-Modell

Datenmodelle. Einführung in das Entity-Relationship-Modell. Datenbankmodelle. Beispiel für ein ER-Schema. Kunde( Meier, , ) 41, Meier

Das Entity-Relationship-Modell. Prof. Dr. T. Kudraß 1

Kapitel DB:III. III. Konzeptueller Datenbankentwurf

Teil II: OOP und JAVA (Vorlesung 9)

3. Spezielle ER-Modelle und Tabellenableitung. Transformation von ER-Diagrammen in Relationen

Objektorientierte Programmierung. Kapitel 3: Syntaxdiagramme und Grammatikregeln

10 Datenbanksysteme Datenbanken und Datenbanksysteme

Wirtschaftsinformatik 2 Modellierung betrieblicher Informationssysteme - MobIS (theoretische Aspekte der Informationsmodellierung)

wenige Konzepte, keine Adressen, Anlehnung an C++ -Syntax Vererbung, Polymorphie/dynamisches Binden, umfangreiche Klassenbibliotheken

Einführung in die Informatik 2

Uni Duisburg-Essen Fachgebiet Informationssysteme Prof. Dr. N. Fuhr

Arbeitsblätter zu Teil I des Praktikums

Diskrete Strukturen Kapitel 2: Grundlagen (Relationen)

Vgl. Oestereich Kap 2.4 Seiten

Vorsemesterkurs Informatik

Handelsinformationssysteme

Vorlesung Datenstrukturen

Der Tabellenname wird in Grossbuchstaben geschrieben.

UML (Unified Modelling Language) von Christian Bartl

konzeptueller Entwurf mittels E/R-Modell einfache Funktionalitäten n-stellige Relationships (n>2) (siehe nächste zwei Folien) schwache Entities

Objektorientierte Analyse (OOA) Inhaltsübersicht

Programmierkurs Java. Vererbung. Prof. Dr. Stefan Fischer Institut für Telematik, Universität zu Lübeck

UML-Basics: Einführung in Objekt- Orientierte Modellierung mit der Unified Modeling Language

Grundlagen von Datenbankmodellen. 3. Datenbankmodelle für den Entwurf. Datenbankmodelle II. Klassische Datenbankmodelle sind speziell geeignet für

Mengenlehre. ALGEBRA Kapitel 1 MNProfil - Mittelstufe KZN. Ronald Balestra CH Zürich Name: Vorname:

3. Das Relationale Datenmodell

Grundlagen der UML-Modellierung. Modellierung. Elena Paslaru Seminar Praktische Modellierung SS

2. Datenmodellierung mit ERM. Motivation für Datenmodellierung. Begriffsklärung. Kardinalität/Komplexität von Beziehungstypen

Übungen Teil 1: ER-Modelle. Dozent: Stefan Maihack Dipl. Ing. (FH)

2.2.4 E/R-Diagramm. Im E/R-Diagramm müssen Entitytyp- und Beziehungstypnamen eindeutig sein. Beispiel: ANGEST arbeitet_in ABTEILUNG A A.

Aufgabe 1) Übung 4: 1.2

Fundamentals of Software Engineering 1

6.3 Entity-Relationship-Modell

mathematische Grundlagen der Modelltheorie: Mengen, Relationen, Funktionen

Vorlesung Datenbank-Entwurf Klausur

Notizen zu Transformationen und Permutationen. T (A) = {f : A A}

Programmieren in Java

Lineare Algebra 1. Detlev W. Hoffmann. WS 2013/14, TU Dortmund

Lineare Algebra I. - 1.Vorlesung - Prof. Dr. Daniel Roggenkamp & Falko Gauß. Monday 12 September 16

Inhaltsverzeichnis.

Anhang B. Relationenalgebraische Definitionen. B.1 Relationen

Unified Modeling Language 2

Objektorientierte Analyse am Beispiel Silent Kitchen Company

Kapitel 1. Grundlagen

Softwaretechnik. Fomuso Ekellem

Dieser Foliensatz darf frei verwendet werden unter der Bedingung, dass diese Titelfolie nicht entfernt wird.

Handout zur Unit Datenmodellierung Web-Technologien Datenmodellierung Prof. Dr. rer. nat. Nane Kratzke

UML. Weiteres Vorgehen im Projekt

Daten- und Informationsmodellierung

2 Das Entity-Relationship-Modell

01. Grundprinzipien der Vererbung

Verwandt, logisch kohärent, zweckspezifisch, an reale Welt orientiert. Entität kann in einer oder mehreren Unterklassen sein

Relationale Datenbanken Datenbankgrundlagen

Analysis II (FS 2015): ZUSAMMENHÄNGENDE METRISCHE RÄUME

Datenbanken: ER-Modell

4. Übung zu Software Engineering

SWE5 Slide 1. Software-Engineering. Vorlesung 5 vom Sebastian Iwanowski FH Wedel

Einführung in die Programmierung mit Java

Oracle JDeveloper 10 g

Informationsmodellierung

Datenbankmodelle 1. Das Entity-Relationship-Modell

(Objekt-Arten) Kinder Babynahrung Meistens Substantiva! meistens Verben! Attribute von Entity Mengen und Beziehungen. Autos. Name. Person.

Transkript:

Bisher: Entwurf als grafisches Diagramm mit Entitätsmengen (auch weiche) Beziehungsmengen Attribute Assoziationstypen, Beziehungstypen und ausschließlich 2 stellige Beziehungen Extended / Enhanced (Erweitertes) Entity Relationship Model (EER) Alle Konzepte des ER Modells Zusätzlich Unter /Oberklassen Spezialisierung / Generalisierung Kategorien (Verbundtypen) Vererbung von Attributen und Beziehungen Somit Konzepte der Objektorientierten Modellierung (Konzeptionellen Modellierung) 1. Prof. Jasper: Datenbanksysteme 1

: Unter und Oberklassen Die Elemente einer Entitätsmenge können anwendungsspezifisch sinnvoll unterteilt werden. Beispiele: Mitarbeiter in Programmierer, Systementwickler, Berater oder Team, Abteilungsleiter oder Angestellter bzw. Leiharbeiter InEER EER Diagrammenkönnendiese alsunterklassen bzw. Untertypen dargestellt werden: Mitarbeiter d d d Programmierer Systementwickler Berater Abteilungsleiter l Teamleiter Angestellter Leiharbeiter 1. Prof. Jasper: Datenbanksysteme 2

Jede Unterklasse repräsentiert eine Teilmenge von Mitarbeiter Mitarbeiter ist Oberklasse jeder dieser Unterklassen; es gibt somit folgende Ober /Unterklassen Beziehungen: Mitarbeiter / Programmierer Mitarbeiter / Berater Mitarbeiter / Teamleiter Mitabeiter / Angestellter Derartige Beziehungen nennt man auch IS A Beziehungen: Programmierer IS A Mitabeiter, Angestellter IS A Mitabeiter Wichtig: Ein Entity (Objekt), das Element einer Unterklasse ist, ist identisch zu einem Entity (Objekt) in der Oberklasse Das Element der Unterklasse ist in einer spezifischen Rolle Kein Element kann nur in einer Unterklasse existieren Ein Element einer Oberklasse kann in mehreren Unterklassen exisiteren, iit kann aber auch keiner Unterklasse angehören 1. Prof. Jasper: Datenbanksysteme 3

Eine Entität als Element einer Unterklasse erbt Alle Attribute dieser Entität als Element der Oberklasse Alle Beziehungen dieser Entität als Element der Oberklasse Beispiel: 1. Prof. Jasper: Datenbanksysteme 4

Spezialisierung ist die Definition einer Menge von Unterklassen einer Oberklasse basierend auf einem diskrimierenden Attribut Bi Beispiel: ilmitarbeitertyp t im obigen Bi Beispiel il Es kann mehrere Spezialisierungen geben; im obigen Beispiel drei Attribute der Unterklasse heißen spezielle oder lokale Attribute Beziehungen der Unterklasse heißen spezielle oder lokale Beziehungen Generalisierung ist die Umkehrung der Spezialsierung Mehrere Klassen mit gemeinsamen Eigenschaften werden zu einer Oberklasse generalisiert i Die ursprünglichen Klassen werden die Unterklasse Beispiel 1. Prof. Jasper: Datenbanksysteme 5

Falls wir die Zugehörigkeit einer Entität zu einer Unterklasse durch eine logische Bedingung definieren können, sprechen wir von einer prädikatbasierten Unterklasse (im Diagramm durch eine entsprechend beschriftete Kante dargestellt) Falls wir die Zugehörigkeit einer Entität zu einer Unterklasse durch Werte eines diskriminierenden Attributs definieren können, sprechen wir von einer attributdefinierten Spezialisierung Falls keine Bedingung die Elemente einer Unterklasse definiert, sprechen wirvon einer benutzerdefinierten i Unterklasse Zwei Eigenschaften können Spezialisierungen/Generalisierungen zugeordnet werden Disjunktheit: Die Elemente der Unterklassen sind disjunkt (als Kreis mit d dargestellt). Falls die Unterklassen nicht disjunkt sind sind sie überlappend (o für overlapping) Vollständigkeit: Die Abbildung auf die Unterklassen ist total, jedes Element muss in mind. einer Unterklasse existieren (dargestellt durch die doppelte Linie zur Verzweigung) g) oder die Abbildung ist partiell 1. Prof. Jasper: Datenbanksysteme 6

Als Ergebnis erhalten wir vier Typen: disjunkt/total, disjunkt/partiell, überlappend/total und überlappend/partiell Generalisierung ist in der Regel total Unterklassen können ebenfalls Unterklassen haben: Die Struktur ist dannentweder d eine Hierarchie (Klassenhierarchie) oder ein Verband (Klassenverband): Beispiele Vererbung isttransitivinder transitiv in Hierarchie bzw. imverband Hat eine Unterklasse mehrere Oberklassen sprechen wir von einer gemeinsamen Unterklasse In der Regel sprechen wir beim Ergebnis (EER Diagramm) nur noch von Spezialisierung g( (Generalisierung liefert das gleiche Ergebnis) 1. Prof. Jasper: Datenbanksysteme 7

Als weitere Modellierungsmöglichkeit gibt es den Verbund: Eine Unterklasse hat mehrere Oberklassen unterschiedlichen Typs Formal ist dieses eine (Mengen ) Vereinigung Beispiel: 1. Prof. Jasper: Datenbanksysteme 8

: Formalisierung Klasse: C ist einentitätstyp iä mitentitätsmenge iä (entweder Klasse, Oberklasse, Unterklasse oder Verbund) Unterklasse S von C ist definiert durch S erbt alle Attribute und Beziehungen von C Die Elemente von S sind Teilmenge der Elemente von C Eine Spezialsierung Z: Z = {S1, S2,, Sn} ist eine Menge von Unterklassen einer Oberklasse G; G ist Generalisierung der Unterklassen {S1, S2,, Sn} Z ist total falls: S1 S2 Sn = G; Ansonsten ist Z partiell Z ist disjunkt, falls: Si S2 die leere Menge ist für i j; Ansonsten ist Z überlappend Ein Verbund T ist eine Klasse, die Teilmenge der Vereiniung von n >1 Unterklassen ist T (D1 D2 Dn) 1. Prof. Jasper: Datenbanksysteme 9

ER/EER Diagramme stellen die Konzepte grafisch dar. DB Design Tools nutzen unterschiedliche Notationen Alternativ können UML Klassendiagramme genutzt werden Beispiele 1. Prof. Jasper: Datenbanksysteme 10