《数据库原理》试卷和考试答案_第1页
《数据库原理》试卷和考试答案_第2页
《数据库原理》试卷和考试答案_第3页
《数据库原理》试卷和考试答案_第4页
《数据库原理》试卷和考试答案_第5页
已阅读5页,还剩7页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

广州大学年第一学期考试卷(B)

科目:《数据库原理》

一、选择题(共20分,每选1分)

1、在关系代数运算中,五种基本运算为(A)

A.并、差、选择、投影、笛卡尔积B.并、差、交、选择、投影

C.并、差、选择、投影、自然连接D.并、差、交、选择、笛卡尔积

2、下列四项中说法不正确的是(C)

A.数据库减少了数据冗余

B.数据库中的数据可以共享

C.数据库避免了一切数据的重复

D.数据库具有较高的数据独立性

3、下列叙述不正确的是(D)

A.创建索引是加快表的查询速度的有效手段

B.可以根据需要在基本表上建立一个或多个索引

C.用户可以在最频繁查询的列上建立索引以提高查询效率

D.可以根据需要在基本表上建立一个或多个聚簇索引

4、在视图上不能完成的操作是(C)

A.更新视图B.查询

c.在视图上定义新的基本表D.在视图上定义新视图

5、E-R模型向关系模型转换,一个N:M的联系转换成一个关系模式时,该关系模式的键

是(B)

A.N端实体的键

B.N端实体键与M端实体键组合

C.M端实体的键

D.重新选取其他属性

6、关系代数表达式的优化策略中,首先要做的是(B)

A.对文件进行预处理B.尽早执行选择运算

C.执行笛卡儿积运算D.投影运算

7、下述哪一条不是由于关系模式设计不当而引起的?(A)

A.丢失修改

B.数据冗余

C.插入异常

D.更新异常

8、有关系模式P(C,S,T,R,G),根据语义有如下函数依赖集:

F={C-*T,(S,T}-R,(T,R)f[(S,Q-*G},下列属性组中的哪一个(些)是关系P的候选码

(D)

I.(QS)

II.(C,R)

lll.(SJ)

IV.(LR)

V.(S,R)

A.只有IIIB.II,川和V

C.I,II和IVD.I和III

9、接8题,关系模式P的规范化程度最高达到(B)

A.INFB.2NFC.3NFD.BCNF

10、关系模式R中若没有非主属性,则(C)

A.R属于2NF,但R不一定属于3NF

B.R属于BCNF,但R不一定属于4NF

C.R属于3NF,但R不一定属于BCNF

D.R属于4NF

11、下列对数据库的操作中,正确的是(A)

A.当执行插入操作时首先检查实体完整性规则,插入行在主码属性上的值不能重复

B.当执行删除操作时,不需要检查参照完整性规则

C.当执行更新操作时,只需要检查参照完整性规则

D.如果向参照关系插入操作时,不需要考虑参照完整性

12、查询student表中的所有非空email信息,以下语句正确的是(D)

A.Selectemailfromstudentwhereemail!=null

B.Selectemailfromstudentwhereemailnotisnull

C.Selectemailfromstudentwhereemail<>null

D.Selectemailfromstudentwhereemailisnotnull

13、若student表中包含主键sudentid,则执行语句:updatestudentsetstudentid=100where

studentid=101,结果可能是(D)

A.错误提示:主键列不能更新。

B.更新了一条数据。

C.错误提示.违反主键约束。

D.更新了一条数据,或者错误提示:违反主键约束。

14、数据库镜像可以用于(C)

A.保证数据库的完整性B.实现数据库的安全性

C.进行数据库恢复或并发操作D.实现数据共享

15、现有书目表book,包含字段:价格price(float),类别type(char);现在查询各个类别的

平均价格、类别名称,以下语句正确的是(A)

A.selectavg(price),typefrombookgroupbytype

B.selectcount(price),typefrombookgroupbyprice

C.selectavg(price),typefrombookgroupbyprice

D.selectcount(price),typefrombookgroupbytype

16、下列叙述正确的是(B)

A.共享锁与共享锁不相容

B.共享锁与排它锁不相容

C.如果事务T获得数据项Q的共享锁,则T可读Q也可能写Q

D.如果事务T获得数据项Q的排它锁,则T可读Q但不能写Q

17、回收用户UI,U2和U3在关系employee的salary属性上的UPDATE限的语句是(A)

A.REVOKEUPDATE(salary)ONemployeeFROMU1,U2,U3

B.REVOKEUPDATE(salary)ONemployee(U1,U2,U3)

C.REVOKEUPDATEONemployeeFROMU1,U2,U3

D.REVOKEUPDATE(salary)FROMU1,U2,U3

18、一个学生信息表student,要求它由学号sn。,姓名sname,性别sex,年龄age,4个

属性组成。现在对这个现有的表增加一个入学时间cometime字段为日期型,下列语句正确

的是(B)

A.ALTERTABLEstudentADDcometimeDATENOTNULL;

B.ALTERTABLEstudentADDcometimeDATE;

C.ALTERTABLEstudentDROPcometimeDATENOTNULL;

D.ALTERTABLEstudentMODIFYcometimeDATE

19、下列叙述错误的是(D)

A.视图是一个虚表,是从一个或几个基本表导出的表

B.基本表中的数据发生变化,视图中查寻得出的数据也就改变了

C.可以在视图之上再定义新的视图

D.据库中既存放视图的定义,又存放视图对应的数据

20、设有关系R(A,B,C)和S(C,D)°与关系代数表达式7TABD(6.C=S.C(RXS))等价的SQL语句是

(C)

A.SELECT*FROMR,SWHERER.C=S.C

B.SELECTA,B,DFROMR,SWHERER.C=S.C

C.SELECTA,B,DFROMR,SWHERER=S

D.SELECTA,BFROMRWHEREjSELECTDFROMSWHERER.C=S.C)

二、填空题(每空1分,共8分)

1、在数据库的三级模式结构中,内模式有(1)1个。

2、用户的应用程序与存储在磁盘上数据库中的数据是相互独立的,描述的是数据的

(2)物理(物理/逻辑)独立性

3、在并发控制中,⑶事务是数据库的逻辑工作单位,是用户定义的一组操作序列,

是并发控制的单位

4、设有关系模式R(A,B,C)和S(EAF),若R.A是R的主码,S.A是S的外码,则S.A

的值或者等于R中某个元组的主码值,或者取空值(null)。这是6邃照完整性规

则。

5、一个SQL语句原则上可产生或处理一组记录,而主语言一次只能处理一个记录,

为此必须协调两种处理方式,这是通过使用回游运机制来解决的。

6、假如采用关系数据库系统来实现应用,在数据库设计的(6)逻辑设计阶段,需要

将E-R模型转换为关系数据模型。

7、在关系DB中,任何不含多值依赖的二元关系模式的最高范式必定是皿匹范

式。

8、并发操作带来的数据不一致主要包括丢失修改、不可重复读和(8)读“脏”数

据。

三、判断题(对的画V,错的画x,每题1分,共8分)

(V)1,经常更新的属性列上不适合建立聚簇索引。

、若贝

(x)2R.(B,C)-R.A,IJR.B->R.A,R.C->R.Ao

(x)3、可以先修改相应的数据库,然后把日志记录写到外存的日志文件中。

(4)4、若视图的字段来自聚集函数,则此视图不允许更新。

(x)5、模式也称为逻辑模式,一个数据库可以有多个模式。

(V)6、deletefrommytable;该语句可以删除mytable表中的所有元组,但是表的定义

仍然存在C

(x)7、数据库不允许存在数据冗余。

(V)8、设置惟一约束的列可以为空。

四、简答题(共16分)

1、试述关系模型的完整性规则。在参照完整性中,为什么外部码属性的值也可以为空?

什么情况下才可以为空?(4分)

答:关系模型的完整性规则是对关系的某种约束条件。关系模型口可以有3类完整性

约束:实体完整性、参照完整性和用户定义的完整性。

实体完整性规则:主属性不能取空值。

参照完整性规则:外部码要么取空值,要么等于被参照关系中的某个主码值。

参照关系中外部码可以为空,表示该属性的值尚不确定。但前提条件是外部码本身不

是所在关系的主属性。

2、对学生一课程数据库有如下的查询:

selectCname

fromStudent,SC,Course

whereStudent.Sno=SC.SnoandSC.Cno=Course.Cno

andStudent.Sname='张三'

此查询是求张三选修的课程名称。

试画出用关系代数表示的语法树,并用关系代数表达式优化算法对原始的语法树进行

优化处理,画出优化后的标准语法树。(4分)

□Cname口Cname

°S.Sname='张三'°Student.Sno=SC.Sno

BalSxBBalSxB

°SC.Sno-Course.Sno

x°SC.Sno=Course.SnoCoUrse

Ba高^

。Student.Sno=SC.Snot-OLirsex

xSC(Js.Sname=,张三,

StudentSCStudent

3、今有3个事务的一个调度:

该调度是冲突可串行化的调度吗?为什么?

r3(B)ri(A)w3(B)r2(B)r2(A)w2(B)n(B)w^A),

(4分)

答:该调度是冲突可串行化的调度。

Scl=r3(B)ri(A)w3(B)r2(B)r2(A)w2(B)门(B)Wi(A),交换r】(A)和w3(B),得到r3(B)

w3(B)ri(A)r2(B)r2(A)w2(B)口(B)wi(A),再交换r1(A)和r2(B)r2(A)Wz(B)得到

Sc2=r3(B)W3(B)r2(B)r2(A)w21B)”(A)”(B)Wi(A)

由于Sc2是串行的,而且两次交换都是基于不冲突操作的,所以Scl=r3(B)r】(A)W3(B)

r2(B)r2(A)w2(B)ri(B)w'A)是冲突可串行化的调度。

4、证明:设R是一个关系模式,若REBCNF,则必然RE3NF。[4分)

证明:设RWBCNF,但RW3NF。

则存在非主属性A和候选码X,使得:

-X-*Y,Y-*Ai且Y->X,A£Y

但根据R是BCNF范式的定义,现有YTA1,A£Y

则必有Y包含候选码或Y就是R的候选码。

-于是,有Y—X,与Y—X矛盾。

因此,假设不成立“所以RZBCNF,则RE3NF

五、综合题(共36分)

汽车保险数据库中有若干个表:

车主(身份证号,姓名,性别,住址,电话)

车辆(牌照,型号,颜色,出厂年份,车况)

事故(事故编号,日期,牌照,事故简述,事故损失,赔付金额)

考虑到一个人可以拥有多辆车,还有表:

人.车(身份证号,牌照)

1、用SQL语言建立汽车保险数据库中的车主表和事故表。(6分)

已知的约束有:车主性别只能取男、女,车主姓名不能为空,事故赔付金额不超过事

故损失。

要求:选择合理的数据类型,除了已知的约束外,可根据情况自己定义其它合理的完

整性约束。

CREATETABLE车主(

身份证号char(18)PRIMARYKEY,

姓名nvarchar(SO)NOTNULL,

性别char⑵CHECK(性别IN('男’;女)),

住址nvarchar(5O),

电话char(12)

CREATETABLE事故(

事故编号intPRIMARYKEY,

日期smalldatetimeNULL,

牌照char(20)NOTNULL,

事故简述ntext,

事故损失money,

赔付金额money,

CONSTRAINTCK_事故CHECK(赔付金额。事故损失),

FOR曰GNKEY牌照REFERENCES车辆(牌照)

2、用关系代数写出下列查询。(4分)

查询在2001年5月20日的事故中,牌照为bbbbbb'的车的出厂年份,车况和赔付

金额。

口出厂年份,车况,贼付金额(。日期='2001-5-20匕11£1牌照=,bbbbbb(事故)。牌照=,bbbbbb'(车辆))

3、用SQL语言写出下列查询。(1)~5)每小题4分,6)题6分,共26分)

1)查出牌照号为“粤Aaaaaa”的车的事故次数。

selectcountf*)

from人—车,事故

where人一车.身份证号='粤Aaaaaa'and人一车.牌照=事故.牌照

2)查出姓名为“张三”的车的事故次数,按身份证号分组统计。

select车主.身份证号,count(*)事故次数

from车主,人—车,事故

where车主.姓名=,张三'and车主.身份证号=人_车.身份证号

and人一车.牌照=事故.牌照

groupby车主.身份证号

3)找出在2006年一年之间事故次数在3次以上的车主身份证号。

select身份证号

from人—车,事故

where日期between'2006-l-l'and'2006-12-31,

and人一车.牌照=事故.牌照

groupby人一车.身份证号

havingcount(*)>3

4)一个新客户来为其车投保,在数据库中加入信息。该客户信息包括:身份证号为

06210000,名叫李四,男,拥有两辆车。第一辆牌照为粤Abbbbb,是2005年出厂的

黑色奥迪A6,第二辆牌照为粤Bccccc,是2008年出厂的白色的丰田凯美瑞240G。

提示:注意要在哪些表中加入信息和加入信息的先后次序要求。

insertinto车主(身份证号,姓名,性别)

values('06210000丁李四丁男')

insertinto人一车(身份证号,牌照)

values('06210000丁粤Abbbbb'l

insertinto人一车(身份证号,牌照)

values('06210000;'<Accccc')

insertinto车辆(牌照,型号,颜色,出厂年份)

values('粤Abbbbb丁奥迪A6',黑「2005)

insertinto车辆(牌照,型号,颜色,出厂年份)

values('WAccccc'J丰田凯美瑞240G';M';2005')

5)为了教育司机,公司要公布事故情况,但又不愿公布赔付金额。你认为较好的方法

是什么,如何实现?

答:建立视图。

createview事故公布

as

select日期,牌照,事故简述,事故损失

from事故

6)声明可更新游标MyCursor。游标的结果集包括事故表中所有牌照为“粤

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论