Hallo,
stellt euch eine Webapplikation vor, in der es viele verschiedene Tabellen gibt. News, Kalender-Einträge, Artikel, Videos, ..
Nun möchte ich all die Einträge dieser Tabellen taggen können, sprich ich möchte sie in welcher Weise auch immer unabhängig ihrer Herkunftstabelle markieren können, beispielsweise in Form einer Bewertung oder eines Kommentares. Später soll dann beispielsweise eine Liste erzeugt werden können, in der die best-bewertetsten Einträge gelistet werden. Platz 1 also Video id=5, Platz 2 Artikel=285, ..
Wie löse ich das in der Datenbank am cleversten, Vererbung ist ja so nicht möglich. Mein Ansatz wäre jetzt künstliche Vererbung:
(FK = Foreign Key)
tag
id
news
id | title | text | fk_tag
video
id | src | description | fk_tag
rating
id | fk_tag | score
Was, wenn ich nun Videos nicht kommentieren, oder News nicht bewerten lassen möchte? Macht dieses Struktur-Inferno da noch groß Sinn? Gibt es freie Datenbanken (PostgreSQL?) die "Vererbung" schon impliziter unterstützen?
stellt euch eine Webapplikation vor, in der es viele verschiedene Tabellen gibt. News, Kalender-Einträge, Artikel, Videos, ..
Nun möchte ich all die Einträge dieser Tabellen taggen können, sprich ich möchte sie in welcher Weise auch immer unabhängig ihrer Herkunftstabelle markieren können, beispielsweise in Form einer Bewertung oder eines Kommentares. Später soll dann beispielsweise eine Liste erzeugt werden können, in der die best-bewertetsten Einträge gelistet werden. Platz 1 also Video id=5, Platz 2 Artikel=285, ..
Wie löse ich das in der Datenbank am cleversten, Vererbung ist ja so nicht möglich. Mein Ansatz wäre jetzt künstliche Vererbung:
(FK = Foreign Key)
tag
id
news
id | title | text | fk_tag
video
id | src | description | fk_tag
rating
id | fk_tag | score
Was, wenn ich nun Videos nicht kommentieren, oder News nicht bewerten lassen möchte? Macht dieses Struktur-Inferno da noch groß Sinn? Gibt es freie Datenbanken (PostgreSQL?) die "Vererbung" schon impliziter unterstützen?

Kommentar