Bonjour,
J'ai un sérieux problème de conception qui me pose souci depuis maintenant quelques jours et j'avoue que je m'arrache vraiment les cheveux. Je vais essayer de le décrire du mieux possible.
Imaginons un réseau social du style Facebook sauf que les users "amis" d'un user 1 sont rangés dans des groupes (1:Mes amis, 2:Ma famille, ...). Un user peut donc avoir plusieurs murs (groupes). Prenons un exemple. Soit 3 users 1, 2 et 3.
Le user 1 demande 2 et le range dans le groupe 1-Mes amis (dont il est owner)
Le user 2 répond favorablement et range 1 dans le groupe 2-Mes amis (dont il est owner)
Le user 1 demande 3 et le range dans le groupe 3-Ma famille (dont il est owner)
Le user 3 répond favorablement et range 1 dans le groupe 4-Mes amis (dont il est owner)
J'ai 3 tables :
GROUPE(id_group, name_group et id_owner)
1 Mes amis 1
2 Mes amis 2
3 Ma famille 1
4 Mes amis 3
MEMBRES_GROUPES(id_group, id_user)
1 1
1 2
2 2
2 1
3 3
3 1
4 3
4 1
Lorsqu'un message est ajouté dans un mur,une ligne est ajoutée à la table MESSAGES(id_message, text, id_group).
Par exemple, l'utilisateur laisse un message dans le groupe 1 --> 1 / texte message / 1
Ma question est donc la suivante :
Sachant que l'on a en paramètres d'entrée l'idUser laissant le message et l'idGroup dans lequel va le message, quelle requête permet d'afficher pour chaque user les messages selon ses groupes ?
Merci pour votre aide. Je commence à trop fumer de la tête ...
Partager