[MySQL] Idee für Datenbankstruktur gesucht =/

eggman

Well-known member
ID: 70062
L
21 Mai 2006
216
8
Hi :)

Hab ein kleines Problem bei der Planung meiner Datenbankstruktur.. vielleicht habt ihr da ja ne Idee.
Undzwar möchte ich Datenblätter anlegen, die in verschiedene Kategorien unterteilt werden und auch danach sortiert werden können. Nun kann es aber vorkommen, dass Datenblatt A in den Kategorien X, Y und Z vertreten ist. Gleichzeitig. Ich will in so einem Fall keine drei extra Datenblätter anlegen.
Und ich möchte in meinen Datenblättern auch nicht für jede Kategorie ne Spalte anlegen.. weil es durchaus 20+ Kategorien werden können.

Habt ihr also eine Idee, wie ich das machen kann, dass im Datenblatt nur eine Spalte für die Kategorie vorgesehen ist, ich aber trotzdem mehrere Kategorien angeben kann?!

Beste Grüße
eggman :)
 
wieso nicht einfach eine Tabelle für die Datenblätter, eine für die Kategorien und eine für die Verknüpfung.

Also
Datenblatt: ID, Beschreibung, blablabla
Kategorie: ID, Beschreibung, blablabla
Verknüfpung: Datenblatt-Id, Kategorie-ID

MfG respawner
 
eggman schrieb:
Habt ihr also eine Idee, wie ich das machen kann, dass im Datenblatt nur eine Spalte für die Kategorie vorgesehen ist, ich aber trotzdem mehrere Kategorien angeben kann?!
Falsche Überlegung ;) Keine Spalte für die Kategorie, sondern diese Tabelle:

DatenblattID (INT)
KategorieID (INT)
PRIMARY (DatenblattID, KategorieID)

D.h. du legst Kategorien und Datenblätter jeweils in seperaten Tabellen an, diese obige, dritte Tabelle ist das Verknüpfungsglied dieser Beziehung.

edit:
Notiz an mich: Nicht mehr telefonieren und gleichzeitig posten :biggrin:
 
Kategorie und Datenblätter wollte ich sowieso getrennt haben, um spezielle Infos über Kategorien extra zu speichern...

Aber auf die simple Idee mit der Verknüpfung bin ich mal wieder nicht gekommen, ich hasse es zu kompliziert zu denken :ugly:

Hatte schon daran gedacht, einfach mehrere Kategorien in die Spalte einzutragen und dann per explode aufzuteilen..aber so ists natürlich perfekt. Danke =)