Mario: Hilfe beim Unterbringen eines Arrays in mySQL-DB

Hallo!

Hat jemand eine Idee, Wie ich folgende Arraystruktur am besten in einer mySQL-Datenbank
unterbringen kann?
Hab da keine Effektive Idee, da ich bisher nur simple 1-dimensionale Tabellen
erstellt und genutzt hab. Funktioniert sowas überhaupt mit mySQL?

Das Array ...

array (
       Aszendent, Beschreibung, Richtung[], Text[]
      )

... soll mit folgenden Daten gefüllt werden:

array (
       "1", "Text ...", "Norden", "Text ..."
                        "Nord-Ost", "Text ..."
                        "Osten", "Text ..."
                        "...", "...",

---------

"2", "Text ...", "Norden", "Anderer Text ...",
                        "Nord-Ost", "Anderer Text ...",
                        "...", "...",

---------

"3", "..."       "...", "..."
                        "...", "..."

---------

...
      )

In mySQL sollte der Zugriff dann »ungefähr« so erfolgen:

SELECT (Text oder Beschreibung) FROM __db WHERE Richtung='Norden'

Danke für eure Hilfe im Voraus!

  1. Hab ne Möglichkeit gefunden.

  2. Hallo!

    erstellt und genutzt hab. Funktioniert sowas überhaupt mit mySQL?

    Ja, aber mit mehreren Tabellen.

    array (
           Aszendent, Beschreibung, Richtung[], Text[]
          )

    array (
           "1", "Text ...", "Norden", "Text ..."

    []...}

    )

    // Tabelle: himmelsrichtung (Richtung[])
    id_rich        richtung
      1           Norden
      2           Nord-Ost
      3           Osten
      4           Osten-Süd
      5           Süd
      6           Süd-West
    usw.

    Mit dieser Tabelle werden Redundanzen bei den Himmelsrichtungen vergebeugt.

    // Tabelle: asz_beschr (Aszendent, Beschreibung)
    id_asz        beschreibung
      1           "Text 1 ..."
      2           "Text 2 ..."
      3           "Text 3 ..."
      4           "Text 4 ..."
      5           "Text 5 ..."
    usw.

    In dieser Tabelle steht zu jedem Aszendent die Beschreibung.

    "1", "Text ...", "Norden", "Text ..."
                            "Nord-Ost", "Text ..."
                            "Osten", "Text ..."

    "2", "Text ...", "Norden", "Anderer Text ...",
                            "Nord-Ost", "Anderer Text ...",

    Nun wird noch ein weiter Tabelle benötigt, in der die Tabellen _himmelsrichtung_ und _asz_beschr_ "verknüpft" werden. Als Beispiel nehme ich mal das ersten und zweiten Aszendent.

    // Tabelle: sternenbild
    // Spalte text ist  für Text[], ich denke mal, die Texte in Text[] sind immer unterschiedlich?!

    id_asz    id_rich      text
      1          1         "Text ..."
      1          2         "Text ..."
      1          3         "Text ..."
      2          1         "Anderer Text ..."
      2          2         "Anderer Text ..."

    SELECT (Text oder Beschreibung) FROM __db WHERE Richtung='Norden'

    Der Zugriff sollte dann so ausehen:

    // UNGETESTET
    SELECT  a.beschreibung, s.text
        FROM sternenbild AS s
        INNER JOIN asz_beschr AS a ON (s.id_asz=a.id_asz)
        INNER JOIN himmelsrichtung AS h ON (s.id_rich=h.id_rich)
    WHERE
        h.richtung='Norden';

    MfG, André Laugks

    --
    L-Andre @ gmx.de