首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在没有复合键的情况下将正规化为1NF

在没有复合键的情况下将正规化为1NF
EN

Stack Overflow用户
提问于 2013-04-28 05:52:46
回答 2查看 1.6K关注 0票数 1

它经常指出,要达到1nf,就必须创建一个新的实体,而该实体必须有一个复合密钥

LeadID | leadDate | Name | DOB | streetAddress | city | state | residenceType

如果我要将streetAddress, city, state, residenceType规范化为一个新的实体,我就必须立即创建一个新的主键。我不能使用LeadID,因为这意味着没有引线就不能创建地址,这是不正确的。我不能使用streetAddress,因为街道不是很好的候选人(5123 glowsville way st。那条街。根本不是一个好钥匙)。

所以我不得不为这个新的实体创建一个密钥。这样行吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-04-28 10:24:24

1NF与复合键的存在无关。为了满足1NF,表必须是关系的精确表示,因此必须至少有一个候选键,其中可能包括或不包括复合键。

您可能会想到通用关系假设,这是数据库设计理论中的一个概念,有时用于通过分解教授规范化。市建局假设存在一个关系,所有期望的关系都可以通过无损分解得到。通用关系通常有一个复合键。请注意,市建局本身是有争议的,而且肯定是有问题的,但这是一种在设计理论上思考问题的方法。

规范化理论从来不要求引入新的属性。原则上,属性和依赖关系假定是给定的。

票数 3
EN

Stack Overflow用户

发布于 2013-04-28 06:53:35

First normal form的意思是:

如果每个属性的域仅包含原子值,而每个属性的值仅包含来自该域的单个值,则关系处于第一范式。

因此,除非您在streetAddress列中存储多条街道,否则您已经遵循了第一种范式。

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

https://stackoverflow.com/questions/16260069

复制
相关文章

相似问题

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