Je suis en train d'écrire du code pour trouver des détails de clients en double dans une base de données. Je vais utiliser la distance de Levenshtein.Comment stocker des relations bidirectionnelles
Cependant, je ne sais pas comment stocker les relations. J'utilise des bases de données tout le temps, mais je n'ai jamais rencontré cette situation et je me demandais si quelqu'un pouvait me diriger dans la bonne direction. Ce qui me trouble, c'est comment stocker la nature bidirectionnelle de la relation.
J'ai commencé à mettre quelques exemples ci-dessous, mais il se demande s'il y a une meilleure pratique pour stocker ce type de données,
Exemple de données
id, adresse
001, 5 Main Street
002, 5 rue Main
003, 5 Main Str
004, 6 High Street
005, 7 Basse Rue
006, 7 Low St
Suggestion 1
customer_id1, customer_id2, relationship_strength
001, 002, 0,74
001, 003, 0,77
002, 003, 0,76
005, 006, 0,77
Pas satisfait de cette approche car elle infère sorte d'une relation à sens unique entre Cust omer_id1 à customer_id2. À moins bien sûr d'inclure toutes les relations dans les deux sens, mais cela doublerait le temps de traitement et la taille des tables.
par exemple, il faudrait inclure: 002, 001, 0,74
Suggestion 2
customer_id, GROUPING_ID
001, 1
002, 1
003, 1
005, 2
006, 2
Merci APC. Cette matrice a du sens et aide à la visualiser. Cette instruction SQL est vraiment la main aussi. Merci. – alj