sql - 在没有复合键的情况下规范化为 1NF

标签 sql database database-design entity-relationship normalization

通常说要达到 1nf,必须创建一个新实体,并且该实体必须具有复合键

LeadID |铅日期 |名称 |出生日期 |街道地址 |城市 |状态 |居住类型

如果我要将 streetAddress, city, state, residenceType 规范化为一个新实体,我将不得不立即创建一个新的主键。我不能使用 LeadID,因为那意味着没有线索就无法创建地址,这是不正确的。而且我不能使用 streetAddress,因为街道不是很好的候选者(5123 glowsville way st.nave. 根本不是一个好的键)。

所以我不得不为这个新实体简单地创建一个 key 。这样可以吗?

最佳答案

First normal form意思是:

A relation is in first normal form if the domain of each attribute contains only atomic values, and the value of each attribute contains only a single value from that domain.

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

关于sql - 在没有复合键的情况下规范化为 1NF,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16260069/

相关文章:

php/数据库导致性能问题

sqlite - Sqlite数据库模型中的鱼尾纹

python - 解决 SQL 中的三向循环引用 (Django)

mysql - 谁能帮我写一段sql代码?

asp.net - 将数据集映射到 ASP.NET 中的自定义 .NET 对象

c# - 如何检查数据库中是否存在记录 - 最快的方法

mysql - 从表中复制字段以在另一个表的查询中使用

mysql - Java + Apache Commons DBCP 与 MySQL 的连接问题

database - 在数据库中存储和索引二进制字符串

database - Django:数据库设计的最佳实践