Unbekannte Anzahl von Spalten

BenschM@ster

Mitglied
Hi allerseits,
folgendes möchte ich realisieren:
Ein Eintrag in einer Tabelle soll gewissen Kategorien zugeordnet werden.
Im Prinzip wie bei Ebay. Ein Artikel kann mehreren Kategorien angehören.
Allerdings soll die Anzahl der Kategorien unbegrenzt sein, d.h. ich kann natürlich nicht 20 Spalten für jeweils eine Kategorie machen.

Muss ich nun die IDs der Kategorien in eine Spalte gesammelt eintragen, getrennt durch ein bestimmtes Zeichen? Ich befürchte, dass die Anfragen dann zu lange dauern, da man dann ja jedesmal einen Script laufen lassen muss der dieses Feld auseinandernimmt.

Bsp.: Jemand klickt eine Kategorie an, um jetzt die entsprechenden Inhalte aufzulisten müsste ich eine Anfrage starten, der die Kategoriespalte aller Inhalte abruft, diese auseinandernimmt und überprüft ob die angeklickte Kategorie darin enthalten ist.
Es muss doch auch einfacher gehen, oder nicht?

Gruß,
Benjamin
 
Hallo,

was du hier beschreibst, ist eine N:M-Beziehung. Zu jeder Kategorie kann es viele Artikel geben und jeder Artikel kann vielen Kategorien angehören. Eine solche Beziehung bildet man in relationalen Datenbanksystemen über eine Mapping-Tabelle ab. Ein Beispiel sagt mehr als tausend Worte, daher schau dir einfach folgendes Schema an:

Tabelle Artikel: ArtikelID, Name, …
Tabelle Kategorien: KategorieID, Name, …
Tabelle ArtikelKategorien: ArtikelID, KategorieID

Die letzte Tabelle stellt die Mapping-Tabelle dar. Befindet sich ein Eintrag (42, 23) in der Tabelle, bedeutet das, dass der Artikel mit der ID 42 sich in der Kategorie mit der ID 23 befindet. Damit kann die N:M-Beziehung abgebildet werden.

Grüße,
Matthias
 
Zurück