数据库三范式(下)
应用实例:
假设某建筑公司要设计一个数据库。公司的业务规则概括说明如下:
1.公司承担多个工程项目,每一项工程有:工程号、工程名称、施工人员等
2.公司有多名职工,每一名职工有:职工号、姓名、性别、职务(工程师、技术员)等
3.公司按照工时和小时工资率支付工资,小时工资率由职工的职务决定(例如,技术员的小时工资率与工程师不同)
经过总结我们可以得到如下的一张表,为第一范式:
第二范式规范化的表为:
第三范式规范化的表为:
第一范式(1NF)的目标:确保每列的原子性。
第二范式(2NF)的目标:确保表中的每列,都和主键相关
第三范式(3NF)的目标:确保每列都和主键列直接相关,而不是间接相关
1N
↓消除非主属性对码的部分函数依赖
2N
↓ 消除非主属性对码的传递函数依赖
3N
↓ 消除主属性对码的部分和传递函数依赖
规范化的本质是提高数据独立性,解决插入异常、删除异常、修改复杂、数据冗余等问题的方法。规范化的基本思想是逐步消除数据依赖中不合适的部分。我们在设计数据库时必须要考虑这些因素,要符合三范式的设计规范,建立规范,简明的数据库。
- 7楼linlin802306192小时前
- http://blog.csdn.net/linlin80230619/article/details/7626300应该把咱俩的范式合并合并~
- 6楼lfmilaoshi5小时前
- 深入浅出。。。好好。。。米老师
- 5楼lzh11106小时前
- 。。。。。。。。。。。
- 4楼hejingyuan612小时前
- 我说呢,上一个差个例子,嘿嘿
- 3楼aboy123昨天 19:56
- 有例子容易理解多了
- Re: as19901130昨天 21:19
- 回复aboy123n嘿嘿,篇幅有点长,就分开了
- 2楼lishehe昨天 19:43
- 呵呵,太好了,[e03]
- 1楼as19901130昨天 19:40
- 嘿嘿,相互补充吧