Frage zu Datenbankschema
-
Hallo
Meine Datenbank zur Bookmarkverwaltung, basierend auf Tags, beinhaltet drei Tabellen, die wie folgt strukturiert sind:
collections: id, name, super (irrelevant) tags: id, name, collection (Hier werden die Kategorien gespeichert) bookmarks: id, title, url, tags, visits, last_visit, timestamp (In dieser Tabelle befinden sich die einzelnen Bookmarks)
Die Frage betrifft das Feld "tags" der Tabelle "bookmarks", in welchem die IDs jener Kategorien gespeichert werden, zu denen das Bookmark gehört. Ein einzelnes Bookmark soll Teil mehrerer Kategorien sein, wie kann ich das realisieren?
Mein Wissen reicht nur aus, das Feld als Text zu formatieren und die Kategorien-IDs durch Kommata getrennt aufzuführen (z.B. "1,3,6")... gibt es andere Wege?
Vielen Dank,
Holger G.
-
ist eine klassische n:m beziehung
eine kategorie kann mehreren bookmarks zugewiesen werden und ein bookmark kann zu mehreren kategorien gehören.
sowas wird über eine zwischentabelle realisiert:
tags: id, name, collection (Hier werden die Kategorien gespeichert) bookmarks: id, title, url, visits, last_visit, timestamp (In dieser Tabelle befinden sich die einzelnen Bookmarks) bookmarks_tags:id,tagid,bookmarkid
alles klar?
mfg,
michael
-
wobei die bookmarks_tags keine eigene id benötigen. Es reicht, die tagid und bookmarkid zu speichern. Beide Felder bilden dann den Primärschlüssel.
-
jep, schon beinahe zu offensichtlich. danke