数据库三范式
来源:互联网 发布:解析json为格式化 编辑:程序博客网 时间:2024/05/29 14:27
第一范式——关系型数据库设计的第一步
目前,只要是使用关系型数据库来设计数据库,都能够满足数据库设计的第一范式。第一范式(1NF,normal form)就是数据库表中的字段都是单一属性的,不可再分。这个单一属性可以是数据库中任何一种基本数据类型,如整型、字符型、日期等。
第二范式——关系型数据库设计的第二步
(2NF)在数据库表中不存在非关键字段对任一候选关键字段的部分函数依赖。也就是说在复合主键(AB)里面的A或者B与其他字段不能存在组合重复。
解决第二范式问题的方法:通常不用组合主键,添加一个编号列,作为单一主键即可满足第二范式。
如果不想添加编号列,就要满足组合主键(AB)里面的A或者B与其他字段不能存在组合重复。
不满足第二范式会引起一下4个问题:
•数据冗余
•更新异常
•插入异常
•删除异常
第三范式——关系型数据库设计的第三步
3NF是在2NF基础上提出,要求数据表中不存在非关键字段对任一候选关键字段的传递函数依赖。所谓传递函数依赖,指的是如果存在A决定B、B决定C的决定关系,则C传递函数依赖关系于A。
解决不满足3NF的方式:
• 通常将存在依赖关系字段拆分开为多个表,以此解决字段的传递函数依赖。
阅读全文
0 0
- 数据库范式 三范式
- 回味数据库三范式
- 数据库设计三范式
- 数据库三范式
- 数据库三大范式
- 数据库三范式
- 数据库的三范式
- 数据库设计三范式
- 数据库三范式
- 【学习】数据库三范式
- 数据库设计三范式
- 数据库三大范式
- SQL 数据库三范式
- 数据库三范式
- 数据库三范式
- 数据库设计三范式
- 数据库三大范式
- 数据库三大范式
- PAT(Advanced level) 1001 A+B Format(20)
- PAT 乙等 1026 程序运行时间
- hibernate + spring mvc,解决Hibernate对象懒加载,json序列化失败
- 什么是指针以及如何动态申请空间
- Openstack之搭建总结
- 数据库三范式
- Java链表
- eclipse idea 常用的一些快捷键大全
- 38. Struts2_使用声明式验证
- Android设计模式------代理模式
- 区分旅客国籍
- 苏苏请参考:关键词一览推荐表
- 51nod 1278 相离的圆
- 记录一下“halt ,reboot ,init,shutdown的区别”