关系模式设计问题

1.数据冗余问题

2.数据更新问题

3.数据插入问题

4.数据删除问题

函数依赖

基本概率:公式:Y=f(x),即X和Y在数量上的对应关系,给定一个X的值,都会有一个Y值与它对应。也可以说,X函数决定Y,或Y函数依赖于X。

一些术语和符号

(1)如果X\rightarrowY,但X不包含Y,则称X\rightarrowY是非平凡的函数依赖。

如果X\rightarrowY,但X包含Y,则称X\rightarrowY是平凡的函数依赖。

(2)如果Y不函数依赖于X,则记作X-/->Y。

(3)如果X\rightarrowY,则称X为决定因子。

(4)如果X\rightarrowY,并且Y\rightarrowX,则记作X\leftrightarrowY。

(5)如果X\rightarrowY,并且对于X的一个任意真子集x^{'}都有x^{'}-/->Y,则称Y完全函数依赖于X(单属性做主键时),记作X\overset{f}{\rightarrow}Y;如果x^{'}\rightarrowY成立,则称Y部分函数依赖于X,记作X\overset{p}{\rightarrow}Y。

(6)如果X\rightarrowY(非平凡函数依赖,并且Y-/->X),Y\rightarrowZ,则称Z传递函数依赖于X。

(7)设K为关系模式R的一个属性或属性组,若满足:

K\overset{f}{\rightarrow}A_{1}                                    K\overset{f}{\rightarrow}A_{2}          .....            K\overset{f}{\rightarrow}A_{n}

则称K为关系模式R的候选键(或候选码)。称包含在候选键中的属性为主属性,不包含在任何候选码中的属性称为非主属性。

函数依赖的推理规则

1.Armstrong公理:

(1)自反律(reflexivity)

若Y\subseteqX\subseteqU,则X\rightarrowY在R上成立。即一组属性函数决定它的所有子集。

eg:对关系模式SC(Sno,Sname,Cno,Credit,Grade),有:
(Sno,Cno)\rightarrowCno和(Sno,Cno)\rightarrowSno

(2)增广律(augmentation)

若X\rightarrowY在R上成立,且Z\subseteqU,则XZ\rightarrowYZ在R上成立、

(3)传递律(transitivity)

若X\rightarrowY和Y\rightarrowZ在R上成立,则X\rightarrowZ在R上成立。

2.Armstrong公理推论

(1)合并规则(union rule)

若X\rightarrowY和X\rightarrowZ在R上成立,则X\rightarrowYZ在R上也成立 

eg:对关系模式Student(Sno,Sname,Sdept,Sage),有Sno\rightarrow(Sname,Sdept),

Sno\rightarrowSage,则有Sno\rightarrow(Sname,Sdept,Sage)成立。

(2)分解规则(decomposition rule)

若X\rightarrowY和Z\subseteqY在R上成立,则X\rightarrowZ在R上也成立。

从合并规则和分解规则可得如下结论:

如果A _{1}....A_{n}是关系模式R的属性集,那么X\rightarrowA _{1}....A_{n}成立的充分必要条件是X\rightarrowA_{i}(i=1...n)成立

(3)伪传递规则(pseudo-transitivity rule)

若X\rightarrowY和W\rightarrowZ在R上成立,则XW\rightarrowYZ在R上也成立。

(4)复合规则(composition rule)

若X\rightarrowY和W\rightarrowZ在R上成立,则XW\rightarrowYZ在R上也成立。

eg:对关系模式SC(Sno,Sname,Cno,Credit,Grade),有:

Sno\rightarrowSname和Cno\rightarrowCredit成立

则有:(Sno,Cno)\rightarrow(Sname,Credit)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值