Deduping raramente es simple. Esto se debe a que los registros a desduplicar a menudo tienen valores ligeramente diferentes en algunos de los campos. Por lo tanto, elegir qué registro conservar puede ser problemático. Además, los dúos son a menudo registros de personas y es difícil identificar si los dos John Smith son dos personas o una persona que está duplicada. Así que gasta mucho (50% o más de todo el proyecto) de tu tiempo definiendo qué constituye un dup y cómo manejar las diferencias y los registros de los niños.
¿Cómo sabes cuál es el valor correcto? Dedupping adicional requiere que usted maneje todos los registros secundarios que no estén huérfanos. Lo que sucede cuando descubres que al cambiar la identificación en el registro secundario violas de repente uno de los índices o restricciones únicos, esto sucederá eventualmente y tu proceso debe manejarlo. Si ha elegido estúpidamente aplicar todas sus restricciones solo a través de la aplicación, es posible que ni siquiera sepa que las restricciones son violadas. Cuando tiene 10,000 registros para deduplicar, no va a ir a través de la aplicación para deduplicar uno a la vez. Si la restricción no está en la base de datos, mucha suerte en mantener la integridad de los datos cuando deduplicas.
Una complicación adicional es que los dups no siempre coinciden exactamente en el nombre o la dirección. Por ejemplo, un vendedor llamado Joan Martin puede ser un duplicado de un representante de ventas llamado Joan Martin-Jones, especialmente si tienen la misma dirección y correo electrónico. O podrías tener a John o Johnny en el nombre. O la misma dirección, excepto un registro abreviado ST. y uno deletreó Street. En el servidor SQL puede usar SSIS y agrupamiento difuso para identificar también coincidencias cercanas. Estos son a menudo los dúos más comunes ya que el hecho de que no fueron coincidencias exactas es el motivo por el cual se pusieron como dúas en primer lugar.
Para algunos tipos de deduplicación, es posible que necesite una interfaz de usuario, de modo que la persona que realiza la deduplicación pueda elegir cuál de los dos valores usar para un campo en particular. Esto es especialmente cierto si la persona que está siendo dedupped está en dos o más roles. Podría ser que los datos para un rol en particular usualmente son mejores que los datos para otro rol. O podría ser que solo los usuarios sabrán a ciencia cierta cuál es el valor correcto o pueden necesitar ponerse en contacto con personas para averiguar si realmente son dúplex o simplemente dos personas con el mismo nombre.
¿Se refiere a duplicados * idénticos * duplicados (a excepción de PK), o colapsando * suficientemente similares * duplicados? El primero se puede hacer de manera bastante directa, este último es un mundo potencial de incertidumbre y dolor. –
@j_random_hacker - Quise decir completamente idéntico. Vea la redacción de la publicación - "Me refiero a deshacerse de duplicados ... filas que son duplicados en * todo menos el campo PK *". – froadie
Lo siento, no leí con cuidado ... –