nntp2http.com
Posting
Suche
Optionen
Hilfe & Kontakt

Filme, Schauspieler und Auszeichnungen

Von: Michael Schuerig (michael@schuerig.de) [Profil]
Datum: 12.03.2009 15:21
Message-ID: <gpb5oh$oje$1@newsreader2.netcologne.de>
Newsgroup: de.comp.datenbanken.misc
- Sean Penn hat 2009 einen Oscar als bester Schauspieler für seine Rolle
in Milk bekommen.

- Tiger & Dragon hat 2000 einen Golden Globe als bester fremdsprachiger
Film bekommen.

- Ennio Morricone hat 2007 einen Oscar für sein Lebenswerk bekommen.

Fakten dieser Art möchte ich in einer Datenbank abbilden. Ein erster
Versuch für ein Schema, in dem sich diese Fakten ausdrücken lassen,
könnte ziemlich einfach aussehen.

Angenommen, alle Namen (Personennamen, Filmtitel, Preise) sind eindeutig
und als Primärschlüssel geeignet. Nullbare Attribute sind mit [0]
gekennzeichnet.

Person: Name

Film: Titel, Jahr

Preis: Name, PreisGruppe

PreisGruppe: Name (Oscar, GG, Emmy, ...)

Auszeichnung: Preis.Name, Person.Name[0], Film.Titel[0]

Das sieht schön übersichtlich aus und macht Queries einfach: Welcher
Film/Schauspieler hat (in einem bestimmten Jahr) die meisten
Auszeichnungen bekommen.

SELECT filme.name, filme.jahr, COUNT(*) AS oscars FROM filme
JOIN auszeichnungen ON auszeichnung.film_titel = filme.titel
JOIN preise ON auszeichnungen.preis_name = preise.name
GROUP BY filme.name, filme.jahr
ORDER BY oscars DESC
LIMIT 1

Dem stehen einige Nachteile gegenüber. Das Schema läßt zu viel zu,
nämlich auch Auszeichnungen, die sich weder auf einen Film, noch eine
Person beziehen, oder etwa einen Auszeichnung für das Lebenswerk eines
Films. Um soetwas durch Constraints oder auf Anwendungsebene
auszuschließen wären noch weitere Metadaten zu den Preisen
erforderlich.

Das Schema könnte von vornherein so angelegt werden, dass es strukturell
nur sinnvolle Fakten ausdrücken kann. Dazu müßte zwischen Preisen und
Auszeichnungen danach unterschieden werden, ob sie an einen Film, eine
Person oder die Kombination aus Person und Film verliehen wird. Das
bläht das Schema auf und Queries würden durch UNIONs verunziert.

Ich bitte um konstruktive Meinungsäußerungen.

Michael
(Nein, es geht mir nicht um Filme.)

--
Michael Schuerig
mailto:michael@schuerig.de
http://www.schuerig.de/michael/

[ Auf dieses Posting antworten ]