SQL关于重复数据

SQL about duplicate data

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

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

因此,如果您的目标是规范化,则需要 countries 参考 table。

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