您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 公司方案 > 数据库原理试题05-06B卷答案
12005—2006学年第一学期期末考试试卷(B卷)一、单项选择题:在每小题的备选答案中选出一个正确答案,并将正确答案的代码填在题干上的括号内。(每小题1分,本大题共10分)1.A2.B3.B4.A5.D6.C7.A8.C9.C10.D二、填空题:(每空1分,本大题共10分)1.物理2.选择运算3.DISTINCT4.合并律5.4NFBCNF6.平凡函数依赖7.重做(Redo)8.原子性9.系统故障10.并发控制子系统三、判断改正题:判断下列各题是否正确,正确的划√,错误的划×,并说明理由。(每小题2分,本大题共10分)1.错误(1分)实体是指客观存在可以相互区别的事物,既可以是具体的对象,也可以是抽象的事件。故“一个男生”和“一次借书”均为一个实体。(1分)2.错误(1分)关系规范化中的删除操作异常是指不该删除的数据被删除,引起一些信息的丢失。(1分)3.正确(1分)推理规则的完备性是指对任何为F逻辑蕴涵的函数依赖,都可以从F导出。(1分)4.错误(1分)F,G是两个函数依赖集,且F=G。,则F+=G+,反之不一定成立。(1分)5.错误(1分)函数依赖集的最小集不是唯一,并且其函数依赖数目也不一定相等。(1分)四、问答题(每小题10分,本大题共40分)1.设有关系R和S,其中R为参照关系,S为信赖关系。为了实现完整性约束,SQL规定可以对R的删除操作采取哪三种措施?答案要点:(1)RESTRICT(或约束删除)--------3分(2)CASCADE(或级联删除)--------3分(3)SETNULL(或外键值置空)--------3分(答错一个减3分,全对给10分)2.r1:ABr2:BC12214556788987892试求出R,R=r1∞r2答案要点:ABC--------4分456--------3分789--------3分3.假设关系R(A,B,C)中存在MVDA→→B。若R的当前实例中含有元组(a,b1,c1),(a,b2,c2)和(a,b3,c3),那么R中必存在其他哪些元组?答案要点:(a,b1,c2),(a,b1,c3),(a,b2,c1),(a,b2,c3),(a,b3,c1),和(a,b3,c2)。--------(答错一个减2分,全错减10分)4.设有关系模式R(ABCDE),其上的函数依赖集F={A→C,C→D,B→C,DE→C,CE→A}(1)求出R的所有候选码(2)判断ρ={AD,AB,BC,CDE,AE}是否为无损联接分解。(3)将R分解成BCNF,并具有无损联接。答案要点:(1)从F中可看出,候选关键字至少包含BE,而(BE)+=ABCDE,故BE是R的惟一候选码。--------3分(2)根据算法,初始表为ABCDEADa1b12b13b14b15ABa1a2b23b24b25BCb31a2a3b34b35CDEb41b42a3a4a5AEa1b52b53b54a5逐个考察F中的函数依赖,最后得表ABCDEADa1b12b13b14b15ABa1a2a3b14B25BCa1a2a3a4b35CDEa1B42a3a4a5AEa1b52b13b14a5故无全a行,ρ不具有无损联接性。--------3分(3)考虑A→C,∵R不是BCNF,将ABCDE分解为AC和ABDE。AC已是BCNF,进一步分解ABDE,选择B→D,把ABDE分解为BD和ABE。此时BD和ABE均为BCNF。故ρ={AC,BD,ABE}即所求的BCNF分解。--------4分五、综合题:(每小题30分,本大题共30分)2006年6月,举世瞩目的第18届世界杯在德国举行,某网站为了方便球迷查询,在自己的网站上设立了世界杯信息查询系统。该系统的一部分要求为:一名球员可以参加多场比赛,每场比赛有多名球员参加。答案要点:(1)请你为该系统的这一部分设计一个ER模型,画出ER图。要求:“球员”的属性有:姓名,代表国,号码,年龄,位置“比赛”的属性有:比赛编号,比赛甲方,比赛乙方,比赛类型在联系中反映出球员参加比赛的出场时间,进球数3--------4分(球员实体、比赛实体、参加联系、出场时间和进球数联系属性各一分)(2)请你将以下SQL语句补充完整(注明各自的主码,外码,并且球员的号码在1号至23号之间,位置有守门员,后卫,中场,前锋,比赛类型有小组赛和淘汰赛两种)Createtableplayer--球员表{namechar(20),--姓名nationchar(20),--代表国numberintcheck(numberbetween1to23),--号码--------1分ageint,--年龄positionchar(10)checkpositionin(‘守门员’,’后卫’,’中场’,’前锋’)--位置--------1分primarykey(nation,number),–定义主码--------1分}Createtablematch--比赛表{matchidintprimarykey,--比赛编号(主码)--------1分match_achar(20),--比赛甲方match_bchar(20),--比赛乙方matchtypechar(10)checkmatchtypein(‘小组赛’,’淘汰赛’)–比赛类型--------1分}Createtablejoin--参加表{nationchar(20),--代表国numberint,--号码matchidint,--比赛编号timeint,--出场时间goalint--进球数primarykey(nation,number,matchtype)–定义主码--------1分foreignkey(nation,number)referenceplayer(nation,number)–定义外码--------1分foreignkey(matchid)referencematch(matchid)–定义外码--------1分}(3)使用关系代数表达式以及SQL语句做以下查询检索参加球员巴拉克所参加所有比赛的球员的代表国以及身披号码;关系代数表达式:πnation,number,matchid(join)÷πmatchid(δ姓名=’巴拉克’(player∞join))--------2分SQL语句Selectnation,numberFromplayerWherenotexists(select*Fromplayer,joinasjoin1Whereplayer.nation=join1.nation--------1分Andplayer.number=join1.number--------1分参加比赛球员mn姓名出场时间进球数比赛编号代表国……比赛类型4Andplayer.name=’巴拉克’--------1分Andnotexists(select*Fromjoinasjoin2Wherejoin2.nation=player.nation--------1分Andjoin2.number=player.number--------1分Andjoin2.matchid=join1.matchid--------1分))(4)使用SQL语句补充完成以下检索求巴西队的所有球员的平均年龄Selectavg(age)--------1分FromplayerWherenation=’巴西’--------1分(5)使用SQL语句补充完成以下更新往球员表中插入一名球员(’鲁尼’,’英格兰’,9,21,’前锋’)InsertIntoplayer--------1分Values(’鲁尼’,’英格兰’,9,21,’前锋’)--------1分(6)使用SQL补充定义完成以下视图将球员的代表国,号码,姓名以及总进球数定义为一个视图player_goalCreateviewplayer_goal(nation,number,name,goal)--------1分AsSelectnation,number,name,sum(goal)--------1分Fromplayer,joinWhereplayer.nation=join.nation--------1分Andplayer.number=join.number--------1分Groupbynation,number--------1分(7)使用SQL语句补充完成以下操作把查询参加表和修改出场时间属性的权限授予用户LiGrantselect,update(time)--------1分ontablejointoLi
本文标题:数据库原理试题05-06B卷答案
链接地址:https://www.777doc.com/doc-4904691 .html