db-struktur
am 14.01.2006 23:45:32 von Mark Knochen
hallo,
mal eine kurze Frage:
ich will einen Terminkalender für einen Club erstellen,
jeder Termin kann Links zugewiesen bekommen und die
einzelnen Bands / Literaten / DJs... usw sollen
später mal in einem Archiv gelistet werden und zu den
vergangenen terminen verlink werden.
tabelle_termine:
id
datum
titel
text
bild
tabelle_links:
id
termin_id
link
Nun müsste ich, um einfach an eine Liste der Bands zu kommen,
noch die tabelle_termine um vielleicht 5 Spalten erweitern,
um die einzelnen Bands gesondert zu erfassen, damit ich danach suchen kann.
Oder ich erstelle eine weitere Tabelle:
tabelle_kuenstler:
id
name
termin_id
Welche Variante ist da wohl die bessere.
Hinzu kommt, dass man dann aber, wenn man die Termine eingibt, die
einzelnen Künstler nochmal gesondert eingeben muss, aber das ist
wohl nicht anders möglich, oder?
Danke
Mark
Re: db-struktur
am 15.01.2006 09:47:48 von Helmut Chang
Mark Knochen schrieb:
> hallo,
>
> mal eine kurze Frage:
>
> ich will einen Terminkalender für einen Club erstellen,
> jeder Termin kann Links zugewiesen bekommen und die
> einzelnen Bands / Literaten / DJs... usw sollen
> später mal in einem Archiv gelistet werden und zu den
> vergangenen terminen verlink werden.
man Normalform.
Einfach gesagt:
Du hat Termine, Links und Künstler.
Ein Termin kann mehrere Links haben, also 1:n-Relation:
+------------+
| Termin |
+------------+
| *idTermin* |
| datum |
| ... |
+------------+
+------------+
| Link |
+------------+
| *url* |
| /idTermin/ |
| ... |
+------------+
*Primary Key*, /Foreign Key/
Kann ein Link auch mehreren Terminen zugewiesen werden? Dann hast du
n:m, das man mit einer Zwichentabelle auflöst:
+------------+
| Termin |
+------------+
| *idTermin* |
| datum |
| ... |
+------------+
+------------+
| Link |
+------------+
| *url* |
| ... |
+------------+
+---------------+
| TerminHatLink |
+---------------+
| *idTermin* |
| *url* |
+---------------+
Ebenso bei den Künstlern. Da bei einem Termin prinzipiell mehrere
Künstler auftreten können, und ein Künstler hoffentlich keine
Eintagsfliege ist, sondern öfters auftritt, wiederum n:m, das nach dem
selben Schema zu modellieren ist.
gruss, heli