首页 > 解决方案 > 关于重复数据的 SQL

问题描述

我有一个关于数据规范化的一般性问题(我进入 SQL 的第一步)。我收到了一个 CSV 文件,该文件已上传到 MySQL 工作台,并被要求进行数据规范化(使用正常形式)。我发现了一些明显的重复,但我不确定一件事。有关于公司及其地址的数据,但是,例如在“国家”字段中,美国重复了几千次,我不确定这是否算作重复数据?我是否应该制作单独的表格,例如“国家”并给他们唯一的 ID,假设美国为 1,然后更新原始表格中的数据,其中美国将其替换为 1?

标签: mysqlsqlduplicatesmysql-workbenchdatabase-normalization

解决方案


如果要消除重复项,则'UNITED STATES'确实是重复项。

因此,countries如果您的目标是标准化,则需要一个参考表。

请注意,在这种情况下,标准化可能会减少数据的大小。您的countries表格键可能是一个整数(4 个字节)——尽管它也可以是 ISO 2 个字符或 3 个字符的国家/地区代码。在原始表中重复主键应该会减少数据库中数据的整体大小。


推荐阅读