Tabellen Beziehungen

HackTack30

Mitglied
Hi !

Habe gerade ein Formular erstellt, indem ich Fotos(Pfad) mit Datumswerte und Location in meine DB MySQL(phpmydamin) speichere. Leider speichert er es nicht richtig ab, irgendwas stimmt mit meinen Beziehungen nicht, wie kann ich primary key und foreigen key bestimmen ?

Die Struktur

Table bilder
bild_id (primary key)
bildname
bildpfad

Table location
location_id (primary key)
location
bild_id(foreign key) beziehung zu Table bilder.bild_id
datum_id (foreign) beziehung zu Table datum.datum_id

Table datum
datum_id (primary key)
tag
monat
jahr

Muß der primary key auch eine auto wert typ werden ?
Kann man nicht in phpmyadmin auch die beziehungen erstellen wie in Access ?

Danke
 
Hi,

1.Erstellen von PRIMARY bzw. FOREIGN KEYs machst du per ADD CONSTRAINT (näheres in der Hilfe
2. Schlüssel müssen nicht unbedingt einen autowert zugewiesen bekommen. Ein Schlüssel kann ja auch auf mehren Spalten liegen und dann wäre es schon mal nicht möglich. Oder müssen PKs ja nicht immer (bzw. sollten auch nicht) künstliche Schlüssel im Sinne von IDs sein.
3. Kenn mich mit phpMyAdmin nicht aus, aber würde primär erstmal nein sagen. (siehe 1.)

Wenn du aber unbedingt eine grafische Oberfläche brauchst oder willst. dann schau dir doch mal den 1. Thread im Datenbanken-Forum an. Der könnte dir vielleicht weiterhelfen.

mfg
 
Hi

Beziehungen in Tabellen wie Du es von Access her kennst, kennt mySQL nur wenn Du den Tabellentyp innoDB verwendest. Du kannst meines Wissens nach auch bei dem normalen Tabellenty myISAM in mySQL Femdschlüssel erstellen, aber eine Transaktionskontrolle wie z.B. das verhindern des Löschnens eines PK wenn dieser in einer anderen Tabelle als FK verwendet wird funktioniert wie gesagt nur beim Tabellentyp innoDB.
Grafische Verbindungen wie bei Access sind unter PHPmyAdmin nicht möglich.
Also alles schön in SQL-Code schreiben.

Gruß Burkhard
 
Zurück