数据库系统工程师——范式部分

卑微小涛在经过计算机三级数据库技术、数据库系统工程师考试、计算机四级数据库工程师的考试,发现都会考察“范式”这个考点,今天进行一下梳理、总结。

范式
有第一范式(1NF)、第二范式(2NF)、第三范式(3NF)、巴克斯范式(BCNF)、第四范式(4NF)
根据不同的条件严格区分,以便于消除冗余

名词解释

接下来先解释一下这几个名词
完全函数依赖
记为X->Y,例如:(学号,课程号)->成绩 这个关系中,主码设为(学号,课程号),但是他们中单独一个属性不能推出成绩,例如 学号 无法退出 成绩,这就叫完全函数依赖

部分函数依赖
口语化说法:假设有A,B二者才能推出C,但是只有A也可以推出C,那么叫部分函数依赖
例如:有这样一个关系(学号,课程号)->课程名称,主码为~(学号,课程号),但实际上,课程号也可以推出课程名称,所以这个为部分函数依赖

传递函数依赖
X->Y , Y->Z , Y不属于X , Y推不出X , 则称为传递函数依赖
也举个例子:(学号,课程号,成绩,等级)
我们现在进行划分
(学号,课程号)对应于X
(成绩)对应于Y
(等级)对应于Z
现在存在如下关系
在这里插入图片描述
所以这个是传递函数依赖

多值依赖
X->->Y ,1个X有多个Y对应
例如:ISBN 和 作者,即一个ISBN号(即指一本书)有多个作者,因为ISBN号(只有一个)是一本书的主码

范式解释

在了解了以上几个专业名称后,下面我们进行详细解释这几个范式:
1NF
定义:每个属性都是不可拆分
比如“家庭住址”这个属性就是可以拆分的,例如里面有XX省XX市XX县XX路,这些是可以拆分的
但是,关系型数据库都满足了1NF,否则就不是关系型数据库

2NF
定义:在满足1NF的基础上,非主属性之间不存在部分函数依赖

3NF
定义:在满足2NF的基础上,非主属性之间不存在传递函数依赖

BCNF
定义:在满足3NF的基础上,主属性之间不存在部分函数依赖和传递函数依赖

4NF
定义:满足BCNF的基础上,没有多值依赖

以上关于范式考点的解释,欢迎大家在下方留言讨论哦~

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值