【数据库系统】函数依赖及其公理定理(1)

1.啥是函数依赖?

R ( U ) R(U) R(U)是属性集合 U = A 1 , A 2 , … , A n U={A1,A2,…,An} U=A1,A2,,An上的一个关系模式, X , Y X, Y X,Y U U U上的两个子集,若对 R ( U ) R(U) R(U)的任意一个可能的关系r, r中不可能有两个元组满足在 X X X中的属性值相等而在 Y Y Y中的属性值不等,则称“ X X X函数决定 Y Y Y”或“ Y Y Y函数依赖 X X X”, 记作 X → Y X→Y XY

总的来说,如果X的取值可以决定Y,那么就有X到Y的函数依赖

举个具体例子哈:
U = U= U={ 学号,姓名,年龄,班号,班长,课号,成绩 }
从这个例子里,可以找出以下的函数依赖:
学号→{ 姓名,年龄}
因为一个学号可以决定一个学生的姓名和年龄
班号→班长
很显然可以根据一个班级的班号获知这个班级的班长
{ 学号,课号} → 成绩
由一个学生的学号和选课号可以知道该生的成绩

抽象一点

下表存在的函数依赖有: A→B, B→C
因为当属性A取相同值的时候,属性B保持相同的值(没有发生改变,就说明Y的取值取决于X)
对B到C同理
在这里插入图片描述

1.5 函数依赖的特性

(1)对X→Y,但Y ∉ X, 则称X→Y为非平凡的函数依赖;
(2)若X→Y,则任意两个元组,若X上值相等,则Y上值必然相等,则称X为决 定因素;
(3)若X→Y,Y→X, 则记作X⇋Y;
(4)若Y不函数依赖于X,则记作X → ! →^! !Y;
(5)X→Y,有基于关系模式(Relation Schema)R的,则要求对任意的关系r成立;有基于具体关系r 的,则要求对某一关系r成立;

(6)如一关系r的某属性集X, r中根本没有X上相等的两个元组存在,则X→Y 恒成立;
ps:关系模式:

2.完全函数依赖与部分函数依赖

在R(U)中,若X→Y并且对于X的任何真子集X’都有X’ → ! →^! !Y, 则称Y完全函 数依赖于X, 记为:X → f →^f fY,
否则称Y部分函数依赖于X, 记为:X → p →^p pY
完全函数依赖就是Y取决于X,但是X去掉任何一个元素就不能决定Y,或者说是X的任意子集都不能单独产生对Y的决定,必须补齐剩下的元素加到一起才能决定Y
部分依赖就是打破这个条件

比如下面的例子:

在这里插入图片描述
1.学号和课号显然是决定集合U所需要的函数依赖
2.单独的学号就可以决定学生的姓名,所以是部分依赖
3.必须同时有学号和课程号才能决定成绩

3.传递函数依赖

在R(U)中,若X→Y,Y→Z 且Y∉X, Z∉Y, Z∉X, Y → ! →^! !X, 则称Z传递函数依赖于X(也是就说X→Y和X→Y都是非平凡的函数依赖)

例子
在这里插入图片描述
这里学号可以决定系号,系号又可以决定系主任
所以可以得出系学号可以通过传递依赖决定系主任

4.函数依赖相关的几个重要概念

4.1候选键

设K为R(U)中的属性或属性组合,若K → f →^f fU ,则称K为R(U)上的候选键,候选键具有最小性唯一性的两个特性
关于候选键的几个地方:

  1. 可任选一候选键作为R的主键(Primary Key);
  2. 包含在任一候选键中的属性称主属性(Prime Attribute),其他属性称 *非主属性;
  3. 若K是R的一个候选键,K⊆S , 则称S为R的一个超键(Super Key)。(超键没有最小性要求)

比如:
学生(学号, 年龄, 家庭住址, 课程号, 成绩, 教师, 教师职务)
候选键是学号,课程号,非主属性是年龄, 家庭住址 成绩, 教师, 教师职务

4.2 外来键

在这里插入图片描述
总的来说就是属性X不是R(U)关系的候选键,但是是另一个关系的候选键,这时候我们可以说X是R的外来键

4.3 逻辑蕴含

在这里插入图片描述

4.4 闭包

被F逻辑蕴涵的所有函数依赖集合称为F的闭包(Closure),记作 F+。

若F+=F, 则说F是一个全函数依赖族(函数依赖完备集)

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值