Beispiellösung Mietwagen
Datenobjekte:
- Kunde
- Auto
- Mietvertrag
- Tarif
Es gelten folgende Beziehungen
- Ein Kunde kann mehrere Mietverträge für verschiedene Autos
abgeschlossen haben, aber auch das gleiche Fahrzeug mehrmals gemietet haben.
- Ein Auto ist in mehreren Mietverträgen Vertragsgegenstand.
- Ein Mietvertrag bezieht sich immer auf genau einen Kunden und ein Fahrzeug
über einen bestimmten Zeitraum.
- Ein Fahrzeug gehört in genau eine Fahrzeugkategorie.
- Einer Fahrzeugkategorie können unterschiedliche Tarife zugeordnet
sein.
- Es darf nur zu dem vorgegeben Tarif vermietet werden, der durch die
Vertragsdaten bestimmt wird.
ERM:
Aus den Angaben des Mietvertrages (Beginn, Ende) und des Autos (Kategorie
des Autos ist bekannt) lässt sich jedem Vertrag eindeutig EIN Tarif
zuordnen.
Relationenmodell
- Auto (Kennzeichen#, Kategorie, Erstzulassung, Marke, Typ, PS,
Kraftstoff)
- Kunde (KundenNr#, Nachname, Vorname, GebDat, Strasse, PLZ, Ort)
- Mietvertrag (VertragsNr#, Kennzeichen#, KundenNr#, TarifID#, Beginn, Ende)
- Tarif (TarifID#, Kategorie, Beginn, Ende, Preis, Einheit)
Legende: KundenNr#: Primärschlüssel; KundenNr#: Fremdschlüssel
Typdefinitionen:
- Kennzeichen: String(9)
- Kategorie: (Cabrio, Transporter, Kleinwagen, Limosine, Kombi)
- Nachname, Vorname, Strasse, Marke, Typ: String(30)
- PLZ: 10000..99999
- Preis: real
- TarifID, KundenNr, VertragsNr, PS: integer
- Kraftstoff: (Diesel, Normal, Super, SuperPlus)
- Einheit: (proTag, pauschal)
- Beginn, Ende, GebDat, Erstzulassung: Datum (und das ist der altbekannte
Record...)
Beispieldaten:
Es gibt zwei Kunden (Meiser und Test) die beide das gleiche Auto, aber zu
unterschiedlichen Zeiten und Tarifen (einmal der Normaltarif und einmal das
pauschale Weihnachtsangebot) mieten. Abgebildet ist weiterhin der Sommer-
und Wintertarif für Cabrios. Es gibt Autos in der Kategorie Cabrio, Limousine
(2x) und Transporter.
Auto
| Kennzeichen |
Kategorie |
Erstzulassung |
Marke |
Typ |
PS |
Kraftstoff |
| BI-SH-962 |
Limousine |
14.05.2001 |
BMW |
520i |
150 |
Super |
| BI-SH-963 |
Cabrio |
17.03.2001 |
BMW |
Z3 2,8 |
230 |
SuperPlus |
| BI-SH-964 |
Limousine |
17.11.2001 |
BMW |
530i |
238 |
Super |
| HF-SK-432 |
Transporter |
04.08.2001 |
Ford |
Transit |
90 |
Diesel |
Kunde
| KundenNr |
Nachname |
Vorname |
GebDat |
Strasse |
PLZ |
Ort |
| 1071301 |
Meiser |
Hans |
04.04.1942 |
Mustergasse 12 |
33647 |
Bielefeld |
| 1017380 |
Test |
Theo |
01.04.1982 |
Niedernstrasse 21 |
33602 |
Bielefeld |
Mietvertrag
| VetragsNr |
KundenNr |
Kennzeichen |
TarifID |
Beginn |
Ende |
| 443275 |
1017380 |
BI SH-964 |
1 |
11.12.2001 |
13.12.2001 |
| 443276 |
1071301 |
BI SH-964 |
2 |
23.12.2001 |
02.01.2002 |
Tarif
| TarifID |
Kategorie |
Beginn |
Ende |
Preis |
Einheit |
| 1 |
Limousine |
10.12.2001 |
14.12.2001 |
150 |
proTag |
| 2 |
Limousine |
23.12.2001 |
02.01.2002 |
300 |
pauschal |
| 3 |
Cabrio |
01.04.2001 |
30.09.2001 |
300 |
ProTag |
| 4 |
Cabrio |
01.10.2001 |
31.03.2002 |
200 |
proTag |
Integritätsbedingungen:
Ein Auto kann nicht gleichzeitung an zwei unterschiedliche Kunden vermietet
werden.
Gibt es für ein Auto A1 einen Mietvertrag M1 mit dem Kunden K1 und
Mietbeginn M1.Beginn und Mietende M1.Ende. Dann darf es keinen Mietvertrag
M2 geben mit M2.Kunde ungleich K1, M2.Auto = A1 und ((M1.Beginn kleinergleich
M2.Ende kleinergleich M1.Ende) ODER (M1.Beginn kleinergleich M2.Beginn kleinergleich
M1.Ende))