对关系型数据库三范式的理解

 

第一范式:保证表中的每一条记录中的每一列都是一个不可分割的实体,是实实在在存在的。不可再分的。
第二范式:所有的非主属性,都完全依赖于候选关键字,。
第三范式:所有的非主属性,和候选关键字都不存在传递依赖,这样就说相应的数据关系,满足第三范式。

讲完了,上面三个范式,估计还是不能明白,这就涉及了几个概念:
平凡的函数依赖:针对属性集X->Y,且Y包含于X.
非平凡的函数依赖:针对属性集X->Y,且Y不包含于X,
完全函数依赖:在R(U)当中,针对X->Y,对于X的任何一个真子集X1,都有X1不能函数确定于Y,那么久说Y对于X是完全函数依赖
非完全函数依赖:在R(U)当中,针对X->Y,但y不完全函数依赖于X,那么就说Y非完全函数依赖于X.
传递依赖:针对X->Y(Y不函数依赖X),但Y->Z,那么说Z传递依赖于X。

看完这几个概念,就不难理解上面所说的三个范式了,
可以参考下面一个例子:
员工表:
empno(员工编号),deptno(部门编号),deptName(部门名称),age(年龄) sex(性别)
针对这个表,每一行都有唯一确定的行值,满足第一范式。
detno,deptName,age,sex都完全依赖于empno,满足第二范式
empno->deptno,deptno->deptName 存在传递依赖,不满足第二范式。
解决方式,新建一张表,
depto_table (dept_no,dept_name)标识deptno与dept_name的关系。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值