数据库--范式

四、范式

数据库范式也分为1NF2NF3NFBCNF4NF5NF。一般在我们设计关系型数据库的时候,最多考虑到BCNF就够。符合高一级范式的设计,必定符合低一级范式,例如符合2NF的关系模式,必定符合1NF

1.1NF的定义为:符合1NF的关系中的每个属性都不可再分。

即表中不可有表

但是仅仅符合1NF的设计,仍然会存在数据冗余过大,插入异常,删除异常,修改异常的问题。

2.2NF定义:2NF1NF的基础之上,消除了非主属性对于码的部分函数依赖。

函数依赖:

在学生表中找不到任何一条记录,它们的学号相同而对应的姓名不同。所以我们可以说姓名函数依赖于学号,写作:学号 → 姓名

完全函数依赖:

在一张表中,若 X Y,且对于 X 的任何一个真子集(假如属性组 X 包含超过一个属性的话),X ' Y 不成立,那么我们称 Y 对于 X 完全函数依赖,记作 X  Y。例如:(学号,课名  分数

部分函数依赖:

假如 Y 函数依赖于 X,但同时 Y 并不完全函数依赖于 X,那么我们就称 Y 部分函数依赖于 X,记作 X  Y。例如(学号,课名) 姓名

码:除 K 之外的所有属性都完全函数依赖于 K包含在任何一个码中的属性成为主属性。

3NF:2NF的基础之上,消除了非主属性对于码的传递函数依赖。

BCNF: 3NF 的基础上消除主属性对于码的部分与传递函数依赖。

详情参见网址:

https://www.zhihu.com/question/24696366


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值