Ist das Datenbanktechnisch so ok?

internet

Top Contributor
Hallo,
ich habe eine Frage:
ich möchte ein Portal machen mit News, Forum, Gruppen (wie bei StudiVZ, Facebook).
Überall gibt es ja Kategorien, Kommentare etc.
Soll ich für die News eine Tabelle machen News_Kategorie, News_Kommentar
Ebenso für die Gruppen: Gruppe_Kategorie, Gruppe_Kategorie

Ich denke die Tabelle Kategorie wird später nicht so viele Einträge haben, aber die Tabelle
Kommentar wird später Zig Tausend Einträge haben.
Eine gemeinsame Tabelle "Kommentar" hätte ja auch noch die Referenzen auf News, Forum etc.
Demnach würden die dann auch immer noch mitgeladen werden - wobei immer nur eines der Drei (News, Forum, Gruppe)
benötigt wird.
Oder wie seht ihr das?
Problem wäre: Es wäre nicht redundant.

Technologie:
Hibernate, MySQL

Vielen Dank für Lösungsvorschläge
mfg
 

fastjack

Top Contributor
Gib doch den Kommentaren einen Typ (News, Forum Gruppe). Also Typtabelle und den Typen in der Kommentartabelle speichern. Gleichzeitig noch ein Feld namens Referenz oder so, das die Id des jeweiligen Datensatzes in der jeweiligen Tabelle enthält. Selektieren kannst Du dann bequem über den Typen.
 

eskimo328

Aktives Mitglied
nicht direkt falsch, aber eher unschön.

Um die Performance zu verbessern, kann man den Typ des Kommentars (News, Forum, Gruppe) in den Index mit aufnhemen bzw. entsprechende Indizes erstellen. Damit kann die Geschwindigkeit bei SELECTs erheblich erhöht werden.
 

Neue Themen


Oben