deduping ist selten einfach. Das liegt daran, dass die zu dedutierenden Datensätze oft geringfügig andere Werte haben als einige der Felder. Wählen Sie daher aus, welcher Datensatz beibehalten werden soll. Außerdem handelt es sich bei Dupletten oft um Personenaufzeichnungen, und es ist schwer zu erkennen, ob die beiden John Smiths zwei Personen oder eine Person sind, die dupliziert werden. Also geben Sie viel (50% oder mehr des gesamten Projekts) Ihrer Zeit aus, um zu definieren, was eine Kopie ausmacht und wie Sie mit den Unterschieden und Kinderakten umgehen.
Woher wissen Sie, welcher der richtige Wert ist? Für die weitere Deduplizierung müssen Sie alle untergeordneten Datensätze bearbeiten, die nicht verwaist sind. Was passiert, wenn Sie feststellen, dass Sie durch die Änderung der ID auf dem Kinddatensatz plötzlich gegen einen der eindeutigen Indizes oder Einschränkungen verstoßen - dies wird schließlich passieren und Ihr Prozess muss damit umgehen. Wenn Sie sich törichterweise entschieden haben, alle Ihre Einschränkungen nur in der Anwendung anzuwenden, werden Sie möglicherweise nicht einmal wissen, dass die Einschränkungen verletzt werden. Wenn Sie 10.000 Datensätze zu deduplizieren haben, gehen Sie nicht durch die Anwendung, um einzeln zu deduplizieren. Wenn sich die Einschränkung nicht in der Datenbank befindet, ist die Datenintegrität bei der Deduplizierung sehr hoch.
Eine weitere Komplikation ist, dass Duples nicht immer genau auf den Namen oder die Adresse übereinstimmen. Zum Beispiel ein Salesrep namens Joan Martin kann eine Kopie eines Verkaufsrepräsentanten Joan Martin-Jones vor allem, wenn sie die gleiche Adresse und E-Mail haben. ODER Sie könnten John oder Johnny im Namen haben. Oder die gleiche Straßenadresse außer einem Datensatz abgekürzt ST. und eine buchstabierte Straße. Im SQL-Server können Sie SSIS und Fuzzy-Gruppierung verwenden, um auch Beinahe-Übereinstimmungen zu identifizieren. Dies sind oft die häufigsten Fälle, da die Tatsache, dass es keine genauen Übereinstimmungen gab, der Grund dafür ist, dass sie überhaupt erst als Duplikate eingesetzt wurden.
Für einige Arten von Deduplizierung benötigen Sie möglicherweise eine Benutzeroberfläche, sodass die Person, die die Deduplizierung durchführt, auswählen kann, welcher der beiden Werte für ein bestimmtes Feld verwendet werden soll. Dies gilt insbesondere dann, wenn die Person, die dedupliziert wird, zwei oder mehr Rollen innehat. Es könnte sein, dass die Daten für eine bestimmte Rolle normalerweise besser sind als die Daten für eine andere Rolle. Oder es könnte sein, dass nur die Benutzer sicher wissen, welches der richtige Wert ist, oder sie müssen Leute kontaktieren, um herauszufinden, ob es sich wirklich um Duplikate oder einfach um zwei Personen mit demselben Namen handelt.
Meinst du das Zusammenfallen von * identischen * Duplikaten (mit Ausnahme der PK) oder das Zusammenfalten * von hinreichend ähnlichen * Duplikaten? Ersteres kann ziemlich einfach gemacht werden, letzteres ist eine potentielle Welt der Unsicherheit und des Schmerzes. –
@j_random_hacker - ich meinte völlig identisch. Siehe den Wortlaut des Beitrags - "Ich beziehe mich darauf, Duplikate loszuwerden ... Zeilen, die Duplikate in * allem außer dem PK-Feld * sind." – froadie
Entschuldigung, ich habe nicht sorgfältig genug gelesen ... –