Generalisierung und Spezialisierung
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.
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.
Frage zu Quiz/Selbsttest 04: EE/R-Modellierung
Hallo zusammen!
Anbei ist der Screenshot aus dem KonzMod-Quiz 4 zu EE/R-Modellierung.
Man soll alle Aussagen ankreuzen, die zum Thema Generalisierung bzw. Spezialisierung falsch sind.
Nun meine Frage: Warum ist die Antwort " Eine Oberklasse, die durch Spezialisierung gefunden wurde, ist nicht zwingend total bezüglich der Generalisierungshierarchie. " nicht falsch?
Eine Oberklasse wird doch nicht durch Spezialisierung gefunden. Also so war zumindest immer meine Meinung
Kann mir da jemand weiterhelfen?
Vielen Dank für eure Antworten.
Attachment:
QuizFrage.png: https://fsi.cs.fau.de/unb-attachments/post_128045/QuizFrage.png
Bei der Spezialisierung gehst du von der Oberklasse aus und entwickelst Unterklassen. Du hast zunächst nur Personen. Du bemerkst, dass du sie noch genauer einteilen kannst, beispielsweise in Mitarbeiter und Kunden. Es kann aber auch Personen in deiner Datenbank geben, die sich nicht in Mitarbeiter oder Kunden einteilen lassen (ehemalige Mitarbeiter o.Ä.). Deshalb die Vererbung nicht total.
Bei der Generalisierung, also dem Finden einer gemeinsamen Oberklasse, ist die Vererbung total. Du hast in deiner Datenbank Mitarbeiter und Kunden und entwickelst daraus die Oberklasse Person. Die Vererbung ist total, da du die Oberklasse in Hinblick auf die Unterklassen erschaffen hast.
Wenn ich hier von Datenbank rede, meine ich eine Menge von Daten, nicht unbedingt die konkrete Oracle-Datenbank o.Ä. Das Modellieren einer Hierarchie erledigst du ja, bevor du die Datenbank anlegst.
Danke für die Antwort. Deine Ausführungen sind auch logisch und klar.
Doch in der Antwortmöglichkeit steht “Eine Oberklasse, die durch Spezialisierung gefunden wurde […]”. Aber eine Oberklasse wird doch durch eine Generalisierung gefunden. Also z.B. (Klassen) PKW, LKW → (Oberklasse) Fahrzeug.
Die Aussage, dass die Oberklasse durch Spezialisierung gefunden wird, ist doch bereits nicht korrekt. Darauf wollte ich hinaus.
Oder stehe ich gerade auf dem Schlauch und übersehe etwas Essentielles?
Die Fragestellung ist wirklich etwas komisch, aber das ist wahrscheinlich so gewollt.
Betrachte es mal so:
Am Anfang hast du einfach nur Personendaten. Du hast weder Ober- noch Unterklassen. Wenn du jetzt anfängst, diese Personendaten in unterschiedliche Klassen zu teilen, hast du eine Oberklasse und mehrere Unterklassen. Durch Spezialisierung entsteht also auch erst die Oberklasse. Vorher war es eine ganz normale Klasse bzw. ein normaler Entity-Typ.
Ich würde persönlich “gefunden wurde” in der Frage durch “entstanden ist” ersetzen, aber nach mir geht es ja nicht
Ich bin zwar nicht mehr so drin in der Materie, aber ich denke es kann trotzdem sein, dass eine Oberklasse durch Spezialisierung gefunden wird.
Ich hab um beim Beispiel zu bleiben Personendaten. Die teile ich auf in Mitarbeiter und Kunden, hab also zwei Unterklassen. Jetz kann ich aber die Mitarbeiter wieder aufteilen in z.B leitende Mitarbeiter, externe Mitarbeiter etc… Wobei dann Mitarbeiter wieder eine Oberklasse von den anderen zwei waere und gleichzeitig eine Spezialisierung der Peronsen darstellt.