Electronix: Tags speichern

Beitrag lesen

Hallo,

ich habe ein kleines Problem, ich weiß nämlich nicht, wie ich am besten Tags in einer Datenbank speichern soll.

Also, folgende Situation:

Ich möchte ein kleines Photoalbum-Script erstellen, so könnte mein DB-Design aussehen:

Tabelle albums
Spalten id, name

Tabelle photos
Spalten id, name, album (foreignKey zu albums.id)

Nun möchte ich aber auch noch, dass die Alben und Photos "getaggt", also mit Stichwörtern versehen werden können.

Nun meine Frage: Wie soll ich diese Tags am besten in der Datenbank speichern?
Soll ich beiden Tabellen eine neue Spalte hinzufügen, in der ich die Tags mit Kommata getrennt speichere, oder soll ich drei neue Tabellen anlegen?

Tabelle tags
Spalten id, tag

Tabelle albumtags
Spalten tagID, albumID

Tabelle phototags
Spalten tagID, photoID

Welche der beiden Varianten würdet ihr nehmen, oder würdet ihr das noch ganz anders machen.

Ich hoffe, ihr könnt mir hier helfen, ich weiß nicht, wie ich dass am besten machen soll.

Mit freundlichen Grüßem,

Electronix