数据库三范式(下)

应用实例:

 

假设某建筑公司要设计一个数据库。公司的业务规则概括说明如下:

1.公司承担多个工程项目,每一项工程有:工程号、工程名称、施工人员等

2.公司有多名职工,每一名职工有:职工号、姓名、性别、职务(工程师、技术员)等

3.公司按照工时和小时工资率支付工资,小时工资率由职工的职务决定(例如,技术员的小时工资率与工程师不同)

经过总结我们可以得到如下的一张表,为第一范式:

 

第二范式规范化的表为:

第三范式规范化的表为:

总结:

                 三种范式之间的关系:

–  第一范式(1NF)的目标:确保每列的原子性。

–  第二范式(2NF)的目标:确保表中的每列,都和主键相关

–  第三范式(3NF)的目标:确保每列都和主键列直接相关,而不是间接相关

 

 1N
  消除非主属性对码的部分函数依赖

 2N
  ↓
消除非主属性对码的传递函数依赖
 3N
  ↓
消除主属性对码的部分和传递函数依赖

            规范化的本质是提高数据独立性,解决插入异常、删除异常、修改复杂、数据冗余等问题的方法。规范化的基本思想是逐步消除数据依赖中不合适的部分。我们在设计数据库时必须要考虑这些因素,要符合三范式的设计规范,建立规范,简明的数据库。

评论 14
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值