Strukturierte Auflistung, datenbank-basiert
Lars
- programmiertechnik
Hallo ihr,
ich möchte eine Auflistung machen, beispielsweise eine Kategorie "Hobbies" mit vielen Unterpunkten. Ein User kann dann beliebig viele Punkte auswählen, die ihm dann zugeordnet werden.
Aber wie geht man das technisch an? Mein Ansatz sieht so aus:
Tabelle "Hobbies_Kategorien":
Tabelle "Hobbies_Eintraege":
In "Hobbies_Kategorien" kann ich dann zb eintragen: "Sport", "Musik", usw.. In "Hobbies_Eintraege" kommen die einzelnen Unterpunkte und werden über die Spalte "catid" den jeweiligen Kategorien zugeordnet, zb: "Fußball", "Basketball" (beide ID 1 für Sport), "Techno" (ID 2 für Musik).
Danach komm ich nicht mehr weiter. Wie ordne ich einem User, der ebenfalls in der Datenbank eingetragen ist, nun diese Unterpunkte zu? In einer bestehenden Tabelle eine weitere Spalte machen "hobbies" und dann die IDs der einzelnen Punkte durch Komma getrennt einfügen? Dann müsste ich ja beim Auswerten anhand der Kommas aufsplitten. Das spätere Ändern wäre auch unflexibel.
Gibts da ne bessere Lösung?
Beste Grüße
Lars
Hi,
ich würde eine weitere Tabelle machen:
userhobby
idhobby | iduser
Dann mussw ein User der Tennis und Handball spielt, zb. 2 mal in diese Tabelle.
Mike
Hallo,
ich würde eine weitere Tabelle machen:
userhobby
idhobby | iduser
Dann mussw ein User der Tennis und Handball spielt, zb. 2 mal in diese Tabelle.
Das war es! Genau das hat mir gefehlt... vielleicht liegt's auch an der Uhrzeit, dass ich nicht drauf gekommen bin ;)
Vielen Dank!
Grüße
Lars
Hi Lars!
Das war es! Genau das hat mir gefehlt... vielleicht liegt's auch an der Uhrzeit, dass ich nicht drauf gekommen bin ;)
Das sind aber Grundlagen der relationalen Datenbanktheorie.
Darauf wärst du über die dritte Normalform von ganz alleine gestoßen. =)
Wenn du dich mehr dafür interessierst, empfehle ich dir ein Buch, vorzugsweise von Kemper und Eickler.
MfG H☼psel
Das sind aber Grundlagen der relationalen Datenbanktheorie.
Darauf wärst du über die dritte Normalform von ganz alleine gestoßen. =)
Hallo,
stimmt, Normalisierung - da war doch was... ;)
Grüße
Lars