Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

DHBW Stuttgart, Informatik, SW-Engineering, Kapitel 2.4 Feb 2012 Seite 1 Informationsmodellierung Übersicht Christoph Riewerts Inhalt: Überblick Entity.

Ähnliche Präsentationen


Präsentation zum Thema: "DHBW Stuttgart, Informatik, SW-Engineering, Kapitel 2.4 Feb 2012 Seite 1 Informationsmodellierung Übersicht Christoph Riewerts Inhalt: Überblick Entity."—  Präsentation transkript:

1 DHBW Stuttgart, Informatik, SW-Engineering, Kapitel 2.4 Feb 2012 Seite 1 Informationsmodellierung Übersicht Christoph Riewerts Inhalt: Überblick Entity Relation Ship Diagramm Attribute Relationenmodell (Tabellendarstellung) Normalisierung Integritätsbedingungen

2 DHBW Stuttgart, Informatik, SW-Engineering, Kapitel 2.4 Feb 2012 Seite 2 Informationsmodellierung Überblick Phasen: Analyse-Phase Design-Phase Programmier-Phase Begriffe/Merkmale: Informationsobjekte ERD (oder auch ERM) Tabellen Datenbankschema Integritätsbedingung Datensätze, Indizes Speicherstrukturen

3 DHBW Stuttgart, Informatik, SW-Engineering, Kapitel 2.4 Feb 2012 Seite 3 Informationsmodellierung Entity Relationship (ER) Diagramm Mitarbeiter Fertigmeldung Abteilung Artikel Bestellung Kündigung Projekt ER-Diagramm (ERD): Ein ER-Diagramm ist die grafische Darstellung von Informationsobjekten (auch Entitäten genannt) und deren Beziehungen untereinander (Peter Chen). Informationsobjekt: Ein Informationsobjekt ist ein individuelles und identifizierbares Exemplar von Dingen, Personen oder Begriffen der realen oder der Vorstellungswelt. gezeichnet im ERD als Rechteck Namensvergabe: Substantiv wird durch Attribute näher beschrieben Beispiele (für Personen, Dinge, Aktionen und abstrakte Begriffe):

4 DHBW Stuttgart, Informatik, SW-Engineering, Kapitel 2.4 Feb 2012 Seite 4 Informationsmodellierung Entity Relationship (ER) Diagramm Beziehung: Eine Beziehung assoziiert wechselseitig zwei (oder mehr) Entitäten (Informationsobjekte): gezeichnet im ERD als Raute mit einer Linie zur jeweiligen Entität Namensvergabe: – Verb, um die Darstellung Entität-Beziehung-Entität von links nach rechts lesen zu können oder – Substantiv, wenn aus Gründen der Vereinheitlichung ein Hauptwort gefordert ist oder mehr als 2 Entitäten assoziiert sind. wird durch Attribute näher beschrieben Es gibt drei Typen von Beziehungen (nach Chen): 1:1, 1:n und n:m, die man mit dem Konditionalzeichen c erweitern kann, so dass Kann- und Muss-Beziehungen unterschiedlich dargestellt werden können, wie z.B. 1:c, 1:mc und n:mc mit n = 1,2,3,4,… und m = 1,2,3,4,… c = 0 oder 1 und mc = 0,1,2,3,4,…

5 DHBW Stuttgart, Informatik, SW-Engineering, Kapitel 2.4 Feb 2012 Seite 5 Informationsmodellierung Entity Relationship (ER) Diagramm 1:1-Beziehung (Muss-Beziehung) 1:c-Beziehung (Kann-Beziehung) 1:n-Beziehung (Muss-Beziehung): Zu jedem Vater gibt es ein oder mehrere Kinder, jedes Kind hat genau einen Vater. 1:mc-Beziehung (Kann-Beziehung): Es gibt Männer, die haben keine Kinder.

6 DHBW Stuttgart, Informatik, SW-Engineering, Kapitel 2.4 Feb 2012 Seite 6 n:m-Beziehung (Muss-Beziehung): Ein Schüler muss mindestens einen Kurs besuchen. Umgekehrt muss jeder Kurs von mindestens einem Schüler belegt werden. nc:mc-Beziehung (Kann-Beziehung): Ein Schüler kann ein Fach oder mehrere Fächer belegen, ein Fach kann von mehreren Schülern belegt sein, jedoch auch von keinem. Informationsmodellierung Entity Relationship (ER) Diagramm Implizite Beziehung: (heißt im INNOVATOR hierarchische Beziehung) Buch Bibliotheks- exemplar gibt es als 1mc

7 DHBW Stuttgart, Informatik, SW-Engineering, Kapitel 2.4 Feb 2012 Seite 7 Informationsmodellierung Entity Relationship (ER) Diagramm Implizite Beziehung (is part of): Rechnung Rechnungs- position enthält 1n Implizite Beziehung (is a): Artikel auf Lager oder auch nicht Geschäftspartner kann ein Lieferant oder ein Kunde sein. Sortiments- artikel Lager- artikel ist vorh. als 1c Geschäfts- partner Lieferant ist ein 1 c Kunde c Rekursive Beziehung (mit Rollenbezeichnungen): Mitarbeiter ist Chef von c mc Bauteil besteht aus Baugruppe Teil UntergebenerVorgesetzter c mc

8 DHBW Stuttgart, Informatik, SW-Engineering, Kapitel 2.4 Feb 2012 Seite 8 Informationsmodellierung Entity Relationship (ER) Diagramm Bitte bei (min, max)-Notation Umkehrung beachten! (1,M,N)-Notation(min, max)-Notation Comp(E1, E2)Comp(E1, R)Comp(E2, R) 1:1(1,1) 1:c(0,1)(1,1) 1:n(1,*)(1,1) 1:nc(0,*)(1,1) mc:nc(0,*) Gegenüberstellung von (1,m,n)- und (min, max)-Notation: Eine Beziehung R = (E1, E2) wird in der (min, max)-Notation durch Angabe der zwei Komplexitätsgrade Comp(E1, R) und Comp(E2, R) beschrieben, wobei für die Eckwerte von min und max gilt: 0 ge min ge 1 ge max ge * mit ge = grössergleich: Weitere alternative Darstellungsformen der Kardinalität (Krähenfüße):

9 DHBW Stuttgart, Informatik, SW-Engineering, Kapitel 2.4 Feb 2012 Seite 9 Informationsmodellierung Entity Relationship (ER) Diagramm Übung: Tragen Sie in das nebenstehende ERD zusätzlich die (min, max)-Notation ein. Bestellung Lieferant besitzt 1c Konto 1 Artikel Bestell- position mc nc erhält enthält besteht aus m 1 n

10 DHBW Stuttgart, Informatik, SW-Engineering, Kapitel 2.4 Feb 2012 Seite 10 Attribute von Entitäten: Identifizierende Attribute (Schlüsselattribute): – Primärschlüssel (i. d. R. durch Unterstrich gekennzeichnet, obligatorisch, kann zusammengesetzt sein) – Sekundärschlüssel (alternativer Primärschlüssel) – Fremdschlüssel (existiert in anderen Entitäten als Primärschlüssel) Beschreibende Attribute (sind optional): – sollten funktional vom Primärschlüssel abhängen (2.Normalform) – sollten untereinander nicht funktional abhängen (3. Normalform) Darstellung: – als Liste – in einer Ellipse als Erweiterung im ERD: Mitarbeiter = (Pers-Nummer, Name, Geburtsdatum) Konto KontonrKontostand Informationsmodellierung Attribute

11 DHBW Stuttgart, Informatik, SW-Engineering, Kapitel 2.4 Feb 2012 Seite 11 Attribute von Beziehungen: Primärschlüssel von den assoziierten Informationsobjekten ( = Fremdschlüssel) Beschreibende Attribute (sind optional) Beispiel: n:m-Beziehung Informationsmodellierung Attribute Mitarbeiter arbeitet in n mc Projekt Mitarbeiter = (Pers-Nummer, Name, Geburtsdatum,..) Projekt = (Projekt-ID, Projektlaufzeit,..) Primärschlüssel arbeitet in = (Pers-Nummer, Projekt-ID, Kapazität) Kapazität ist ein beschreibendes Attribut

12 DHBW Stuttgart, Informatik, SW-Engineering, Kapitel 2.4 Feb 2012 Seite 12 Relationenmodell: Beim Übergang von der Analyse zum Design und damit bei der Wahl einer Relationalen Datenbank wird das Datenmodell in ein Relationenmodell überführt. In einer relationalen Datenbank sind alle Informationen explizit auf der logischen Ebene genau auf eine Art repräsentiert: als Werte in Tabellen (= Relationen) (E.F. Codd) Informationsmodellierung Relationenmodell Vormerkung Buch- Signatur NameDatum SN-32Mayer BB-45Mayer AW-90Müller SN-32Müller Attribute (Spalte) Ausprägung (Tupel) Primärschlüssel Reihenfolge der Zeilen und Reihenfolge der Spalten sind ohne Bedeutung. Die Raute des Informations- modells wird umgesetzt und erscheint als Fremdschlüssel- Beziehung in einer Tabelle. Attributwerte sind immer vom gleichen Typ (Domäne)

13 DHBW Stuttgart, Informatik, SW-Engineering, Kapitel 2.4 Feb 2012 Seite 13 1:n Beziehung im Relationenmodell: Der Primärschlüssel der 1-Relation erscheint als zusätzliches Attribut in der n-Relation und wird dort als Fremdschlüssel bezeichnet: Informationsmodellierung Relationenmodell Abteilung Angestellter 1 beschäftigt n Angestellter- ID Abteilungs-_ Kürzel Name Anzahl MA Tabelle

14 DHBW Stuttgart, Informatik, SW-Engineering, Kapitel 2.4 Feb 2012 Seite 14 Übung zur 1:n Beziehung im Relationenmodell: Wie sehen die 2 Tabellen aus incl. Fremdschlüssel, wenn man die Relation beschäftigt nicht dem Angestellten zuordnet - wie vorgeschrieben -, sondern der Abteilung (s. Bild)? Diskutieren Sie diese Alternative. Informationsmodellierung Relationenmodell Abteilung Angestellter 1 beschäftigt n Angestellter- ID Abteilungs-_ Kürzel Name Anzahl MA Tabelle

15 DHBW Stuttgart, Informatik, SW-Engineering, Kapitel 2.4 Feb 2012 Seite 15 Informationsmodellierung Relationenmodell Mehrfachattribute: Sind in der 1. Normalform (s. Normalisierung) nicht erlaubt Beispiel: Mitarbeiter ist in mehreren Wohnorten gemeldet Mitarbeiter = (Mitarbeiter-Nummer, Adressen, Name) Lösung 1, wenn Anzahl der Wohnsitze begrenzt und bekannt Mitarbeiter = (Mitarbeiter-Nummer, Adresse1, Adresse2, Adresse3, Name) Lösung 2 (Entität statt Attribut) Frage: wenn jetzt mehrere Mitarbeiter dieselbe Adresse haben? Mitarbeiter = (Mitarbeiter-Nummer, Name) Adresse = (Wohnsitz)

16 DHBW Stuttgart, Informatik, SW-Engineering, Kapitel 2.4 Feb 2012 Seite 16 n:m Beziehung im Relationenmodell: Aus einer n:m Beziehung im Datenmodell werden zwei 1:n Beziehungen mit einer sogenannten Beziehungsentität: Informationsmodellierung Relationenmodell Mitarbeiter arbeitet in n mc Projekt Tabelle

17 DHBW Stuttgart, Informatik, SW-Engineering, Kapitel 2.4 Feb 2012 Seite 17 Unnormalisierte Tabelle: Redundante Datenhaltung Speicheroperationen wie Neuzugang, Löschen und Aktualisieren können zu einer inkonsistenten Datenhaltung führen Schwierige Handhabung (z.B. wegen der Mehrfach-Attribute) Aufgabe: Bringen Sie die Tabelle in die 1. Normalform. Informationsmodellierung Normalisierung Mitarbeiter MA-Nr.NameAbt-NrAbt-NameZeit [%]ProjektnrProjektname MeyerE7Entwicklung80 20 S30001 S30002 SW-Installation HW-Installation GrafKKonstruktion100S30020PM-Einsatz KönigKKonstruktion20 80 S30020 S30021 PM-Einsatz CASE-Konzept KeiserZEUZentraleinkauf100S30022PC-Angebot

18 DHBW Stuttgart, Informatik, SW-Engineering, Kapitel 2.4 Feb 2012 Seite Normalform Eine Tabelle (Relation) ist in der 1. Normalform, wenn jedes Attribut zu einem bestimmten Schlüsselwert höchstens einen(!) Attributwert besitzt Aufgabe: Bringen Sie die Tabelle in die 2. Normalform. Informationsmodellierung Normalisierung Mitarbeiter MA-Nr.NameAbt-NrAbt-NameZeit [%]ProjektnrProjektname MeyerE7Entwicklung80S30001SW-Installation MeyerE7Entwicklung20S30002HW-Installation GrafKKonstruktion100S30020PM-Einsatz KönigKKonstruktion20S30020PM-Einsatz KönigKKonstruktion80S30021CASE-Konzept KeiserZEUZentraleinkauf100S30022PC-Angebot

19 DHBW Stuttgart, Informatik, SW-Engineering, Kapitel 2.4 Feb 2012 Seite 19 Informationsmodellierung Normalisierung Mitarbeiter MA-Nr.NameAbt-NrAbt-Name MeyerE7Entwicklung GrafKKonstruktion KönigKKonstruktion KeiserZEUZentraleinkauf Projektzugehörigkeit MA-Nr.ProjektnrZeit [%] S S S S S S Normalform Eine Tabelle (Relation) ist in der 2. Normalform, wenn sie in der 1. Normalform ist und jedes nicht dem Schlüssel angehörende Attribut funktional abhängig ist vom Gesamtschlüssel, nicht aber von einzelnen Schlüsselteilen. Projekt ProjektnrProjektname S30001SW-Installation S30002HW-Installation S30020PM-Einsatz S30021CASE-Konzept S30022PC-Angebot Aufgabe: Bringen Sie die Tabelle(n) in die 3. Normalform.

20 DHBW Stuttgart, Informatik, SW-Engineering, Kapitel 2.4 Feb 2012 Seite 20 Informationsmodellierung Normalisierung Mitarbeiter MA-Nr.NameAbt-Nr MeyerE GrafK KönigK KeiserZEU Projekt ProjektnrProjektname S30001SW-Installation S30002HW-Installation S30020PM-Einsatz S30021CASE-Konzept S30022PC-Angebot Projektzugehörigkeit MA-Nr.ProjektnrZeit [%] S S S S S S Normalform Eine Tabelle (Relation) ist in der 3. Normalform, wenn sie in der 2. Normalform ist und jedes Attribut direkt vom Schlüssel abhängig ist. Abteilung Abt-NrAbt-Name E7Entwicklung KKonstruktion ZEUZentraleinkauf

21 DHBW Stuttgart, Informatik, SW-Engineering, Kapitel 2.4 Feb 2012 Seite 21 Übung: Kennzeichnen Sie in den vier Tabellen aus dem Normalisierungsbeispiel (s.v.) diejenigen Attribute, die Fremdschlüssel sind. Wandeln Sie danach die Tabellen in ein ERD um unter Verwendung der Tabellennamen für die Entitäten. Die richtigen Kardinalitäten können aus den Beispieleinträgen abgeleitet werden. Spezifizieren Sie abschließend bitte noch den Prozess Mitarbeiter-Tabelle zusammenstellen, der aus den einzelnen Attributen der normalisierten Tabellen die unnormalisierte Mitarbeiter-Tabelle erzeugt. Verwenden Sie dazu das DFD (mit dem Innovator) und modellieren Sie die normalisierten Tabellen als Datenspeicher. Informationsmodellierung Normalisierung

22 DHBW Stuttgart, Informatik, SW-Engineering, Kapitel 2.4 Feb 2012 Seite 22 Integritätsbedingungen sind notwendig, um mit den Abhängigkeiten der Tabellen (Fremdschlüsselbeziehungen) richtig umgehen zu können: Anwendungsbezogene Integrität (domain integrity): – Zwischen den Attributen bestehen inhaltliche Abhängigkeiten, z.B. Summenattribut – Wertebereich von Attributen soll eingehalten werden – Zwei Beziehungen sollen sich gegenseitig ausschließen – …. Ganzheitliche Integrität (entity integrity): – Kein Attribut, das Teil eines Primärschlüssels einer Tabelle ist, darf Nullwerte annehmen. Referenzielle Integrität / Beziehungsintegrität (referential integrity): – Für jeden vom Nullwert verschiedenen Fremdschlüssel muss ein entsprechender Primärschlüssel aus derselben Domäne existieren. – Für jeden Fremdschlüssel sind festzulegen: Darf der Fremdschlüssel Nullwerte annehmen? Was soll mit dem Fremdschlüssel geschehen, wenn der Primärschlüssel gelöscht bzw. modifiziert wird? Informationsmodellierung Integritätsbedingungen

23 DHBW Stuttgart, Informatik, SW-Engineering, Kapitel 2.4 Feb 2012 Seite 23 Informationsmodellierung Integritätsbedingungen Beispiele für Beziehungsintegrität (Löschen des Primärschlüssels): 1.) Weitergabe der Löschung (CASCADE), d.h. alle Tupel der Tabelle mit einem Fremdschlüssel, der dem gelöschten Primärschlüssel entspricht, werden ebenfalls gelöscht.

24 DHBW Stuttgart, Informatik, SW-Engineering, Kapitel 2.4 Feb 2012 Seite 24 Informationsmodellierung Integritätsbedingungen Beispiele für Beziehungsintegrität (Löschen des Primärschlüssels): 2.) Bedingte Löschung (RESTRICT, default), d.h. ein Tupel in der Tabelle mit dem Primärschlüssel kann nur dann gelöscht werden, wenn in der referierenden Tabelle kein Tupel mehr mit einem Fremdschlüssel existiert, der dem Primarschlüssel entspricht.

25 DHBW Stuttgart, Informatik, SW-Engineering, Kapitel 2.4 Feb 2012 Seite 25 Informationsmodellierung Integritätsbedingungen Beispiele für Beziehungsintegrität (Löschen des Primärschlüssels): 3.) Nullsetzen bei der Löschung (SET NULL), d.h. alle Fremdschlüsselwerte, die dem Primärschlüssel entsprechen, werden in der referenzierten Tabelle zu Null gesetzt.

26 DHBW Stuttgart, Informatik, SW-Engineering, Kapitel 2.4 Feb 2012 Seite 26 Lösung der Übungsaufgabe aus dem Vorlesungsskript, speziell das DFD: Informationsmodellierung Normalisierung


Herunterladen ppt "DHBW Stuttgart, Informatik, SW-Engineering, Kapitel 2.4 Feb 2012 Seite 1 Informationsmodellierung Übersicht Christoph Riewerts Inhalt: Überblick Entity."

Ähnliche Präsentationen


Google-Anzeigen