关系数据理论

文章详细阐述了关系模式的构成,包括元组、属性、域和数据依赖。接着讨论了第一范式的要求,强调每个分量必须是不可分的数据项。接着介绍了函数依赖和多值依赖,以及不同类型的函数依赖,如平凡依赖和非平凡依赖。文章还解释了第二范式、第三范式和BCNF(巴斯-科德范式),并指出了它们在消除数据冗余和确保数据库一致性中的作用。
摘要由CSDN通过智能技术生成

一个关系模式应当是五元组:R(U, D, DOM, F)

R是符号化的元组语义,是关系名
U是一组属性
D是属性组U中的属性所来自的域
DOM为属性到域的映射
F为属性组U上的一组数据依赖

由于D、DOM与模式设计关系不大,所以将关系模式看做一个三元组:R<U, F>

第一范式(1NF)

满足第一范式的条件:每一个分量必须是不可分的数据项。

数据依赖

定义:数据依赖是一个关系内部属性与属性之间的一种约束关系。这种约束关系是通过属性间值的相等与否体现出来的数据间相关关系。这种约束关系是通过属性间值的相等与否体现出来的数据间相关联系。

数据依赖分类:最重要的是函数依赖(Functional Dependency,FD)和多值依赖(Multi-Valued Dependency,MVD)。
函数依赖类似于一种函数关系Y=f(X),当属性X的值被唯一确定了,则属性Y的值就会唯一确定。类比学生(学号,姓名,系名)关系,当学生的学号唯一确定后,就可确定唯一的姓名。Sno决定Sname,或者说Sname依赖于Sno,记作Sno→Sname。

规范化

范式:关系数据库中的关系是要满足一定要求的,满足不同程度要求的为不同范式。
一个低一级范式的关系模式通过模式分解可以转换为若干个高一级范式的关系模式的集合,这个过程就叫规范化

函数依赖

定义:设R(U)是属性集U上的关系模式,X,Y是U的子集。若对于R(U)的任意一个可能的关系r,r中不可能存在两个元组在X上的属性值相等,而在Y的属性值上不等,则称X函数确定Y或Y函数依赖于X,记作X→Y。

函数雨来和别的数据依赖一样是语义范畴的概念,只能根据语义来确定一个函数依赖。

  • X→Y,但Y不包含于X,则称X→Y是非平凡的函数依赖。eg:(Sno, Cno) → (Grade)
  • X→Y,但Y包含于X,则称X→Y是平凡的函数依赖。eg: (Sno, Cno) → (Cno)
  • 若X→Y,则X称为这个函数依赖的决定属性组,也称为决定因素

完全函数依赖:在R(U)中,如果X→Y,并且对于X的任何一个真子集X’,都有X’不决定Y,则称Y对X完全函数依赖。
部分函数依赖:若X→Y,但Y不完全依赖于X,则称Y对X部分函数依赖。
传递函数依赖:Y非平凡函数依赖于X,Z非平凡函数依赖于Y,则称Z对X传递函数依赖。

2NF

定义:若R∈1NF,且每一个非主属性完全函数依赖于任何一个候选码,则R∈2NF。

一个关系模式R不属于2NF,就会产生问题:插入异常、删除异常、修改复杂。

3NF

定义:设关系模式R<U,F>∈1NF,若R中不存在这样的码X,属性组Y及非主属性Z(Z不包含Y)使得X→Y,Y→Z成立,X不依赖于Y,则称R<U, F>∈3NF。(不能有非主属性组传递函数依赖于码)

BCNF☆

定义:关系模式R<U, F>∈1NF, 若X→Y且Y不包含于X时必含有码,则R<U, F>∈BCNF。即关系模式R<U, F>中,若每一个决定因素都包含码,则R<U, F>∈BCNF。

一个满足BCNF的关系模式有:

  1. 所有非主属性对每一个码都是完全函数依赖;
  2. 所有主属性对每一个不包含它的码也是完全函数依赖;
  3. 没有任何属性完全函数依赖于非码的任何一组属性。

3NF与BCNF的关系:

  • 如果关系模式R<U, F>∈BCNF,则必有R<U, F>∈3NF
  • 如果R<U, F>∈3NF,且R只有一个候选码,则有R<U, F>∈BCNF

小结

规范化过程

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值