1、数据库原理期末考试试题一、单项选择题(本大题共 15 小题,每小题 2 分,共 30 分)在每小题列出的四个备选项中只有一个是符合题目要 求的,错选、多选或未选均无分。1. 要保证数据库的数据独立性,需要修改的是( A )A三层模式之间的两种映射 B模式与内模式 C模式与外模式 D三层模式2. 下列四项中说法不正确的是( C ) A数据库减少了数据冗余 B数据库中的数据可以共享C数据库避免了一切数据的重复 D数据库具有较高的数据独立性3. 公司中有多个部门和多名职员,每个职员只能属于一个部门,一个部门可以有多名职员,从职员到部门的联系类型是( C )A多对多 B一对一 C多对一 D一对多4 将
2、 E-R 模型转换成关系模型,属于数据库的( C )A需求分析 B概念设计C逻辑设计 D物理设计5 五种基本关系代数运算是( A )A, 和 B, , 和 C, 和 D, , 和 6 下列聚合函数中不忽略空值 (NULL) 的是( C )。ASUM (列名) BMAX (列名)CCOUNT ( * ) DAVG ( 列名)7. SQL 中,下列涉及空值的操作,不正确的是( C ) 。A. AGE IS NULL B. AGE IS NOT NULLC. AGE = NULL D. NOT (AGE IS NULL)8. 已知成绩关系如表 1 所示。执行 SQL 语句:SELECT COUNT(
3、DISTINCT 学号)FROM 成绩WHERE 分数 60查询结果中包含的元组数目是( B )表 1 成绩关系学号 课程号 分数S1 C1 80S1 C2 75S2 C1 nullS2 C2 55S3 C3 90A. 1 B. 2C. 3 D. 49 在视图上不能完成的操作是( C )A. 更新视图 B. 查询C. 在视图上定义新的基本表 D. 在视图上定义新视图10. 关系数据模型的三个组成部分中,不包括( C )A. 完整性约束 B. 数据结构C. 恢复 D. 数据操作11. 假定学生关系是 S(S ,SNAME,SEX,AGE ),课程关系是C(C ,CNAME ,TEACHER),学
4、生选课关系是 SC(S,C,GRADE )。要查找选修“COMPUTER ”课程的“女”学生姓名,将涉及到关系( D )AS BSC ,C CS, SC DS ,SC,C12. 关系规范化中的删除操作异常是指( A ) A不该删除的数据被删除 B不该插入的数据被插入C应该删除的数据未被删除 D应该插入的数据未被插入13. 从 E-R 模型关系向关系模型转换时,一个 m:n 联系转换为关系模式时,该关系模式的码是( C )AM 端实体的码 BN 端实体的码 CM 端实体码与 N 端实体码组合 D重新选取其他属性14已知关系 R=A,B ,C,D,E,F,F=AC,BCDE,DE ,CFB。则(A
5、B) F+的闭包是( B )AABCDEF BABCDECABC DAB15设有关系 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(RS)B A,B,D(R,C= S.C(RS)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,
6、Age,Dept);C(Cno ,Cname,Teacher);SC(Sno ,Cno,Score )。下列查询结果相同的是( AB )A Sname(S) Score60(SC) B Sname(Score60(S SC) C Score60 ( Sname (S SC) D Score60 ( Sname (S) (SC)2. 某查询语句中有“%田_ ”语句,则可能的查询结果有( CD ) A张田 B陈力田C田华 D刘田耕3. 对于下列语句 TeacherNO INT NOT NULL UNIQUE,正确的描述是( BD )ATeacherNO 是主码 BTeacherNO 不能为空 CT
7、eacherNO 的值可以是“ 王大力”D每一个 TeacherNO 必须是唯一的4 下面哪几个依赖是平凡函数依赖( AD )A(Sno,Cname,Grade) (Cname,Grade)B(Sno,Cname) (Cname,Grade)C(Sno,Cname) (Sname,Grade)D(Sno,Sname) Sname5 下面关于数据库模式设计的说法中正确的有( ABCD )A在模式设计的时候,有时候为了保证性能,不得不牺牲规范化的要求B有的情况下,把常用属性和很少使用的属性分成两个关系,可以提高查询的速度 C连接运算开销很大,在数据量相似的情况下,参与连接的关系越多开销越大D减小关
8、系的大小可以将关系水平划分,也可以垂直划分三、填空题(本大题共 20 空,每空 1 分,共 20 分)错填、不填均无分。1. SQL 语言集数据 定义 、数据 查询 、数据 操纵、数据 控制 功能于一体。2. ER 图的主要元素是实体型 、属性_联系 。3. 关系系统的完整性控制包括_实体完整性 参照完整性 用户定义的完整性 。4. 关系模式 R 的码都为单属性,则 R 一定是第 二 _ 范式。5. 数据库系统一般包括数据库、_数据库管理系统 应用系统 数据库管理员与用户。6. 从关系规范化理论的角度讲,一个只满足 1NF 的关系可能存在的四方面问题是:数据冗余度大、_插入异常、修改异常和删除
9、异常。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) ,其属性分别表示学号、课程号、成绩。有如下
10、SQL 查询语句:SELECT CNOFROM C WHERE CNO NOT IN(SELECT CNO FROM S,SCWHERE 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 = ABCDE,B
11、CD,DE 。试求下列问题:(1)关系 R 的侯选码是什么? R 属于第几范式?并说明理由。 (3 分)(2)如果关系 R 不属于 BCNF,请将关系 R 逐步分解为 BCNF。 (12 分)要求:写出达到每一级范式的分解过程,并指明消除什么类型的函数依赖。答:(1)关系 R 的候选码是( A,B,C ) ,R1NF,因为 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,
12、D E在关系 R2 中存在非主属性 E 对候选码(B ,C)的传递函数依赖,所以将 R2 进一步分解:R21(B,C ,D) , (B,C )为候选码,R21 的函数依赖集为:F21 = (B,C)D R22(D,E) ,D 为候选码,丰胸产品 http:/百度影音电影 http:/BB 霜 http:/R22 的函数依赖集为:F22 = DE 在 R1 中已不存在非平凡的函数依赖,在 R21、R22 关系模式中函数依赖的决定因素均为候选码,所以上述三个关系模式均是 BCNF。五、综合题(共 20 分)现有如下 E-R 图:实体的主要属性如下,其中下划线部分为主码:仓库(仓库号,仓库名,面积,
13、货位数)零件(零件号,零件名称,规格型号,计量单位,供货商号,价格)库存(?,?,库存量)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 建立一个包含
14、仓库号、仓库名、零件号、零件名、价格、库存量的视图 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, m 零件仓库库存库存量nmname varchar2(20),type varchar2(10),unit varchar2(10),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)