Information ausblenden
Willkommen im Forum für alle Datenbanken! Registriere Dich kostenlos und diskutiere über DBs wie Mysql, MariaDB, Oracle, Sql-Server, Postgres, Access uvm

Filme, m:n ?

Dieses Thema im Forum "MySQL und MariaDB" wurde erstellt von DonGiller, 1 Oktober 2013.

  1. DonGiller

    DonGiller Neuer Benutzer

    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
     
  2. ukulele

    ukulele Datenbank-Guru

    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.
     
    DonGiller gefällt das.
  3. DonGiller

    DonGiller Neuer Benutzer

    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 :)
     
  4. akretschmer

    akretschmer Datenbank-Guru

    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
     
    DonGiller gefällt das.

Diese Seite empfehlen

  1. Diese Seite verwendet Cookies. Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden