mysql-数据库:我可以在第三范式数据库中具有可为空的属性吗?
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了mysql-数据库:我可以在第三范式数据库中具有可为空的属性吗?,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1005字,纯文字阅读大概需要2分钟。
内容图文
![mysql-数据库:我可以在第三范式数据库中具有可为空的属性吗?](/upload/InfoBanner/zyjiaocheng/882/2aecf3824f9e477aa2f2298fc511b54c.jpg)
我有一个可为空的winnerID属性,该属性会根据拍卖的出价不断更新.
将此属性设置为最终节省时间,以计算谁赢得了拍卖.但是此值最初为null.
这会违反第三范式吗?我知道1NF的规则4声明我不能具有可为空的属性,但是注释中说这是一个有争议的声明.
您能帮我澄清一下吗?谢谢!
解决方法:
在SQL中定义空值的方式-是无法与域值进行比较的非值-表示它们违反了1NF(以及所有更高的法线形式).关系(由规范化表表示的数学结构)对于每一行的每一列都必须具有单个值.空值表示我们没有值,可空列意味着我们在一个表中有两个关系-一个超类型关系,其中包括除可空值之外的所有列;以及一个子类型关系,其具有相同的主键和以前的可空列,对于我们只能记录该属性已知的行.规范化的目的是在不丢失信息的情况下将数据集分解为基本事实,因此在一个表中具有两个关系与目标相矛盾,并使诸如关系代数/演算之类的事情变得更加复杂.
正常形式是正式的逻辑定义结构,而不是可以根据情况进行调整的行业最佳实践,因此,我认为没有太大的争议空间.我们是否应该使用它们以及如何处理它们是一个更有趣的话题.
尽管null违反了正常形式,但这并不意味着您不能在SQL数据库中使用null.他们既有风险,也有利益.我也使用它们,但需要考虑.
内容总结
以上是互联网集市为您收集整理的mysql-数据库:我可以在第三范式数据库中具有可为空的属性吗?全部内容,希望文章能够帮你解决mysql-数据库:我可以在第三范式数据库中具有可为空的属性吗?所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。