您的位置:首页 > 数据库

数据库:第11周作业

2015-05-23 15:54 141 查看

数据库:第11周作业

目录

数据库第11周作业
目录
第2题

第3题

第5题

第8题

作业内容:P75-2,3,5,8

第2题

现在要建立关于系、学生、班级、学会等信息的一个关系数据库。语义为:一个系有若干专业,每个专业每年只招一个班,每个班有若干学生,一个系的学生住在同一宿舍区,每个学生可参加若干学会,每个学会有若干学生。

描述学生的属性有:学号、姓名、出生日期、系名、班号、宿舍区。

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

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

描述学会的属性有:学会名、成立年份、地点、人数、学生参加某会有一个入会年份。

请写出关系模式;

写出每个关系模式的最小函数依赖集,指出是否存在传递依赖。在函数依赖左部是多属性的情况下,讨论函数依赖是完全依赖还是部分函数依赖。

指出各关系模式的候选码、外码,有没有全码。

答:

关系模式有:

学生(学号,姓名,出生日期,系名,班号,宿舍区)

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

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

学会(学会名,成立年份,地点,人数)

学生-学会(学号,学会名,入会年份)

各关系模式的最小函数依赖集如下:

学生(学号,姓名,出生日期,系名,班号,宿舍区):

最小函数依赖集:

学号→姓名,学号→出生年月,学号→班号,班号→系名,系名→宿舍区。

存在传递依赖:

学号→系名,学号→宿舍区,班号→宿舍区。

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

最小函数依赖集:

班号→专业名,(专业名,入学年份)→班号,专业名→系名,班号→人数,班号→入学年份。

存在传递依赖:

班号→系名。

班号对(专业名,入学年份)是完全函数依赖。

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

最小函数依赖集:

系名→系号,系号→系名,系号→系办公室地点,系号→人数。

不存在传递函数依赖。

学会(学会名,成立年份,地点,人数):

最小函数依赖集:

学会名→成立年份,学会名→地点,学会名→人数。

不存在传递函数依赖。

学生-学会(学号,学会名,入会年份)

最小函数依赖集:

(学号,学会名)→入会年份。

不存在传递函数依赖。

入会年份对(学号,学会名)是完全函数依赖。

各关系模式的候选码、外码、全码如下:

学生(学号,姓名,出生日期,系名,班号,宿舍区):

候选码:学号

外码:班号、系名

无全码

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

候选码:班号

外码:系名

无全码

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

候选码:系号

无外码

无全码

学会(学会名,成立年份,地点,人数):

候选码:学会名

无外码

无全码

学生-学会(学号,学会名,入会年份)

候选码:(学号,学会名)

外码:学号,学会名

无全码

第3题

设关系模式R<A,B,C,D>,函数依赖集F={A→C,C→A,B→AC,D→AC,BD→A}。

求出R的候选码。

求出F的最小函数依赖集。

将R分解为3NF,使其既具有无损连接性又具有函数依赖保持性。

答:

R的候选码为:

BD

F的最小函数依赖集:

F={A→C,C→A,B→C,D→C}

求解过程:

首先将F中的函数依赖都分解为右部为单属性的函数依赖

F={A→C,C→A,B→A,B→C,D→A,D→C,BD→A}

判断A→C是否冗余:

设:G1={C→A,B→A,B→C,D→A,D→C,BD→A}

得(A)+G1=A

由于C不属于(A)+G1

故 A→C不冗余

同理得到C→A, B→C, D→C不冗余,而B→A, D→A, BD→A冗余。

将R分解为3NF:

τ={AC,BC,DC,BD}

第5题

设关系模式R(A,B,C,D,E,F),函数依赖集F={AB→E,BC→D,BE→C,CD→B,CE→AF,CF→BD,C→A,D→EF},求F的最小函数依赖集。

答:

F的最小函数依赖集:

F={AB→E,BE→C,CE→F,CF→B,CF→D,C→A,D→E,D→F}

求解过程:

首先将F中的函数依赖都分解为右部为单属性的函数依赖:F={AB→E,BC→D,BE→C,CD→B,CE→A,CE→F,CF→B,CF→D,C→A,D→E,D→F}

判断AB→E是否冗余:

设:G1={BC→D,BE→C,CD→B,CE→A,CE→F,CF→B,CF→D,C→A,D→E,D→F}

得(AB)+G1=AB

由于E不属于(AB)+G1

故 AB→E不冗余;

判断BC→D是否冗余:

设:G2={AB→E,BE→C,CD→B,CE→A,CE→F,CF→B,CF→D,C→A,D→E,D→F}

得(BC)+G2=BCAEFD

由于E属于(BC)+G2

故BC→D冗余;

其余同理,得:

BC→D,CD→B,CE→A冗余,其他不冗余。

第8题

设关系模式R(B,O,I,S,Q,D),函数依赖集F={S→D,I→S,IS→Q,B→Q}。

找出R的主码。

把R分解为BCNF,且具有无损连接性。

答:

1. R的主码为:

I,B,O。

2.把R分解为BCNF,且具有无损连接性

由F={S→D,I→S,IS→Q,B→Q}

令ρ={B,O,I,S,Q,D}

1. 由于R的码为IBO,选择S→D分解。

得到ρ={S1,S2}

其中S1={S,D},F1={S→D};

S2={B,O,I,S,Q},F2={I→S,IS→Q,B→Q}

显然S2不服从BCNF,故继续分解;

2. 对S1分解,S2的码为IBO,选择 I→S继续分解。

得到ρ={S1,S2,S3}

其中:S3=IS,F3={I→S}, S4={B,O,I,Q}, F4={I→Q,B→Q}

S4仍不满足BCNF,继续分解。

3. 对S4分解。S4的码为IBO,选择I→Q进行分解。

得到:ρ={S1,S2,S3,S6}。

其中S5={I,Q}, F5={I→Q}, S6={B,I,O},F6=∅。

4. 最后得到:ρ={SD,IS,IQ,BIO}。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: