数据库学习笔记(第七章)

第七章 关系数据库设计

1.第一范式(1NF)
如果某个域的元素被认为是不可再分的单元,那么这个域就是原子的(atomic)。如果一个关系模式R的所有的属性域都是原子的,我们称关系模式R属于第一范式(first normal form, 1NF)
关系数据库中的所有关系模式均应该满足1NF

2.函数依赖(重要)

在这里插入图片描述辨识:
满足依赖的关系:依赖在模式的某个关系实例上成立
模式上成立的依赖:依赖在模式的所有关系实例上都成立

平凡函数依赖:
在这里插入图片描述

部分函数依赖:
在这里插入图片描述
传递函数依赖:
在这里插入图片描述
超码、候选码、主码、主属性:
在这里插入图片描述

3.函数依赖的推理规则(重要)
3.1 逻辑蕴含
在这里插入图片描述
3.2 Armstrong公理系统(重要)

在这里插入图片描述
在这里插入图片描述
3.3属性集的闭包

在这里插入图片描述
在这里插入图片描述

4. 候选码的求解理论和算法
对于给定的关系模式R(U,F),可将其属性分为4类:
L类:仅出现在F的函数依赖左部的属性
R类:仅出现在F的函数依赖右部的属性
N类:在F的函数依赖两边均未出现的属性
LR类:在F的函数依赖两边均出现的属性

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

5.正则覆盖(超级重要)
在这里插入图片描述

5.1无关属性
如果去除一个函数依赖中的属性,不会改变该函数依赖集的闭包,则称该属性是无关的


这个是左无关属性↑
在这里插入图片描述这个是右无关属性↑

就是去掉这个无关属性之后,F的闭包不变

无关属性的核心:能够被函数依赖集F逻辑蕴涵的函数依赖,不必出现在F中。

5.2检验无关属性的方法
在这里插入图片描述

5.3正则覆盖
在这里插入图片描述
算法:
Fc = F
REPEAT
使用合并律将FC中α→β和α→γ合并为α → βγ
找出在含无关属性的函数依赖α→β,删除α →β中的无关属性
UNTIL Fc 不再改变

注意:
1、检查无关属性是基于当前函数依赖集合中的函数依赖,而不是原始的F
2、不能同时讨论一个函数依赖中的两个属性的无关性,一次只能讨论一个属性

如果一个函数依赖的右半部只包含一个属性,例如, A→C,并且右边的属性是无关的,那么将得到一个右部为空的函数依赖,这样的函数依赖应该删除
从某种意义上说,Fc是最小的,它不含无关属性,并且具有相同左半部的函数依赖都已经被合并,所以验证Fc比验证F本身更容易

5.4最小覆盖
在这里插入图片描述

6.模式分解
在这里插入图片描述

6.1无损连接分解
在这里插入图片描述

6.2无损连接分解判断-表格法
在这里插入图片描述

在这里插入图片描述
6.3无损连接分解判断-快速法
在这里插入图片描述
6.4保持函数依赖的分解
在这里插入图片描述

在这里插入图片描述

7.范式

定义
范式是对关系模式的不同数据依赖程度的要求
通过模式分解将一个低级范式转换为若干个高级范式的过程称作规范化
范式是衡量关系模式的标准

在这里插入图片描述
7.1 1NF
定义
关系中每一分量不可再分。即不能以集合、序列等作为属性值

7.2 2NF
在这里插入图片描述
7.3 3NF

在这里插入图片描述
作为判断3NF时的一种优化,可以只考虑F上的函数依赖,而不是F+,也可以分解F上的函数依赖,让它们的右半部只包含一个属性,并用这个结果代替F

7.4 关系模式的分解算法-3NF(重要)
在这里插入图片描述
在这里插入图片描述
用这种比较好↑
在这里插入图片描述

7.5 BCNF
在这里插入图片描述
BCNF的本质:(在只考虑函数依赖的前提下)一个关系模式只描述一件事

在这里插入图片描述

7.6关系模式的分解算法-BCNF
在这里插入图片描述

结论:若要求分解保持函数依赖,那么分解后的模式总可以达到3NF,但不一定能达到BCNF

BCNF比3NF要求严格
课本要求:一般选择BCNF的结论是不可接受的。

END

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值