Verknüpfen 2er Tabellen, Prinzipiell?

Alles, was PHP betrifft, kann hier besprochen werden.

Verknüpfen 2er Tabellen, Prinzipiell?

Postby tommyboy » 31. August 2004 20:30

Hallo Community,

ich habe nun ein neues Thema auf das ich im internet keine Howto´s gefunden habe. Wie kann ich 2 Tabellen miteinander Verknüpfen, aber am effektivsten, so das ich einfach schnell die gewünschten Einträge auslesen kann.

Ich habe bereits eine Datenbank in Mysql angelegt, sie enthält die Daten einiger Schriftsteller meiner Bücher.

id auto_increment
Vorname
Name
Geburtstag

Nun möchte ich eine 2. Tabelle anlegen, mit meinen Büchern. Das Ziel soll sein, Schriftsteller den Buchdaten zuordnen. Ich stoße dabei auf folgendes Problem. Das ein Buch von 2 oder mehreren Schriftstellern verfast wurde. Wenn ich nun eine Tabelle wie folgt erstelle:

id auto_increment
id_schriftsteller
buchtitel
seitenzahl
auflage
stehplatz
preis

Hier kann ich doch nur einen Schriftsteller, genau einem Buch zuordnen oder? Wie muß ich meine Tabelle erstellen, wenn ich nicht weis wieviele Schriftsteller ein Buch schreiben. Also das auch problemlos 100 Schriftsteller ein Buch schreiben könnten. Ohne das ich nun 100 verschiedene Id Felder anlegen muß. Auserdem möchte ich schnell & einfach die Daten auslesen können.

Gruß tommyboy
tommyboy
 
Posts: 71
Joined: 18. July 2004 10:44
Location: Stuttgart-Tübingen

Postby Wiedmann » 31. August 2004 21:06

Gehört eigentlich eher nach MySQl als nach PHP...

ich würde bei deinem Problem 3 Tabellen nehmen:


Tabelle autor (jeden Autor 1x erfassen):
id_autor, vorname, name, geburtstag

Tabelle buch (jedes Buch 1x erfassen):
id_buch, buchtitel, seitenanzahl, auflage, stehplatz, preis

Tabelle autor_buch:
id, id_autor, id_buch

Für jedes Buch wo ein Autor beteiligt war einen Eintrag. Oder anderesherum, für jeden Autor der an einem Buch beteiligt war einen Eintrag. Was aber beides von den Einträgen auf das selbe hinauskommt.
Über diese Tabelle gehst du dann, wenn du deine Abfragen machst.
Wiedmann
AF Moderator
 
Posts: 17106
Joined: 01. February 2004 12:38
Location: Stuttgart / Germany

Postby tommyboy » 02. September 2004 19:39

Danke für deine Antwort so ähnlich habe ich es mir auch
Vorgestellt. War mir halt nicht ganz sicher. Ich denke das bei
der Abfrage dieser Tabellen nochmal dies bezüglich Fragen
habe. Deswegen habe ich die Frage eigentlich gleich in das
PHP-Forum gestellt.

Gruß Tommyboy
tommyboy
 
Posts: 71
Joined: 18. July 2004 10:44
Location: Stuttgart-Tübingen


Return to PHP

Who is online

Users browsing this forum: No registered users and 2 guests