分享
 
 
 

关系数据库的模式设计

王朝other·作者佚名  2008-05-19
窄屏简体版  字體: |||超大  

关系模式的设计问题

关系数据库的设计理论主要包括三个方面的内容:数据依赖、范式、模式设计方法。其中数据依赖起核心作用。

例:R(TNAME,ADDRESS,C#,CNAME)

限定事实:一个教师只有一个地址;

一个教师可教若干门课;

每门课程只有一个教师任教。

所以R的键是(TNAME,C#)。

实际使用中存在的问题:

1.数据重复

2.更新异常

3.插入异常

4.删除异常

采用对属性间的函数依赖来解决,使用分解方法,将R分解成两个模式:

R1(TNAME,ADDRESS)

R2 (TNAME,C#,CNAME)

分解后,四个问题解决基本解决。即每个教师的地址只存放一次,即使一个教师没有教学任务,他的地址也可存放在R1中。

但是这种分解并非最佳。例如要检索教某门课的教师的地址,就需要进行联接操作,但是代价太大。

函数依赖

函数依赖的定义

设有关系模式R(A1,A2,…,An)或简记为R(U),X,Y是U的子集,r是R的任一具体关系,如果对r的任意两个元组t1,t2,由t1[X]=t2[X]导致t1[Y]=t2[Y],则称X函数决定Y,或Y函数依赖于X,记为X→Y。 X→Y为模式R的一个函数依赖。

这里的t1[X]表示元组t1在属性集X上的值,t2[X]表示元组t2在属性集X上的值,函数依赖是对关系R的一切可能的当前值r定义的,不是针对某个特定关系。

函数依赖不是指关系模式R的某个或某些关系满足的约束条件,而是指R的一切关系均要满足的约束条件。不能只看到关系模式R的一个特定关系,就推断那些函数依赖对于R成立。

在关系模式R中,要判断FD是否成立,惟一的办法是仔细考察属性的含义。即函数依赖实际是对现实世界的断言。

例:学习关系R(S#,SN,C#,G,CN,TN,TA)

在R中的关系r中,存在函数依赖:

S#→SN(每个学号只能有一个学生姓名)

C# →CN(每个课程只能对应一门课程名)

TN →TA(每个教师只能有一个年龄)

(S#,C#) →G(每个学生学习一门课只能有一个成绩)

函数依赖的逻辑蕴涵

这里主要研究对于给定的一组函数依赖,如何判断另外一些函数依赖是否存在。

定义:设F是关系模式R的一个函数依赖集,X,Y是R的属性子集,如果从F中的函数依赖能够推出X→Y,则称F逻辑蕴涵X→Y,记为F?=X→Y。

被F逻辑蕴涵的函数依赖的全体构成的集合,称为F的闭包,记为F+。

•键

键是惟一标识实体的属性集。这里把键和函数依赖结合起来,做一个准确的定义。

设有关系模式R(A1,…,An),F是R上的函数依赖集,X是{A1,…,An}的一个子集。如果

1.X→A1A2…An∈ F+,且

2.不存在X的真子集Y,使得Y→A1A2…An成立,则称X是R的一个候选键。

在定义中A1A2…An是A1∪A2∪…∪An的简写。1表示X能惟一决定一个元组;2表示X能满足1而又无多余的属性集。

例:设关系模式R(XYZ),已知FD是X→Y和Y→Z,那么可以推出X→XYZ也在F+中,但X的真子集(此处是空集)不可能函数决定XYZ,因此,X是模式R的键。

例:R(S#,SNAME,SEX,AGE)

在该模式中,S#→ (S#,SNAME,SEX,AGE)

S#不存在任何真子集,所以S#是键。

(S#,SNAME)也可以决定R中的全部属性,但它不是键,因为其中含有真子集S#,可以决定R的所有属性。

函数依赖的推理规则

ARMSTRONG推理规则

设有关系模式R(A1,A2,…,An)和属性集U= A1A2…An,X,Y,Z,W都是U的子集,F是R上只涉及到U中属性的函数依赖集,推理规则如下:

1.自反律

如果YÍXÍU,则X→Y在R上成立。

2.增广律

如果X→Y为F所蕴涵,ZÍU,则XZ→YZ在R上成立。(XZ表示X∪Z)

3.传递律

如果X→Y和Y→Z在R上成立,则X→Z在R上也成立。

4.合并律

如果X→Y和X→Z成立,那么X→YZ成立。

5.伪传递律

如果X→Y和WY→Z成立,那么WX→Z成立。

6.分解律

如果X→Y和ZÍY成立,那么X→Z成立。

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有