Disclaimer: Dieser Thread wurde aus dem alten Forum importiert. Daher werden eventuell nicht alle Formatierungen richtig angezeigt. Der ursprüngliche Thread beginnt im zweiten Post dieses Threads.
Hausaufgabe prüfen
Hey Leute, ich studiere AWT und benötige nur noch den Grundkurs Informatik, um fertig zu werden. Der hätte eigentlich am Anfang meines Studiums absolviert werden müssen aber ich hab mich bis jetzt gedrückt. Ich muss nur die Hausaufgaben überleben, um den Schein zu bekommen. Könntet ihr über meine Lösung schauen?
a) Keines der Attribute liefert eindeutige Attributwerte. Der Primärschlüssel müsste aus der Prüfernummer und der Schülernummer bestehen.
b) Hier bin ich mir sehr unsicher, da ich nicht weiß, was genau die Entitäten hier sind. Mein Vorschlag:
Ich würde ich riesig über Hilfe freuen!!!
Sieht eigentlich schonmal ganz gut aus.
Zur a):
Was du sagst, stimmt.
Wenn man nur die Tabelle betrachtet, könnte man noch mehr Schlüsselkandidaten (= Tupel von zwei Attributen, die zusammen eindeutig sind) finden.
Aber die IDs als Primärschlüssel zu nehmen erscheint mir auch allgemein betrachtet am sinnigsten.
Zur b):
Die Aufgabenstellung verlangt noch, dass du die Beziehungstypen angibst. Sowas sieht so aus:
Solltest du noch ergänzen.
[quote=nietaL]
Danke für den Hinweis!!! Würdest du dem zustimmen?[/quote]
Sieht gut aus.
Bei den Notationsformen gibt es bei ERM ja tausend unterschiedliche Formen und jeder macht es etwas anders (deines ist jetzt ähnlich der Chen-Notation, da wird auch 1:N usw. verwendet).
Vielleicht hätte das bei euch auch garnicht hingemüsst, und Beziehungstyp meint in eurer Aufgabenstellung nur, dass ihr den Beziehungen auch Namen geben sollt - aber wollte es halt mal erwähnen. Ist auf jeden Fall richtig so.
Es gibt jetzt (in der Chen-Notation) natürlich auch noch weitere Modellierungskonstrukte bei Beziehungstypen wie beispielsweise die totale Teilnahme (doppelte Linie), die beschreibt, dass beispielsweise ein Entity A mindestens eine Beziehung mit einem Entity B eingehen muss. Aber wie detailliert ihr das jetzt braucht musst du natürlich selbst wissen.
Beispiel:
EntityA==1==–N–EntityB
…bedeutet, dass jedes EntityA mindestens eine Beziehung mit einem EntityB eingehen muss, aber auch mit vielen verschiedenen EntityBs Beziehungen eingehen kann.
Dagegen muss nicht jedes EntityB eine Beziehung mit einem EntityA eingehen, weil dort keine doppelte Linie zwischen EntityB und dem Beziehungstyp vorhanden ist.
Zum Beispiel…
Die einzige weitere bedingt sinnvolle Kombination, die mir grad einfällt, wäre SchülerId/Prüfungsart, sofern man als Schüler nur jeweils genau eine mündliche und eine schriftliche Prüfung schreiben kann.
Gibt es in KonzMod mittlerweile Pflicht-Hausaufgaben?
Also das mit der doppelten Linie hatten wir nicht - also können wir es auch nicht wissen
Ich danke dir für die Bestätigung!
Ich habe jetzt die Entitäten aus dem Gefühl heraus bestimt, also: Prüfer, Prüfung und Schüler. Lässt sich irgendwie definieren, warum es ausgerechnet diese drei Tabellenspalten sind?
Wir haben ein KonzMod folgende Punkte gelernt, die für ein Entity sprechen:
- eigenständige Existenz
- identifizierbar (= unterscheidbar)
- beschreibbar (Merkmale, Attribute)
- relevant (für die Anwendungswelt)
Ich weiß nicht wie viel genau das dir jetzt hilft, aber strenggenommen sehe ich da auch immer viel Spielraum dabei, was man jetzt konkret als Entity modelliert und was nicht.
Teilweise gibt es ja dann noch Unterscheidungen, ob man Sachen nicht nur als Attribut anhängt anstatt dafür ein neues Entity zu erstellen.
Aber so wie du es hast, hört es sich halt irgendwie auch richtig an - und eine Note an sich beispielsweise als eigenes Entity zu modellieren ist hier irgendwie Quatsch.
Ich hab das auch immer ausm Bauch raus gemacht und sofern du da nicht kompletten Murks machst (und das hast du nicht) sollte das dann schon stimmen.
Wie gesagt - da gibt’s viel Modellierungsfreiheit. Wird schon passen.
[size=1]Vielleicht gibt’s noch jemand mit einer fundierteren wissenschaftlicheren Antwort. :B[/size]
Ich danke dir, das klingt alles nachvollziehbar!