Teil 6 - Lehrstuhl für Wirtschaftsinformatik und Electronic Government
Teil 6 - Lehrstuhl für Wirtschaftsinformatik und Electronic Government Teil 6 - Lehrstuhl für Wirtschaftsinformatik und Electronic Government
Agenda Vom Datenmodell zur Tabelle Das Prinzip des Entity Relationship Modells (ERM) Vom Datenmodell zur Tabelle Einführung in die Wirtschaftsinformatik WS 13/14 Beschreibungsregeln des ERM Modellierungsschritte am Beispiel Vom ERM zum Relationenschema Universität Potsdam Lehrstuhl für Wirtschaftsinformatik und Electronic Government Univ.-Prof. Dr.-Ing. Norbert Gronau August-Bebel-Str. 89 14482 Potsdam Tel. (0331) 977-3379 Fax (0331) 977-3406 http://wi.uni-potsdam.de Teil 6 Anforderungen an Relationen 1 2 Vom Datenmodell zur Tabelle Semantische Datenmodelle Das Prinzip des Entity Relationship Modells (ERM) Möglichkeiten der Modellierung - Teile/Bereiche der realen Umwelt Teile/Bereiche der realen Umwelt Modell Trennung zwischen Schema und Ausprägung Übergang zu Deskriptor-orientierter Denkweise - Selbstbeschreibung von Objekten Das Prinzip des Entity Relationship Modells (ERM) ERM - am weitesten verbreitete Form des semantischen Datenmodells Name Kunden_Nr Adresse Kunden_Nr Artikel_Nr Menge Kunde bestellt Artikel Artikel_Nr Preis Kern des Modells - ER (Entity Relationship) - Diagramm Zentrales Element - modellrelevanter Objekttyp ‣ Das semantische Datenmodell beschreibt, wie Daten von einem Programm verwaltet werden sollen. 3 4
- Seite 2 und 3: Der Weg zur Datenbank - ER-Modellie
- Seite 4 und 5: Entitytyp Mitarbeiter der Firma WIP
- Seite 6 und 7: Vom Datenmodell zur Tabelle Entwurf
- Seite 8 und 9: Schritt 2 - Erstellung von Entität
- Seite 10 und 11: Der Weg zur Datenbank - Relationale
- Seite 12: Kontrollfragen Vom Datenmodell zur
Agenda<br />
Vom Datenmodell zur Tabelle<br />
Das Prinzip des Entity Relationship Modells (ERM)<br />
Vom Datenmodell zur Tabelle<br />
Einführung in die <strong>Wirtschaftsinformatik</strong><br />
WS 13/14<br />
Beschreibungsregeln des ERM<br />
Modellierungsschritte am Beispiel<br />
Vom ERM zum Relationenschema<br />
Universität Potsdam<br />
<strong>Lehrstuhl</strong> <strong>für</strong> <strong>Wirtschaftsinformatik</strong><br />
<strong>und</strong> <strong>Electronic</strong> <strong>Government</strong><br />
Univ.-Prof. Dr.-Ing. Norbert Gronau<br />
August-Bebel-Str. 89<br />
14482 Potsdam<br />
Tel. (0331) 977-3379<br />
Fax (0331) 977-3406<br />
http://wi.uni-potsdam.de<br />
<strong>Teil</strong> 6<br />
Anforderungen an Relationen<br />
1<br />
2<br />
Vom Datenmodell zur Tabelle<br />
Semantische Datenmodelle<br />
Das Prinzip des Entity Relationship Modells (ERM)<br />
Möglichkeiten der Modellierung - <strong>Teil</strong>e/Bereiche der realen Umwelt<br />
<strong>Teil</strong>e/Bereiche der realen Umwelt<br />
Modell<br />
Trennung zwischen Schema <strong>und</strong> Ausprägung<br />
Übergang zu Deskriptor-orientierter Denkweise -<br />
Selbstbeschreibung von Objekten<br />
Das Prinzip des Entity<br />
Relationship Modells (ERM)<br />
ERM - am weitesten verbreitete Form des semantischen Datenmodells<br />
Name<br />
K<strong>und</strong>en_Nr<br />
Adresse<br />
K<strong>und</strong>en_Nr<br />
Artikel_Nr<br />
Menge<br />
K<strong>und</strong>e bestellt Artikel<br />
Artikel_Nr<br />
Preis<br />
Kern des Modells - ER (Entity Relationship) -<br />
Diagramm<br />
Zentrales Element - modellrelevanter Objekttyp<br />
‣ Das semantische Datenmodell beschreibt, wie Daten von einem<br />
Programm verwaltet werden sollen.<br />
3<br />
4
Der Weg zur Datenbank - ER-Modellierung<br />
Das Prinzip des Entity Relationship Modells (ERM)<br />
Das Entity Relationship Modell (ERM)<br />
Das Prinzip des Entity Relationship Modells (ERM)<br />
Reale/ idelle Welt<br />
Gedankenmodell<br />
ER-Modellierung<br />
Konzeptionelles<br />
Modell<br />
Objekte<br />
Entities - Informationsobjekte, Gegenstände<br />
Attribute - Eigenschaften dieser Objekte<br />
Beziehungen - Verknüpfung zwischen Entities<br />
Logisches Modell<br />
Symbole<br />
gewünschte Daten:<br />
Darstellung<br />
Abfrage<br />
Tabellen<br />
Normalisierung<br />
Schemata <strong>für</strong><br />
Tabellen<br />
Realisierung/<br />
physisches Modell<br />
Objekt<br />
Attribut<br />
Beziehung<br />
Objekttypen: Rechtecke<br />
Beziehungstypen: Rhomben (Rauten)<br />
Attribute: Ellipsen/Kreise an Rechtecken/Rhomben<br />
Namensangaben immer im Singular<br />
‣ Das ERM beschreibt Objekte <strong>und</strong> Beziehungen graphisch im ER-<br />
Diagramm.<br />
5<br />
6<br />
Das Prinzip des Entity Relationship Modells (ERM)<br />
Das Prinzip des Entity Relationship Modells (ERM)<br />
Entity - Entitytyp<br />
Das Attribut<br />
Entities (Objekte) - Informationseinheiten <strong>für</strong> das Modell<br />
Mitarbeiter<br />
Kontoauszug<br />
K<strong>und</strong>e<br />
Reale oder abstrakte Dinge, die <strong>für</strong> den zu<br />
betrachtenden Ausschnitt Relevanz besitzen<br />
Identifizierung eines Entity über ein eindeutig<br />
beschreibendes Merkmal<br />
Merkmal eines konkreten Objektes<br />
Zuordnung mehrerer Attribute (Merkmale) zu einem Objekt<br />
Ein oder mehrere Attribute (Attributkombination, Schlüssel) - Aufgabe der<br />
eindeutigen Identifizierung eines Entities<br />
Attribut<br />
Entitytyp - Zusammenfassung gleichartiger Entities<br />
Typ - K<strong>und</strong>e<br />
Typ - Konto<br />
Typ - Mitarbeiter<br />
Eindeutige Zuordnung jedes Entity zu einem<br />
Entitytyp<br />
Unterscheidung der Entities durch mindestens<br />
einen ihrer Attributwerte<br />
Identifikation jedes Attributs über seinen Namen<br />
Vereinbarung eines Typs <strong>für</strong> Attributwerte<br />
Vereinbarung einer Optionalität<br />
Ermittlung der Beziehungskomplexität zwischen Entities<br />
‣ Das Attribut stellt eine Eigenschaft dar, die die Beschreibung einer<br />
Entität weiter ausführt.<br />
Elmasri, 2002, S. 46<br />
Elmasri, 2002, S. 47<br />
7<br />
8
Das Prinzip des Entity Relationship Modells (ERM)<br />
Das Prinzip des Entity Relationship Modells (ERM)<br />
Relationship - Relationshiptyp<br />
Das Gr<strong>und</strong>modell<br />
Entity-Typen<br />
Relationship-Typ<br />
Verknüpfung zwischen zwei (oder mehreren) Entities<br />
Prinzip der Zuordnung beschreibender Merkmale (Attribute) wie bei Entities<br />
Unterschied zu Entities<br />
K<strong>und</strong>e<br />
Subjekt - Entitytyp<br />
bestellt<br />
Artikel<br />
Prädikat - Entitytyp<br />
Verknüpfungseigenschaften = Eigenschaften (Schlüsselwerte) aus den<br />
verb<strong>und</strong>enen Entities<br />
Identifizierung eines Relationships entweder über Kombination der<br />
Schlüsselwerte oder durch zusätzliches Attribut<br />
Beispiel eines ER-Diagramms<br />
K<strong>und</strong>en_Nr<br />
Name<br />
K<strong>und</strong>en_Nr<br />
Adresse<br />
Artikel_Nr<br />
Menge<br />
Artikel_Nr<br />
Preis<br />
K<strong>und</strong>e<br />
bestellt<br />
Artikel<br />
‣ Ein Entitytyp kann mit anderen Entitytypen wie auch mit sich<br />
selbst in Beziehung stehen.<br />
‣ Ein Entity bildet einen Gegenstand, eine Eigenheit oder eine<br />
Einheit der realen oder künstlichen Welt ab.<br />
Elmasri, 2002, S. 47<br />
9<br />
10<br />
Das Prinzip des Entity Relationship Modells (ERM)<br />
Das Prinzip des Entity Relationship Modells (ERM)<br />
Abstraktionsebenen<br />
Entitytyp Artikel der Firma WIProM AG<br />
Typebene<br />
Artikelname<br />
Beschreibung<br />
Wiederholungsattribut<br />
Angestellter<br />
arbeitet_bei<br />
Unternehmen<br />
Ausprägungsebene<br />
Angesteller<br />
Name: Larry Ellison<br />
Firma: Oracle<br />
Funktion: CEO<br />
Zusammenfassung der Objekte der<br />
Ausprägungsebene zu Typen<br />
Grafische Darstellung der Entitäten <strong>und</strong><br />
Beziehungen<br />
Unterste Ebene, die von Anwendungssystemen<br />
verwaltet wird<br />
Enthält Namen <strong>und</strong> Typ-Information -<br />
Selbstbeschreibung<br />
Schlüsselattribut<br />
Artikelnummer<br />
Einfaches<br />
Attribut<br />
Bestand<br />
Artikelbeschreibung<br />
Entitytyp<br />
Artikel<br />
Halle<br />
Artikelkategorie<br />
Zusammengesetztes<br />
Attribut<br />
Standort<br />
Regal<br />
Errechenbares<br />
Attribut<br />
Gesamtwert<br />
Einzelpreis<br />
Ebene<br />
‣ Die Betrachtung der Begriffe Entity, Relationship <strong>und</strong> Attribut<br />
erfolgt auf Ausprägungs- <strong>und</strong> Typebene.<br />
‣ Ein Entity kann verschiedene Typen von Attributen besitzen.<br />
11<br />
12
Entitytyp Mitarbeiter der Firma WIProM AG<br />
Das Prinzip des Entity Relationship Modells (ERM)<br />
Vom Datenmodell zur Tabelle<br />
Vorname<br />
Nachname<br />
Wiederholungsattribut<br />
Schlüsselattribut<br />
Name<br />
Entitytyp<br />
Telefon<br />
Errechenbares<br />
Attribut<br />
Alter<br />
Personalnummer<br />
Mitarbeiter<br />
Geburtstag<br />
Einfaches<br />
Attribut<br />
Position<br />
PLZ<br />
Zusammengesetztes<br />
Attribut<br />
Adresse<br />
Straße<br />
‣ Ein Entity kann verschiedene Typen von Attributen besitzen.<br />
Ort<br />
Straße<br />
Hausnummer<br />
Wohnungsnummer<br />
Beschreibungsregeln des ERM<br />
13<br />
14<br />
Beschreibungsregeln des ERM<br />
Beschreibungsregeln des ERM<br />
Syntax der ER-Modellierung<br />
Semantik der ER-Modellierung<br />
Attribute <strong>und</strong> Entitytypen<br />
Bezeichnung - Substantive (singular)<br />
Relationshiptypen (Beziehungen)<br />
Bezeichnung - Verben (3. Person)<br />
Wertmäßige Beziehung (Kardinalität)<br />
Zuordnung zu Entitätsklasse - genau eine Kardinalität (mögliche Anzahl<br />
von Verbindungen zwischen 0 <strong>und</strong> n)<br />
Attribut 1<br />
Entitätsklasse 1<br />
0...n<br />
Attribut 2<br />
Beziehung<br />
0...n<br />
Entitätsklasse 2<br />
Kardinalität<br />
‣ Syntax (Satzbau) legt die formalen Beschreibungsregeln <strong>für</strong> die<br />
einzelnen Objekte im ERM fest.<br />
Entitytypen<br />
Klasse von Objekten mit bestimmten (gleichen) Eigenschaften<br />
Entities (Objekte)<br />
Informationseinheiten <strong>für</strong> das Modell<br />
Beziehungstypen<br />
Zusammenfassung der Beziehungen zwischen Entities<br />
Attribute - Eigenschaften der Entities<br />
Modellierung der Eigenschaften von Entity- <strong>und</strong> Beziehungstypen<br />
Datentypen - Entity-, Beziehungs- <strong>und</strong> Attributtypen<br />
Definition von Wertebereichen<br />
‣ Semantik (Bedeutungslehre) dient der Beschreibung der Objekte<br />
<strong>und</strong> ihrer Bedeutung im ERM.<br />
15<br />
16
Beschreibungsregeln des ERM<br />
Beschreibungsregeln des ERM<br />
Kardinalität<br />
Abstraktionskonzepte<br />
Beschreibung der zahlenmäßigen Beteiligung von Entities einer<br />
Klasse (Entitytyp) an der jeweiligen Beziehung (Relationship)<br />
Beispiel: Ein K<strong>und</strong>e kann mehrere Artikel bestellen<br />
Genaue Charakterisierung von Relationshiptypen<br />
Zeigt Verhältnis zwischen beteiligten Entitytypen<br />
Ziel - Modularisierung<br />
Bildung abstrakter Entity- <strong>und</strong><br />
Relationshiptypen <strong>für</strong> verallgemeinerte<br />
Informationsmodelle (unterschiedl.<br />
Abstraktionsniveaus)<br />
Aggregation<br />
Mitarbeiter<br />
Autohaus<br />
Werkstatt<br />
Zusammenfassung<br />
Auto<br />
potentiell untersciedlicher <strong>Teil</strong>objekte<br />
(Komponenten) zu neuem Objekt<br />
Mitarbeiter<br />
1<br />
sitzt_an<br />
1<br />
Arbeitsplatz<br />
Klassifikation<br />
Hammer<br />
Säge<br />
Bohrmaschine<br />
Feile<br />
Generalisierung<br />
Mitarbeiter<br />
Lieferant<br />
1 n<br />
betreut<br />
n<br />
liefert<br />
m<br />
K<strong>und</strong>e<br />
Artikel<br />
Werkzeug<br />
Zusammenfassung Objekte (Entities,<br />
Instanzen) mit gemeinsamen<br />
Eigenschaften zu neuem Objekt<br />
(Entitytyp, Klasse, Objekttyp)<br />
<strong>Teil</strong>mengenbeziehungen zwischen<br />
Elementen verschiedener Klassen<br />
Mitarbeiter<br />
Personen<br />
K<strong>und</strong>en<br />
‣ Gr<strong>und</strong>legende Abstraktionskonzepte liefern die Basis <strong>für</strong><br />
Informations- <strong>und</strong> Datenmodelle.<br />
17<br />
18<br />
Beschreibungsregeln des ERM<br />
Beschreibungsregeln des ERM<br />
Klassifikation<br />
Aggregation<br />
Abstraktion von Entities mit ähnlichen Eigenschaftswerten<br />
Entstehen langlebiger Entitytypen oder variabler Entityklassen durch<br />
Abstraktion<br />
Beispiele:<br />
Beschreibung einer Person, z.B. durch K<strong>und</strong>ennummer, Adresse, Telefon,<br />
Bestellwert usw. - Zuordnung zur Klasse "K<strong>und</strong>e"<br />
Klassifizierung von Werkzeug (’Typisierung’ anhand gleicher Merkmale)<br />
Hammer<br />
Säge<br />
Werkzeug<br />
Bohrmaschine<br />
Feile<br />
Ansicht von Objekten als Zusammensetzung anderer Objekte<br />
Sammlung atomarer, d.h. nicht weiter zerlegbarer, Objekte<br />
Betrachtung als zusammengesetztes Objekt (Aggregatobjekt)<br />
Einfache Formen der Aggregation<br />
Zusammengesetzte Attribute<br />
Entitytyp als Aggregation verschiedener Attribute<br />
Erweiterung - Beziehung zwischen Entitytypen<br />
BLZ<br />
Bankverbindung<br />
Bank<br />
Konto<br />
Beispiel: Zusammengesetztes Attribut<br />
"Bankverbindung" -<br />
(Commerzbank, 16040000, 211112300)<br />
Beispiel: Zwischen<br />
den Komponentenobjekten<br />
besteht eine<br />
Part-of- Beziehung<br />
(<strong>Teil</strong>-von- Beziehung)<br />
partof<br />
partof<br />
Spindel<br />
partof<br />
Gehäuse<br />
Kehlautomat<br />
partof<br />
Antriebswelle<br />
Gleitlager<br />
19<br />
20
Vom Datenmodell zur Tabelle<br />
Entwurfsschritte<br />
Modellierungsschritte am Beispiel<br />
Modellierungsschritte am<br />
Beispiel<br />
A.<br />
B.<br />
C.<br />
Ausgangspunkt - Erstellung eines konzeptuellen Schemas<br />
z.B. Entity Relationship Modell (ERM)<br />
Zwischenschritt - Überführung in logisches Schema<br />
z.B. Relationenmodell<br />
Ziel - Übersetzung in eine konkrete Datenbeschreibungssprache<br />
z.B. SQL (Structured Query Language)<br />
Entity-Relationship<br />
Objektstrukturen,<br />
Relationen<br />
logische<br />
Datenunabhängigkeit<br />
physische<br />
Datenunabhängigkeit<br />
konzeptuelles<br />
Schema<br />
überführt in<br />
logisches<br />
Schema<br />
21<br />
22<br />
Schritte der ER-Modellierung<br />
Modellierungsschritte am Beispiel<br />
Modell eines Unternehmens<br />
Modellierungsschritte am Beispiel<br />
1. Betrachtung von Objekten der "realen Welt" mit den beschreibenden<br />
Attributen sowie ihren Beziehungen<br />
2. Klassifizierung der Objekte <strong>und</strong> Beziehungen zu Objekt-Typen (Entity-) <strong>und</strong><br />
Beziehungs-Typen (Relationship-) mit den Attributen<br />
3. Modellbildung mit den Sprachmitteln des ERD<br />
Produkt<br />
Maschine<br />
Fahrzeug<br />
Lager<br />
Mitarbeiter<br />
Umsatz<br />
Mitarbeiter (Name,<br />
Vorname, MA_Nummer)<br />
Maschine (Standort,<br />
Masch_Nr, Wert)<br />
Fahrzeug (Typ,<br />
Kennzeichen, Fahrer)<br />
1. 2. 3.<br />
Darstellung der Betriebsbereiche (Funktionen/Aufgaben)<br />
Darstellung der Leitungsstrukturen (Organigramm)<br />
Darstellung der Arbeitsabläufe (statisch)<br />
Auftrag<br />
Artikel<br />
Personalleiter<br />
Mitarbeiter<br />
Geschäftsführer<br />
Produktionsleiter<br />
Projekt<br />
WiProM AG<br />
...<br />
Lieferant<br />
K<strong>und</strong>e<br />
Sekretärin<br />
23<br />
24
D<br />
A<br />
Firmen<br />
C<br />
B<br />
Schritt 1 - Identifizierung der beteiligten Objekte<br />
Modellierungsschritte am Beispiel<br />
Schritt 1 - Beispielobjekte<br />
Modellierungsschritte am Beispiel<br />
Objekte sind ...<br />
Individuelle <strong>und</strong> identifizierbare Elemente,<br />
Individuen, Sachen,<br />
Begriffe, Ereignisse o.ä. ...<br />
... innerhalb des Systems, die durch ihre Eigenschaften (Attribute)<br />
beschrieben werden.<br />
Mitarbeiter<br />
Artikel<br />
Firmen<br />
Werkzeuge<br />
‣ Jedes Objekt erhält konkrete Eigenschaften.<br />
Gebäude<br />
Fahrzeug<br />
e<br />
Objekt Artikel<br />
Attributbezeichn Attributwert<br />
er Artikelnummer 120AS1<br />
Artikelname Kompressor "Saturn"<br />
Artikeltyp<br />
Airbrush-Systeme<br />
Preis<br />
209,80 EUR<br />
Objekt Mitarbeiter<br />
AttributbezeichnAttributwert<br />
Personalnummer 101037<br />
Name<br />
Schmidt<br />
Position<br />
Sekretärin<br />
Abteilungsnummer 220L<br />
Projektnummer<br />
Attributbezeichner können<br />
auch leere Attributwerte<br />
besitzen.<br />
‣ Alle darstellenden Eigenschaften beschreiben das Objekt<br />
hinreichend.<br />
25<br />
26<br />
Schritt 1 - Beispielobjekte, Benennung<br />
Modellierungsschritte am Beispiel<br />
Schritt 2 - Beschreibung Entitätsklassen<br />
Modellierungsschritte am Beispiel<br />
Objekt Mitarbeiter<br />
Attributbezeich Attributwert<br />
ner Personalnummer 101013<br />
Name<br />
Holz<br />
Vorname<br />
Jens<br />
Position<br />
Programmierer<br />
Objekt Projekt<br />
Attributbezeichn Attributwert<br />
er Projektnummer P110<br />
Projektname B-Sensoren<br />
Projektbeginn Potsdam<br />
Personalkosten 69.000 EUR<br />
Gesamtkosten 107.000 EUR<br />
Projektleiter 101069<br />
Zusammenfassung von Objekten (Entities, Entitäten) mit gleicher<br />
Attributstruktur --> Klassen (Entity-, Entitätsmengen)<br />
Problemstellungen im Beispiel<br />
Verwaltung der Umsätze von Mitarbeitern in der Position "Verkäufer(in)"<br />
--> Klassifizierung --> Neue Klasse "Umsatz"<br />
Unterschiede bei Attributen von "Mitarbeiter" <strong>und</strong><br />
"K<strong>und</strong>e" (zusammengefasst in Oberklasse "Personen")<br />
‣ Der Attributbezeichner muss im Bezug zu seinem Inhalt stehen.<br />
27<br />
28
Schritt 2 - Erstellung von Entitätsklassen<br />
Modellierungsschritte am Beispiel<br />
Schritt 3 - Festlegung der Beziehungen<br />
Modellierungsschritte am Beispiel<br />
Ergebnis: Die Entitätsklassen<br />
Kompakte Darstellung durch Schema:<br />
Klassenbezeichner (Attributbez. 1, Attributbez. 2, ...)<br />
Mitarbeiter<br />
(PERSONALNUMMER, NAME, VORNAME, ANREDE, POSITION, GEBURTSTAG, EINSTELLUNG,<br />
GEHALT, ABTEILUNGSNUMMER, ABTEILUNGSNAME, PROVISION*; BANKVERBINDUNG)<br />
Projekt<br />
(PROJEKTNUMMER, NAME, LEITER, PROJEKTBEGINN, PROJEKTENDE, DAUER, KOSTEN)<br />
K<strong>und</strong>e<br />
(KUNDENNUMMER, NAME, VORNAME, ANREDE, ADRESSE, BANKVERBINDUNG)<br />
* Das Attribut Provision wird nur in der Vertriebs GmbH <strong>für</strong><br />
die Position Verkäufer benötigt. Die anderen Felder gelten<br />
sowohl <strong>für</strong> die WIProM AG als auch <strong>für</strong> die<br />
Tochtergesellschaften.<br />
Verbindung von mindestens zwei Entitäten<br />
Identifikation der Beziehung durch diese<br />
Benennung gr<strong>und</strong>sätzlich durch Verben<br />
"gehört_zu", "betreut", "arbeitet_in", "kauft"<br />
Artikel n<br />
wird_geliefert_von<br />
1 Lieferant<br />
Mitarbeiter 1<br />
n<br />
betreut K<strong>und</strong>e<br />
Mitarbeiter n<br />
m<br />
arbeitet_in Projekt<br />
K<strong>und</strong>e<br />
n<br />
kauft<br />
m<br />
Artikel<br />
29<br />
30<br />
Zwischenschritt - ER-Diagramm<br />
Modellierungsschritte am Beispiel<br />
Schritt 4 - Festlegung Kardinalität 1:1<br />
Modellierungsschritte am Beispiel<br />
Zuordnung: 1 Objekt "A" --> 1 Objekt "B" <strong>und</strong><br />
1 Objekt "B" --> 1 Objekt "A"<br />
Leiter leitet Abteilung<br />
Abteilungsleiter Vertrieb Vertrieb<br />
Abteilungsleiter Einkauf Einkauf<br />
Abteilungsleiter Fertigung Fertigung<br />
Abteilungsleiter Konstruktion Konstruktion<br />
1<br />
1<br />
Leiter leitet Abteilung<br />
31<br />
32
Modellierungsschritte am Beispiel<br />
Modellierungsschritte am Beispiel<br />
Schritt 4 - Festlegung Kardinalität 1:n<br />
Zuordnung:<br />
1 Objekt "A" mehrere Objekte "A"<br />
K<strong>und</strong>e kauft Artikel<br />
Peter Müller Kappzugsäge KZ350<br />
Torsten Heinze Fräsmaschine FA70<br />
Knut Petersen Verleimpresse P15A<br />
Peter Müller Frässtation FS8x<br />
Dino Ventura Montagetisch MTa<br />
Henryk van Buyten Fräsmaschine FA70<br />
Knut Petersen Fräsmaschine FA70<br />
Torsten Heinze Kappzugsäge KZ45<br />
n<br />
m<br />
Leiter leitet Abteilung<br />
33<br />
34<br />
Modellierungsschritte am Beispiel<br />
Vom Datenmodell zur Tabelle<br />
Ergebnis: Vollständiges ER-Diagramm<br />
1 n<br />
n<br />
n 1<br />
n<br />
m<br />
1 n<br />
m<br />
Vom ERM zum<br />
Relationenschema<br />
35<br />
36
Der Weg zur Datenbank - Relationale Modellierung<br />
Vom ERM zum Relationenschema<br />
ER-Schemata - relationale Schemata<br />
Vom ERM zum Relationenschema<br />
Reale/ idelle Welt<br />
Gedankenmodell<br />
ER-Modellierung<br />
Konzeptionelles<br />
Modell<br />
Relationale<br />
Modellierung<br />
Entitätsmenge --> Tabelle<br />
Beziehung --> Tabelle<br />
Attribute der abgebildeten Entitätsmengen <strong>und</strong> Beziehungen --<br />
> Tabellenspalten<br />
1:n-Beziehungen ohne Beziehungstabelle<br />
Logisches Modell<br />
gewünschte Daten:<br />
Darstellung<br />
Normalisierung<br />
Schemata <strong>für</strong><br />
Tabellen<br />
X<br />
1<br />
n<br />
Mitarbeiter arbeitet_in Projekt<br />
Abfrage<br />
Tabellen<br />
Realisierung/<br />
physisches Modell<br />
37<br />
38<br />
Regeln der relationalen Datenmodelle<br />
Vom ERM zum Relationenschema<br />
Vom ERM zum Relationenschema<br />
Vergleich der Begriffe zwischen ER <strong>und</strong> relationalem Modell<br />
Gr<strong>und</strong>struktur<br />
T1<br />
T2<br />
T3<br />
T4<br />
Attr1 Attr2 Attr3<br />
Relation (Tabelle) - einziges Konstrukt im<br />
Relationenmodell<br />
Zweidimensional (Zeilen - Tupel, Spalten - Attribute)<br />
ER-Modell<br />
Entitytypname<br />
Attribut<br />
Relationales Datenmodell<br />
Relationstyp/-format<br />
Attribut<br />
Gültigkeitsregeln<br />
Entitytyp<br />
Primärschlüssel<br />
Relation<br />
Primärschlüssel<br />
Attr2 Attr3<br />
T1 0001 A X<br />
T2 0002 X<br />
T3 0003 B Y<br />
T4 0004 A<br />
Jede Relation hat einen Primärschlüssel<br />
Primärschlüsselattribut darf nicht NULL (leerer Wert)<br />
sein<br />
Beziehungen zwischen Tabellen über Fremdschlüssel<br />
Attribut<br />
Entity<br />
Attributwert<br />
Fremdschlüssel<br />
Tupel<br />
Attributwert<br />
39<br />
40
Vom ERM zum Relationenschema<br />
Vom ERM zum Relationenschema<br />
Der Weg vom ERD zur Tabelle<br />
Übertragen des ERD<br />
1Übertragen des ERD in Tabellen (Entitäts-, Relationstabellen)<br />
2Kennzeichnung der Primärschlüssel<br />
3Kennzeichnung der Fremdschlüsselattribute<br />
n<br />
n 1<br />
1 n<br />
1 m<br />
1 n<br />
n<br />
Projekt<br />
PROJ_NR NAME LEITER<br />
Mitarbeiter<br />
PERS_NR NAME VORNAME ANREDE ...<br />
betreut<br />
PERS_NR<br />
K<strong>und</strong>e<br />
KD_NR NAME<br />
.......<br />
KD_NR<br />
BANKVERBINDUNG ADRESSE<br />
Artikel<br />
ART_NR ART_NAME STANDORT BESCHREIBUNG ...<br />
‣ Die Erstellung der Tabellenform erfolgt in drei Schritten.<br />
x<br />
X<br />
X<br />
Projekt<br />
Proj_Nr<br />
Name<br />
Leiter<br />
...<br />
Mitarbeiter<br />
Pers_Nr<br />
Name<br />
Vorname<br />
Anrede<br />
Position<br />
Gehalt<br />
Abt_Nr<br />
...<br />
Artikel<br />
Art_Nr<br />
Art_name<br />
Standort<br />
...<br />
41<br />
42<br />
Kennzeichnung der Primärschlüssel<br />
Vom ERM zum Relationenschema<br />
Kennzeichnung der Fremdschlüsselattribute<br />
Vom ERM zum Relationenschema<br />
Lokale Integritätsbedingung - Keine doppelten Werte im (Primär)<br />
Schlüsselattribut<br />
Projekt<br />
Proj_Nr<br />
Name<br />
Leiter<br />
...<br />
Vermeidung evtl. Missverständnisse<br />
- Differenzierung<br />
bei Attributnamen<br />
Projekt<br />
Proj_Nr<br />
Proj_Name<br />
Proj_Leiter<br />
...<br />
Mitarbeiter<br />
Pers_Nr<br />
Name<br />
Vorname<br />
Anrede<br />
Position<br />
Gehalt<br />
Abt_Nr<br />
Proj_Nr<br />
...<br />
‣ Primärschlüssel werden unterstrichen.<br />
KUNDE<br />
Kd_Nr<br />
Kd_Name<br />
Kd_Vorname<br />
Adresse<br />
Bankverbindung<br />
ARTIKEL<br />
Art_Nr<br />
Art_Name<br />
Standort<br />
Preis<br />
Kategorie<br />
Beschreibung<br />
Relationship "arbeitet_in"<br />
entfällt --> Verbindung<br />
zwischen Relationen muss<br />
neu hergestellt werden<br />
Heuer, 2000, S.13<br />
43<br />
Fremdschlüssel werden durch einen Stern * gekennzeichnet<br />
Mitarbeiter<br />
Pers_Nr<br />
Name<br />
Vorname<br />
Anrede<br />
Position<br />
Gehalt<br />
Kd_Nr *<br />
Proj_Nr *<br />
Abt_Nr<br />
K<strong>und</strong>e<br />
Kd_Nr<br />
Name<br />
Vorname<br />
Adresse<br />
Bankverbindung<br />
Projekt<br />
Proj_Nr<br />
Proj_Name<br />
Proj_Leiter<br />
‣ Globale Integritätsbedingung - im Fremdschlüssel existierende<br />
Werte müssen im Primärschlüssel der verb<strong>und</strong>enen Tabelle stehen.<br />
Heuer, 2000, S.13, S. 113<br />
44
Kontrollfragen<br />
Vom Datenmodell zur Tabelle<br />
Literatur<br />
Vom Datenmodell zur Tabelle<br />
Welches Ziel verfolgt die Modellbildung?<br />
Welcher Zusammenhang besteht zwischen betrachteten<br />
Gegenständen der realen Welt <strong>und</strong> Datenobjekten?<br />
Wo<strong>für</strong> werden die Attribute in den Entities benötigt?<br />
Welche Bedeutung besitzen die Beschreibungsregeln im ERM?<br />
Welche Zusammenhänge beschreibt die Kardinalität?<br />
Heuer, A./Saake, G./Sattler, K.-U.: Datenbanken: Konzepte <strong>und</strong><br />
Sprachen; 4. Auflage, 2010, mitp<br />
Elmazri, R./Navathe, S. B.: Gr<strong>und</strong>lagen von Datenbanksystemen;<br />
3. Auflage, 2010, Addison-Wesley<br />
Stahlknecht, P./Hasenkamp, U.: Einführung in die<br />
<strong>Wirtschaftsinformatik</strong>, 11. Auflage, Springer Verlag<br />
45<br />
46