我有一个包含约 6k 条记录的 Excel 平面文件,我想将其放入 MS Access 数据库。原始 Excel 字段为:
姓名 地址 城市 状态 压缩 出生日期 案件编号 判刑日期 应付金额
我将 Excel 文件中的所有内容按列保存为较小的文本文件,例如:
姓名 ID 最后的 第一的 中间 后缀 地址 ID 第 1 行 城市 状态 压缩 生日 ID 日期 卡西诺 ID 案件编号 法院号码 被判刑 ID 判刑日期 金额 ID 应付金额 代理机构 ID 年
我将其中的每一个都导入到Access表中并确保它们没有错误。
到目前为止我已经建立了如下关系:
每个都已检查强制参照完整性和级联更新。
我的问题是平面文件中有许多重复的姓名、地址、出生日期,并且案件编号也不同;因为一个人可以有多起案件。
我该如何解决这个问题而不让宇宙崩溃?我对这种事情非常陌生,不知道该问什么问题 :(。
答案1
简而言之,没有灵丹妙药。没有什么可以帮你清理数据。你要么手动清理,要么编写程序,根据你定义的一些规则对数据进行规范化。
答案2
您的数据设计存在许多错误。
一个人可以有多少个生日?一个。所以生日作为字段属于 Names 表。我相信您的意思是一个人可以有多个地址。没关系,并且您有一个与许多可能的地址相关的名称 - 这很好。但您不能仅通过其主 ID 字段连接这两个表。这意味着名称 1 连接到地址 1 - 这可能是也可能不是真的。如果名称 1 连接到地址 5 和 7 会怎样?您必须在 Address 表中有一个名称 ID 字段。然后,地址 ID 5 和 ID 7 可以在 Address 表中具有名称 ID 1,从而建立您想要的连接。这称为外键。
然后您有三个表,Amounts、ToAgency、Sentence,它们都以一对一关系连接到 JP_Case 表。也就是说,每个 Case 只有一个 Amount、ToAgency 和 Sentence。就像 Name-Birthday 一样,如果 Case 只能有这三个值中的一个,那么它们应该是 JP_Case 表中的字段,而不是单独的表。
以下是关系数据设计教程这应该会让你走上正确的道路。