第九章9.1+9.2关系规范化理论

9.1关系模型设计的问题:数据冗余问题,数据更新问题,数据插入问题,数据删除问题

9.2函数的依赖

9.2.1基本概念

1. 函数依赖不是指关系模式R的某个或某些关系实例满足的约束条件,而是指R的所有关系实例均要满足的约束条件。

2. 函数依赖是语义范畴的概念。只能根据数据的语义来确定函数依赖。

例如“姓名→年龄”这个函数依赖只有在不允许有同名人的条件下成立

3. 数据库设计者可以对现实世界作强制的规定。例如规定不允许同名人出现,函数依赖“姓名→年龄”成立。所插入的元组必须满足规定的函数依赖,若发现有同名人存在, 则拒绝装入该元组。

9.2.2一些术语和符号

平凡函数依赖:当属性集Y是属性集X的子集时,必然存在函数依赖X→Y,这种类型称为平凡的函数依赖

非平凡函数依赖:如果Y不是X的子集,则X→Y为非平凡的函数依赖

部分函数依赖:X的某个真子集X’,有X’→Y,则称Y对X部分函数依赖

完全函数依赖:X的任何一个真子集X’,都没有X’→Y,则称Y对X完全函数依赖

传递函数依赖:若X→Y,没有Y→X,Y→Z,Y∉X,Z∉Y,则称Z对X传递函数依赖

9.2.3函数依赖的推理规则

1.Armstrong公理

(1).A1自反律:若Y⊆X⊆U,则X→Y为F所蕴含;

(2). A2增广律:若X→Y为F所蕴含,且Z⊆U,则XZ→YZ为F所蕴含;

(3).A3传递律:若X→Y,Y→Z为F所蕴含,则X→Z为F所蕴含。

2.Armstrong公理推论

合并规则:若X→Y,X→Z同时在R上成立,则X→YZ在R上也成立。

分解规则:若X→Y,Z⊆Y在R上成立,则X→Z在R上也成立。

伪传递规则:若X→Y,YW→Z在R上成立,且XW→YZ在R上也成立。

复合规则:若X→Y,W→Z同时在R上成立,则XW→YZ在R上也成立

9.2.4闭包及候选键求解方法

1.函数依赖集的闭包

定义:在关系模式 R(U,F)中 U是R的属性全集 F是R上的一组函数依赖。 设X Y是U的子集,对于关系模式R的任一关系r,如果r满足F,则r满足X--->Y,那么称F逻辑蕴含X---->Y,或称函数依赖X--->Y可由F导出。

2.属性闭集包

3.候选键的求解方法

对于给定的关系模式RE(,  , … ,  )和函数依赖集F,可将其属性分为以下四类。

(1)L类:仅出现在F中的函数依赖左部的属性;
(2)R类:仅出现在F的函数依赖右部的属性;
(3)N类:在F的函数依赖左右两边均未出现的属性;
(4)LR类:在F的函数依赖左右两边均出现的属性。

对于给定的关系模式R及其函数依赖集F,有以下结论。

(1)若X是L类属性,则X必为RE的任意候选键的成员;若X(X∈RE)是L类属性,且包含了RE的全部属性,则X必为RE的唯一候选键;
(2)若X是R类属性,则X不在任何候选键中;
(3)若X是N类属性,则X一定包含在R的任一候选键中;
(4)若X是LR类属性,则X可能包含在关系模式R的某个候选键中

9.2.5极小函数依赖集

如果函数依赖集F满足下列条件,则称F为一个极小函数依赖集,亦称为最小依赖集或最小覆盖(minimal cover)。

(1)F中任一函数依赖的右部仅含有一个属性

(2)F中不存在这样的函数依赖X->A,使得F与F-{X->A}等价。

(3)F中不存在这样的函数依赖X->A,X有真子集Z使得F-{X->A}∪{Z->A}与F等价。

          最小依赖集不是唯一的,它与对各函数依赖及X->A中X各属性的处置顺序有关
————————————————
版权声明:本文为CSDN博主「Blue~236」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/weixin_70160395/article/details/125123402

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值