《数据库原理试题05-06A卷答案(共4页).doc》由会员分享,可在线阅读,更多相关《数据库原理试题05-06A卷答案(共4页).doc(4页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、精选优质文档-倾情为你奉上20052006学年第一学期期末考试试卷(A卷) 一、单项选择题:在每小题的备选答案中选出一个正确答案,并将正确答案的代码填在题干上的括号内。(每小题 1分,本大题共 10分) 1B 2C 3D 4D 5D 6D 7B 8A 9B 10A二、填空题:(每空1分,本大题共10分)1数据库管理系统DBMS2完整性约束3选择运算4DISTINCT5获得权限的用户还能够获得传递权限,把获得的权限转授给其他用户61NF7伪传递规则8BCNF3NF9隔离性10介质故障三、判断改正题:判断下列各题是否正确,正确的划,错误的划,并说明理由。(每小题2分,本大题共10分) 1错误(1分
2、) 实体是指客观存在可以相互区别的事物,既可以是具体的对象,也可以是抽象的事件。故“一个男生”和“一次借书”均为一个实体。(1分) 2错误(1分) 函数依赖不是指关系模式R的某个或某些关系满足的约束条件,而是指R的一切关系均要满足的约束条件。(1分) 3错误(1分) 非主属性是指不包含在任何候选码中的属性。(1分) 4正确(1分) 因为如果不存在非平凡的非函数的多值依赖,必为4NF,则也为BCNF,与假设矛盾。(1分) 5错误(1分) 两段封锁法仍有可能发生死锁,而且可能增多。(1分)四、问答题(每小题10分,本大题共40分)1设有两个关系R (A,B,C) 和S (C,D,E),试用SQL查
3、询语句表达下列关系代数表达式A,E (B = D (RS)。答案要点:SELECT A,E -3分FROM R,S -3分WHERE B = D AND R.C = S.C -4分2 设有关系模式R (A,B,C,D),F是R上成立的FD集,F = DA,DB,试写出关系模式R的候选键,并说明理由。答案要点: R的候选键是CD -4分 理由:从已知的F,可导出DABD,-2分再根据增广律,可得出CDABCD, -2分即CD值可决定全部属性值。-2分3两个函数信赖集F和G等价的充分必要条件是什么?答案要点:F中每个FD在G+ 中,-5分并且G中每个FD也在F+ 中。-5分4设有一教学管理数据库,
4、其属性为:学号S#,课程号C#,成绩G,任课教师TN,教师所在系D。这些数据有下列语义:学号和课程号分别与其代表的学生和课程一一对应;一个学生所修的每门课程都有一个成绩;每门课程只有一位任课教师,但每位教师可以有多门课程;教师中没有重名,每个教师只属于一个系(1)试根据上述语义确定函数依赖集;(2)如果用上面所有属性组成一个关系模式,那么该关系模式为何模式?并举例说明在进行增、删操作时的异常现象。(3) 分解为3NF 答案要点:(1)F=(S#,C#)G,C#TN,TND -3分(2)关系模式为1NF,因为该关系模式的候选码为(S#,C#),则非主属性有G,TN和D。有F中有C#TN,存在非主
5、属性TN对候选码(S#,C#)的部分依赖,-2分 P即(S#,C#)TN若新增一门课程而暂时还没有学生选修时,则因缺少关键字S#值而不断进行插入操作。若某个教师调离学校要删除其有关信息时,会将不该删除的课程(C#)信息删除。-2分(3)F= Fmin=(S#,C#)G,C#TN,TND = (S#,C#,G),(C#,TN),(TN,D)即为所求的3NF分解。-3分五、综合题:(每小题30分,本大题共30分)2006年6月,举世瞩目的第18届世界杯在德国举行,某网站为了方便球迷查询,在自己的网站上设立了世界杯信息查询系统。该系统的一部分要求为:一名球员可以参加多场比赛,每场比赛有多名球员参加。
6、答案要点:(1)请你为该系统的这一部分设计一个ER模型,画出ER图。要求:“球员”的属性有:姓名,代表国,号码,年龄,位置“比赛”的属性有:比赛编号,比赛甲方,比赛乙方,比赛类型在联系中反映出球员参加比赛的出场时间,进球数参加比赛球员mn姓名出场时间进球数比赛编号代表国比赛类型-4分(球员实体、比赛实体、参加联系、出场时间和进球数联系属性各一分)(2)请你将以下SQL语句补充完整(注明各自的主码,外码,并且球员的号码在1号至23号之间,位置有守门员,后卫,中场,前锋,比赛类型有小组赛和淘汰赛两种)Create table player -球员表 name char(20), -姓名nation
7、 char(20), -代表国number int check (number between 1 to 23 ) , -号码-1分age int, -年龄position char(10) check position in (守门员,后卫,中场,前锋 ) -位置-1分primary key (nation,number), 定义主码-1分Create table match -比赛表 matchid int primary key, -比赛编号(主码)-1分match_a char(20), -比赛甲方match_b char(20), -比赛乙方matchtype char(10) ch
8、eck matchtype in (小组赛,淘汰赛 ) 比赛类型-1分Create table join -参加表nation char(20), -代表国number int , -号码matchid int, -比赛编号time int, -出场时间goal int -进球数primary key (nation,number,matchtype) 定义主码-1分foreign key (nation,number) reference player (nation,number) 定义外码-1分foreign key (matchid) reference match (matchid)
9、 定义外码-1分(3)使用关系代数表达式以及SQL语句做以下查询检索至少参加两场世界杯比赛的球员的代表国以及身披号码;关系代数表达式:1,2(1=62=738(joinjoin) -2分SQL语句Select distinct join1.nation,join2.number-1分From join as join1,join as join2-1分Where join1.nation=join2.naiton-1分And join1.number=join2.number-1分And join1.matchidjoin2.matchid-1分(4)使用SQL语句补充完成以下检索统计每位球员
10、的总的出场时间(超过180分钟才统计)要求输出球员姓名,代表国,身披号码,总的出场时间,查询结果按总的出场时间降序排列Select name,nation,number,sum(time) as alltime-1分From player,join-1分Group by nation,number-1分Having sum(time)= 180-1分Order by alltime desc-1分(5)使用SQL语句补充完成以下更新法国队11号因伤退出世界杯,请作相应的处理Delete From join-1分Where nation=法国And number=11Delete From player-1分Where nation=法国And number=11(6)使用SQL补充定义完成以下视图建立守门员的视图goalkeeperCreate view goalkeeperAs Select name,nation,number,age -1分From playerWhere position=”守门员” -1分(7)使用SQL语句补充完成以下操作把队球员表的insert权限授予用户Zhang,并允许他将此权限授予其他用户Grant insert -1分on table playerto Zhang with grant option-1分专心-专注-专业