《数据库原理与应用》试题五.docx
《《数据库原理与应用》试题五.docx》由会员分享,可在线阅读,更多相关《《数据库原理与应用》试题五.docx(22页珍藏版)》请在冰点文库上搜索。
《数据库原理与应用》试题五
《数据库原理与应用》试题五
一.单项选择题(本大题共10小题,每小题2分,共20分)
1.在数据库方式下的信息处理中,占据中心位置的是[]
A.数据B.程序C.软件D.磁盘
2.设R和S都是二元关系,那么与元组演算表达式
{t|R(t)∧(∃u)(S(u)∧u[1]≠t[2])}
不等价的关系代数表达式是[]
A.π1,2(σ2≠3(R×S))B.π1,2(σ2≠1(R×S))
2≠1
C.π1,2(R⋈S)D.π3,4(σ1≠4(S×R))
3.设有规则:
W(a,b,c,d)←R(a,b,x)∧S(c,d,y)∧x>y
与上述规则头部等价的关系表达式是[]
A.π1,2,4,5(σ3>6(R⋈S))B.π1,2,4,5(σ3>3(R×S))
C.π1,2,4,5(R⋈S)D.π1,2,4,5(R⋈R)
4.SQL中,聚合函数COUNT(列名)用于[]
A.计算元组个数B.计算属性的个数
C.对一列中的非空值计算个数D.对一列中的非空值和空值计算个数
5.设有关系R(A,B,C)的值如下:
ABC
223
234
335
下列叙述正确的是[]
A.函数依赖A→B在上述关系中成立B.函数依赖BC→A在上述关系中成立
C.函数依赖B→A在上述关系中成立D.函数依赖A→BC在上述关系中成立
6.设关系模式R(A,B,C,D),F是R上成立的FD集,F={AB→C,D→B},那么ρ={ACD,BD}相对于F[]
A.是无损联接分解,也是保持FD的分解
B.是无损联接分解,但不保持FD的分解
C.不是无损联接分解,但保持FD的分解
D.既不是无损联接分解,也不保持FD的分解
7.在有关“弱实体”的叙述中,不正确的是[]
A.弱实体的存在以父实体的存在为前提
B.弱实体依赖于父实体的存在
C.父实体与弱实体的联系可以是1:
1、1:
N或M:
N
D.父实体与弱实体的联系只能是1:
1或1:
N
8.如果有n个事务串行调度,那么不同的有效调度有[]
A.n2B.2nC.4nD.n!
9.在传统SQL技术中,使用“ORDERBY”子句的SELECT语句查询的结果,实际上为[]
A.数组B.列表C.包D.集合
10.在DDBS中,用户或应用程序应当了解分片情况,但不必了解片段的存储场地,这种透明性称为[]
A.分片透明性B.局部数据模型透明性C.片段透明性D.位置透明性
二.填空题(本大题共10小题,每小题2分,共20分)
11.DBS具有较高的数据独立性,其原因是______________________。
12.在关系逻辑中,关系用__________符号表示。
13.在SQL中,只有__________视图才可以执行更新操作。
14.SQL的SELECT语句在未使用分组子句但在SELECT子句中使用了聚合函数。
此时SELECT子句的语句就不是投影的意思了,而是。
15.设关系模式R(A,B,C),F是R上成立的函数依赖集,F={AB→C,C→A},那么R的候选键有________个,为___________。
16.事务的持久性是由DBMS的___________实现的。
17.在ODMG2.0中,类的定义有三部分组成:
__________,__________和__________。
在定义类时要用到关键字__________。
18.在事务依赖图中,如果在图中___________________,那么系统就会出现死锁现象。
19.在UML类图中,类、对象、关联的概念分别相当于ER模型中__________、__________、__________的概念。
20.DDBS逐渐向C/S模式发展。
单服务器的结构本质上还是___________系统。
只有在网络中有多个DB服务器时,并可协调工作,为众多客户机服务时,才称得上是___________系统。
三.简答题(本大题共4小题,每小题5分,共20分)
21.对现实世界抽象层次的不同,数据模型分为哪两种?
各有什么特点?
22.设教学数据库中,有两个基本表:
学生表:
S(S#,SNAME,AGE,SEX)
学习表:
SC(S#,C#,GRADE)
现有一个SQL语句:
SELECTS#
FROMS
WHERES#NOTIN
(SELECTS#
FROMSC
WHEREC#IN('C2','C4'));
试写出与此语句等价的汉语查询语句及关系代数表达式。
23.在嵌入式SQL中,什么情况下的DML语句不必涉及到游标操作?
24.在ER模型转换成关系模型时,如果二元联系是1:
N,并在1端实体类型转换成的关系模式中加入N端实体类型的键和联系类型的属性,那末这个关系模式将会有什么问题?
试举例说明。
四.设计题(25题7分,26题7分,27,28每小题3分,共20分)
25.设某商业集团为仓库存储商品设计了三个基本表:
仓库STORE(S#,SNAME,SADDR),其属性是仓库编号、仓库名称和地址。
存储SG(S#,G#,QUANTITY),其属性是仓库编号、商品编号和数量。
商品GOODS(G#,GNAME,PRICE),其属性是商品编号、商品名称和单价
现检索仓库名称为“莘庄”的仓库里存储的商品的编号和名称。
试写出相应的关系代数表达式、关系逻辑规则和SELECT语句。
26.在第25题的基本表中,检索存储全部种类商品的仓库的编号及名称。
试写出相应的关系代数表达式、关系逻辑规则和SELECT语句。
27.在第25题的基本表中,检索每个仓库存储商品的总价值。
试写出相应的SELECT语句。
要求显示(S#,SUM_VALUE),其属性为仓库编号及该库存储商品的总价值。
28.在第25题的基本表中,写一个断言,规定每个仓库存储商品的单价为1万元以上的商品种类最多为20种。
五.综合题(本大题共2小题,每小题10分,共20分)
29.设有关系模式
R(职工名,项目名,工资,部门名,部门经理)
如果规定每个职工可参加多个项目,各领一份工资;每个项目只属于一个部门管理;每个部门只有一个经理。
1试写出关系模式R的基本FD和关键码。
2说明R不是2NF模式的理由,并把R分解成2NF模式集。
3进而把R分解成3NF模式集,并说明理由。
30.设大学教学数据库中有下面一些数据:
·Dept(系)有属性dno(系编号)和dname(系名);
·Student(学生)有属性sno(学号)和sname(学生姓名);
·Course(课程)有属性cno(课程号)、cname(课程名)和teacher(任课教师);
·学生选修课程有个grade(成绩)。
如果规定:
每个系有若干学生,每个学生只能属于一个系;每个系开设了若干课程,每门课程由一个系开设;每个学生可以选修若干课程,每门课程可以有若干学生选修。
(1)试画出ER图,并在图上注明属性、联系类型、实体标识符;
(2)将ER图转换成关系模型,并说明主键和外键。
《数据库原理与应用》试题五答案
一.单项选择题(本大题共10小题,每小题2分,共20分)
1.A2.B3.C4.C5.B
6.B7.C8.D9.B10.D
二.填空题(本大题共10小题,每小题2分,共20分)
11.三级结构之间存在着两级映象12.谓词
13.行列子集视图14.对查询结果执行聚合操作
15.2AB和BC16.恢复管理子系统
17.属性联系方法interface18.沿着箭头方向存在一个循环
19.实体集实体联系20.集中式DB分布式DB
三.简答题(本大题共4小题,每小题5分,共20分)
21.答:
在数据库设计中,概念设计使用的是概念数据模型,逻辑设计中使用的是结构数据模型。
概念模型是一种独立于硬件和软件的模型,完全不涉及信息在系统中的表现,只是用来描述某个特定组织所关心的信息结构。
这种模型是从用户的观点对数据建模,必须充分反映用户的需求,并得到用户的确认才可定下来。
它是现实世界的第一层抽象,是用户和数据库设计人员之间进行交流的工具,其典型代表是ER模型。
结构模型用于描述数据库的逻辑结构,与DBMS有关。
这种模型是从计算机的观点对数据建模。
它是现实世界的第二层抽象,是数据库设计人员和应用程序员之间进行交流的工具。
其典型代表是层次、网状、关系和面向对象模型。
22.答:
查询语句为:
检索至少不选修编号为C2和C4课程的学生学号。
关系代数表达式为:
πS#(S)-πS#(σC#='C2'∨C#='C4'(S⋈SC))
(注意:
此处,“不选修C2和C4课程”的对立面是“选修C2或C4课程”)
23.答:
SQL嵌入式DML语句在下列情况不必涉及游标操作:
1INSERT、DELETE和UPDATE语句;
2对于SELECT语句,如果已知查询结果肯定是单元组值时。
24.答:
在生成的关系模式的关系中出现冗余和异常现象。
例如部门与职工之间联系是1:
N,若在部门模式中加入职工信息,那么部门模式将是如下形式:
DEPT(D#,DNAME,E#)
如果一个部门有20个职工,那么关系中就要出现20个元组,即该部门的部门名(DNAME)就要重复20次,这就是冗余。
在部门名修改时,稍不谨慎,就会产生数据不一致现象。
四.设计题(本大题4小题,每小题5分,共20分)
25.解:
关系代数表达式为:
πG#,GNAME(σSNAME='莘庄'(STORE⋈SG⋈GOODS))(2分)
关系逻辑规则如下:
W(x,y)←GOODS(x,y,a)∧SG(b,x,c)∧STORE(b,'莘庄',d)
(2分)
SELECT语句为:
SELECTA.G#,GNAME
FROMGOODSASA,SGASB,STOREASC
WHEREA.G#=B.G#ANDB.S#=C.S#ANDSNAME='莘庄';(3分)
26.解:
关系代数表达式为:
πS#,SNAME(STORE⋈(πS#,G#(SG)÷πG#(GOODS)))(2分)
关系逻辑规则如下:
W(x,y)←STORE(x,y,a)∧┐GOODS(b,c,d)∧┐SG(x,b,e)
(2分)
SELECT语句为:
SELECTS#,SNAME
FROMSTORE
WHERENOTEXISTS
(SELECT*
FROMGOODS
WHERENOTEXISTS
(SELECT*
FROMSG
WHERESG.S#=STORE.S#
ANDSG.G#=GOODS.G#));(3分)
27.解:
SELECT语句为:
SELECTS#,SUM(QUANTITY*PRICE)ASSUM_VALUE
FROMSG,GOODS
WHERESG.G#=GOODS.G#
GROUPBYS#;(3分)
28.解:
CREATEASSERTIONASSE6CHECK
(20>=ALL(SELECTCOUNT(SG.G#)
FROMSG,GOODS
WHERESG.G#=GOODS.G#ANDPRICE>10000
GROUPBYS#));(3分)
五.综合题(本大题共2小题,每小题10分,共20分)
29.解:
⑴R的基本FD有三个:
(职工名,项目名)→工资
项目名→部门名
部门名→部门经理
关键码为(职工名,项目名)。
(2分)
⑵根据⑴,R中存在下列两个FD:
(职工名,项目名)→(部门名,部门经理)
项目名→(部门名,部门经理)
其中前一个FD是一个局部依赖,因此R不是2NF模式。
R应分解成两个模式:
R1(项目名,部门名,部门经理)
R2(职工名,项目名,工资)
R1和R2都是2NF模式。
(2分)
⑶R2已是3NF模式。
在R1中,由于存在两个FD:
项目名→部门名
部门名→部门经理
即存在一个传递依赖,因此R1不是3NF模式。
(2分)
对R1应分解成两个模式:
R11(项目名,部门名),R12(部门名,部门经理)。
这两个模式都是3NF模式。
因此,R分解成3NF模式集时,ρ={R11,R12,R2}。
(4分)
30.解:
(1)ER图如图12所示。
(6分)
(2)转换成的关系模型应具有4个关系模式:
Dept(dno,dname)(1分)
Course(cno,cname,teacher,dno)(1分)
Student(sno,sname,dno)(1分)
SC(sno,cno,grade)(1分)
模块1数据库理论基础
1.某医院病房计算机管理中心需要如下信息:
科室:
科名、科地址、科电话、医生姓名
病房:
病房号、床位号、所属科室名
医生:
姓名、职称、所属科室名、年龄、工作证号
病人:
病历号、姓名、性别、诊断、主管医生、病房号
其中,一个科室有多个病房、多个医生,一个病房只能属于一个科室,一个医生只属于一个科室,但可负责多个病人的诊治,一个病人的主管医生只有一个。
请设计该计算机管理系统的E-R模型。
答:
2.一个图书馆借阅管理数据库要求提供下述服务:
(1)可随时查询书库中现有书籍的品种、数量与存放位置。
所有各类书籍均可由书号唯一标识。
(2)可随时查询书籍借还情况,包括借书人单位、姓名、借书证号、借书日期和还书日期。
我们约定:
任何人可借多种书,任何一种书可为多个人所借,借书证号具有唯一性。
(3)当需要时,可通过数据库中保存的出版社的电报编号、电话、邮编及地址等信息向相应出版社增购有关书籍。
我们约定,一个出版社可出版多种书籍,同一教材仅为一个出版社出版,出版社名具有唯一性。
请根据以上情况和假设设计满足需求的E-R模型。
答:
模块3表的操作
一.填空题
1.数字数据可分为整数型、精确数值型和近似数值型3种类型。
其中,精确数值型数据由由整数和小数两部分组成
2.在创建表的命令语句中,要设置表字段属性为自动编号的关键字是IDENTITY。
3.SQLServer2008中,根据表的用途可以分为4类,即系统表、用户表、已分区表和临时表。
4.如果表中记录的某一字段或字段组合能唯一标识记录,则称该字段或字段组合
为_主键_。
5.创建数据库表的命令语句是createtable。
二.选择题
1.使用SQL语句修改表结构时,其语句是下面的(B)选项。
A.ALTERDATABASEB.ALTERTABLE
C.UPDATETABLED.UPATEDABASE
2.下列对表的描述正确的是(C)。
A.在数据库中表用来表示关系模型中的实体
B.表是对数据进行存储和操作的一种逻辑结构
C.表是用来组织和存储数据的数据库对象
D.表可以存储数据库的其他数据库对象
3.在SQLServer2008的数据类型中可以用来存储图片的数据类型是(B)
A.binaryB.image
4.使用系统存储过程(C)可以查看表的行、大小和空间的统计信息。
A.sp_tableB.sp_help
5.订单表Orders的列Orderid的类型是小整型(smallint),根据业务的发展需要将其改为整型(integer),应该使用下面的(A)语句。
A.ALTERTABLEOrdersALTERCOLUMNOrderidinteger
B.ALTERCOLUMNOrderidintegerFROMOrders
C.ALTERTABLEOrders(Orderidinteger)
D.ALTERCOLUMNOrders.Orderidinteger
模块4数据库查询语句
一填空题
1.集合查询的关键字为UNION,在使用它时一定要注意多个查询的列数和列的顺序一定要相同。
2.内连接的关键字为INNERJOIN,外连接的关键字为LEHTJOIN,交叉连接的关键字为CROSSJOIN。
3.在连接多个表时,基本连接使用JOIN_来连接,其他连接形式都需要用到关键字_ON。
4.GROUPBY子句中可以使用聚合函数,那么MAX(数量)表示_最大值。
5.ORDERBY子句中_ASC表示升序排列,DESC表示降序排列,默认情况下为升序排列。
二选择题
1.下面所述连接方式中哪种连接方式中可以使用ON子句(D)。
A.内连接B.基本连接
C.交叉连接D.联合查询
2.下面哪些关键字可用于返回多行的子查询(A)。
A.lN和EXISTS关键字B.SOME,ANY和ALL关键字
C.QUERY关键字D.JOIN关键字
3.下面SELECT语句中哪些子句可以包含子查询(C)。
A.SELECTB.GROUPBY
C.WHERED.ORDERBY
4.下面对HAVING子句说法错误的是(B)。
A.HAVING子句的使用方法与WHERE子句基本相同
B.与GROUPBY子句结合使用时,其限定检索范围为GROUPBY子句结果集
C.与WHERE子句相同,HAVING子句中同样可以使用INLIKE或BETWEEN
D.只能与GROUPBY子句结合使用
5.在SELCET子句中,下列(B)子句用于将查询结果存储在一个新表中。
A.SELCET子句B.INTO子句
C.WHERE子句D.FROM子句
模块5T-SQL语句
一填空题
1.T-SQL语言的三种类型分别是数据定义语言、数据操作语言和数据控制语言。
2.在SQLServer中,变量可分为两类:
_全局变量_和局部变量。
当声明局部变量后,可用SET或SELECT语句为其赋值。
3.常规标识符是指不需要使用分隔标识符等定界符进行分隔的标示符。
4.比较运算能够进行除__text___型、__ntext___型和_image型之外的其他数据类型表达式的比较操作。
5.在Transact-SQL中局部变量用_DECLARE@语句来声明。
二选择题
1.&、*、l和OR这四个运算符中优先级最高的是(B)。
A.&B.*C.lD.OR
2.SELECT语句属于T-SQL的语言类型是(B)。
A.数据定义语言B.数据操纵语言
C.数据控制语言D.流程控制语言
3.下列常量中属于字符串常量的是(A)。
A.‘你好’B.'What"sthis'
C.NNEW'D."What'syourname.
4.下面选项中,属于T-SQL不支持的流程控制语句是(A)。
A.IF…THEIN…ELSEC.DOCASE
B.BEGIN…ENDD.DOWHILE
5.聚合函数(B)可实现平均数的求取。
A.SUMB.AVGC.MIND.MAX
模块6数据库完整性
一填空题
1.唯一约束包括PRIMARYKEY约束和_UNIQUE__。
2.数据库完整性是指数据库要保持数据的正确性和相容性,它是衡量数据库数据
好坏的一种标志。
3.SQLServer2008中包括的约束有主键约束_、外关键字约束、唯一约束、检查约束、缺省约束和_非空约束_。
4.创建规则的语句是CREATERULE,将规则绑定的系统存储过程是sp_bindrule_。
5.SQLServer2008中,可用于实现数据完整性的方法共有两类,即_过程型数据完整性和_声明型完整性
二选择题
1.在下面的约束中,不是用来维护两个表之间的一致性关系的约束是(A)。
A.FOREIGNKEY约束B.CHECK约束
C.UNIQUE约束D.DEFAULT约束
2.假设,创建表时的某列要求可以包含空值,但不允许有重复值,那么在该列不能使用的约束是下面的哪一项(B)。
A.PRIMARYKEY约束B.UNIQUE约束
C.CHECK约束D.NOTNULL约束
3.解除绑定默认值的系统存储过程是(D)。
4.创建默认对象时,下面可以作为默认对象的值的是(AB)。
A.常量数据B.函数或表达式
C.表列或数据库对象D.除二进制外的数值型数据
5.规则是数据库对象之一,它的作用与CHECK约束的部分功能相同,在向表的某列插入或更新数据时,用它来限制输入的新值的取值范围,下列说法中正确的是(ABC)。
A.CHECK约束是用CREATETABLE语句在创建表时指定的,而规则需要作为单独的数据库对象来实现
B.在一列上只能使用一个规则,但可以使用多个CHECK约束
C.规则可以应用于多个列,还可以应用于用户定义数据类型,而CHECK约束只能应用于它定义的行
D.表或用户定义数据类型的删除、修改不会对与之相连的规则产生影响。
而CHECK约束则随着表的删除而撤销约束
模块7视图和索引
一填空题
1.创建唯一性索引时,应保证创建索引的列不包括重复的数据,并且没有两个或两个以上的空值。
如果有这种数据,则必须先将其删除,否则索引不能成功创建。
2.一个表最多只可以有_1__个聚集索引。
3.在SQLServer2008中,有两种基本类型的索引:
简单索引和_复杂索引。
4.查看视图的基本信息可以使用系统存储过程_sp_help,查看一个视图orderview的定义文本信息,可以使用sp_helptext。
5.在SQLServer2008系统中,可以把视图分成3种类型,即标准视图、索引视图和分区视图。
二选择题
1.“CREATEUNIQUENONCLUSTEREDINDEXindexidON学生表(学号)”语句创
建了一个(D)索引。
A.唯一索引B.聚集索引
C.主键索引D.唯一非聚集索引
2.如果需要加密视图的定义文本,可以使用下面(D)子句。
A.WITHCHECKOPTIONB.WITHSCHEMABINDING
C.WITHNOCHECKD.WITHENCRYPTION
3.使用SQL语句通过视图修改基本表中的数据时,其关键字是(C)。
A.CREATEB.UPDATE
C.ALTERD.DROP
4.以下关于视图的描述,正确的是(ABD)。
A.视图是从一个或几个基表或视图中导出的虚表
B.视图并不实际存储数据,只在数据字典中保存其逻辑定义
C.视图里面的任何数据不可以进行修改
D.SQL中的SELECT语句可以像对基表一样来