关系数据理论

一、关系规范化理论背景

1.1关系模式的形式化定义

关系模式由五部分组成,即它是一个五元组:
R(U, D, DOM, F)
R: 关系名
U: 组成该关系的属性名集合
D: 属性组U中属性所来自的域
DOM: 属性向域的映象集合
F: 属性间数据的依赖关系集合

1.2 关系模式的简化定义

关系模式R(U, D, DOM, F)
简化为一个三元组:R(U, F)
当且仅当U上的一个关系r满足F时,r称为关系模式 R(U, F)的一个关系

二、规范化

规范化理论正是用来改造关系模式,通过分解关系模式来消除其中不合适的数据依赖,以解决插入异常、删除异常、更新异常数据冗余问题

2.1 函数依赖

2.1.1 函数依赖

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

2.1.2 平凡函数依赖与非平凡函数依赖

定义:在关系模式R(U)中,对于U的子集X和Y,
如果X→Y,但Y在这里插入图片描述X,则称X→Y是非平凡的函数依赖
若X→Y,但Y ⊆ X, 则称X→Y是平凡的函数依赖
例:在关系SC(Sno, Cno, Grade)中,
非平凡函数依赖: (Sno, Cno) → Grade
平凡函数依赖: (Sno, Cno) → Sno
(Sno, Cno) → Cno

2.1.3 完全函数依赖与部分函数依赖

定义:在R(U)中,如果X→Y,并且对于X的任何一个真子集X’,都有X’ !在这里插入图片描述Y, 则称Y对X完全函数依赖,记作X在这里插入图片描述Y。
若X→Y,但Y不完全函数依赖于X,则称Y对X部分函数依赖,记作X在这里插入图片描述Y。

2.1.4 传递函数依赖

定义:在R(U)中,如果X→Y,(Y在这里插入图片描述X) ,Y!→X Y→Z, 则称Z对X传递函数依赖。
记为:X 在这里插入图片描述Z

注: 如果Y→X, 即X←→Y,则Z直接依赖于X。

例: 在关系Std(Sno, Sdept, Mname)中,有:
Sno → Sdept,Sdept → Mname
Mname传递函数依赖于Sno

2.2 码

2.2.1 码

定义:设K为R<U,F>中的属性或属性组合。若K在这里插入图片描述U, 则K称为R的侯选码(Candidate Key)。若候选码多于一个,则选定其中的一个做为主码(Primary Key)。

主属性与非主属性

包含在任何一个候选码中的属性 ,称为主属性(Prime attribute)
不包含在任何码中的属性称为非主属性(Nonprime attribute)或非码属性(Non-key attribute)
全码

整个属性组是码,称为全码(All-key)

2.2.2 外部码

定义:关系模式 R 中属性或属性组X 并非 R的码,但 X 是另一个关系模式的码,则称 X 是R 的外部码(Foreign key)也称外码

如在SC(Sno,Cno,Grade)中,Sno不是码,但Sno是关系模式S(Sno,Sdept,Sage)的码,则Sno是关系模式SC的外部码
主码与外部码一起提供了表示关系间联系的手段

2.3 范式

范式的种类:

第一范式(1NF)
第二范式(2NF)
第三范式(3NF)
BC范式(BCNF)
第四范式(4NF)
第五范式(5NF)
各种范式之间存在联系:
在这里插入图片描述
1NF
如果一个关系模式R的所有属性都是不可分的基本数据项,则R∈1NF

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

一个关系模式R不属于2NF,就会导致插入异常、删除异常、修改复杂。

3NF
如果R∈ 3NF,则每一个非主属性既不传递依赖码,也不部分依赖于码,也就是说R属于3NF,必有R属于2NF。

BCNF
一个满足BCNF的关系模式有:
所有非主属性对每一个码都是完全函数依赖
所有主属性对每一个不包含它的码也是完全函数依赖
没有任何属性完全函数依赖于非码的任何一组属性。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值