首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何将以下数据放入3NF中?

如何将以下数据放入3NF中?
EN

Database Administration用户
提问于 2016-03-31 01:36:22
回答 1查看 2.1K关注 0票数 0

我需要将图表中的数据以3NF (第三范式)的形式显示出来。

EN

回答 1

Database Administration用户

发布于 2016-03-31 08:25:39

假设您的表用于存储销售记录,我们可以执行以下操作:

第一范式:

  • 删除重复列(不是真正消除,而是重新排列)。
  • 我只是用重复的数据分隔列,并使它们成为新的行。

第二范式

  • 表应该在1NF内。
  • 删除应用于表的多行的数据子集,并将它们放在单独的表中。
  • 通过使用外键在这些新表和它们的前身之间创建关系。
  • 为卖方、客户、产品、评级和记录创建新表。
  • 卖方编号、Cust ID、Prod ID和Prod等级是它们的主要密钥(即销售记录表的外键)。

第三范式

  • 这张表应该是2NF。
  • 删除不依赖主键的列。
  • 在处理地址时,我通常会遇到这个表格。如您所见,我添加了表City并使用Zip作为外键。
  • 我还在销售记录表(Record ID)中添加了一个主键。

您可以阅读有关规范化这里这里的内容。

最后一句话:规范化有助于减少数据冗余,并确保它们的关系被使用。使用联接很有用,但是当有太多的数据和表时,可能会让人头疼。

票数 2
EN
页面原文内容由Database Administration提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://dba.stackexchange.com/questions/133896

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档