关系模式设计问题和函数依赖

一:关系模式设计问题

1.数据冗余问题
在这个关系中,学生所在系和其所住宿舍楼的信息有冗余,因为一个系有多少个学生,把这个系所对应的宿舍楼的信息就至少要重复存储多少遍。学生基本信息(包括学生学号,姓名、性别和所在系)也有重复,一个学生修了多少门课, 他的基本信息就重复多少遍。

2.数据更新问题
如果一学生从计算机系转到了信息管理系,那么不但要修改此学生的Sdept列的值,而且还要修改其SIoc列的值,从而使修改复杂化。

3.数据插人问题
虽然新成立了某个系,并且确定了该系学生的宿舍楼,即已经有了Sdept和Sloc信息,却不能将这个信息插人到S-L-C表中,因为这个系还没有招生,其Sno和Cno列的值均为空,而Sno和Cno是这个表的主键,不能为空。

4.数据删除问题
如果一名学生最初只选修了一一门课,之后又放弃了,那么应该删除该学生选修此门课程1记录。但由于这个学生只选了一门课, 因此,删除此学 生选课记录的同时也就删除了此学的其他基本信息。

二.函数依赖
(一)基本概念
1.一般把X函数决定Y,或Y函数依赖于X表示为: X→Y。

2.根据以上村论可以写出较直观的商数依额定义,即如果有个关系模式R(A1,A2,…An),X和Y为{A1,A2,A3…,An}的子集,r是R的任具体关系,那么对于关系r中的在意一个X值,都只有一个Y值与之对应,则称X函数决定Y或Y函数依赖于X。
例如,对学生关系模式Student (Sno,Sname,Sdept, Sage)有以下函数依赖关系:Sno→Sname, Sno → Sdept,Sno → Sage

对学生选课关系模式SC (Sno, Cno, Grade)有以下函数依赖关系:全键衰(Sno, Cno)→Grade

显然,函数依赖讨论的是属性之间的依赖关系,它是语义范畴的概念,也就是说关系模式的属性之间是否存在函数依赖只与语义有关。下面给出函数依赖的形式化定义。

3.定义:
设有关系模式R (A1,A2, … An),X和Y均为{A1,A2,…An}的子集,r是R的任一具体关系,t1、t2是r中的任意两个元组。如果由气t1[x] =t2[x]可以推导出气t1[Y] =t2[Y],则称X函数决定Y,或Y函数依赖于X,记为X→Y。

在以上定义中特别要注意,只要t1[x] =t2[X],t1和[Y]=t2[Y]成立,就有X→Y。

(二).一些术语和符号
设有关系模式R (A1,A2, … An), X和Y均为{A1,A2…,An}的子集,则有以下结论:

(1)如果X→Y,但Y不包含于X,则称X→Y是非平凡的函数依赖。(如不做特别说明,我们讨论的都是非平凡的函数依赖。)AC→B,A→B ,AC→AB
如果X→Y,但Y包含于X,则称X→Y是平凡的函数依赖。AB→B

(2)如果Y不函数依赖于X,则记作X(箭头上加个斜杠)Y。

(3)如果X→Y,则称X为决定因子。

(4)如果X→Y,并且Y→ X,则记作X(双向箭头)Y。ps:出现多个候选键

(5)
传递函数依赖:
设X,Y,Z是关系R中互不相同的属性集合,存在X→Y(非平凡函数依赖,且Y !→X),Y→Z,则称Z传递函数依赖于X。

完全函数依赖:
设X,Y是关系R的两个属性集合,X’是X的真子集,存在X→Y,但对每一个X’都有X’!→Y,则称Y完全函数依赖于X。

部分函数依赖:
设X,Y是关系R的两个属性集合,存在X→Y,若X’是X的真子集,存在X’→Y,则称Y部分函数依赖于X。

1、传递函数依赖
设X,Y,Z是关系R中互不相同的属性集合,存在X→Y(Y !→X),Y→Z,则称Z传递函数依赖于X。
2、完全函数依赖
设X,Y是关系R的两个属性集合,X’是X的真子集,存在X→Y,但对每一个X’都有X’!→Y,则称Y完全函数依赖于X。
3、部分函数依赖
设X,Y是关系R的两个属性集合,存在X→Y,若X’是X的真子集,存在X’→Y,则称Y部分函数依赖于X。
在这里插入图片描述在这里插入图片描述
在这里插入图片描述设K为关系模式R的一个属性或属性组,若满足:下面K→A1, K→A2,…,K→An (→上是f)
则称K为关系模式R的候选键(或侯选码)。称包含在候选键中的属性为主属性,不包含在任何候选码中的属性称为非主属性。

(三)函数依赖的推测规则
函数依赖,记为 R ( U , F ) ,则有如下规则成立
1.Armstrong公理:
(1).自反律(Reflexivity rule):若Y⊆X⊆U(Y是X的一部分), 则X→Y在R上也成立(被F逻辑蕴涵)也就是X→Y恒成立),即一组属性函数决定它的所有子集。

(2).增广律(Augmentation rule):若X→Y在R上成立, 且Z∈U(说明Z是U上的一个属性或属性组), 则XZ→YZ(在X→Y两端个加上一个Z)在R上也成立(被F逻辑蕴涵了)。

(3).传递律(Transtivity rule):若X→Y 和Y→Z在R上成立, 则X→Z在R上也成立。

2.Armstrong公理推论:
(1).合并规则
由X→Y,X→Z,有X→YZ。
(2).分解规则
由X→Y及 Z包含于Y,有X→Z。
(3).伪传递规则
由X→Y,WY→Z,有XW→Z。
(4).复合规则
由X→Y及 W→Z,有XW→YZ。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值