第一范式(1NF)
id | contry |
---|---|
1 | 中国上海 |
2 | 美国纽约 |
以上的表设计就不满足第一范式,因为contry对应的值可以拆分
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进行投诉反馈,一经查实,立即删除!
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。