[Hilfe]Array -> DB

04/13/2014 18:41 Hupfi10#1
Hallo :)


Ich bräuchte Hilfe bei einem kleinen Datenbank bezogenem Problem.
Ich fetche von Facebooks OpenGraphAPI sämtliche Musik Interessen des Nutzers über den AccessToken und möchte diese Anschließend sinnvoll speichern. Da ich im Anschluss die Interessen von zwei Nutzern vergleichen möchte würde sich array_intersect anbieten aber da ich keine Arrays bzw. nur json_encoded in meiner MySQL Datenbank speichern kann was von Seiten der Performance jetzt nicht optimal ist, bräuchte ich einen kleinen Denkanstoß.

Danke :)
04/13/2014 18:54 Schlüsselbein#2
Wo genau liegt das Problem? Du hast deine Daten in einer Datenbank und möchtest verschiedene Datensätze vergleichen?
Oder hast du die Daten json-enkodiert vor dir und weißt nicht, wie du diese am besten speichern sollst?
04/13/2014 18:55 MrSm!th#3
Sagen dir Relationen etwas? ;O Ein Array würde ich grundsätzlich als 1:n bzw. m:n Beziehung sehen.
Ich meine, es gibt auch SQL Funktionen, mit denen man beim SELECT die Daten im Result in einem Array speichern kann. Dann macht es auf der Codeseite auch keinen Unterschied, wie es nun in der DB gespeichert ist.
04/13/2014 18:59 Hupfi10#4
Ich bekomme pro Query an die OpenGraph API eine unterschiedliche Anzahl von ID (BIG INT) und möchte alle in einer Tabelle mit Index der FB UID in eine Spalte Musik sichern. Da ich noch andere Spalten sichern möchte.
Hätte mir dafür jemand einen kurzen Denkanstoß, ich steh diesbezüglich auf dem Schlauch :S
04/13/2014 19:42 Mostey#5
Quote:
Originally Posted by MrSm!th View Post
Sagen dir Relationen etwas? ;O Ein Array würde ich grundsätzlich als 1:n bzw. m:n Beziehung sehen.
Sind Arrays nicht eigentlich 1:1? ;O

Ein Index gehört zu einem Wert und umgekehrt. Da gibts nichts mehrdeutiges. Oder habe ich da ne falsche Sichtweise? :confused:

Quote:
Originally Posted by Hupfi10 View Post
Ich bekomme pro Query an die OpenGraph API eine unterschiedliche Anzahl von ID (BIG INT) und möchte alle in einer Tabelle mit Index der FB UID in eine Spalte Musik sichern. Da ich noch andere Spalten sichern möchte.
Hätte mir dafür jemand einen kurzen Denkanstoß, ich steh diesbezüglich auf dem Schlauch :S
Und wie sollen wir ohne Payload was damit anfangen können? Du bist der einzige, der weiß wie und in welchem Umfang die Daten ankommen. Mit deiner Beschreibung kann ich nicht viel anfangen. Nehm einen eindeutigen Wert als Schlüssel und hau alle Daten die du in deine Datenbank werfen willst, unter diesem Schlüssel als Datensatz rein. Wo ist denn da das Problem?
04/13/2014 19:53 MrSm!th#6
Quote:
Sind Arrays nicht eigentlich 1:1? ;O
Nein, welchen Sinn machen einelementige Arrays?
Es geht um die Beziehung Array Besitzer - Elemente.

Beispielsweise hat eine Nutzergruppe N Member. Bei einer ORM SQL Lib würde man so eine Beziehung, die ja in der Datenbank mit 2-3 Tabellen, die aufeinander verweisen, realisiert würde, durch ein Array bzw. eine List darstellen.
04/13/2014 19:58 Mostey#7
Quote:
Originally Posted by MrSm!th View Post
Nein, welchen Sinn machen einelementige Arrays?
Es geht um die Beziehung Array Besitzer - Elemente.

Beispielsweise hat eine Nutzergruppe N Member. Bei einer ORM SQL Lib würde man so eine Beziehung, die ja in der Datenbank mit 2-3 Tabellen, die aufeinander verweisen, realisiert würde, durch ein Array bzw. eine List darstellen.
Ich sah nur die 1:1 Index - Value Beziehung. Wenn man natürlich das Array noch mit einer normalen Variablen vergleicht, macht deine Aussage Sinn, ja.

Kann man wohl verschieden sehen. :cool: