Chapter 2 Datenmodellierung

Ähnliche Dokumente
Datenmodellierung. Pierre Fierz. Das konzeptionelle Datenmodell. Das Entity-Relationship Modell (ERM) Entität und Attribut Beziehungen

Das Entity-Relationship Modell

Datenbanksysteme: Entwurf

Das konzeptionelle Datenmodell

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

Der Tabellenname wird in Grossbuchstaben geschrieben.

Einführung in die Datenorganisation. Informationssysteme

Theorie zur Übung 8 Datenbanken

Entwurf: Fortgeschrittene Konzepte

Rückblick: Entity-Relationship-Modell

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

ERM Modellierung Teil 2

Datenbankentwurf. Kapitel 3. Datenbankentwurf 76 / 508

Datenbankanwendungen werden oft über einen sehr langen Zeitraum (z.b. Jahrzehnte) eingesetzt

Einführung in Datenbanken

Einführung in die Datenbanktechnik

PRG2 Folien Zicari Teil 2 Einführung in Datenbanken SS 2007

Chapter 3 Das Relationenmodell

Modellierungskonzepte semantischer Datenmodelle. Semantische Datenmodelle. Das Entity-Relationship Modell

Entwurf von Relationalen Datenbanken (1) (mit dem Entity-Relationship-Modell)

Arbeiten mit einer Datenbank 1

2. Relationale Datenbanken

Entity Relationship Model

5.2 Entity-Relationship-Modell

Das Relationenmodell. Contents. Pierre Fierz. Attribute und Domänen. 1 Attribute und Domänen. Relationenschema, Relation und Tupel

Konzeptuelle Modellierung

Kapitel 6: Das E/R-Modell

Normalisierung Szenario [nach Zehnder; Informationssysteme und Datenbanken. Teubner, 1989]

ER-Modell, Normalisierung

Kapitel 3: Entity-Relationship-Modell

Kapitel 3: Datenbanksysteme

Grundlagen der Programmentwurfstechnik Fundamentals of Software Engineering 1

Introduction to Data and Knowledge Engineering Übung 1: Entity Relationship Model

Aufgabe 1) Übung 4: 1.2

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

Datenbanken 1. Kapitel 2: Datenbankentwurf. Ansprechpartner hat Name Adresse. Geschaeftspartner <pi> Characters (30) Characters (50) ist.

ERM/ERD Entity Relationship Model Entity Relationship Diagram.

3. Relationales Modell

Kapitel DB:IV (Fortsetzung)

Entity Relationship Modell (ERM) (Konzeptueller Datenbankentwurf)

Kurzeinführung in UML

Assoziationen in Java

Informatik IIa: Modellierung

Teil III Entity-Relationship-Modell

Grundlagen der Programmentwurfstechnik Fundamentals of Software Engineering 1

zu E 1 der Form (0, 1) erfüllen.

Disclaimer. 1 Allgemeine Grundlagen (8 Punkte) (3 Punkte) (3 Punkte) (2 Punkte)... 2

Inhalte der Veranstaltung

2. Datenmodellierung mit dem Entity-Relationship-Modell (E/R-Modell, ERM)

Medizininformatik Software Engineering

Kapitel 3: Datenbanksysteme

Informatik IIa: Modellierung

Rückblick: Datenbankentwurf

Universität Augsburg, Institut für Informatik WS 2009/2010 Prof. Dr. W. Kießling 06. Nov Dr. A. Huhn, F. Wenzel, M. Endres Lösungsblatt 2

Kapitel 3: Datenbanksysteme

3. Relationales Modell & Algebra

Datenbanksysteme I WS 17/18 HS-Übung. Universität Leipzig, Institut für Informatik Abteilung Datenbanken Prof. Dr. E. Rahm, V. Christen, M.

Kapitel 4: Konzeptueller Datenbankentwurf

Objektorientierte Modellierung (1)

Geoinformation I Datenmodellierung

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

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

Kapitel DB:III (Fortsetzung)

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

Datenmodelle dienen der Darstellung der Informationsstruktur, nicht der Darstellung der Informationen selbst. Motivation

3. Das Relationale Datenmodell

8. Objektorientierte Programmierung. Informatik II für Verkehrsingenieure

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

Kapitel 6: Das E/R-Modell. Skript 2003 Christian Böhm

3. Relationales Modell & Algebra

SWE4 Slide 1. Software-Engineering. Vorlesung 4 vom Sebastian Iwanowski FH Wedel

Vorlesung Informationssysteme

Daten Bank. 2. Vorlesung. Dr. Karsten Tolle PRG2 SS 2014

Inhaltsverzeichnis. 1. Fragestellung

Datenbanken Unit 3: Das relationale Modell

Entwicklung einer DB-Anwendung vergleichbar mit gewöhnlicher Anwendungsprogrammierung:

Informatik IIa: Modellierung

Datenbanken Unit 3: Das relationale Modell

Übungen Softwaretechnik I

Datenorientierter Ansatz. Datenbankentwurfsschritte. Welche Daten müssen im System verwaltet werden? Wie werden die Daten im System verändert?

Blöcke. Block Definitionsdiagramm. Dr. Beatrice Amrhein

Systemanalyse. - Folien zur Vorlesung für AI3 im Sommersemester Teil 5 -

Kapitel 6: Das E/R-Modell

Beziehungen. one-to-one. one-to-many. many-to-many. Beziehung. Beziehung. Beziehung. Beziehung. Relationales Datenmodell

Veranstaltung Pr.-Nr.: Datenmodellierung. Veronika Waue WS 07/08. Phasenschema der Datenbankentwicklung (grob) Informationsanalyse

Abstraktionsebenen des Datenbankentwurfs

Abteilung für Informationswirtschaft. Inhalt. Einheit 3 eer-modellierung. Datenmodell. Datenbank-Schema. Semantische Datenmodelle

Logischer Entwurf. Stufen der Entwicklung einer Datenbank. Inhalt. Übersicht. 1. Datenbank - Entwurf ( ER - Diagramm)

Software-Engineering

Datenbankentwurf. Kapitel 2. Datenbankentwurf 1 / 64

Datenbanken Unit 2: Das ER-Modell

Transkript:

Chapter 2 Lecture Datenbanken 14.02.2014 Suchen der Berner Fachhochschule Technik und Informatik 2.1

Die Lernziele dieses Kapitels. 1 Begriff des konzeptionellen s 2 Kennenlernen der Elemente des Entitäten und Attribute zwischen Entitäten Kardinalitäten Generalisierung und Spezialisierung 3 Erstellen eines ER- an Hand einer Liste von Anforderungen 4 Graphische Darstellung des ER- (ER-Diagramm) Suchen der 2.2

Contents 1 2 3 Suchen der Suchen der 4 2.3

Outline 1 2 3 Suchen der Suchen der 4 2.4

Eigenschaften des konzeptionellen s Modelliert einen klar definierten Realitätsausschnitt Ist unabhängig von den Anwendungen und vom eingesetzten Datenbanksytem Gegenstand des sind die Objekte mit ihren Eigenschaften und die zwischen den Objekten. Abstraktion: nur die zur Lösung der gegebenen Aufgaben relevanten Aspekte werden modelliert Suchen der 2.5

Allgemeines 1 Definieren der Aufgabe und festhalten der Anforderungen an die Daten in natürlicher Sprache 2 Abgrenzen des Realitätsausschnitts, das modelliert werden soll. Dieser Ausschnitt wird auch Miniwelt genannt. 3 Finden der wichtigsten Objekte und der zwischen diesen Objekten 4 Charakterisieren der Objekte und der 5 Übersetzen des konzeptuellen in ein konkretes Datenbankmodell Suchen der 2.6

Werkzeuge für die konzeptionelle Für die konzeptionelle bietet sich das an Wurde 1976 von Peter Chen speziell für die Entwicklung von Datenbanken konzipiert Ist graphisch darstellbar Hat nur wenige klare Konstruktionselemente Ist auch für nicht Informatiker verständlich Kann mit Hilfe des UML Klassendiagramms dargestellt werden Suchen der 2.7

Beispiel Als Beispiel werden wir Teile einer fiktiven Firma verwenden Die wichtigsten Objekte der Realität sind Mitarbeiter, Abteilungen und Projekte Die genaue Spezifikation des Systems werden wir später angeben und daraus ein vollständiges ER-Modell ableiten. Suchen der 2.8

Outline 1 2 3 Suchen der Suchen der 4 2.9

-Modell ERM ist ein sehr einfaches Modell mit nur wenigen Konstruktionselementen Die Konstruktionselemente sind: Entitäten Attribute Beziehungsattribute ERM kann in einem ER-Diagramm graphisch dargestellt werden. Für die graphische Darstellung werden wir UML Klassendiagramme verwenden. Suchen der 2.10

Entität Entitäten repräsentieren die für ein Informationssystem relevanten Informationsobjekte oder anders ausgedrückt eine Entität ist ein Objekt der realen Welt. Beispiele für Entitäten Ein Individuum: Ein Mitarbeiter, ein Manager, ein Vorgesetzter usw. Ein reales Objekt: Ein Standort, ein Produkt usw. Ein abstraktes Konzept: Ein Projekt, eine Woche usw. Ein Ereignis: Eine Kundenbestellung. Suchen der Definition Eine Entität ist ein individuelles und eindeutig identifizierbares Exemplar von Dingen, Personen oder Begriffen der realen oder der Vorstellungswelt, für welches applikationsbezogene Informationen von Bedeutung sind. 2.11

Attribut Ein Attribut ist einer Entität zugeordnet und trägt die einzelnen Informationen die zu einer Entität gehören. Beispiele für Attribute Name und Vorname sind Attribute der Entität Person Datum und Betrag sind Attribute der Entität Rechnung Definition Ein Attribut wird Entitäten zugeordnet und ermöglicht damit deren Charakterisierung Klassierung Identifizierung Ein Attribut besteht aus einem Namen und einer Menge von möglichen Attributwerten. Suchen der 2.12

Atomare vs. Zusammengesetzte Attribute Ein atomares Attribut wird nicht mehr in kleinere Informationseinheiten unterteilt. Bsp: Der Name einer Person ist atomar Ein Attribut heisst zusammengesetzt, wenn es sich in kleinere Informationseinheiten unterteilen lässt. Bsp: Die Adresse einer Person kann aufgeteilt werden in (Strasse, Nr, PLZ, Ort) Zusammengesetzte Attribute werden angewendet, wenn sowohl das ganze Attribut wie auch die einzelnen Teile im System verwendet werden. Suchen der 2.13

Mehrwertige Attribute Es gibt Attribute, die für eine gegebene Entität nur einen Wert besitzen Bsp. Eine Person hat genau ein Geburtsdatum. Es gibt aber auch Attribute, die für eine gegebene Entität mehrere Werte besitzen. Bsp: Eine Person kann mehrere Sprachen sprechen oder mehrere Hobbies betreiben. Es kann auch sein, dass der Wert eines Attributs für eine gegebene Entität unbekannt oder nicht vorhanden ist. In diesem Fall spricht man von NULL-Werten. Suchen der Bsp: Geburtsdatum einer Person kann unbekannt sein. 2.14

Domäne eines Attributs Ein Attribut kann nur gewisse definierte Werte annehmen Die Menge der möglichen Werte eines Attributs heisst Domäne oder Wertemenge Ein Element der Domäne nennt man Wert oder Konstante Für die Domäne eines Attributs A schreiben wir dom(a) Beispiele für Domänen Attribut Name Domäne Alle Folgen von maximal 20 Buchstaben, wobei der erste Buchstabe gross, die anderen klein geschrieben sind. Gewicht 1 Gewicht 300 Sprache {Deutsch, Französisch, Englisch} Suchen der 2.15

Domäne eines zusammengesetzten Attributs Jede Komponente des Attributs hat selbst eine Domäne Die Domäne des Attributs ist das kartesiche Produkt dieser Domänen. Ein Wert ist dann ein Tupel aus dieser Menge Beispiele für Adresse Die Adresse besteht aus den Komponenten Strasse, Nr, Plz, Ort. Die Domäne von Adresse ist also dom(adresse) = dom(strasse) dom(nr) dom(plz) dom(ort) Suchen der Ein Wert aus dieser Domäne: ("Dorfstrasse", 15, 8603, "Schwerzenbach") 2.16

Entitätstyp Entitäten stellen die Informationsobjekte unseres dar Eine Entität ist durch ihre Attribute (und nicht durch die Attributwerte) charakterisiert Dies führt zum Begriff des Entitätstyps Definition Die Menge aller Eigenschaften, die eine Entität charakterisiert, nennt man den Typ der Entität. Suchen der 2.17

Entitätsmenge In unserem Modell wollen wir keine Aussagen über einzelne Objekte machen. Die Aussagen sollen für beliebiege Objekte desselben Typs gelten Dies führt zum Begriff der Entitätsmenge Definition Eine eindeutig benannte Menge von Entitäten des gleichen Typs nennt man Entitätsmenge Beispiele für Entitätsmengen In unserem Beispiel haben alle Mitarbeiter dieselben Attribute wie Nummer, Name, Vorname, Geburtsdatum usw. Alle Mitarbeiter haben denselben Entitätstyp. Man führt daher die Entitätsmenge Mitarbeiter im System ein. Mitarbeiter ist der Name der Entitätsmenge (man beachte die Singularform). Suchen der 2.18

EntitätsAttribut Ein Attribut A einer Entitätsmenge E mit Domäne dom(a) kann mathematisch als Funktion betrachtet werden A : E P(dom(A)) P(dom(A)) bezeichnet dabei die Potenzmenge der Domäne. Diese Sichtweise deckt sowohl einwertige wie mehrwertige Attribute ab: Nullwerte: A(e) = Einwertig: In diesem Fall ist die Wertemenge auf einelementige Mengen beschränkt. Mehrwertig: Bild einer Entität e E ist eine beliebiege Menge von P(dom(A)). Suchen der 2.19

EntitätsAttribut (2) Aus den vorherigen Betrachtungen lassen sich durch Einschränkung der Bildmenge der Funktion die folgenden vier wichtigen Typen von Attributen ableiten: Typ 1 : Bild der Funktion ist auf einelementige Mengen beschränkt. Beispiel: Jeder Mitarbeiter hat genau einen Namen. Typ C : C steht für Conditional. Bild der Funktion besteht aus einelementigen und der leeren Menge Beispiel: Ein Mitarbeiter kann einen Titel haben muss aber nicht. Typ M : M steht für Multiple. Bild enthält die leere Menge nicht. Beispiel: Jeder Mitarbeiter spricht mindestens eine Sprache aber möglicherweise noch weitere Typ MC: Bild der Funktion kann auch die leere Menge enthalten. Beispiel: Ein Mitarbeiter kann 0, 1 oder mehere Hobbies betreiben. Suchen der 2.20

Entitätsschlüssel Nach Definition muss jede Entität einer Entitätsmenge eindeutig identifizierbar sein. Den Identifikator einer Entität nennt man den Entitätsschlüssel Definition Ein Entitätsschlüssel ist ein Entitätsattribut, mit dessen Werten die Entitäten einer Entitätsmenge eindeutig zu identifizieren sind. Der Schlüssel muss nicht nur eindeutig sein sondern auch unveränderbar. Der Entitätsschlüssel darf keine semantische Bedeutung haben. Als Entitätsschlüssel werden üblicherweise Nummern verwendet (z.b. eine fortlaufende Mitarbeiternummer) Neben dem Entitätsschlüssel sind weitere Schlüssel denkbar. (z.b. der Abteilungsname) Suchen der 2.21

Darstellung Entität Entitätsmengen werden als Klassen mit dem Stereotyp «Entity» dargestellt. Der Stereotyp gibt an, dass die Objekte dieser Klasse persistent sind. Die Entitätsmenge Mitarbeiter Suchen der 2.22

Darstellung Entitätsschlüssel Als Entitätsschlüssel wird ein Attribut ausgewählt (meistens eine Nummer) Um den Schlüssel von anderen Attributen zu unterscheiden wird der UML Stereotyp «PK» verwendet. PK steht für Primary Key Der Entitätsschlüssel mnr Suchen der 2.23

Darstellung Entitätsattributten Ein Attribut wird mit Name, Datentyp und Multiplizität angegeben. Typ und Multiplizität sind fakultativ. Man kann die Typen 1, C, M und MC folgendermassen in UML angeben: Attribute einer Entitätsmenge Typ 1 : Default (leer lassen) Typ C : [0..1] Typ M : [1..*] Typ MC: [0..*] Suchen der Vorna Titel Sprac Hobb 2.24

Darstellung von zusammengesetzten Attributen Ein zusammengesetztes Attribut kann mit Hilfe eines Datentyps definiert werden. Dies ist ein Klassensymbol mit dem Stereotyp datatype Der Name kann dann in einer Attributdefinition als Datentyp verwendet werden Zusammengesetztes Attribut Suchen der 2.25

Zwischen verschiedenen Entitäten kann eine Beziehung bestehen. Die beteiligten Entitäten können vom gleichen oder von verschiedenem Typ sein. Gleichartige werden Typisiert. Man spricht vom Beziehungstyp. (zum Beispiel Beziehung zwischen Mitarbeiter und Projekt) Der Grad eines Beziehungstyp ist die Anzahl der Beteiligten Entitäten In der Regel ist der Grad 2 (binäre Beziehung). Selten tritt der Grad 3 (ternärer Beziehungstyp) oder ein höherer Grad auf. Ternäre und höhere Beziehungstypen können auf binäre Beziehungstypen zurückgeführt werden. Suchen der 2.26

(2) Beispiele für Ein Mitarbeiter gehört zu einer Abteilung Ein Mitarbeiter arbeitet an einem Projekt Ein Lieferant liefert ein Produkt für ein Projekt Diese Beziehung ist vom Grad 3, da drei Entitäten beteiligt sind. Ein Mitarbeiter ist Vorgesetzter eines anderen Mitarbeiters Beziehung zwischen Entitäten des gleichen Typs. Suchen der 2.27

Beziehungsmengen Wie bei Entitäten möchten wir nicht nur Aussagen über einzelne machen können. Die Aussagen sollen für beliebiege desselben Typs gelten Dies führt zum Begriff der Beziehungsmenge Definition Eine Beziehungsmenge ist eine eindeutig benannte Menge von Beziehungselementen gleichen Beziehungstyps. Suchen der Eine Beziehungsmenge kann auch als spezielle Entitätsmenge aufgefasst werden Ihre Elemente stellen eine Beziehung zwischen zwei (oder mehr) Entitäten dar. 2.28

Kardinalität von binären Die Kardinalität gibt an, wie oft eine Entität in einer Beziehungsmenge in einem Beziehungselement vorkommen kann. Ein Mitarbeiter arbeitet in genau einer Abteilung aber mehrere Mitarbeiter arbeiten in einer Abteilung. Für den Beziehungstyp Mitarbeiter Abteilung können wir die Kardinalitäten fogendermassen angeben: gehört zu: Mitarbeiter M:1 Abteilung Aus den Kombinationen von C, 1, M und MC ergeben sich die folgenden 10 Kombinationen: Suchen der C:C, C:1, C:M, C:MC 1:1, 1:M, 1:MC M:M, M:MC MC:MC 2.29

Kardinalität von binären (2) Beispiel Kardinalitäten leitet: Mitarbeiter 1:C Abteilung gehört: Mitarbeiter M:1 Abteilung arbeitet: Mitarbeiter MC:MC Projekt ist Vorgesezter: Mitarbeiter MC:M Mitarbeiter Suchen der 2.30

Darstellung von Beziehungsmengen Eine Beziehungsmenge wird als Linie zwischen zwei Entitätsmengen dargestellt Der Name wird nahe bei der Linie angegeben Auf jeder Seite der Linie wird die gewünschte Kardinalität angegeben (als x..y) Der ausgefüllte Pfeil beim Namen der Beziehungsmenge gibt an, in welcher Richtung gelesen werden muss. In userem Fall also Mitarbeiter gehört zu Abteilung Die Beziehungsmenge gehört zu Suchen der 2.31

Beziehungsattribut Definition Ein Beziehungsattribut assoziert die Beziehungselemente einer Beziehungsmenge mit Eigenschaftswerten Ein Beziehungsmenge kann auch als spezielle Entitätsmenge aufgefasst werden Daher kann eine Beziehungsmenge auch Attribute haben. Ein Beziehungsattribut Bei der Beziehung leitet: Mitarbeiter 1:C Abteilung wollen wir festhalten, seit wann die Abteilung vom entsprechenden Mitarbeiter geleitet wird. Dieses Datum ist ein Beziehungsattribut, weil es von beiden Entitäten abhängig ist. Bei der Beziehung arbeitet: Mitarbeiter MC:MC Projekt wollen wir festhalten, wieviele Stunden der Mitarbeiter an diesem Projekt arbeitet. Dies ist ein Beziehungsattribut, da die Stunden sowohl vom Mitarbeiter wie auch vom Projekt abhängig sind. Suchen der 2.32

Darstellung von Beziehungsattributen Beziehungsattibute werden in einer eigenen Entitätsmenge dargestellt. Diese Entitätsmenge wird mit einer gestrichelten linie mit der Beziehungsmenge verbunden. Beziehungsattribut Stunden Suchen der 2.33

Darstellung von N-äre N-äre werden mit hilfe einer Raute dargestellt. An Hand unseres Beispiels können wir die Kardinalitäten so interpretieren: 1 Ein Produkt für ein Projekt wird genau von einem Lieferanten geliefert (Lieferant Kardinalität 1) 2 Ein Lieferant kann ein Produkt für verschiedene Projekte liefern (Projekt Kardinalität 0..*) 3 Für ein Projekt kann ein Lieferant mehrere Produkte liefern (Produkt Kardinalität 0..*) Ternäre Beziehung Suchen der <<En Lief 0..* <<En Pr 0..* <<En Pro 2.34

Schwache Entität Eine schwache Entität kann nur zusammen mit einer Beziehung zu einer anderen starken Entität existieren. Wenn die starke Entität gelöscht wird, so werden alle in beziehung stehenden schwachen Entitäten gelöscht. Pro starke Entität sind die zugehörigen schwachen Entitäten durch ein Attribut eindeutig identifizierbar. Definition Eine schwache Entität ist eine im Kontext einer anderen Entität (starke Entität) eindeutig identifizierbare Einheit, die ohne diese nicht existieren kann. Suchen der Beispiel schwache Entität Ein Angehöriger ist eine schwache Entität des Mitarbeiters. Wenn der Mitarbeiter gelöscht wird, sind die Angehörigen dieses Mitarbeiters nicht mehr relevant und werden daher auch gelöscht. Pro Mitarbeiter wird ein Angehöriger durch den Vornamen eindeutig identifiziert. 2.35

Darstellung von schwachen Entitäten Schwache entitäten werden mit Hilfe einer qualifizierten Assoziation dargestellt. identifizierende Attribut wird in einem Rechteck auf der Seite der starken Enität angegeben Schwache Entität Suchen der 2.36

Outline 1 2 3 Suchen der Suchen der 4 2.37

Beispiel: Eine Firma mit Mitarbeitern und Projekten (1) Nachfolgend wollen wir mit Hilfe eines Anforderungsdokumentes ein vollständiges ER-Modell entwickeln. Abteilungen A.1 Die Firma besteht aus mehreren Abteilungen A.2 Jede Abteilung besitz eine eindeutige Nummer und einen eindeutigen Namen. A.3 Jede Abteilung wird von einem Mitarbeiter geleitet der selbst auch zur Abteilung gehört. Wir wollen auch das Datum festhalten, seit dem die Abteilung von diesem Angestellten geleitet wird. A.4 Eine Abteilung ist über mehrere Standorte verteilt. Suchen der 2.38

Beispiel: Eine Firma mit Mitarbeitern und Projekten (2) Projekte P.1 Eine Abteilung ist für mehrere Projekte zuständig. P.2 Jedes Projekt hat eine eindeutige Nummer, einen eindeutigen Namen und wird an einem eindeutigen Standort durchgeführt. Mitarbeiter M.1 Jeder Mitarbeiter hat eine eindeutige Nummer M.2 Für einen Mitarbeiter wird der Name, die AHV-Nummer, die Adresse, das Geschlecht und das Geburtsdatum festgehalten. M.3 Ein Mitarbeiter gehört zu genau einer Abteilung. M.4 Ein Mitarbeiter kann an mehreren Projekten arbeiten und zwar auch an Projekten von anderen Abteilungen. Suchen der 2.39

Beispiel: Eine Firma mit Mitarbeiter und Projekten (3) Mitarbeiter Fortsetzung M.5 Die Anzahl Stunden pro Woche, die ein Mitarbeiter an einem Projekt arbeitet werden festgehalten. M.6 Jeder Mitarbeiter hat keinen oder einen Vorgesetzten M.7 Für jeden Mitarbeiter werden die Angehörigen festgehalten (Lohnberechnung). M.8 Für die Angehörigen werden der Vorname, das Geschlecht, das Geburtsdatum und die Familienbeziehung festgehalten. Suchen der 2.40

kann in die folgenden Phasen eingeteilt werden des Problemraumes. Bereinigen der Begriffe (Synonyme und Homonyme) Feststellen welche Objekte Entitäten sind und welche Attribute sind. Suchen der zwischen den gefundenen Entitäten. Erkennen von Attributen und der Richtigen Entität zuweisen Erkennen von Beziehungsattributen Zeichnen des ER-Diagramms Suchen der 2.41

Wo sollte man suchen? Im Problemraum, in textlichen und in graphischen Darstellungen. Im Gespräch mit den Anwendern des Systems. Wonach sollte man suchen? Struktur der Aufgabe, andere Systeme, über die Informationen gespeichert werden müssen, Ereignisse, an die man sich erinnern muss, Rollen, die von Individuen gespielt werden, Orte, an denen für das System Wichtiges passiert, Organisationseinheiten, denen Menschen angehören, oder die sonst wichtig sind. Suchen der 2.42

(2) Was ist zu berücksichtigen? Braucht das System die Erinnerung an frühere Begebenheiten? Muss das System auf Anforderungen von aussen Leistungen erbringen? Gibt es in der Entitätsmenge mehr als eine Entität? Gibt es mehr als ein Attribut? Gibt es in den Beschreibungen Synonyme und Homonyme? Suchen der 2.43

(3) Entitätskandidaten Wir suchen in unserem Text nach Substantiven Dies ergibt eine Liste der möglichen Entitäten des Systems Aus A.1 bis A.4 Firma, Abteilung, Nummer, Name, Mitarbeiter, Datum, Angestellter, Standort Aus P1 und P2 Projekt, Nummer, Name, Standort Aus M1 bis M8 Mitarbeiter, Nummer, Name, AHV-Nummer, Adresse, Geschlecht, Geburtsdatum, Stunden pro Woche, Vorgesetzter Angehörige, Vorname, Geschlecht, Geburtsdatum, Familienbeziehung Suchen der 2.44

Bereinigen der Begriffe Suchen nach Synonymen in der Liste Definition Als Synonyme bezeichnet man zwei Wörter derselben Sprache, welche dieselbe (oder fast dieselbe) Bedeutung haben. Zum Beispiel sind Samstag und Sonnabend Synonyme. Synonyme Im Punkt A.3 kommt sowohl der Begriff Mitarbeiter wie auch der Begriff Angestellter als leiter einer Abteilung vor. Angestellter und Mitarbeiter sind in diesem Kontext Synonyme Wir streichen Angestellter aus unserer Liste und behalten nur den Begriff Mitarbeiter. Suchen der 2.45

Bereinigen der Begriffe (2) Suchen nach Homonymen in der Liste Definition Als Homonym bezeichnet man Wörter, die verschiedene Bedeutungen haben können. Zum Beispiel bezeichnet das Wort Tau sowohl eine Form von Niederschlag, ein Seil sowie der griechische Buchstabe τ. Homonyme In den Punkten A.2, P.2 und M.1 kommt überall der Begriff Nummer vor In A.2 ist dies die Abteilungsnummer In P.2 ist dies die Projektnummer In M.1 ist dies die Mitarbeiternummer In diesem Kontext wird Nummer homonym verwendet. gilt auch für die Begriffe Name, Geburtsdatum und Geschlecht. Suchen der 2.46

Festlegen der Entitäten Kriterien für Entitäten: Entitäten haben eine eigene Bedeutung, die das System unabhängig von der Implementierung beachten muss. Entitäten haben mehr als ein Attribut. Entitäten müssen in das abgegrenzte Gebiet (Miniwelt) hineingehören. Keine Entitäten sind: Berichte, Auswertungen oder Auskünfte. Diese sind Ergebnis von Funktionen und deshalb keine Entitätsmengen. Begriffe die nur dem Inhalt nach Bedeutung haben, jedoch nicht als eigene Objekte (zum Beispiel, Aktionen oder Wertebeispiele für Attribute). Suchen der 2.47

Festlegen der Entitäten (2) Keine Entitäten Firma Vorgesetzter Attribute Zur Firma werden keine Daten gesammelt daher muss diese auch nicht als Entitätsmenge aufgenommen werden. Die Firma kann auch als das gesammte System angesehen werden. Drückt eine Beziehung zwischen Mitarbeiter aus. Suchen der Die Folgenden Begriffe haben selbst keine Attribute und sind daher selbst Attribute Nummer, Name, Standort, Datum, AHV-Nummer, Adresse, Geschlecht, Geburtsdatum, Stunden pro Woche Vorname, Familienbeziehung 2.48

Festlegen der Entitäten (3) Entitäten des Systems Mitarbeiter Abteilung Projekt Angehöriger Angehöriger ist eine schwache Entität von Mitarbeiter Suchen der 2.49

Erkennen der Aus A.3 leitet: Mitarbeiter 1:C Abteilung Aus P.1 führt_durch: Abteilung 1:MC Projekte Aus M.3 gehört_zu: Mitarbeiter M:1 Abteilung Aus M.4 arbeitet_für: Mitarbeiter MC:MC Projekt Aus M.6 ist_vorgesetzter: Mitarbeiter C:MC Mitarbeiter Aus M.7 hat: Mitarbeiter 1:MC Angehöriger Suchen der 2.50

Zuweisen der Attribute Entitäten und Attribute Entitätsmenge Attribute Mitarbeiter mnr, Name, AHV-Nummer, Adresse, Geschlecht, Geburtsdatum Abteilung anr, Name, Standort [1..*] Projekt pnr, Name, Standort Angehöriger Vorname, Geschlecht, Geburtsdatum, Familienbeziehung Suchen der Betiehungsattribute Beziehungsmenge leitet arbeitet_für Beziehungsattribut Datum ab wann Stunden pro Woche 2.51

Diagramm Mitarbeiter Projekte adresse : string Geschlecht : {M Geburtsdatum : Suchen der 2.52

Outline 1 2 3 Suchen der Suchen der 4 2.53

Probleme Für viele Anwendungen genügt das ER-Modell Für Anwendungen mit komplexeren Datenstrukturen braucht es aber weitere Konzepte Solche Systeme umfassen etwa: CAD und CAM Systeme Geographic Information Systems (GIS) Telekommunikationssysteme u.s.w. Für solche Systeme sind objektorientierte Konzepte wichtig EER Modell hat alle Elemente des ER. Im EER Modell werden zusätzlich die Generalisierung/Spezialisierung und die Aggregation eingeführt. Suchen der 2.54

Spezialisierung/Generalisierung Spezialisierung unterteilt einen Entitätstyp in einer Menge von Subentitäten Der Entitätstyp heisst Superentität der Spezialisierung Die Subentitäten werden auf Grund eines Merkmals unterschieden Spezialisierung von Mitarbeiter Der Entitätstyp Mitarbeiter kann zu {Sekretär, Ingenieur, Techniker} spezialisiert werden. Unterscheidungsmerkmal ist hier die art des Jobs des Mitarbeiters. Ein Entitätstyp kann mehere Spezialisierungen besitzen Suchen der Spezialisierung von Mitarbeiter (2) Der Entitätstyp Mitarbeiter kann zu {Festangestellter, Freiermitarbeiter} spezialisiert werden. Hier ist das Merkmal die Art der Anstellung 2.55

Spezialisierung/Generalisierung (2) Die Spezialisierung ist eine sogenannte Is-a-Hierarchie Eine Entität der Subentitätsmenge gehört immer auch zur Superentitätsmenge Die Subentität erbt alle Attribute (und Werte) der Superentität Insbesondere hat die Subentität denselben Entitätsschlüssel wie die Superentität Die Subentität hat aber normalerweise noch weitere Attribute, die Sie von anderen Subentitätstypen unterscheidet. Subentität von Mitarbeiter Der Ingenieur ist ein Mitarbeiter. Sowohl als Mitarbeiter wie auch als Ingenieur hat er denselben Namen, dasselbe Geburtsdatum usw. Es ist ja dieselbe Entität. Der Mitarbeiter ist Ingenieur in einem Fach (z.bsp. Maschineningenieur). Dieses Attribut gehört zum Entitätstyp Ingenieur. Suchen der 2.56

Überlagerung Die Subentitätsmengen einer Spezialisierung können die Superentitätsmenge vollständig überlagern oder auch nicht. Überlagerung von Mitarbeiter Jeder Mitarbeiter ist entweder Festangestellt oder freier Mitarbeiter. D.h., die Spezialisierung {Festangestellter, Freiermitarbeiter} überlagert Mitarbeiter vollständig. Neben Sekräteren, Technikern und Ingenieure gibt es auch Manager und andere Mitarbeiter. D.h., die Spezialisierung {Sekretär, Ingenieur, Techniker} überlagert die Mitarbeiter nicht vollständig. Suchen der 2.57

Disjunktheit Eine Superentität kann zu genau einer Subentitätsmenge der Spezialisierung gehören oder zu mehreren. Disjunkte/nicht disjunkte Subentitätsmengen. Jeder Mitarbeiter ist entweder Festangestellt oder freier Mitarbeiter aber nicht beides gleichzeitig. D.,h., die Subentitätsmengen Festangestellt und freier Mitarbeiter sind disjunkt. Wenn wir Mitarbeiter zu {Ingenieur, Manager} spezialisieren, so kann eben ein Manager auch Ingenieur sein. D.h., die Subentitätsmengen sind nicht disjunkt. Suchen der 2.58

Alle Integritätsbedingungen Aus der Überlagerung und der Disjunktheit ergeben sich für eine Spezialisierung die vier folgendn Fälle: {complete, disjoint} {complete, overlapping} {incomplete, disjoint} {incomplete, overlapping} vollständige Überlagerung, disjunkte Subentitäten vollständige Überlagerung, nicht disjunkte Subentitäten nicht vollständige Überlagerung, disjunkte Subentitäten nicht vollständige Überlagerung, nicht disjunkte Subentitäten Suchen der 2.59

Darstellung der Spezialisierung Spezialisierung von Mitarbeiter Suchen der 2.60

Generalisierung Die Generalisierung ist die Umkehrung der Spezialisierung In diesem Fall wird eine Menge von Entitäten zu einer Superentität generalisiert. Resultat ist dasselbe wie bei der Spezialisierung Bücher und Zeitschriften In einem System gibt es die Entitätstypen Bücher und Zeitschriften Bücher können Bücher und Zeitschriften referenzieren Zeitschriften können Zeitschriften und Bücher referenzieren Dies ergibt 4 verschiedene Beziehungsmengen Wir generalisieren nun Bücher und Zeitschriften zu Publikationen Die vier reduzieren sich zu folgender Beziehung Suchen der referenziert: Publikation MC:MC Publikation 2.61

Bücher und Zeitschriften Publikationen referenziert {complete,disjoint} Suchen der 2.62

Aggregation Werden mehrere Einzelobjekte zu einem eigenständigen Einzelobjekt zusammengefasst, dann spricht man von Aggregation. Übergeordnete Objekt nennt man Aggregat. Die einzelnen Teile nennt man Komponenten. Man spricht auch von is-part-of. Suchen der 2.63

Rollenaggregation Eine Rollenaggregation liegt vor, wenn es mehrere rollenspezifische Komponenten gibt und diese zu einem Aggregat zusammengefasst werden. Operationsteam Ein Operationsteam besteht aus Chirugen, einem Anästhesisten und Operationsschwestern. Operationsteam ist das Aggregat, die Personen sind die Komponenten, wobei die Personen in verschiedenen Rollen in Erscheinung treten. Suchen der 2.64

Mengenaggregation Eine Mengenaggregation liegt vor, wenn das Aggregat durch Zusammenfassung von Einzelobjekten aus genau einer Entitätsmenge entsteht. Fussballmanschaft Als Beispiel können wir eine Fussballmanschaft betrachten, die eben aus mehreren Fussballspielern besteht. Suchen der 2.65

Darstellung von Aggregationen Die Agreggation wird als zwischen dem Ganzen und den entsprechenden Teilen angezeigt Auf der Seite des Ganzen wird am Anfang der Beziehung noch eine Raute gezeichnet Operationsteam Suchen der 2.66