relationen - xmysqladmin

Marco Meier mm at marcomeier.de
Fri Nov 24 21:59:52 CET 2000


> ich möchte 2 tab. verknüpfen 1:n
> habe in tab1 einen primary key - auto increment not null  definiert

> und in tab2 einen unique key - not null definiert

> sind jetzt bereits beide tab. miteinander verknüpft ?
> normalerweise müsste doch bei anlage von datensätzen in tab2 er den
> schlüssel von tab1 übernehmen ?( sonst wärs ja keine 1:n beziehung)

Dummerweise kennt ist MySQL zwar ein relationales Datenbanksystem nur
kennt es relationen im eigentlichen Sinne nicht. Andere Datenbanksysteme
haben einen Relationsmanager und löschen z. B. auf Wunsch 1:n verknüpfte
Datensätze den n Part automatisch wenn der 1 Part gelöscht wird. 
Innerhalb von MySQL kann man zwar solche Relationen herstellen - 
allerdings nur logisch. So kannst du z. B. eine 1: Datensatz anlegen und
den Primärschlüssel mit mysql_insert_id() (so heißt der Befehl auf php
Seite. Andere System haben vergleichbare Befehle aus dem MySQL 
Befehlspool) abfragst und dann beim einfügen in die :n Seite verwendest.
Für die Datenabfrage verwendest Du einen SQL Befehl mit Join. Dazu einfach 

mal im Handbuch nachsehen. Ist ganz einfach. Als Vereinfachung für 
Anfänger
ist der SQL Query-By-Example Editor von MS Access zu nennen. Sehr einfach
werden da SQL Statements zusammengestellt und können dann optional
angezeigt und fast direkt verwendet werden.

Beste Grüße, Marco






More information about the Linux mailing list