文档详情

数据库的2012试卷.doc

发布:2017-01-30约5.44千字共7页下载文档
文本预览下载声明
浙江工商大学 2012 /2013 学年第 一 学期考试试卷(A卷) 课程名称: 数据库原理与应用 考试方式: 开卷 完成时限:120分钟 班级名称: 学号: 姓名: 题号 一 二 三 四 五 总分 分值 15 20 30 15 20 100 得分 阅卷人 画图题(15分)。 为大学注册设计一个适当的数据库。这个数据库包含的信息有学生、系别、教师、课程、学生选课情况、教师授课情况、学生成绩、某系开设的课程等信息。 请为这个数据库设计一个详细的E/R图(用中文标识相应名称,请为相关实体添加相关属性)。(10分) 请将相应的E/R转换为相应的关系模式,并指出每个关系的键属性。(5分) 分析题。(20分) 已知关系模式R(A,B,C,D),含有函数依赖集合(FD):A-B, B-C,C-D。 请根据函数依赖的定义,利用属性闭包算法找出关系R所有的键并写出过程。(8分) 答:键是:AB、AC、AD 关系R是否属于第三范式,为什么?(4分) 答:不属于第2范式。因为函数依赖D-E中E不是主属性,而左边属性D不是超键也不是非键属性。 请指出上述FD中违反BCNF的函数依赖,并将R分解为一序列属于BCNF的关系集合。(8分) 答:违反BCNF的函数依赖是C-D,则可以将关系分解为: R1(C,D),R2(C, A, B, E) R2中键是ABE,而AB-C违反BCNF,则R2进一步可以分解为 R21(ABC), R22(ABE) 以下是关于二战中的大型舰船的一个数据库模型。关系Classes记录了“类”的名字、序号、生产国家、火炮的门数、火炮尺寸和排水量。关系Ships记录了舰船的名字、舰船类属名字、开始服役的日期。关系Battles给出了这些舰船参加的战役的时间。关系Outcomes给出了各个舰船在各场战役中的结果。根据此关系数据库的模型,写出以下SQL查询语句。(30分) Classes(class, type, country, numGuns, bore, displacement) Ships(name, class, launched) Battles(name, date) Outcomes(ship, battle, result) 找出至少装备10门火炮的船只所属类别名和制造国家。(5分) select country,type from classes where numGuns=10 找出所有舰名中含有两以上个R字母的舰船的名字? (5分) select ship from outcomes where ship like %R % R% 找出1940年之前下水的船只的名字、排水量和国家? (5分) select name , displacement ,country from ships, classes where ships.class=classes.class and ships.name=classes.name and launched1940 列出所有数据库中提到过的船只。(5分) select distinct ships.name from ships; select distinct ship from outcomes where ship not in( select distinct ships.name from ships) 找出拥有火炮水量最多的船只所属的国家。(5分) select country c1.country from classes as c1, classes as c2 where c1. distinct All (select distinct from classes) and c2. numGuns All (select numGuns from classes) and c1.country=c2.country; 找出具有相同口径火炮的船只中火炮数量最多的船只名字。(5分) select name c1.name from classes as c1, classes as c2 where c1. bore = c2.bore and c1. numGuns c2.numGuns 根据如下给出的关于电影、电影公司、电影明星和电影制片人的数据库模式,按照要求写出SQL语句并体现如下关于它的约束。(15分) Movies(title, year, length, genre, studioname, prod
显示全部
相似文档