DB-Design und ein paar Fragen dazu

Peer-Mario

B1G-Software-Kunde
#1
Hallo,

ich stoße mal wieder (wie eigentlich so oft bei dem Thema) an meine logische Grenze. Nehmen wir folgendes an:

Tabelle 1 (user) hat folgende Felder -> user_id, user_name
Tabelle 2 (projecte) hat folgende Felder -> project_id, project_name

User kann mehrere Projekte haben
Projekte können mehrere User haben.

Also bauen wir eine dritte Tabelle.

ref_user_project mit den feldern -> ref_id, ref_user_id, ref_project_id

Soweit gehe ich ja mit (ich weiss, man kann dem auch aus dem Wege gehen, ist aber nicht wirklich sinnvoll).

Nehmen wir weiter an, wie haben 4 Einträge in der Ref Tabelle:

ref_id / ref_user_id / ref_project_id

1 1 1
2 1 2
3 2 1
4 2 1


Mit welchen MySQL - Statement's bekomme ich :

- welche User haben welche Projekte (Rückgabe Username + Projektnamen)
- welche Projekte haben welche User (Rückgabe Projektname + Usernamen)

Wäre nett, wenn man mir helfen könnte.

Gruß Peer-Mario

EDIT:
Ich habe den Spass jetzt begriffen:

SELECT projecte.project_name FROM user INNER JOIN ref ON user.user_id = ref_user_project.ref_user_id INNER JOIN projecte ON ref_user_project.ref_project_id = projecte.project_id where user_name ='xyz'

gibt mir die Projekte vom User XYZ zurück.

Jetzt baue ich mir noch die Statements für new, update und delete, falls sich die Projekte für einen User ändern bzw. falls ein User ganz gelöscht wird.

Gruß Peer-Mario
 
Last edited:
Top