我有一个包含数百万客户联系人的数据库。但是,其中很多是重复的,我可以请这里的一些英雄建议如何使用 Oracle SQL、PL/SQL 或 Excel 识别这些重复。
下面是数据结构:
Client_Header
id integer (Primary Key)
Client_First_Name (varchar2)
Client_Last_Name (varchar2)
Client_Date_Of_Birth (timestamp)
客户地址
Client_Id (Foreign Key ref Client_header)
Address_Line1 (varchar2)
Address_Line2 (varhchar2)
Adderss_Line3 (varchar2)
Suburb (Varchar2)
State (varchar2)
Country (varchar2)
我的挑战是除了Client_Date_Of_Birth
那些关键领域,所有领域都只是自由文本。
例如,我们有一个像下面这样的客户
Surname : Jones
First name : David
Client_Date_Of_Birth: 10/05/1975
Address: Unit 10 Floor 1, 20 Railway Parade, St Peter, NSW 2044
但是,由于这些字段是自由文本,我有很多数据问题,下面的链接(仅限 jpeg 文件)说明了其中一些问题
笔记:
- 除了这些问题,有时我们也可能会错过客户的名字或姓氏(但不能同时错过两者)
- 有时可以在同一记录中找到多个问题。
有时,地址可能只是学校、购物中心等的名称。
系统不存储任何其他可以唯一标识客户端的 id。
我知道在客户地址是学校或购物中心的情况下收集所有重复记录几乎是不可能的。但是,对于其他情况,无论如何都可以识别大部分重复项。
谢谢您的帮助!