数据库第五次作业 王小芬 2013212954 理学院

来源:互联网 发布:帝国cms养生采集规则 编辑:程序博客网 时间:2024/05/01 05:12

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

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

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

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

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

(1)请写出关系模式。

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

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

答:(1)

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

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

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

学会(学会名,成立年份,地点,人数,学生参加某会有一个入会年份)

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

(2)

学生:

最小函数依赖集:学号->姓名,学号->出生年月,学号->班号,学号->系名,系名->宿舍区

传递函数依赖:学号->宿舍区

班级:

最小函数依赖集:班号->专业名,班号->人数,班号->入校年份,专业名->系名

传递函数依赖:班级->系名

系:

最小函数依赖集:系号->系名,系名->系号,系号->系办公室地点,系号->人数

无传递函数依赖

学会:

最小函数依赖集:学会名->成立年份,学会名->地点,学会名->人数

无传递函数依赖

学生-学会:

最小函数依赖集:(学号,学会名)->入会年份

无传递函数依赖,(学号,学会名)->入会年份是完全函数依赖。

(3)

学生:

候选码:学号

外码:班号,系名

班级:

候选码:班号

外码:系名

系:

候选码:(系号,系名)

外码:无

学会:

候选码:学会名

外码:无

学生-学会:

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

外码:学号,学会名

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

(1)求出R的候选码。

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

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

答:(1)R的候选码为B,D

(2)F的最小函数依赖集:A->C,C->A,B->A,B->C,D->A,D->C

(3)分解为{AC,ABC,ABD,BCD}

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={AB->E,BE->C,CE->F,CF->B,CF->D,C->A,D->E,D->F}

若去掉AB->E,则(AB)的闭包为AB,所以不能删除,

若去掉BE->C,则(BE)的闭包为ABCDEF,所以不能删除,

依次类推,得出F的最小函数依赖集为F={AB->E,BE->C,CE->F,CF->B,CF->D,C->A,D->E,D->F}

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

(1)找出R的主码。

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

答:

(1)R的主码为I,B,

(2)S1={SD},F1={S→D};

S2={I,S,B,Q},F2={I→S,IS→Q,B→Q};
S3={IS},F3={I→S};
S4={I,S,B,Q},F4={IS→Q,B→Q};
S5={ISQ},F5={IS→Q}
S6={B,Q},F6={B→Q}
而IS包含在ISQ中,故分解为:{SD,ISQ,BQ}

 


0 0