Referentielle Integrität sicherstellen in phpmyadmin

Und alles was mit phpMyAdmin seine Verwandtschaft findet hat hier seinen Platz.

Referentielle Integrität sicherstellen in phpmyadmin

Postby melly » 14. September 2010 21:13

Hallo zusammen,

ich habe eine Frage zur Referentiellen Integrität (=Jeder Wert eines Fremdschlüssels muß auch als Wert des zugehörigen Primärschlüssels vorhanden sein.) in phpmyadmin.

Ich habe folgende Tabellen:

Tabelle 1: artikel
Spalte 1: artikel_id (Primärschlüssel)
Spalte 2: artikel_name

Tabelle2: farben
Spalte 1: farbe_id (Primärschlüssel)
Spalte 2: farbe

Tabelle3: artikel_farben
Spalte 1: artikel_id (Fremdschlüssel)
Spalte 2: farbe_id (Fremdschlüssel) --> artikel_id und farbe_id ergeben zusammen den Primärschlüssel für artikel_farben


Wenn ich nun einen neuen Artikel in der Tabelle 'artikel' über das Frontend in phpmyadmin eingebe, ist ja nicht sichergestellt, dass auch eine Farbe in der Tabelle 'artikel_farben' für diesen Artikel angegeben wurde. Jeden Artikel muss es aber in einer oder mehreren Farben geben.

Jetzt meine Frage:
Kann ich die Tabellen in phpmyadmin so verbinden, dass wenn ein neuer Artikel in der Tabelle artikel eingefügt wird, auch das Feld farbe_id aus der Tabelle artikel_farben angezeigt wird und dieses auch ausgefüllt werden muss? Es müsste dann allerdings auch möglich sein mehrere farbe_id's anzugeben, falls es den Artikel in mehreren Farben gibt.

Ich hoffe ich konnte mein Anliegen einigermaßen verständlich erklären.

Vielen Dank schon mal im Voraus für eure Hilfe ;)

Viele Grüße Melly
melly
 
Posts: 12
Joined: 14. September 2010 20:35

Re: Referentielle Integrität sicherstellen in phpmyadmin

Postby Altrea » 14. September 2010 23:31

Das hängt ganz von den Fähigkeiten des Tabellenformates ab, welches du beim Anlegen der Datenbanken gewählt hast.
MySQL nutzt in den in XAMPP enthaltenen Versionen noch MyISAM als Standardformat. Ein Nachteil dieses Formates ist es, dass es keine direkte Möglichkeit gibt, auf eine referenzielle Integrität zu prüfen.
Das auch recht häufig genutzte Tabellenformat InnoDB bietet diese Möglichkeit in Form von Fremdschlüsseldefinitionen.

MySQL Manual zu Fremdschlüsseln
We don't provide any support via personal channels like PM, email, Skype, TeamViewer!

It's like porn for programmers 8)
User avatar
Altrea
AF Moderator
 
Posts: 6767
Joined: 17. August 2009 13:05
XAMPP Version: 5.5.19
Operating System: W7Ux64


Return to phpMyAdmin

Who is online

Users browsing this forum: No registered users and 4 guests