datenmodellierung - aufbau einer datenbank -

20
1 Datenmodellierung - Aufbau einer Datenbank - Einsatz eines Datenbankprogramms im Unterricht Harald Weber August 2007

Upload: redell

Post on 15-Jan-2016

41 views

Category:

Documents


0 download

DESCRIPTION

Datenmodellierung - Aufbau einer Datenbank -. Einsatz eines Datenbankprogramms im Unterricht. Harald Weber. August 2007. Aufgabe: Bestellungen von Kunden. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Datenmodellierung - Aufbau einer Datenbank -

1

Datenmodellierung- Aufbau einer Datenbank -

Einsatz eines Datenbankprogramms im Unterricht

Harald WeberAugust 2007

Page 2: Datenmodellierung - Aufbau einer Datenbank -

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

Page 3: Datenmodellierung - Aufbau einer Datenbank -

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)

Page 4: Datenmodellierung - Aufbau einer Datenbank -

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.

Page 5: Datenmodellierung - Aufbau einer Datenbank -

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

Page 6: Datenmodellierung - Aufbau einer Datenbank -

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

Page 7: Datenmodellierung - Aufbau einer Datenbank -

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:

Page 8: Datenmodellierung - Aufbau einer Datenbank -

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

Page 9: Datenmodellierung - Aufbau einer Datenbank -

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.  

Page 10: Datenmodellierung - Aufbau einer Datenbank -

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.

Page 11: Datenmodellierung - Aufbau einer Datenbank -

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

Page 12: Datenmodellierung - Aufbau einer Datenbank -

Umsetzung des semantischen Modells in ein logisches Datenbankmodell

Klassen und Beziehungstabelle in Tabellenansicht:

 

Page 13: Datenmodellierung - Aufbau einer Datenbank -

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).

Page 14: Datenmodellierung - Aufbau einer Datenbank -

Realisierung von Abfragen mit SQL

 

Kundenliste eines bestimmten Ortes:

Es sollen alle Kunden erscheinen, die im Ort 2 wohnen! 

Page 15: Datenmodellierung - Aufbau einer Datenbank -

Realisierung von Abfragen mit SQL

 

Bestellungen durch einen bestimmten Kunden:

Welche Artikel hat ein bestimmter Kunde bestellt? (Daten aus mehreren Tabellen auswählen!)

Page 16: Datenmodellierung - Aufbau einer Datenbank -

Realisierung von Abfragen mit SQL

 

Umsatz je Artikel

Wie groß ist der Umsatz je Artikel?

Page 17: Datenmodellierung - Aufbau einer Datenbank -

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;

Page 18: Datenmodellierung - Aufbau einer Datenbank -

Bericht zur Abfrage:

 

Bestellnummer mit Gesamtpreis und MWST

Page 19: Datenmodellierung - Aufbau einer Datenbank -

Weitere Informationen im Internet: www.info-wr.de

Harald Weber – Landesbeauftragter für Computereinsatz

Page 20: Datenmodellierung - Aufbau einer Datenbank -

20

Landesbeauftragter für Computereinsatz im

Fachunterricht Wirtschaft/Recht

Harald Weberwww.info-wr.de