Ein Eintrag für mehrere User?

Sleeper

Mitglied
Hallo zusammen,

ich habe folgendes problemm:
ich möchte gerne einen Eintrag gerne mehreren Usern zuteilen.
z.b. Wer das Spiel P... hat, soll aufgelistet werden.

Ich habe im hinterkopf zwei lösungswege, aber ich weiß noch nicht genau wie ich das anpacken soll und diese überhaupt sich dafür eignen oder ob es was besseres gibt.

1. lösung
In der db eine spalte mit dem namen des spiels.
und in einer weiteren die ganzen id's der user (durch ein komma getrennt) die das spiel haben.

2. lösung
für jeden user der das spiel hat eine eigene zeile anlegen.
also spielname und id. das bedeutet wenn zehn leute das gleiche spiel haben werden zehn zeilen angelegt.

meine problemme (im kopf):
zu 1. lösung
wenn zb. hunderte leute das gleiche spiel haben.
soviele id's bekomme ich doch nie in einer tabellenspalte gespeichert.
die sind doch nicht unbegrenzt groß, oder?

zu 2. lösung
wenn ich für jedes spiel der jewiligen user eine ganze spalte einfüge, dann bläht sich die db doch richtig auf, oder?

Ich weiß zur zeit wirklich nicht mehr weiter.
was haltet ihr von den lösungswegen.
welche ist besser für die zugriffszeiten usw.
bin für eure hilfe/vorschläge sehr dankbar.


mfg,
Sleeper
 
Irgendwie müssen doch auch die User einem Spiel zugeweisen sien, oder Mache es doch einfach so, dass du Nachrichten Usern und/oder Spielen zuweisen kannst! Oder lege noch Gruppen an?!
 
Original geschrieben von Sebastianus
Irgendwie müssen doch auch die User einem Spiel zugeweisen sien, oder Mache es doch einfach so, dass du Nachrichten Usern und/oder Spielen zuweisen kannst! Oder lege noch Gruppen an?!

Vielleicht habe ich mich nicht richtig ausgedrückt.

beispiel:
1. lösungsweg

| Spielname | Userid |
| P... | 1,2,87,197 |


2. lösungsweg
| Spielname | Userid |
| P.... | 1 |
| P.... | 87 |
| A... | 25 |
| P... | 174 |


ich hoffe so ist es besser erläutert.
 
Geht man nach den Regeln der Normalisierungsformen einer relationalen Datenbank, so sollte man im Bestreben eine Tabelle mindestens zur 3. Normalform hinzuführen, die zweite von dir beschriebene Struktur verwenden.

Am besten natürlich so:
Code:
Tabelle Spiele
+----+-----------+
| id | spielname |
+----+-----------+
|  1 | A         |
+----+-----------+
|  5 | B         |
+----+-----------+
|  7 | C         |
+----+-----------+

Tabelle Benutzer
+----+-----------+
| id | username  |
+----+-----------+
|  3 | Hans      |
+----+-----------+
|  4 | Carola    |
+----+-----------+
|  8 | Willi     |
+----+-----------+

Tabelle Spielzuordnung
+----------+---------+
| spiel_id | user_id |
+----------+---------+
|        5 |       3 |
+----------+---------+
|        5 |       8 |
+----------+---------+
|        1 |       4 |
+----------+---------+

Ob das Ganze natürlich nicht ein wenig zu übertrieben für deine Anwendung ist, das musst du selbst herausfinden. Das ist zwar wahrscheinlich die sauberste Lösung, aber ob es die performanteste ist, will ich nicht behaupten.
 
Zurück