数据库原理期末考试试题
一、单项选择题
(本大题共15小题,每小题2分,共30分)
在每小题列出的四个备选项中只有一个是符合题目要求的,错选、多选或未选均无分。1.要保证数据库的数据独立性,需要修改的是( A )
A.三层模式之间的两种映射B.模式与内模式
C.模式与外模式D.三层模式
2.下列四项中说法不正确的是( C )
A.数据库减少了数据冗余B.数据库中的数据可以共享
C.数据库避免了一切数据的重复D.数据库具有较高的数据独立性
3.公司中有多个部门和多名职员,每个职员只能属于一个部门,一个部门可以有多名职员,
从职员到部门的联系类型是( C )
A.多对多B.一对一
C.多对一D.一对多
4.将E-R模型转换成关系模型,属于数据库的( C )
A.需求分析B.概念设计
C.逻辑设计D.物理设计
5.五种基本关系代数运算是(A)
A.∪,—,×,π和σB.∪,—,,π和σ
C.∪,∩,×,π和σD.∪,∩,,π和σ
6.下列聚合函数中不忽略空值(NULL) 的是( C )。
A.SUM (列名) B.MAX (列名)
C.COUNT ( * ) D.A VG (列名)
7. SQL中,下列涉及空值的操作,不正确的是( C )。
A. AGE IS NULL
B. AGE IS NOT NULL
C. AGE = NULL
D. NOT (AGE IS NULL)
8.已知成绩关系如表1所示。
执行SQL语句:
SELECT COUNT(DISTINCT学号)
FROM成绩
WHERE分数>60
查询结果中包含的元组数目是( B )
表1 成绩关系
学号课程号分数
S1 C1 80
S1 C2 75
S2 C1 null
S2 C2 55
S3 C3 90
A. 1
B. 2
C. 3
D. 4
9.在视图上不能完成的操作是( C )
A.更新视图
B.查询
C. 在视图上定义新的基本表
D. 在视图上定义新视图
10.关系数据模型的三个组成部分中,不包括( C )
A.完整性约束
B.数据结构
C. 恢复
D. 数据操作
11.假定学生关系是S(S#,SNAME,SEX,AGE),课程关系是C(C#,CNAME,
TEACHER),学生选课关系是SC(S#,C#,GRADE)。
要查找选修“COMPUTER”课程的“女”学生姓名,将涉及到关系( D )
A.S B.SC,C
C.S,SC D.S,SC,C
12.关系规范化中的删除操作异常是指(A)
A.不该删除的数据被删除B.不该插入的数据被插入
C.应该删除的数据未被删除D.应该插入的数据未被插入
13.从E-R模型关系向关系模型转换时,一个m:n联系转换为关系模式时,该关系模式的
码是( C )
A.M端实体的码B.N端实体的码
C.M端实体码与N端实体码组合D.重新选取其他属性
14.已知关系R={A,B,C,D,E,F},F={A→C,BC→DE,D→E,CF→B}。则(AB)F+的闭包是( B )
A.ABCDEF B.ABCDE
C.ABC D.AB
15.设有关系R(A,B,C)和S(C,D)。与SQL语句select A,B,D from R,S where R.C=S.C 等价的关系代数表达式是( B )
A.σR.C=S.C(πA,B,D(R×S))
B.πA,B,D(σR,C= S.C(R×S))
C.σR.C=S.C((πA,B(R))×(πD(S)))
D.σR,C=S.C(πD((πA,B(R))×S))
二、多项选择题
(本大题共5小题,每小题2分,共10分)
在每小题列出的四个备选项中有多个是符合题目要
求的,多选、少选、错选、不选均无分。
1.对于关系模式S(Sno,Sname,Age,Dept);C(Cno,Cname,Teacher);SC(Sno,
Cno,Score)。下列查询结果相同的是(AB )
A.πSname((S) σScore>60(SC))
B.πSname(σScore>60(S SC))
C.σScore>60 (πSname (S SC))
D.σScore>60 (πSname (S)(SC))
2.某查询语句中有“%田_”语句,则可能的查询结果有(CD )
A.张田B.陈力田
C.田华D.刘田耕
3.对于下列语句TeacherNO INT NOT NULL UNIQUE,正确的描述是(BD )
A.TeacherNO是主码
B.TeacherNO不能为空
C.TeacherNO的值可以是“王大力”
D.每一个TeacherNO必须是唯一的
4.下面哪几个依赖是平凡函数依赖(AD )
A.(Sno,Cname,Grade) →(Cname,Grade)
B.(Sno,Cname) →(Cname,Grade)
C.(Sno,Cname) →(Sname,Grade)
D.(Sno,Sname) →Sname
5.下面关于数据库模式设计的说法中正确的有(ABCD )
A.在模式设计的时候,有时候为了保证性能,不得不牺牲规范化的要求
B.有的情况下,把常用属性和很少使用的属性分成两个关系,可以提高查询的速度C.连接运算开销很大,在数据量相似的情况下,参与连接的关系越多开销越大
D.减小关系的大小可以将关系水平划分,也可以垂直划分
三、填空题
(本大题共20空,每空1分,共20分)
错填、不填均无分。
1.SQL语言集数据定义、数据查询、数据操纵、数据控制功能于一体。
2.E-R图的主要元素是实体型、属性_联系。
3.关系系统的完整性控制包括_实体完整性参照完整性用户定义的完整性。
4.关系模式R的码都为单属性,则R一定是第二_ 范式。
5.数据库系统一般包括数据库、_数据库管理系统应用系统数据库管理员与用户。
6.从关系规范化理论的角度讲,一个只满足1NF的关系可能存在的四方面问题是:数据冗
余度大、_插入异常、修改异常和删除异常。
7. 如果两个实体之间具有m:n联系,则将它们转换为关系模型的结果是3个表。
8.数据库设计的一般步骤有:需求分析、概念结构设计、逻辑结构设计、物理结构设计、数据库的实施运行与维护等。
四、设计题
(本大题共2小题,第1小题5分,第2小题15,
共20分)
1.设教学数据库中有三个基本表:
学生表S(SNO,SNAME,AGE,SEX),其属性分别表示学号、学生姓名、年龄、性别。课程表C(CNO,CNAME,TEACHER),其属性分别表示课程号、课程名、上课教师名。选修表SC(SNO,CNO,GRADE),其属性分别表示学号、课程号、成绩。
有如下SQL查询语句:
SELECT CNO
FROM C
WHERE CNO NOT IN
(SELECT CNO
FROM S,SC
WHERE S.SNO=SC.SNO
AND SNAME='张三');
请完成下列问题:
(1)用汉语句子阐述上述SQL语句的含义;(2分)
答:查询张三同学没有选修的课程的课程号。
(2)用等价的关系代数表达式表示上述SQL查询语句。(3分)
答:πCNO(C)-πCNO (σSNAME='张三' (S)SC) 或
πCNO(C)-πCNO (σSNAME='张三' (S SC)) (3分)
2. 设有关系R和函数依赖F:
R(A,B,C,D,E),F = { ABC→DE,BC→D,D→E }。
试求下列问题:
(1)关系R的侯选码是什么?R属于第几范式?并说明理由。(3分)
(2)如果关系R不属于BCNF,请将关系R逐步分解为BCNF。(12分)
要求:写出达到每一级范式的分解过程,并指明消除什么类型的函数依赖。
答:(1)关系R的候选码是(A,B,C),R∈1NF,因为R中存在非主属性D,E对候选码(A,B,C)的部分函数依赖。
(2)首先消除部分函数依赖
将关系分解为:
R1(A,B,C) (A,B,C)为候选码,
R1中不存在非平凡的函数依赖
R2(B,C,D,E),(B,C)为候选码,
R2的函数依赖集为:F2={(B,C)→D,D→E}
在关系R2中存在非主属性E对候选码(B,C)的传递函数依赖,所以将R2进
一步分解:
R21(B,C,D) ,(B,C)为候选码,
R21的函数依赖集为:F21 = {(B,C)→D }
R22(D,E),D为候选码,
丰胸产品 https://www.wendangku.net/doc/0619063198.html,
百度影音电影 https://www.wendangku.net/doc/0619063198.html,
BB霜 https://www.wendangku.net/doc/0619063198.html,
R22的函数依赖集为:F22 = { D→E }
在R1中已不存在非平凡的函数依赖,在R21、R22关系模式中函数依赖的决定因
素均为候选码,所以上述三个关系模式均是BCNF。
五、综合题(共20分)
现有如下E-R图:
实体的主要属性如下,其中下划线部分为主码:
仓库(仓库号,仓库名,面积,货位数)
零件(零件号,零件名称,规格型号,计量单位,供货商号,价格)
库存(?,?,库存量)
1.请在?处填上相应的属性。(2分)
2.试用SQL定义上述E-R图中所有的实体、属性及联系,所对应的英文名称为:Warehouse(wno,wname,square,cou)
Material(mno,mname,type,unit,cusnum,price)
Storage(?,?,storenumber),要求反映主码和外码,其中的类型长度可以根据需要自行确定。(6分)
3.用SQL与关系代数表示查询:(6分)
找出零件名为“镙丝”的零件号、所存放的仓库号、库存量。
4.建立一个包含仓库号、仓库名、零件号、零件名、价格、库存量的视图VIEW1。(6分)答:
1、仓库号(1分) 零件号(1分)
2、建立仓库表
Create table warehouse
(
wno varchar(10) primary key,
wname varchar(20),
square number(10,2),
cou int) 建立零件表
Create table material
(
mno varchar2(10) primary key,
mname varchar2(20),
type varchar2(10),
unit varchar2(10),
m
零件仓库库存
库存量
n
cusnum varchar2(10),
price number(10,2))
建立库存表
Create table storage
(
wno varchar2(10) foreign key references warehouse(wno),
mno varchar2(10) foreign key references material(mno),
storenumber number(10,2),
primary key(wno,mno))