Sto scrivendo del codice per trovare i dettagli del cliente duplicati in un database. Userò la distanza di Levenshtein.Come memorizzare i rapporti bidirezionali
Tuttavia, non sono sicuro di come memorizzare le relazioni. Uso sempre le basi di dati ma non ho mai incontrato questa situazione e mi sono chiesto se qualcuno potesse indicarmi la giusta direzione.
Ciò che mi confonde è come memorizzare la natura bidirezionale della relazione.
ho iniziato a mettere alcuni esempi che seguono, ma si chiede se c'è una buona pratica per la memorizzazione di questo tipo di dati,
dati Esempio
id, indirizzi
001, 5 Main Street
002, 5 Main St.
003, 5 Main Str
004, 6 High Street
005, 7 Low Street
006, 7 Basso St
Suggerimento 1
customer_id1, customer_id2, relationship_strength
001, 002, 0,74
001, 003, 0,77
002, 003, 0,76
005, 006, 0,77
Non contento di questo approccio come una sorta di deduce una relazione a senso unico tra Cust omer_id1 a customer_id2. A meno che non includa tutte le relazioni in entrambi i modi, ma ciò raddoppierà la quantità di tempo di elaborazione e la dimensione delle tabelle.
esempio dovrebbe includere: 002, 001, 0,74
suggerimento 2
customer_id, GROUPING_ID
001, 1
002, 1
003, 1
005, 2
006, 2
Grazie APC. Quella matrice ha senso e aiuta a visualizzarla. Quella dichiarazione SQL è davvero anche a mano. Grazie. – alj