1
Datenmodellierung- Aufbau einer Datenbank -
Einsatz eines Datenbankprogramms im Unterricht
Harald WeberAugust 2007
Aufgabe: Bestellungen von Kunden
Ein Fahrradzubehörhersteller hat verschiedene Kunden, an die er verschiedene Artikel verkauft. Diese Daten sollen in einer Datenbank verwaltet werden.
Folgende Informationen sollen herausgefiltert werden:
- Kundenliste eines bestimmten Ortes
- Bestellungen durch einen bestimmten Kunden
- Umsatz je Artikel
- Rechnung für eine Kundenbestellung
Grundüberlegungen zum Aufbau der Datenbank
• Welche Daten sollen erfasst werden?
• Wie sind die Daten strukturiert?-> KLASSEN und deren BEZIEHUNGEN
(semantisches Datenbankmodell)
• Wie sieht das logische Datenbankmodell aus?-> Umsetzung des semantischen Datenbankmodells in ein
relationales Datenbankmodell
• Implementierung mit einem DBMS (z.B. ACCESS)
• Realisierung von Abfragen mit SQL
• Erstellung eines Berichts (Rechnung für Kunden)
Modellierung:1. Abgrenzung gegen die Umwelt
3
Objektorientiertes Datenmodell
143
Vorname = AnitaNachname = KlaubStraße = Jägerstraße 2Tel.Nr = 08151/4711Größe = 1,67
1201
Vorname = Klaus Nachname = MüllerStraße = Hauptstraße 1Tel.Nr = 07891/246
1203
Vorname = Hans Nachname = HuberStraße = Nebenstraße 1 Tel.Nr = 09783/345
2
Artikel = Fahrradkette VK = 20
4
Artikel = Sattel VK = 40
12
Artikel = Mantel VK = 8
2
Ortsname = Beispielshausen PLZ = 873457
Ortsname = Attenkirchen PLZ = 85358
4
Ortsname = Musterstadt PLZ = 81349
400
Fahrzeug = Golf Baujahr = 2002
Abgrenzung
34
Vorname = Inge Nachname = SchmidtStraße = Mozartring 9 Tel.Nr = 08354/789
Objekt (Entität) Attribut
Attributwert
Welche „Dinge“ sind für die Problemstellung wichtig, welche kann ich weglassen?z. B. Fahrzeug, mit dem ein Kunde fährt.
Modellierung:2. Abstraktion / Idealisierung
Von den Dingen die wichtig sind (Kunden, Orte, Artikel) werden nicht alle Aspekte betrachtetsondern nur die Attribute, die relevant sind. Details werden vernachlässigt (z.B. die Größe des Kunden) = Abstraktion. Es können aber auch neue Attribute eingeführt werden (z.B. Kundennr.) = IdealisierungDadurch entstehen gleichartig strukturierte Objekte.
4
Objektorientiertes Datenmodell
2
Ortsname = Beispielshausen PLZ = 87345
7
Ortsname = Attenkirchen PLZ = 85358
4
Ortsname = Musterstadt PLZ = 81349
143: Vorname = AnitaNachname = KlaubGeburtsdatum = 1.6.80Geschlecht = w
34:
Vorname = Inge Nachname = SchmidtGeburtsdatum = 3.8.87Geschlecht = w
1201: Vorname = Klaus Nachname = MaierGeburtsdatum = 22.2.82Geschlecht = m
1203
Vorname = Hans Nachname = HuberStraße = Nebenstraße 1 Tel.Nr = 09783/345
Was ist gleich? Was ist verschieden?Was lässt sich vereinfachen?
Abstraktion
1203
...Größe = 1,67
Idealisierung
2
Artikel = Fahrradkette VK = 20
4
Artikel = Sattel VK = 40
12
Artikel = Mantel VK = 8
Modellierung:3. Aggregation - Klassen
Gleichartige Objekte mit festgelegten Attributen werden zusammengefasst – es entstehen Klassen:Klasse „Kunde“ besteht aus Vorname, Nachname, Straße, Tel.Nr.Klasse „Ort“ besteht aus Ortsname und PLZ Klasse „Artikel“ besteht aus Artikelname und VK-Preis
5
Objektorientiertes Datenmodell
Objekte -> Abstraktion -> Klassen
143: Vorname = AnitaNachname = KlaubGeburtsdatum = 1.6.80Geschlecht = w
34:
Vorname = Inge Nachname = SchmidtGeburtsdatum = 3.8.87Geschlecht = w
1201: Vorname = Klaus Nachname = MaierGeburtsdatum = 22.2.82Geschlecht = m
1203
Vorname = Hans Nachname = HuberStraße = Nebenstraße 1 Tel.Nr = 09783/345...
2: SportName = Tennis Beitrag = 45
12
Artikel = Mantel VK = 8
2: 7:
4
Ortsname = Musterstadt PLZ = 81349
Reduktion der Komplexität
Modellierung:4. Assoziation -> Klassenbeziehungen
Die Assoziation (kurz Beziehung oder Klassenbeziehung) beschreibt die gemeinsame Struktureiner Menge von Objektverbindungen. Sie beschreibt wie die konkrete Objektbeziehung zwischen zwei Objekten dieser Klassen aussieht.
10
KUNDE ORTwohnt in > 1
ARTIKEL
< beherbergtn
bestellt > n
< wird bestelltm
Semantisches Modell
Klassendiagramm
In unserer Firma gilt:
Umsetzung des semantischen Modells in ein logisches Datenbankmodell
1. Darstellung von Klassen in Tabellen
1 1
R e l a t i o n a l e s D a t e n b a n k m o d e l l
K l a s s e T a b e l l e
S p a l t e ( A t t r i b u t )
Z e i l e ( D a t e n s a t z , E n t i t ä t , O b j e k t )
I n e i n e r Z e l l e s t e h t d e r A t t r i b u t w e r t d e s b e t r e f f e n d e n A t t r i b u t s d e s O b j e k t e s .
U m s e t z u n g d e s s e m a n t i s c h e n M o d e l l s i n e i nl o g i s c h e s D a t e n b a n k m o d e l l ( z . B . r e l a t i o n a l e s D a t e n b a n k m o d e l l ) :
Name Vorname Straße TelNrHuber Hans Nebenstr. 1 09783/345Müller Klaus Hauptstr. 1 07891/246Schmidt Inge Mozartring 9 08354/789Klaub Anita Jägerstr. 2 08151/4711
1 3
R e l a t i o n a l e s D a t e n b a n k m o d e l l
I d e n t i f i k a t i o n s s c h l ü s s e l ( P r i m ä r s c h l ü s s e l )
KundenID Name Vorname Straße TelNr1 Huber Hans Nebenstr. 1 09783/3452 Müller Klaus Hauptstr. 1 07891/2463 Schmidt Inge Mozartring 9 08354/7894 Klaub Anita Jägerstr. 2 08151/4711
Umsetzung des semantischen Modells in ein logisches Datenbankmodell
2. Einrichten von Klassenbeziehungen
1 5
R e l a t i o n a l e s D a t e n b a n k m o d e l l
K U N D E O R Tw o h n t i n > 1
< b e h e r b e r g tn
KundenID Name Vorname Straße OrtsNr1 Huber Hans Nebenstr. 1 22 Müller Klaus Hauptstr. 1 23 Schmidt Inge Mozartring 9 14 Klaub Anita Jägerstr. 2 3
Jetzt werden die Klassenbeziehungen auf das relationale Datenmodell abgebildet. 1:n lässt sich mit einem Fremdschlüssel umsetzen.Der Fremdschlüssel ist eine zusätzliches Attribut in einer Tabelle, das in einer anderen TabellePrimärschlüssel ist.
Umsetzung des semantischen Modells in ein logisches Datenbankmodell
2. Einrichten von Klassenbeziehungen
16
Relationales Datenbankmodell
Beziehungstabelle
KUNDE ARTIKELbestellt > n
< wird bestelltm
KundenID Name Vorname1 Huber Hans2 Müller Klaus3 Schmidt Inge4 Klaub Anita
Für eine n:m Beziehung benötigt man eine zusätzliche Tabelle (Beziehungstabelle). In die Beziehungstabelle werden die Primärschlüssel der zugehörigen Tabellen als Fremdschlüssel aufgenommen.
Umsetzung des semantischen Modells in ein logisches Datenbankmodell
2. Einrichten von Klassenbeziehungen
Grafische Datenbanksysteme unterstützen die Darstellung und den Aufbau des relationalen Datenmodells.
17
Relationales Datenbanksystem
Logisches Modell
Umsetzung des semantischen Modells in ein logisches Datenbankmodell
Klassen und Beziehungstabelle in Tabellenansicht:
Umsetzung des semantischen Modells in ein logisches Datenbankmodell
Was heißt nun modellieren?
18
Modellierung
reales System
abstraktes Modell
reales ModellRepräsentation
Systemanalyse
Modellbildung
AbgrenzungAbstraktionIdealisierungAggregationStrukturanalyse
Basiskonzepteder Informatik
Von einem realen System ausgehend, versucht man durch Systemanalyse, ein abstraktes Modell herzustellen.Zur Umsetzung des abstrakten Modells in eine Repräsentation gibt es in der Informatikviele Konzepte (z.B. Objektorientierte Modellierung).
Realisierung von Abfragen mit SQL
Kundenliste eines bestimmten Ortes:
Es sollen alle Kunden erscheinen, die im Ort 2 wohnen!
Realisierung von Abfragen mit SQL
Bestellungen durch einen bestimmten Kunden:
Welche Artikel hat ein bestimmter Kunde bestellt? (Daten aus mehreren Tabellen auswählen!)
Realisierung von Abfragen mit SQL
Umsatz je Artikel
Wie groß ist der Umsatz je Artikel?
Realisierung von Abfragen mit SQL
Bestellnummer mit Gesamtpreis und MWST
SELECT bestellt.BestellNr, KUNDEN.Name, KUNDEN.Straße, ORT.Postleitzahl, ORT.Ortsname, bestellt.Stueckzahl, ARTIKEL.Bezeichnung, ARTIKEL.Verkaufspreis, (Verkaufspreis*Stueckzahl) AS Gesamtnettopreis, (Gesamtnettopreis*0.16) AS MWSt, (Gesamtnettopreis+MWSt) AS Bruttopreis
FROM KUNDEN, ARTIKEL, ORT, bestellt
WHERE bestellt.BestellNr=[Geben Sie die Bestellnummer ein:] AND KUNDEN.KundenID=bestellt.Kundennr AND ORT.OrtsID=KUNDEN.OrtsNr AND ARTIKEL.ArtikelID=bestellt.Artikelnr;
Bericht zur Abfrage:
Bestellnummer mit Gesamtpreis und MWST
Weitere Informationen im Internet: www.info-wr.de
Harald Weber – Landesbeauftragter für Computereinsatz
20
Landesbeauftragter für Computereinsatz im
Fachunterricht Wirtschaft/Recht
Harald Weberwww.info-wr.de