【发布时间】:2013-04-22 00:32:40
【问题描述】:
通常说要达到 1nf,必须创建一个新实体,并且该实体必须有一个复合键。
LeadID | leadDate | Name | DOB | streetAddress | city | state | residenceType
如果我要将streetAddress, city, state, residenceType 规范化为一个新实体,我将不得不立即创建一个新的主键。我不能使用LeadID,因为这意味着没有潜在客户就无法创建地址,这是不正确的。而且我不能使用streetAddress,因为街道不是很好的候选者(5123 glowsville way st. n ave。根本不是一个好钥匙)。
所以我不得不简单地为这个新实体创建一个密钥。这可以吗?
【问题讨论】:
-
“经常说要达到 1nf,必须创建一个新实体,并且该实体必须有一个复合键。” 我一直从事数据库行业超过20年。我以前从未听过任何人这么说。
标签: sql database database-design entity-relationship normalization