mysql - 关于重复数据的 SQL
问题描述
我有一个关于数据规范化的一般性问题(我进入 SQL 的第一步)。我收到了一个 CSV 文件,该文件已上传到 MySQL 工作台,并被要求进行数据规范化(使用正常形式)。我发现了一些明显的重复,但我不确定一件事。有关于公司及其地址的数据,但是,例如在“国家”字段中,美国重复了几千次,我不确定这是否算作重复数据?我是否应该制作单独的表格,例如“国家”并给他们唯一的 ID,假设美国为 1,然后更新原始表格中的数据,其中美国将其替换为 1?
解决方案
如果要消除重复项,则'UNITED STATES'
确实是重复项。
因此,countries
如果您的目标是标准化,则需要一个参考表。
请注意,在这种情况下,标准化可能会减少数据的大小。您的countries
表格键可能是一个整数(4 个字节)——尽管它也可以是 ISO 2 个字符或 3 个字符的国家/地区代码。在原始表中重复主键应该会减少数据库中数据的整体大小。
推荐阅读
- git - 在 git 中跳过工作树以获取 glob 模式
- graphql - 如何在 Next JS 中调用 Graphql Url
- javascript - SlideUp/SlideDown 下拉值
- netty - Netty - 输入流中的 GZIP 问题
- reactjs - React Native 找不到图片
- reactjs - 使用 Typescript 打字的 Mobx 通用观察者
- java - 使用 ant include (apache camel) 获取最新文件
- c# - 根据当前经过身份验证的用户创建 VssCredentials
- java - 为什么以下代码自动装箱到错误的类型并编译?
- qemu - 在linux中构建edk2