Zum Inhalt springen

Empfohlene Beiträge

Geschrieben

Hallo.

Ich möchte ein Array mit 3 Dimensionen in einer Datenbank (MySQL) speichern und dann auch abfragen. Irgendwie will mir das nicht so recht gelingen...

Ich habe in der Datenbank folgende Felder:

id, land, service, monat, jahr, wert

Was ich rausbekommen möchte, ist folgendes:

1. eine Tabelle die in etwa so aussehen könnte (x damit die Tabellenstruktur sichtbar ist):

SERVICE 1

Monatxx L1 L2 L3 L4

Januarx 22 23 45 56

Februar 43 54 66 67

L=Land

2. eine Tabelle die in etwa so aussehen könnte:

LAND 1

Monatx S1 S2 S3 S4

Januarx 22 23 45 56

Februar 43 54 66 67

S=Service

Da aber MySQL alles Zeilenweise ausgeben will, bekomme ich entweder im Fall 2 eine Tabelle mit allen Daten, also bei 4 Services 4x Januar, 4x Februar usw. Oder ich gruppiere es nach Monaten, dann bekomm ich aber nur einen Service, nicht alle 4. Oder ich gruppiere es nach Service, dann bekomm ich aber jeweils nur den ersten Monat.

Wo das Problem LOGISCH ist, ist mir klar beim gruppieren, nur weiss ich auch nicht, wie ich das anders lösen soll. Die Tabelle zerpflücken und in mehreren Tabellen abbilden kam mir auch schon in den Sinn.. ich weiss nur nicht WIE. Denn der angegebene Wert macht immer nur bezogen auf datum UND service UND land sinn.

Bestimmt steh ich nur grad aufm dem Schlauch. Weiss einer weiter? :(

Geschrieben

Denn der angegebene Wert macht immer nur bezogen auf datum UND service UND land sinn.

Klingt doch ziemlich stark nach einem zusammengesestzten Primärschlüssel...

Schreb dir doch mal alle Daten hintereinander auf, die du speichern willst. Anschließend kommt der wichtige Punkt: Normalisierung

Geschrieben

Normalisierung würde maximal dazu führen, dass ich Attribute auslager und noch mehr Tabellen am Ende habe... die Attribute müssen schon alle da drin bleiben, da sonst der Wert nicht mehr eindeutig ist (auch wenn er durch die ID eindeutig ist, hilft mir das ja nichts wenn ich es nicht auf eine bestimmte Konstellation von Attributen zurückführen kann).

Mag sein, dass ich das falsch sehe. Ich bin FISI im 2. AJ und hatte mit Anwendungsentwicklung bisher nicht so viel zu tun.. und in Situationen wie dieser weiss ich auch warum! :(

Geschrieben

Wenn Du PHP einsetzt kannst Du jede beliebige Variablen serialisieren, so dass Du einen String bekommst, den Du in einem Stringfeld der Datenbank abspeichern kannst. Die meisten Programmiersprachen unterstützen auch Serialisation von Objekten (unter C++ würde ich die Boost dafür verwenden).

Sofern das Datenbankfeld groß genug ist kannst Du dann den String wieder in die passende Datenstruktur umwandeln.

Rein vom Designkonzept wäre das ganze über entsprechende Schlüsselbeziehungen und Tabellen zu realisieren.

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...