第一范式(1NF)

具有原子性,设计列要做到列不再拆分

id contry
1 中国上海
2 美国纽约

以上的表设计就不满足第一范式,因为contry对应的值可以拆分

so满足第一范式设计如下

id contry city
1 中国 上海
2 美国 纽约

第二范式(2NF)

满足第一范式的基础上、满足一张表只能描述一件事情下面这张表既包含学生信息包含课程信息所以不满足第二范式正确的是把学生课程拆开用分别用学生课程表存储对应信息

id name sex course source
1 tom male Java 100
2 lucy female Python 800

第三范式(3NF)

满足第二范式的基础上,满足消除传递依赖表中数据如果能被推导出来,就不要设计一个字段单独存储

id name number price totalprice
1 牙膏 20 50 1000
2 袜子 30 60 1800

范式就是一个空间最省原则

反三范式

通过增加冗余或者重复数据 来提高数据库的读性能
浪费存储空间节省查询时间
冗余字段:某一个字段属于一张表,但是它又在另外一张表中

总结

1.尽量根据三范式规则设计数据库
2.可以合理加入冗余字段减少join操作数据库执行的更快。

原文地址:https://blog.csdn.net/qq_38790872/article/details/134769733

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任

如若转载,请注明出处:http://www.7code.cn/show_38694.html

如若内容造成侵权/违法违规/事实不符,请联系代码007邮箱suwngjj01@126.com进行投诉反馈,一经查实,立即删除

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注