Filme, m:n ?

DonGiller

Neuer Benutzer
Beiträge
2
Okay der Titel ist jetzt nicht Genial aber wer sich hier Zeit nimmt und sich mein Problem anhört, wird wahrscheinlich den Titel eher verstehen ;) Ich hoffe ich habe so eure Neugier geweckt :D

Jetz zum Problem: Ich bin seit 3 wochen in der Ausbildung und soll mit SQL (Ingresbasierend) eigene Tabellen entwerfen und das "verknüpfen" üben. Somit habe ich folgende Tabellen "gecreated" und nun kommt meine aufgabe, diese sinnvoll zu verknüpfen. Die Haupttabelle (Die ganz große) soll alle werte, welche die kleinen tabellen angeben, miteinander verknüpfen. Das Problem daran ist aber das die Spalte "Schauspieler" und "Hauptrolle", viele ergebnisse zeigen kann, da z.b. bei Django Jamie Foxx und Christoph Walz 2 bekannte Schauspieler sind, welche in der Spalte Schauspieler vorkommen sollten. vll brauch ich auch noch mehr spalten.

Mein Ausbilder gab mir als Tipp eine m:n beziehung und diese sollte ich auch grafisch darstellen. Quazie das Die Tabellen Namen, Bennenung, Typ(Primary Key) usw angeben und nicht die eigendlichen Werte, wie ich sie jetzt aus SQL auskopiert habe. Wer eine Idee hat kann mir hoffentlich helfen :(

Danke schon mal im vorraus :)

filmchentabelle.jpg
 
Werbung:
Wenn du dich mit den grundlegensten aller Grundlagen der relationalen Datenbanken befasst wirst du erkennen, das deine Haupttabelle keine Spalte "Darsteller" oder "Regisseure" haben kann. Befasse dich am besten mit den ersten 3 Normalformen, das Beispiel auf Wikipedia ist relativ leicht auf Film-Datenbanken zu übertragen:
http://de.wikipedia.org/wiki/Normalisierung_(Datenbank)

Und weiterführend immer wieder sinnvoll mit der schematischen Darstellung von Tabellen in Form eines ERD:
http://de.wikipedia.org/wiki/Entity-Relationship-Modell

Natürlich kann man später auf die Idee kommen für gewisse Informationen eine Sicht zu basteln die aus mehreren Informationen eine Spalte kreiert aber das ist sicherlich hier nicht das Ziel deiner Aufgabe.
 
Danke für die schnelle Antwort :D ich schau es mir mal an... hoffe ich konnt damit auch andere helfen die gegebenenfalls hier drüber stolpern :D bedankt euch bei ukulele :)
 
Werbung:
Danke für die schnelle Antwort :D ich schau es mir mal an... hoffe ich konnt damit auch andere helfen die gegebenenfalls hier drüber stolpern :D bedankt euch bei ukulele :)

Im Grunde brauchst Du sowas wie folgt:

Code:
test=# create table filme (id int primary key, name text);
NOTICE:  CREATE TABLE / PRIMARY KEY will create implicit index "filme_pkey" for table "filme"
CREATE TABLE
test=*# create table schauspieler (id int primary key, name text);
NOTICE:  CREATE TABLE / PRIMARY KEY will create implicit index "schauspieler_pkey" for table "schauspieler"
CREATE TABLE
test=*# create table film_schauspieler (film_id int references filme, schauspieler_id int references schauspieler, primary key (film_id, schauspieler_id));
NOTICE:  CREATE TABLE / PRIMARY KEY will create implicit index "film_schauspieler_pkey" for table "film_schauspieler"
CREATE TABLE

Andreas
 
Zurück
Oben