Estoy escribiendo algunos códigos para encontrar detalles duplicados de clientes en una base de datos. Estaré usando la distancia Levenshtein.Cómo almacenar relaciones bidireccionales
Sin embargo, no estoy seguro de cómo almacenar las relaciones. Utilizo bases de datos todo el tiempo, pero nunca me he encontrado con esta situación y me pregunto si alguien podría señalarme en la dirección correcta.
Lo que me confunde es cómo almacenar la naturaleza bidireccional de la relación.
he empezado a poner algunos ejemplos a continuación, pero se pregunta si hay una mejor práctica para el almacenamiento de este tipo de datos,
Datos de ejemplo
DNI, dirección
001, 5 Main Street
002, 5 Main St.
003, 5 Main Str
004, 6 High Street
005, 7 bajo la calle
006, 7 bajo St
Sugerencia 1
customer_id1, customer_id2, relationship_strength
001, 002, 0,74
001, 003, 0,77
002, 003, 0,76
005, 006, 0,77
No contento con este enfoque, ya que tipo de infiere una relación unidireccional entre cust omer_id1 a customer_id2. A menos que, por supuesto, incluya todas las relaciones en ambos sentidos, pero eso duplicaría la cantidad de tiempo de procesamiento y el tamaño de las tablas.
por ejemplo, tendría que incluir: 002, 001, 0,74
sugerencia 2
customer_id, GROUPING_ID
001, 1
002, 1
003, 1
005, 2
006, 2
Gracias APC. Esa matriz tiene sentido y ayuda a visualizarla. Esa declaración SQL es realmente también. Gracias. – alj