Hilfe beim Unterbringen eines Arrays in mySQL-DB
Mario
- datenbank
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!
Hab ne Möglichkeit gefunden.
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