数据库原理与应用-关系规范化理论

本文探讨了关系模式设计中的数据冗余、更新、插入和删除问题,提出了解决这些问题的模式分解方法。深入讲解了函数依赖的概念,包括非平凡函数依赖、决定因子、完全和部分函数依赖,以及传递函数依赖。此外,还介绍了候选键和主属性的定义,以及Armstrong公理系统,包括自反律、增广律和传递律,及其推论如合并规则、分解规则等。
摘要由CSDN通过智能技术生成

一.关系模式设计的问题

1.数据冗余问题

2.数据更新问题

3.数据插入问题

4.数据删除问题

解决上述问题的方法就是进行模式分解,即把一个关系模式分解成两个或多个关系模式。

二.函数依赖

定义1:设有关系模式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。

术语于符号:

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

(2)如果Y不函数依赖于X,则记作X——\ngtrY。

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

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

(5)如果X\rightarrowY,并且对于X的一个任意真子集X'都有X' ——\ngtrY,则称Y完全函数依赖于X,记作X\overset{f}{\rightarrow}Y;如果 X'\rightarrowY成立,则称Y部分函数依赖于X,记作X\overset{p}{\rightarrow}Y。

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

(7)设K为关系模式R的一个属性或属性组,若满足:K\overset{f}{\rightarrow}A1, K\overset{f}{\rightarrow}A2,···, K\overset{f}{\rightarrow}An

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

公理1:Armstrong公理

(1)自反律(reflexivity)

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

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

(Sno,Cno) \rightarrowCno 和(Sno,Cno) \rightarrowSno

(2)增广律

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

(3)传递律

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

Armstrong公理推论:

(1)合并规则

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

(2)分解规则

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

(3)伪传递规则

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

(4)复合规则

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

 

 

 

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值