|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Invité de passage
![]() Inscription : janvier 2007 Messages : 17 ![]() |
Bonjour,
Je voudrais savoir quelle est la meilleure méthode pour modéliser un lien (n,m) d'une table vers elle-même. Exemple: si facebook avait une table "Utilisateurs", comment représenteriez-vous un lien d'amitié ? Si Pierre est ami avec Paul et Jacques (Paul et Jacques ne sont pas amis) - soit je stocke dans ma table d'association un seul lien (arbitrairement) (ID_Paul, ID_Pierre) (ID_Pierre, ID_Jacques) => Dans ce cas là, toutes les requêtes de l'application doivent être dédoublées : pour les amis de Pierre : select champ2 from Utilisateurs where champ1=ID_Pierre UNION select champ1 from Utilisateurs where champ2=ID_Pierre - soit je stocke tout en double (ID_Paul, ID_Pierre) (ID_Pierre, ID_Paul) (ID_Pierre, ID_Jacques) (ID_Jacques, ID_Pierre) ce qui permet d'avoir une requête propre (pour les amis de Pierre select champ2 from Utilisateurs where champ1=ID_Pierre), mais l'information est dupliquée. D'autres solutions? Qu'est-ce qui est recommandé? Merci |
|
|
00
|
|
|
#2 |
|
Membre régulier
![]() Olivier Albertini Inscription : avril 2006 Messages : 194 ![]() |
soit avec cette méthode
les CTE soit avec celle-ci arborescence intervallaire après tout dépend de la profondeur et de ce que vous allez concrètement faire |
|
00
|
|
|
#3 | ||||
![]() ![]() ![]() Frédéric BROUARDExpert SGBDR & SQL Inscription : mai 2002 Messages : 10 953 ![]() |
voici les tables adéquates
Code :
Code :
__________________
Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL Site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/ Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp. Blog SQL, SQL Server, modélisation données : http://blog.developpez.com/sqlpro http://www.sqlspot.com : modélisation, conseils, audit, optimisation, formation * * * * * Enseignant CNAM PACA - ISEN Toulon - CESI Aix en Provence * * * * * |
||||
|
00
|
Copyright © 2000-2012 - www.developpez.com