U
User555
abgemeldet
Hallo Zusammen,
würde gerne Mal meine Ergebnisse zu dieser Klausur zur Diskussion stellen. Im SQL Teil wird es vermutlich mehrere Möglichkeiten geben.
Aufgabe 1:
a)
Seminartyp 1..* < geführt durch -- 1..* Dozent
Seminartyp 1 < angeboten --- * Seminar
Seminar < führt durch --- 1 Dozent
Person {abstrakt} Oberklasse zu Mitarbeiter und Dozent
Dozent Unterklasse zu Person
Mitarbeiter Unterklasse zu Person
Mitarbeiter * sind vorgesehen > 1..* Buchung
Mitarbeiter * gehören zu > 1 Kunde
Buchung * gehören zu > 1 Kunden
Buchung * gehört zu 1 Seminar
b)
Hier gibt es natürlich mehr als drei Möglichkeiten, kann man sich aussuchen:
Klasse Seminartyp:
Titel: String
Dauer: Uint {in Tagen > 0}
Preis: Float { in EUR > 0}
Klasse Dozent:
Honorarsatz: Float {in EUR > 0}
Name: String
Adresse: String
Klasse Seminar:
Typ: String
Zeitraum: Date // Anfang und Ende
Dozent: String
Klasse Buchung:
Anzahl Plätze: Uint {>0}
Buchungsdatum: Date
Stornokennzeichen: Boolean
c)
Klasse Seminartyp:
ListeSeminartypDrucken ()
DozentZuweisen ()
Klasse Dozent:
ListeDozentenDrucken ()
SeminareZuweisen ()
Klasse Seminar:
SeminarErfassen ()
ListeSeminareDrucken ()
Klasse Buchung:
ListeBuchungenDrucken ()
BuchungStornieren ()
Aufgabe 2:
a)
Warengruppe 1 --- mc Artikel
Lieferant 1 --- mc Artikel
Lieferant m --- mc Lager
Artikel 1 --- mc Bestand
Artikel 1 --- mc Abverkauf
Bestand mc --- 1 Standort
Abverkauf mc --- 1 Filiale
Filiale m --- 1 Lager
Lager und Filiale Spezialisierung zu Standort mit Disjunkter Obermenge (Dreieck mit 1:1)
b)
SELECT M.Name, M.Gehalt, F.Ort
FROM Mitarbeiter M, Filiale F
WHERE F.FilialNr =M.FilialNr
AND M.Wohnort = "München"
ORDER BY M.Gehalt ASC
SELECT COUNT (*)
FROM Mitarbeiter M, Filiale F
WHERE F.FilialNr =M.FilialNr
AND F.FilialNr = "9"
AND M.Gehalt (SELECT AVG(Gehalt)
FROM Mitarbeiter)
SELECT F.FilialNr, F.Bezeichnung
FROM Filiale F, Mitarbeiter M, Region R
WHERE F.FilialNr = M.FilialNr
AND R.RegNr = F.RegNr
AND R.RegName = "NRW"
AND M.Funktion = "Verkauf"
GROUP BY F.FilialNr
HAVING COUNT (*) > 6
c)
1) R
2) R
3) F
4) F
5) R
6) F
Aufgabe 3:
a)
1) ---
2) ORDER, CUST, AuftragsDB (L) Kundenstamm (L), SB REWE
3) KAM
4) TecData, Auftrag (L), Technische Inf. (L), KAM
5) ---
6) Waterbird, Auftrag (L), Aufforderungsschreiben (S), KAM
7) ORDER, CUST, TechData, AuftragsDB (L), Kundenstamm (L), Technische Inf. (L), KAM
8) CUST, Auftrag (L), Kundenstamm (S), SB Kundenservice
9) CUST, Auftrag (L), Kundenstamm, (L), SB Kundenservice
10) ---
11) Waterbird, Status (S), SB Kundenservice
12) ORDER, Auftrag (L), AuftragsDB (S), SB Produktion
b)
2) UND Nr. 9 vor 2) + UND Nr. 10 danach
3) UND Nr. 4 vor 3) + UND Nr. 9 danach
4) XOR Nr. 8 vor 4) + XOR Nr. 7 danach
5) UND Nr. 10 vor ENDE
6) XOR Nr. 7 vor 5) + XOR Nr. 6 danach
7) UND Nr. 9 vor 7) + UND Nr. 10 danach
8) XOR Nr. 2 vor 8) + XOR Nr. 3 danach
9) UND Nr. 1 vor 9) + XOR Nr. 2 danach
10) und Nr. 1 danach
11) XOR Nr. 3 vor 11) + UND Nr. 4 danach
12) XOR Nr. 7 vor 12) + XOR Nr. 5 danach
Grüße,
Luffi
würde gerne Mal meine Ergebnisse zu dieser Klausur zur Diskussion stellen. Im SQL Teil wird es vermutlich mehrere Möglichkeiten geben.
Aufgabe 1:
a)
Seminartyp 1..* < geführt durch -- 1..* Dozent
Seminartyp 1 < angeboten --- * Seminar
Seminar < führt durch --- 1 Dozent
Person {abstrakt} Oberklasse zu Mitarbeiter und Dozent
Dozent Unterklasse zu Person
Mitarbeiter Unterklasse zu Person
Mitarbeiter * sind vorgesehen > 1..* Buchung
Mitarbeiter * gehören zu > 1 Kunde
Buchung * gehören zu > 1 Kunden
Buchung * gehört zu 1 Seminar
b)
Hier gibt es natürlich mehr als drei Möglichkeiten, kann man sich aussuchen:
Klasse Seminartyp:
Titel: String
Dauer: Uint {in Tagen > 0}
Preis: Float { in EUR > 0}
Klasse Dozent:
Honorarsatz: Float {in EUR > 0}
Name: String
Adresse: String
Klasse Seminar:
Typ: String
Zeitraum: Date // Anfang und Ende
Dozent: String
Klasse Buchung:
Anzahl Plätze: Uint {>0}
Buchungsdatum: Date
Stornokennzeichen: Boolean
c)
Klasse Seminartyp:
ListeSeminartypDrucken ()
DozentZuweisen ()
Klasse Dozent:
ListeDozentenDrucken ()
SeminareZuweisen ()
Klasse Seminar:
SeminarErfassen ()
ListeSeminareDrucken ()
Klasse Buchung:
ListeBuchungenDrucken ()
BuchungStornieren ()
Aufgabe 2:
a)
Warengruppe 1 --- mc Artikel
Lieferant 1 --- mc Artikel
Lieferant m --- mc Lager
Artikel 1 --- mc Bestand
Artikel 1 --- mc Abverkauf
Bestand mc --- 1 Standort
Abverkauf mc --- 1 Filiale
Filiale m --- 1 Lager
Lager und Filiale Spezialisierung zu Standort mit Disjunkter Obermenge (Dreieck mit 1:1)
b)
SELECT M.Name, M.Gehalt, F.Ort
FROM Mitarbeiter M, Filiale F
WHERE F.FilialNr =M.FilialNr
AND M.Wohnort = "München"
ORDER BY M.Gehalt ASC
SELECT COUNT (*)
FROM Mitarbeiter M, Filiale F
WHERE F.FilialNr =M.FilialNr
AND F.FilialNr = "9"
AND M.Gehalt (SELECT AVG(Gehalt)
FROM Mitarbeiter)
SELECT F.FilialNr, F.Bezeichnung
FROM Filiale F, Mitarbeiter M, Region R
WHERE F.FilialNr = M.FilialNr
AND R.RegNr = F.RegNr
AND R.RegName = "NRW"
AND M.Funktion = "Verkauf"
GROUP BY F.FilialNr
HAVING COUNT (*) > 6
c)
1) R
2) R
3) F
4) F
5) R
6) F
Aufgabe 3:
a)
1) ---
2) ORDER, CUST, AuftragsDB (L) Kundenstamm (L), SB REWE
3) KAM
4) TecData, Auftrag (L), Technische Inf. (L), KAM
5) ---
6) Waterbird, Auftrag (L), Aufforderungsschreiben (S), KAM
7) ORDER, CUST, TechData, AuftragsDB (L), Kundenstamm (L), Technische Inf. (L), KAM
8) CUST, Auftrag (L), Kundenstamm (S), SB Kundenservice
9) CUST, Auftrag (L), Kundenstamm, (L), SB Kundenservice
10) ---
11) Waterbird, Status (S), SB Kundenservice
12) ORDER, Auftrag (L), AuftragsDB (S), SB Produktion
b)
2) UND Nr. 9 vor 2) + UND Nr. 10 danach
3) UND Nr. 4 vor 3) + UND Nr. 9 danach
4) XOR Nr. 8 vor 4) + XOR Nr. 7 danach
5) UND Nr. 10 vor ENDE
6) XOR Nr. 7 vor 5) + XOR Nr. 6 danach
7) UND Nr. 9 vor 7) + UND Nr. 10 danach
8) XOR Nr. 2 vor 8) + XOR Nr. 3 danach
9) UND Nr. 1 vor 9) + XOR Nr. 2 danach
10) und Nr. 1 danach
11) XOR Nr. 3 vor 11) + UND Nr. 4 danach
12) XOR Nr. 7 vor 12) + XOR Nr. 5 danach
Grüße,
Luffi