datenmodellierung_we.. - info-wr

Werbung
Datenmodellierung
- Aufbau einer Datenbank -
Einsatz eines Datenbankprogramms
im Unterricht
August 2007
1
Harald Weber
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
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 betrachtet
sondern 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.) = Idealisierung
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
Modellierung:
4. Assoziation -> Klassenbeziehungen
Die Assoziation (kurz Beziehung oder Klassenbeziehung) beschreibt die gemeinsame Struktur
einer Menge von Objektverbindungen. Sie beschreibt wie die konkrete Objektbeziehung zwischen
zwei Objekten dieser Klassen aussieht.
Umsetzung des semantischen Modells in
ein logisches Datenbankmodell
1. Darstellung von Klassen in Tabellen
Umsetzung des semantischen Modells in
ein logisches Datenbankmodell
2. Einrichten von Klassenbeziehungen
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 Tabelle
Primärschlüssel ist.
Umsetzung des semantischen Modells in
ein logisches Datenbankmodell
2. Einrichten von Klassenbeziehungen
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.
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?
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 Informatik
viele 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
Landesbeauftragter für
Computereinsatz im
Fachunterricht
Wirtschaft/Recht
Harald Weber
www.info-wr.de
20
Herunterladen