关系数据理论习题解答.docxVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多

4.2关系模式R有n个属性,在模式R上可能成立的函数依赖有多少个?其中平庸的函数依赖有多少个?非平庸的函数依赖有多少个?

(要考虑所有可能的情况,数学罗列组合问题。对于数据库本身而言,本题没多大意义)所有属性相互依赖时,函数依赖最多。

平庸的函数依赖:对于函数依赖X→Y,如果YX,那末称X→Y是一个“平庸的函数

依赖”。

4.3建立关于系、学生、班级、社团等信息的一个关系数据库,一个系有若干个专业,每一个专业每年只招一个班,每一个班有若干个学生,一个系的学生住在同一宿舍区,每一个学生可以参加若干个社团,每一个社团有若干学生。描述学生的属性有:学号、姓名、出生年月、系名、班级号、宿舍区。

描述班级的属性有:班级号、专业名、系名、人数、入校年份。

描述系的属性有:系名、系号、系办公地点、人数。

描述社团的属性有:社团名、成立年份、地点、人数、学生参加某社团的年份。请给出关系模式,写出每一个关系模式的最小函数依赖集,指出是否存在传递函数依赖,对于函数依赖左部是多属性的情况,讨论函数依赖是彻底函数依赖还是部份函数依赖。指出各关系的候选键、外部键,有没有全键存在?各关系模式如下:

学生(学号,姓名,出生年月,系名,班级号,宿舍区)

班级(班级号,专业名,系名,人数,入校年份)

系(系名,系号,系办公地点,人数)

社团(社团名,成立年份,地点,人数)

加入社团(社团名,学号,学生参加社团的年份)

学生(学号,姓名,出生年月,系名,班级号,宿舍区)

●“学生”关系的最小函数依赖集为:

Fmin={学号→姓名,学号→班级号,学号→出生年月,学号→系名,系名→宿舍区}●以上关系模式中存在传递函数依赖,如:学号→系名,系名→宿舍区

●候选键是学号,外部键是班级号,系名。

notice:在关系模式中,如果Y→X,X→A,且XY(X不决定Y),A不属于X,那末称Y→A是传递依赖。

班级(班级号,专业名,系名,人数,入校年份)

●“班级”关系的最小函数依赖集为:

Fmin={(系名,专业名)→班级号,班级号→人数,班级号→入校年份,班级号→系名,班级

号→专业名}

(假设没有相同的系,不同系中专业名可以相同)

●以上关系模式中不存在传递函数依赖。

●“(系名,专业名)→班级号”是彻底函数依赖。

●候选键是(系名,专业名),班级号,外部键是系名。(系名,系号,系办公地点,人数)

●“系”关系的最小函数依赖集为:Fmin={系号→系名,系名→系办公地点,系名→人数,

系名→系号}

●以上关系模式中不存在传递函数依赖

●候选键是系名,系号

社团(社团名,成立年份,地点,人数)

●“社团”关系的最小函数依赖集为:Fmin={社团名→成立年份,社团名→地点,社团名

→人数)

●以上关系模式中不存在传递函数依赖。

●候选键是社团名

加入社团(社团名,学号,学生参加社团的年份)

●“加入社团”关系的最小函数依赖集为:Fmin={(社团名,学号)→学生参加社团的

年份)

●“(社团名,学号)→学生参加社团的年份”是彻底函数依赖。

●以上关系模式中不存在传递函数依赖。

●候选键是(社团名,学号)。

4.6试分析下列分解是否具有无损联接和保持函数依赖的特点:

(1)设R(ABC),F1={A→B}在R上成立,ρ1={AB,AC}。

首先,检查是否具有无损联接特点:

第1种解法--算法6.2:

A

B

C

A

B

C

AB

a1

a2

b13

a1

a2

b13

AC

a1

b22

a3

a1

a2

a3

(1)构造表(2)根据A→B进行处理

结果第二行全是a行,因此分解是无损联接分解。

第2种解法:(定理6.5)

设R1=AB,R2=AC

R1∩R2=A

R2-R1=B

∵A→B,∴该分解是无损联接分解。

然后,检查分解是否保持函数依赖

π(F1)={A→B,以及按自反率推出的一些函数依赖}

R1

π(F1)={按自反率推出的一些函数依赖}

R2

F1被π(F1)所蕴涵,∴所以该分解保持函数依赖。

R1

(2)设R(ABC),F2={A→C,B→C}在R上成立,ρ2={AB,AC}

首先,检查是否具有无损联接特点:

第1种解法(略)

第2种解法:(定理6.5)

设R1=AB,R2=AC

R1∩R2=A

R2-R1=C

∵A→C,∴该分解是无损联接分解。

然后,检查分解是否保持函数依赖

π(F2)={按自反率推出的一些函数依赖}

R1

π(F2)={A→C,以及按自反率推出的一些函数依赖}

文档评论(0)

xiaoqiong1111 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档