Hilfe zur Klausuraufgabe Klausur Mrz 2009 (WS 2008/09)

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)

Medium (abstrakt)
Medium im Bestand Unterklasse zu Medium
Medium im Bestand 1 --- 1..* MedienExemplar
Neuanschaffung Unterklasse zu Medium
Neuanschaffung 1..* --- * MedienVorstellung
MedienExemplar 1 --- * Ausleihe
MedienVorstellung * --- 2 Mitarbeiter
Person (abstrakt)
Benutzer Unterklasse zu Person
Benutzer 1 --- 1 Konto
Konto 1 --- * Ausleihe
Mitarbeiter Unterklasse zu Person

b)

1) 0 alphanumerisch mit Uint nicht möglihc
2) 1
3) 0 Medium im bestand nicht Medium
4) 0 String statt Float
5) 0
6) 1
7) 0 Uint für Telefonnummer nicht ok
8) 1
9) 0 Konto nicht Benutzer
10) 0 Kein Attribut von Ausleihe
11) 0 Float statt Uint
12) 0 Uint statt Boolean

Aufgabe 2:

a)

Arztbrief mc --- 1 Patient
Arztbrief mx --- 1 Arzt
Arztbrief c --- 1 Diagnose
Diagnose mc --- 1 Patient
Diagnose 1 --- c Behandlung
Diagnose mc --- 1 Arzt
Patient 1 --- mc Behandlungen
Arzt , --- mc Behandlung
Behandlung mc --- m Leistung
Leistung m --- 1 Krankenkasse

b)

SELECT DISTINCT Patient.PatientId, Patient.Name
FROM Patient, Behandlung
WHERE Patient.PatientId = Behandlung.PatientID
AND Behandlung.Arzt = "17"
AND Behandlung.DatumEnde <= "2008-12-31"
AND Behandlung.DatumEnde >= "2008-12-01"

SELECT COUNT (DISTINCT Patient.PatientId)
FROM Patient, Arzt, Behandlung
WHERE Patient.PatientId = Behandlung.PatientID
AND Arzt.ArztID = Diagnose.ArztId
AND Diagnose.Datum >= "2009-01-01"
AND Patient.Name = "FISCHER"
AND Arzt.Name IN ("Meier", "Maier", "Mayer")
AND Diagnose.DiagnoseId NOT IN
(SELECT DISITNCT (DiagnoseId) FROM Behandlung)

1) 200 (Bezieht sich auf 2 Datensätze 324 und 416 * 100=
2) 4 (Privatversicherte Patienten)
3) 50 (200/4)

1) Ja
2) Nein
3) Nein

c)

Bankprodukt (ProduktId, Bezeichnung, etc.) 1 ----- m
Vertrag (KundenID, ProduktID, Unterschriftsdatum, Laufzeit, etc.) m --- 1
Bankkunde (KundenID, Name, etc.)

Aufgabe 3:

a) + b) Siehe Anhang

c)

1) R
2) R
3) R

d)

1) R
2) R
3) F
4) F
5) R
 

Anhänge

  • GP_WS08_09.pdf
    160,4 KB · Aufrufe: 14
Zuletzt bearbeitet von einem Moderator:
Meine Klausur liegt schon ein Weilchen zurück und ich bin mir nicht sicher, ob ich noch alles zusammenkriege. Anhand meiner Aufzeichnungen schreibe ich mal, was ich anders notiert hatte.

Aufgabe 1:

b)

5) 1
11) 0 Float statt Uint --> könnte auch UInt sein, da Gebühren in ganzen Zahlen fällig sein könnten

Aufgabe 2:

a)

Diagnose 1 --- mc Arzt
Arzt 1 --- mc BehandlungLeistung m --- c Krankenkasse

b)

SELECT DISTINCT Patient.PatientId, Patient.Name
FROM Patient, Behandlung
WHERE Patient.PatientId = Behandlung.PatientID
AND Behandlung.Arzt = "17"
AND Behandlung.DatumEnde <= "2008-12-31"
AND Behandlung.DatumEnde >= "2008-12-01"
ORDER BY Patient.Name ASC (Sortierung habe ich hier noch)

SELECT COUNT (DISTINCT Patient.PatientId)
FROM Patient, Arzt, Behandlung, Diagnose (hier hat Diagnose gefehlt)
WHERE Patient.PatientId = Behandlung.PatientID
AND Arzt.ArztID = Diagnose.ArztId
AND Diagnose.Datum >= "2009-01-01"
AND Patient.Name = "FISCHER"
AND Arzt.Name IN ("Meier", "Maier", "Mayer")
AND Diagnose.DiagnoseId NOT IN
(SELECT DISITNCT (DiagnoseId) FROM Behandlung)

c)

Bankprodukt (ProduktId, Bezeichnung, etc.) m ----- 1 Kundenprodukt
Kundenprodukt (KundenID, ProduktID, Unterschriftsdatum, Laufzeit, etc.) 1 --- m Bankkunde
Bankkunde (KundenID, Name, etc.)

Aufgabe 3:

5: Lieferauftrag (L)
7: Auftragsdaten (L), Lieferschein (S)
13: Lieferauftrag (LS)
 
Hallo Kiomi,

Danke für deine Rückmeldung.

Aufgabe 1:

b)

5) 1
11) 0 Float statt Uint --> könnte auch UInt sein, da Gebühren in ganzen Zahlen fällig sein könnten

Also bei Aufgabe 1 b) 5) 1 geben ich dir recht, bei 11) würde ich allerdings bei 0 bleiben. Geldbeträge sind meiner Meinung nach immer Float, außer es wäre explizit angegeben, dass der Betrag eine ganze Zahl ist. Hast wohl an die gute Alte Praxisgebühr gedacht :-)

a)

Diagnose 1 --- mc Arzt
Arzt 1 --- mc Behandlung
Leistung m --- c Krankenkasse

Diagnose mc --- 1 Arzt müsste doch stimmen, es steht folgendes da: Die Diagnose wird genau von einem Arzt gestellt, ein Arzt kann viele, insbesondere auch keine Diagnosen erstellen.

Arzt 1 --- mc Behandlung habe ich auch

Leistung m --- c Krankenkasse: das c passt meiner Meinung nach nicht zum Satz "ob und wie die Leistung abgerechnet werden kann". Wenn nur ob da stünde würde das c passen, aber so finde ich dass es eine 1 sein sollte.

b)

SELECT DISTINCT Patient.PatientId, Patient.Name
FROM Patient, Behandlung
WHERE Patient.PatientId = Behandlung.PatientID
AND Behandlung.Arzt = "17"
AND Behandlung.DatumEnde <= "2008-12-31"
AND Behandlung.DatumEnde >= "2008-12-01"
ORDER BY Patient.Name ASC (Sortierung habe ich hier noch)

SELECT COUNT (DISTINCT Patient.PatientId)
FROM Patient, Arzt, Behandlung, Diagnose (hier hat Diagnose gefehlt)
WHERE Patient.PatientId = Behandlung.PatientID
AND Arzt.ArztID = Diagnose.ArztId
AND Diagnose.Datum >= "2009-01-01"
AND Patient.Name = "FISCHER"
AND Arzt.Name IN ("Meier", "Maier", "Mayer")
AND Diagnose.DiagnoseId NOT IN
(SELECT DISITNCT (DiagnoseId) FROM Behandlung)

Da hast du recht

c)

Bankprodukt (ProduktId, Bezeichnung, etc.) m ----- 1 Kundenprodukt
Kundenprodukt (KundenID, ProduktID, Unterschriftsdatum, Laufzeit, etc.) 1 --- m Bankkunde
Bankkunde (KundenID, Name, etc.)

Bei dieser Aufgabe bin ich mir nicht ganz sicher, habe hierzu das Beispiel aus der KE Datenmodellierung auf Seite 38 herangezogen. Durch die Einführung der Hilfsrelation haben sich dort auch die Beziehungen "umgedreht".

Mein Beispiel klingt doch eigentlich auch ganz logisch

Bankprodukt (ProduktId, Bezeichnung, etc.) 1 ----- m
Vertrag (KundenID, ProduktID, Unterschriftsdatum, Laufzeit, etc.) m --- 1
Bankkunde (KundenID, Name, etc.)

Zu einem Vertrag gehört immer ein Produkt, Ein Produkt kann in mehreren Verträgen enthalten sein
Ein Vertrag ist immer einem Kunden zugeordnet, ein Kunde kann mehrere Verträge besitzen.

5: Lieferauftrag (L)
7: Auftragsdaten (L), Lieferschein (S)
13: Lieferauftrag (LS)

Hier nochmal die gesamte Lösungstabelle, den bereinigten Anhang habe ich dir gerade zukommen lassen.

a)

1) ORDER; Lieferauftrag (L) AuftragsDB (L), MA Service
2) MA Lager, MA Beschaffung
3)---
4) ORDER, Optiroute, Lieferauftrag (L), AuftragsDB (S), MA Dispo
5) ORDER, Voranmeldung (S), MA Dispo --> Wie kommst du hier ausschließlich auf Lieferauftrag? Ggf. könnte man den Lieferauftrag noch lesend hinzufügen, ist halt wieder ein Sache der Interpretation :-(
6) Invent, Lieferauftrag (L), Lagerbestand (L), MA Lager
7) ORDER, MA Lager --> Würde nach erneuter Überlegung zumindest den Lieferschein lesend hinzufügen, da er ihn ja ausdruckt
8) MA Beschaffung
9) ---
10) ---
11) MA Lager
12) ---
13) Lieferauftrag (L), MA Lager --> Warum LS bei Lieferauftrag?
14) ORDER, Invent, AuftragsDB (S), Lagerbestand (S), MA Lager
15) MA Lager

2) XOR Nr. 1 davor
4) XOR Nr. 4 davor + XOR Nr. 5 danach
5) XOR Nr. 4 davor + XOR Nr. 5 danach
6) XOR Nr. 1 danach
7) UND Nr. 6 davor
8) XOR Nr. 2 danach
11) XOR Nr. 3 davor + XOR Nr. 6 danach
13) XOR Nr. 2 davor
14) XOR Nr. 3 danach
 
Zuletzt bearbeitet von einem Moderator:
Zurück
Oben