2 Tabelen in 3 Normalform, umsetzen aber wie?

mcbek

Mitglied
Hallo an alle, ich arbeite grade an einem Projekt.
Ich muss eine Datenbank für eine Homepage mit Gedichte bzw Dichtern erstellen

Nun zu meinem problem

ich habe 2 Tabellen sie sehen wie folgendermaßen aus:

1. Tablle (Dichter)
-Dichter_ID
-Dichter_Name

da ein dichter mehrer Gedichte haben kann. ist hier eine 1:n Beziehung also:

2. Tabelle (Gedichte)
- Gedicht_ID
- Gedicht_Titel
- Gedicht
- Dichter_ID

so siehts aus. (ich habe Gedicht_Titel nicht in einer extra Tabelle gemacht, denn von einem Dichter können ja nicht mehrere Gedichte denselben Titel haben. Aber eigentlich können ja mehrere Gedichte denselben Titel haben. Das irritiert mich auch)

Datenbank wird mit MySQL erstellt. In Phpmyadmin kann ich ja die Tabellen erstellen. Wenn ich jetzt die 2 Tabelle erstelle, muss ich auch Dichter_ID auch da rein tuen? Wenn ja wie muss ich es dann definieren? auto_increment? also die Funktion und so.

Bin noch nicht sehr fit in SQL...haben erst vor kurzem in der Schule angefangen

Vielen Dank schonmal im Voraus
 
Hi

erstaml eine Gegenfrage: Wo ist jetzt dein Problem mit der 3. Normalform?

zum beschriebenen Problem:
die referenzierte Spalte (indeinem Fall Dichter_ID) muss primary Key in der eingentlichen Tabelle sein (kann sein, dass bei MySQL auch UNIQUE reicht).
In deiner Gedichte Tabelle musst du diese Spalte, wenn du sie da nutzen willst natürlich auch vorhanden sein. Diese musst du dann zusätzlich als Foreign Key markieren.
(SQL Befehle dafür siehe Hilfe)
 
also...

Dichter_ID muss ich doch in der Tabelle Gedicht haben oder nicht? Denn ich muss ja wissen welches Gedicht von welchem Dichter ist.

wo kann ich denn Dichter_ID in der Gedichte Tabelle als Foreign Key makieren?
 
soweit ich es verstanden habe wie es in der Hilfe steht.. muss ich das mit SQL befehl machen oder was.. sorry ich bin noch ein newbie in sachen sql...
 
Ich habe gehört, dass Foreign Key von MySQL nicht unterstüzt wird? Also sondern nur von SQL. Wie soll ich das ganze jetzt anstellen? Ich brauche eure Hilfe...
 
Bitte verwechsel nicht die Abfragesprache mit den DBMS. (SQL = Sprache, MySQL = DBMS)
MySQL unterstützt Referenzen. Jedoch nur in der InnoDB - Distribution. Welche du nutzt, musst du wissen
 
Zurück