数据库第五次作业 王小芬 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}
- 数据库第五次作业 王小芬 2013212954 理学院
- 数据库第四次作业 王小芬 2013212954 理学院
- 数据库第六次作业 王小芬 2013212954 理学院
- 数据库第七次作业 王小芬 2013212954 理学院
- 数据库第一次作业 王小芬 2013212954 理学院
- 数据库第二次作业 王小芬 2013212954 理学院
- 数据库第三次作业 王小芬 2013212954 理学院
- 第五次作业
- 第五次作业
- 第五次作业
- 第五次作业
- 第五次作业
- 第五次作业
- 第五次作业
- 第五次作业
- 第五次课后作业
- 第五次课后作业
- 第五次作业
- UI_LTView自定义视图
- 单源最短路径问题 Dijkstra 贪心法
- JAVA设计模式学习20——责任链模式
- IOS 与ANDROID框架及应用开发模式对比一
- wince5.0/6.0 注册表修改后无法保存
- 数据库第五次作业 王小芬 2013212954 理学院
- Kth Largest Element in an Array
- 超牛逼的脑图(思维导图、心电图)
- 数据库锁
- 数据库学习笔记
- 注册表编程,程序记忆功能
- CTRL+字母的ASCII码是多少?
- VS2010程序打包
- c语言char数组测试