Date post: | 05-Apr-2015 |
Category: |
Documents |
Upload: | clarimond-zeilman |
View: | 102 times |
Download: | 0 times |
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
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
DHBW Stuttgart, Informatik, SW-Engineering, Kapitel 2.4 Feb 2012
Seite 3
InformationsmodellierungEntity Relationship (ER) Diagramm
MitarbeiterFertigmeldung
AbteilungArtikelBestellung
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):
DHBW Stuttgart, Informatik, SW-Engineering, Kapitel 2.4 Feb 2012
Seite 4
InformationsmodellierungEntity 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,…
DHBW Stuttgart, Informatik, SW-Engineering, Kapitel 2.4 Feb 2012
Seite 5
InformationsmodellierungEntity 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.
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.
InformationsmodellierungEntity Relationship (ER) Diagramm
Implizite Beziehung:
(heißt im INNOVATOR „hierarchische Beziehung“)
BuchBibliotheks-exemplar
gibt es als
1 mc
DHBW Stuttgart, Informatik, SW-Engineering, Kapitel 2.4 Feb 2012
Seite 7
InformationsmodellierungEntity Relationship (ER) Diagramm
Implizite Beziehung (is part of):Rechnung
Rechnungs-position
enthält1 n
Implizite Beziehung (is a):
• Artikel auf Lager oderauch nicht
• Geschäftspartner kannein Lieferant oderein Kunde sein.
Sortiments-artikel
Lager-artikel
ist vorh. als1 c
Geschäfts-partner
Lieferant
ist ein1
c
Kundec
Rekursive Beziehung (mit Rollenbezeichnungen):
Mitarbeiter Mitarbeiterist Chef
von
cmc
Bauteilbesteht
aus
Baugruppe
Teil
UntergebenerVorgesetzter
c
mc
DHBW Stuttgart, Informatik, SW-Engineering, Kapitel 2.4 Feb 2012
Seite 8
InformationsmodellierungEntity 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,1)
1:c (0,1) (1,1)
1:n (1,*) (1,1)
1:nc (0,*) (1,1)
mc:nc (0,*) (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“):
DHBW Stuttgart, Informatik, SW-Engineering, Kapitel 2.4 Feb 2012
Seite 9
InformationsmodellierungEntity Relationship (ER) Diagramm
Übung: Tragen Sie in das
nebenstehende
ERD zusätzlich die
(min, max)-Notation
ein.
Bestellung
Lieferant besitzt1 c
Konto
1
Artikel
Bestell-position
mc
nc
erhält
enthält
bestehtaus
m
1
n
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
InformationsmodellierungAttribute
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
InformationsmodellierungAttribute
Mitarbeiterarbeitet
inn mc
Projekt
Mitarbeiter = (Pers-Nummer, Name, Geburtsdatum, ..)
Projekt = (Projekt-ID, Projektlaufzeit, ..)
PrimärschlüsselPrimärschlüssel
arbeitet in = (Pers-Nummer, Projekt-ID, Kapazität)
Kapazität ist ein beschreibendes Attribut
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)
InformationsmodellierungRelationenmodell
Vormerkung
Buch-Signatur
Name Datum
SN-32 Mayer 01.02.2007
BB-45 Mayer 01.02.2007
AW-90 Müller 06.02.2007
SN-32 Müller 13.02.2007
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)
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:
InformationsmodellierungRelationenmodell
Abteilung Angestellter1
beschäftigtn
Angestellter-ID
Abteilungs-_Kürzel
NameAnzahl MA
Tabelle
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.
InformationsmodellierungRelationenmodell
Abteilung Angestellter1
beschäftigtn
Angestellter-ID
Abteilungs-_Kürzel
NameAnzahl MA
Tabelle
DHBW Stuttgart, Informatik, SW-Engineering, Kapitel 2.4 Feb 2012
Seite 15
InformationsmodellierungRelationenmodell
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)
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:
InformationsmodellierungRelationenmodell
Mitarbeiterarbeitet
inn mc
Projekt
Tabelle
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.
InformationsmodellierungNormalisierung
Mitarbeiter
MA-Nr. Name Abt-Nr Abt-Name Zeit [%] Projektnr Projektname
112224 Meyer E7 Entwicklung 80
20
S30001
S30002
SW-Installation
HW-Installation
112225 Graf K Konstruktion 100 S30020 PM-Einsatz
112226 König K Konstruktion 20
80
S30020
S30021
PM-Einsatz
CASE-Konzept
112227 Keiser ZEU Zentraleinkauf 100 S30022 PC-Angebot
DHBW Stuttgart, Informatik, SW-Engineering, Kapitel 2.4 Feb 2012
Seite 18
1. 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.
InformationsmodellierungNormalisierung
Mitarbeiter
MA-Nr. Name Abt-Nr Abt-Name Zeit [%] Projektnr Projektname
112224 Meyer E7 Entwicklung 80 S30001 SW-Installation
112224 Meyer E7 Entwicklung 20 S30002 HW-Installation
112225 Graf K Konstruktion 100 S30020 PM-Einsatz
112226 König K Konstruktion 20 S30020 PM-Einsatz
112226 König K Konstruktion 80 S30021 CASE-Konzept
112227 Keiser ZEU Zentraleinkauf 100 S30022 PC-Angebot
DHBW Stuttgart, Informatik, SW-Engineering, Kapitel 2.4 Feb 2012
Seite 19
InformationsmodellierungNormalisierung
Mitarbeiter
MA-Nr. Name Abt-Nr Abt-Name
112224 Meyer E7 Entwicklung
112225 Graf K Konstruktion
112226 König K Konstruktion
112227 Keiser ZEU Zentraleinkauf
Projektzugehörigkeit
MA-Nr. Projektnr Zeit [%]
112224 S30001 80
112224 S30002 20
112225 S30020 100
112226 S30020 20
112226 S30021 80
112227 S30022 100
2. 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
Projektnr Projektname
S30001 SW-Installation
S30002 HW-Installation
S30020 PM-Einsatz
S30021 CASE-Konzept
S30022 PC-Angebot
Aufgabe: Bringen Sie die Tabelle(n) in die 3. Normalform.
DHBW Stuttgart, Informatik, SW-Engineering, Kapitel 2.4 Feb 2012
Seite 20
InformationsmodellierungNormalisierung
Mitarbeiter
MA-Nr. Name Abt-Nr
112224 Meyer E7
112225 Graf K
112226 König K
112227 Keiser ZEU
Projekt
Projektnr Projektname
S30001 SW-Installation
S30002 HW-Installation
S30020 PM-Einsatz
S30021 CASE-Konzept
S30022 PC-Angebot
Projektzugehörigkeit
MA-Nr. Projektnr Zeit [%]
112224 S30001 80
112224 S30002 20
112225 S30020 100
112226 S30020 20
112226 S30021 80
112227 S30022 100
3. 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-Nr Abt-Name
E7 Entwicklung
K Konstruktion
ZEU Zentraleinkauf
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.
InformationsmodellierungNormalisierung
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?
InformationsmodellierungIntegritätsbedingungen
DHBW Stuttgart, Informatik, SW-Engineering, Kapitel 2.4 Feb 2012
Seite 23
InformationsmodellierungIntegritä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.
DHBW Stuttgart, Informatik, SW-Engineering, Kapitel 2.4 Feb 2012
Seite 24
InformationsmodellierungIntegritä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.
DHBW Stuttgart, Informatik, SW-Engineering, Kapitel 2.4 Feb 2012
Seite 25
InformationsmodellierungIntegritä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.
DHBW Stuttgart, Informatik, SW-Engineering, Kapitel 2.4 Feb 2012
Seite 26
Lösung der Übungsaufgabe aus dem Vorlesungsskript, speziell das DFD:
InformationsmodellierungNormalisierung