Capior: Struktur

Hallo,

ich programmiere eine Musiksammlung-Website, auf welcher später via AJAX Daten hinzugefügt/editiert und gelöscht werden können.

Angezeigt werden die folgenden Spalten: Musikrichtung, Interpret, Album, Wertung, Jahrgang, Datenträger, etc.

Im oberen Teil der Website möchte ich in Anlehnung an iTunes zwei DropDownListen nebeneinander anordnen, mit welcher durch Auswahl eines Eintrages die rechte Dropdownlist in ihrer Auswahl eingeschränkt wird.

So sieht das bei mir aus:

|   Musikrichtung  |      Interpret      |
------------------------------------------
|  Alle (...)      |  Alle (...)         |
|  70's            |  10 cc              |
|  Acid Jazz       |  3 Doors Down       |
|  ...             |  ...                |

|                DATAGRID                |

Angenommen ich habe Interpret X, der Y Alben produziert hat. Y1 gehört zur Musikrichtung 70's, Y2 gehört zur Musikrichtung Acid Jazz usw.

Klicke ich nun in der Musikrichtung-"Dropdownlist" auf 70's, so sollte es mir natürlich (nur) Interpret X rechts auflisten.
Klicke ich auf die Musikrichtung Acid Jazz, so sollte es mir ebenfalls Interpret X auflisten.

Nun: Wie sollte dafür die Datenbankstruktur aussehen?

Tabelle Musikrichtungen
Tabelle Interpreten
Tabelle Alben

In der Tabelle Alben muss ich ja notwendigerweise die Spalte "Musikrichtung" haben, um zu wissen, welcher Musikrichtung dieses Album angehört.

Wie muss nun die Abfrage für das Klicken auf Acid Jazz aufgebaut sein, um zu erreichen, dass mir Interpret X angezeigt wird, da dieser ein Album mit Musikrichtung Y=Acid Jazz hat.

Ich hoffe ihr versteht mein Problem...ich bin müde und sollte eigentlich auf meine Prüfungen lernen..."sorry".

Grüsse
  Capior

  1. Hallo Capior,

    Angenommen ich habe Interpret X, der Y Alben produziert hat. Y1 gehört zur Musikrichtung 70's, Y2 gehört zur Musikrichtung Acid Jazz usw.

    Tabelle Musikrichtungen
    Tabelle Interpreten
    Tabelle Alben

    Es fehlen noch die ein oder andere Tabelle. Das liegt an den Beziehungen zwischen den Tabellen:

    a) Möchtest Du die Zuordnung zu einer Musikrichtung nur zwischen
       Album und Interpret haben?
       Wenn ja, kann ein Album mehreren Musikrichtungen zugeordnet sein?

    b) Wie sieht es mit der Beziehung zwischen den Tabellen Alben und Interpreten aus?
       Ein Interpret kann mehreren Alben zugeordnet sein - klar.
       Kann ein Album mehr als einem Interpret zugeordnet sein, z.B. Sampler,
       Soundtrack o.ä.? Wie behandelst Du diesen Fall?

    In der Tabelle Alben muss ich ja notwendigerweise die Spalte "Musikrichtung" haben, um zu wissen, welcher Musikrichtung dieses Album angehört.

    Sagen wir so: Du hast einen Verweis auf die Tabelle Musikrichtungen, typischerweise so etwas wie eine ID. Der Wert der Primärschlüsselspalte aus der Tabelle Musikrichtungen wird zur Fremdschlüsselspalte in der Tabelle Alben.
    => Suchbegriffe: Primärschlüssel, Fremdschlüssel

    Wie muss nun die Abfrage für das Klicken auf Acid Jazz aufgebaut sein, um zu erreichen, dass mir Interpret X angezeigt wird, da dieser ein Album mit Musikrichtung Y=Acid Jazz hat.

    Dazu gibt es die Joins. Hilfreiche Lektüre dazu wären:

    Einführung Joins
    Fortgeschrittene Join-Techniken

    Freundliche Grüße

    Vinzenz