数据库模式

数据库模式4个范式:

1NF:数据库表的每一项都是不可分割的原子数据项,而不是集合、数组等;

2NF:要求数据表的每个实例或记录必须可以被唯一地区分。例如员工表中的身份号码即可实现每一个员工的区分,该身份证号码即为候选键,在找不到候选键时,可额外增加属性以实现区分。假定选课关系表有学号、姓名、年龄、课程名称、成绩、学分属性,存在如下决定关系:

(学号,课程名称)->(姓名,年龄,成绩,学分),这个数据库表就部满足第二范式,因为存在如下决定关系:

(课程名称)->(学分)

(学号)->(姓名,年龄)

即存在组合关键字字段决定非关键字的情况,没有完全依赖于主关键字

3NF:是第二范式的一个子集,例如存在一个部门信息表,其中每个部门有部门编号、部门名称、部门简介等信息,那么在员工信息表中列出部门编号后就不能将部门名称、部门简介再列到员工信息表中了。

简而言之,第三范式就是属性不依赖于其它非主属性,因此,满足第三范式的数据库表应该不存在如下依赖关系:

关键字段->非关键字段x->非关键字段y

假定学生关系表有学号、年龄、姓名、学院、学院地点、学院电话,关键字为学号,这个数据表是符合2NF的,但不符合3NF,因为存在如下关系:

(学号)->(学院)->(学院地点、学院电话)


BCNF(巴特-科德范式):是第三范式的一个子集:即不存在任何字段对任一候选关键字的传递函数依赖,即也不应该存在如下依赖关系等:

关键字段x->关键字段y->非关键字段

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值