《数据库原理及应用模拟试题3.pdf》由会员分享,可在线阅读,更多相关《数据库原理及应用模拟试题3.pdf(11页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、模拟试题 3 一单项选择题(本大题共10 小题,每小题 2 分,共 20 分)1在数据库方式下的信息处理中,占据中心位置的是 A数据 B程序 C软件 D磁盘2设 R和 S都是二元关系,那么与元组演算表达式 t|R(t)(u)(S(u)u1 t2)不等价的关系代数表达式是 A1,2(23(RS)B1,2(21(RS)C 1,2(R?S)D3,4(14(SR)3设有规则:W(a,b,c,d)R(a,b,x)S(c,d,y)xy 与上述规则头部等价的关系表达式是 A1,2,4,5(36(R?S)B1,2,4,5(33(R S)C 1,2,4,5(R?S)D1,2,4,5(R?R)4SQL中,聚合函数
2、 COUNT(列名)用于 A计算元组个数B计算属性的个数C 对一列中的非空值计算个数D对一列中的非空值和空值计算个数5设有关系 R(A,B,C)的值如下:A B C 2 2 3 2 3 4 3 3 5 下列叙述正确的是 A函数依赖 AB在上述关系中成立B函数依赖 BC A在上述关系中成立C 函数依赖 BA在上述关系中成立D函数依赖 ABC在上述关系中成立6设关系模式 R(A,B,C,D),F 是 R上成立的 FD集,F=ABC,DB ,那么=ACD,BD 相对于 F A是无损联接分解,也是保持FD的分解B是无损联接分解,但不保持FD的分解C 不是无损联接分解,但保持FD的分解D 既不是无损联接
3、分解,也不保持FD的分解7在有关“弱实体”的叙述中,不正确的是 A弱实体的存在以父实体的存在为前提B弱实体依赖于父实体的存在C 父实体与弱实体的联系可以是1:1、1:N 或 M:N D 父实体与弱实体的联系只能是1:1 或 1:N 8如果有 n 个事务串行调度,那么不同的有效调度有 An2 B2n C4n Dn!9在传统 SQL技术中,使用“ORDER BY”子句的 SELECT 语句查询的结果,实际上为 21 33 36 A数组 B列表 C包 D集合10在 DDBS 中,用户或应用程序应当了解分片情况,但不必了解片段的存储场地,这种透明性称为 A分片透明性 B局部数据模型透明性 C片段透明性
4、 D位置透明性二填空题(本大题共10 小题,每小题 1 分,共 10 分)11DBS 具有较高的数据独立性,其原因是_。12在关系逻辑中,关系用 _符号表示。13在 SQL中,只有 _视图才可以执行更新操作。14SQL的 SELECT 语句在未使用分组子句但在SELECT 子句中使用了聚合函数。此时 SELECT 子句的语句就不是投影的意思了,而是。15设关系模式 R(A,B,C),F是 R上成立的函数依赖集,F=AB C,CA ,那么 R的候选键有 _个,为 _。16事务的持久性是由DBMS 的_ 实现的。17在ODMG2.0中,类的定义有三部分组成:_,_和_。在定义类时要用到关键字_。1
5、8在事务依赖图中,如果在图中_,那么系统就会出现死锁现象。19.在 UML类图中,类、对象、关联的概念分别相当于ER模型中 _、_、_ 的概念。20DDBS 逐渐向 C/S模式发展。单服务器的结构本质上还是_ 系统。只有在网络中有多个DB服务器时,并可协调工作,为众多客户机服务时,才称得上是 _ 系统。三简答题(本大题共10 小题,每小题 3 分,共 30 分)21对现实世界抽象层次的不同,数据模型分为哪两种?各有什么特点?22设有关系 R和 S:R A B C S D E F 1 2 3 6 5 1 4 5 6 7 4 2 7 8 9 8 3 3 试写出元组表达式 t|(u)(v)(R(u)
6、S(v)u3u3)的具体值。23设教学数据库中,有两个基本表:学生表:S(S#,SNAME,AGE,SEX)学习表:SC(S#,C#,GRADE)现有一个 SQL语句:SELECT S#FROM S WHERE S#NOT IN(SELECT S#FROM SC WHERE C#IN(C2,C4);试写出与此语句等价的汉语查询语句及关系代数表达式。24在嵌入式 SQL中,什么情况下的DML 语句不必涉及到游标操作?25设有关系模式 R(A,B,C,D),F是 R上成立的 FD集,F=AB C,DB ,试求属性集 AD的闭包(AD)+。并回答所有左部为AD的函数依赖有多少个?26在 ER模型转换
7、成关系模型时,如果二元联系是1:N,并在 1 端实体类型转换成的关系模式中加入N端实体类型的键和联系类型的属性,那末这个关系模式将会有什么问题?试举例说明。27什么是“饿死”问题?如何解决?28与传统的关系模型相比,对象关系模型有哪些扩充?29C/S结构为什么要从两层结构发展到三层、多层结构?30DDB 的体系结构有些什么显著的特点?四设计题(本大题共5 小题,每小题 4 分,共 20 分)31设某商业集团为仓库存储商品设计了三个基本表:仓库STORE(S#,SNAME,SADDR),其属性是仓库编号、仓库名称和地址。存储SG(S#,G#,QUANTITY),其属性是仓库编号、商品编号和数量。
8、商品GOODS(G#,GNAME,PRICE),其属性是商品编号、商品名称和单价现检索仓库名称为“莘庄”的仓库里存储的商品的编号和名称。试写出相应的关系代数表达式、元组表达式、关系逻辑规则和SELECT 语句。32在第 31 题的基本表中,检索存储全部种类商品的仓库的编号及名称。试写出相应的关系代数表达式、元组表达式、关系逻辑规则和SELECT 语句。33在第 31 题的基本表中,检索每个仓库存储商品的总价值。试写出相应的SELECT 语句。要求显示(S#,SUM_VALUE),其属性为仓库编号及该库存储商品的总价值。34在第 31 题的基本表中,写一个断言,规定每个仓库存储商品的单价为1 万
9、元以上的商品种类最多为20 种。35图 8 是有关大学(university)和学生(student)信息的对象联系图:图 8 university student(大学名)uname(城市)city staff study city(籍贯)sname(姓名)languages(掌握的外语)sno(身份证号)(1)试用 ORDB 的定义语言,定义这个数据库。(2)试用 ORDB 的查询语言写出下列查询的SELECT 语句:检索每个大学里,籍贯为本地的学生,要求显示大学名、城市、学生身份证号和学生姓名。五综合题(本大题共4 小题,每小题 5 分,共 20 分)36设有关系模式R(职工名,项目名,
10、工资,部门名,部门经理)如果规定每个职工可参加多个项目,各领一份工资;每个项目只属于一个部门管理;每个部门只有一个经理。试写出关系模式 R的基本 FD和关键码。说明 R不是 2NF模式的理由,并把R分解成 2NF模式集。进而把 R分解成 3NF模式集,并说明理由。37设大学里教学数据库中有三个实体集。一是“课程”实体集,属性有课程号、课程名称;二是“教师”实体集,属性有教师工号、姓名、职称;三是“学生”实体集,属性有学号、姓名、性别、年龄。设教师与课程之间有“主讲”联系,每位教师可主讲若干门课程,但每门课程只有一位主讲教师,教师主讲课程将选用某本教材;教师与学生之间有“指导”联系,每位教师可指
11、导若干学生,但每个学生只有一位指导教师;学生与课程之间有“选课”联系,每个学生可选修若干课程,每门课程可由若干学生选修,学生选修课程有个成绩。(1)试画出 ER图,并在图上注明属性、联系类型、实体标识符;(2)将 ER图转换成关系模型,并说明主键和外键。(3)将 ER图转换成对象联系图。(4)将 ER图转换成 UML 的类图。38设大学教学数据库中有下面一些数据:Dept(系)有属性 dno(系编号)和 dname(系名);Student(学生)有属性sno(学号)和 sname(学生姓名);Course(课程)有属性cno(课程号)、cname(课程名)和teacher(任课教师);学生选修
12、课程有个grade(成绩)。如果规定:每个系有若干学生,每个学生只能属于一个系;每个系开设了若干课程,每门课程由一个系开设;每个学生可以选修若干课程,每门课程可以有若干学生选修。(1)试画出 ER图,并在图上注明属性、联系类型、实体标识符;(2)将 ER图转换成关系模型,并说明主键和外键。39(1)试画出第 38 题数据库的对象联系图。(2)试画出第 38 题数据库的 UML 类图。模拟试题 3 答案一 单项选择题答案1A 2B 3C 4C 5B 6B 7C 8D 9B 10D 二填空题答案11三级结构之间存在着两级映象12谓词13行列子集视图14对查询结果执行聚合操作152 AB和 BC 1
13、6恢复管理子系统17属性联系方法interface 18沿着箭头方向存在一个循环19实体集实体联系20集中式 DB 分布式 DB 三简答题答案21答:在数据库设计中,概念设计使用的是概念数据模型,逻辑设计中使用的是结构数据模型。概念模型是一种独立于硬件和软件的模型,完全不涉及信息在系统中的表现,只是用来描述某个特定组织所关心的信息结构。这种模型是从用户的观点对数据建模,必须充分反映用户的需求,并得到用户的确认才可定下来。它是现实世界的第一层抽象,是用户和数据库设计人员之间进行交流的工具,其典型代表是 ER模型。结构模型用于描述数据库的逻辑结构,与DBMS 有关。这种模型是从计算机的观点对数据建
14、模。它是现实世界的第二层抽象,是数据库设计人员和应用程序员之间进行交流的工具。其典型代表是层次、网状、关系和面向对象模型。22答:元组表达式的值为:A F 11 1 2 1 3 4 2 4 3 域表达式的值为:A B C 4 5 6 7 8 9 23答:查询语句为:检索至少不选修编号为C2和 C4课程的学生学号。关系代数表达式为:S#(S)S#(C#=C2 C#=C4(S?SC)(注意:此处,“不选修 C2和 C4课程”的对立面是“选修C2或 C4课程”)24答:SQL嵌入式 DML 语句在下列情况不必涉及游标操作:INSERT、DELETE 和 UPDATE 语句;对于 SELECT 语句,
15、如果已知查询结果肯定是单元组值时。25 答:从已知 DB可知 AD AB;再据已知 AB C和推理规则可推出AD ABCD。所以(AD)+=ABCD。从 AD的闭包为 ABCD,可知所有左部为AD的 FD有 24,即 16个。26答:在生成的关系模式的关系中出现冗余和异常现象。例如部门与职工之间联系是1:N,若在部门模式中加入职工信息,那么部门模式将是如下形式:DEPT(D#,DNAME,E#)如果一个部门有 20 个职工,那么关系中就要出现20 个元组,即该部门的部门名(DNAME)就要重复 20 次,这就是冗余。在部门名修改时,稍不谨慎,就会产生数据不一致现象。27答:有可能存在一个事务序
16、列,其中每个事务都申请对某数据项加S锁,且每个事务在授权加锁后一小段时内释放封锁,此时若另有一个事务T1欲在该数据项上加 X锁,则将永远轮不上封锁的机会。这种现象称为“饿死”(starvation)。可以用下列方式授权加锁来避免事务饿死。当事务 T2中请对数据项 Q加 S锁时,授权加锁的条件是:不存在在数据项 Q上持有 X锁的其他事务;不存在等待对数据项Q加锁且先于 T2申请加锁的事务。28答:与传统的关系模型相比,对象关系模型有下列扩充:(1)在定义语言上有三个扩充:数据类型的扩充(引入复合类型);在类型一级和表一级实现继承性;使用“引用类型”。(2)在查询语言方面,用户需记住属性值是单值还
17、是多值。在多值时,需定义新的元组变量。29答:为了减轻集中式系统主机的负担,才产生了两层式C/S 结构。两层 C/S 结构实现了功能的分布,但还不均衡。为了减轻客户端的负担,引入了三层C/S 结构。三层结构的思路是使客户机变“瘦”,服务器品种繁多。为了适应企业业务环境的变化速度,以及新的技术、新的应用。将应用逻辑集中到中间层,实现了多层结构的C/S(即 B/S)。30答:这种分层的模式结构为理解DDB提供了一种通用的概念结构。它有三个显著的特征:(1)数据分片和数据分配概念的分离,形成了“数据分布独立型”概念。(2)数据冗余的显式控制。数据在各个场地的分配情况在分配模式中一目了然,便于系统管理
18、。(3)局部 DBMS 的独立性。这个特征也称为“局部映射透明性”。此特征允许我们在不考虑局部DBMS 专用数据模型的情况下,研究DDB 管理的有关问题。四设计题答案31解:关系代数表达式为:G#,GNAME(SNAME=莘庄(STORE?SG?GOODS)元组表达式为:t|(u)(v)(w)(GOODS(u)SG(v)STORE(w)u1=v2 v1=w1 w2=莘 庄 t1=u1t2=u2)关系逻辑规则如下:W(x,y)GOODS(x,y,a)SG(b,x,c)STORE(b,莘庄,d)SELECT 语句为:SELECT A.G#,GNAME FROM GOODS AS A,SG AS B
19、,STORE AS C WHERE A.G#=B.G#AND B.S#=C.S#AND SNAME=莘庄;32解:关系代数表达式为:S#,SNAME(STORE?(S#,G#(SG)G#(GOODS)元组表达式为:t|(u)(v)(w)(STORE(u)GOODS(v)SG(w)w1=u1 w2=v1 t1=u1 t2=u2)关系逻辑规则如下:W(x,y)STORE(x,y,a)GOODS(b,c,d)SG(x,b,e)SELECT 语句为:SELECT S#,SNAME FROM STORE WHERE NOT EXISTS(SELECT *FROM GOODS WHERE NOT EXIS
20、TS(SELECT *FROM SG WHERE SG.S#=STORE.S#AND SG.G#=GOODS.G#);33解:SELECT 语句为:SELECT S#,SUM(QUANTITY*PRICE)AS SUM_VALUE FROM SG,GOODS WHERE SG.G#=GOODS.G#GROUP BY S#;34解:CREATE ASSERTION ASSE6 CHECK(20=ALL(SELECT COUNT(SG.G#)FROM SG,GOODS WHERE SG.G#=GOODS.G#AND PRICE10000 GROUP BY S#);35解:(1)CREATE TYP
21、E MyString char varying;CREATE TABLE university(uname MyString,city MyString,staff setof(ref(student);CREATE TABLE student(sno MyString,sname Mystring,city MyString,languages setof(MyString),study ref(university);(2)SELECT A.uname,A.city,B.sno,B.sname FROM university as A,A.staff as B WHERE A.city=B
22、.city;也可以用另一种写法:SELECT B.study.uname,B.study.city,B.sno,B.sname FROM student as B WHERE B.study.city=B.city;五综合题答案36解:R 的基本 FD 有三个:(职工名,项目名)工资项目名部门名部门名部门经理关键码为(职工名,项目名)。根据,R 中存在下列两个FD:(职工名,项目名)(部门名,部门经理)项目名(部门名,部门经理)其中前一个 FD 是一个局部依赖,因此R 不是 2NF 模式。R 应分解成两个模式:R1(项目名,部门名,部门经理)R2(职工名,项目名,工资)R1 和 R2 都是 2
23、NF 模式。R2 已是 3NF 模式。在 R1 中,由于存在两个FD:项目名部门名部门名部门经理即存在一个传递依赖,因此R1 不是 3NF 模式。对 R1 应分解成两个模式:R11(项目名,部门名),R12(部门名,部门经理)。这两个模式都是3NF 模式。因此,R 分解成 3NF 模式集时,=R11,R12,R2。37解:(1)ER 图如图 9 所示。图 9(2)转换成的关系模型应具有4 个关系模式:教师(工号,姓名,职称)学生(学号,姓名,性别,年龄,教师工号)课程(课程号,课程名称,教师工号)选课(学号,课程号,成绩)(3)图 9 的 ER图的对象联系图如图10 所示。三个实体类型转换成三
24、个对象类型,一个 M:N联系类型转换成一个对象类型。因此对象联系图中共有四个对象类型,如图 10 所示。图中未标出基本数据类型属性,具体如下:教师(工号,姓名,职称)学生(学号,姓名,性别,年龄)课程(课程号,课程名称,教材)选课(成绩)图 10(4)图 9的 ER图的 UML 类图如图 11所示。图中,三个实体类型转换成三个N 1 成绩主讲课程课程号课程名称N 工号教师姓名指导教材学生学号姓名年龄1 选课M N 职称性别教师课程成绩学生类,一个 M:N联系类型转换成一个关联类。图 11 38解:(1)ER 图如图 12 所示。图 12(2)转换成的关系模型应具有4 个关系模式:Dept(dn
25、o,dname)Course(cno,cname,teacher,dno)Student(sno,sname,dno)SC(sno,cno,grade)教师工号姓名职称课程课程号课程名称教材1*学生学号姓名性别年龄选课成绩*1*N 1 grade D_C Course cno cname N dno Dept dname D_S Student sno sname 1 SC M N teacher 39(1)图 12 的 ER图的对象联系图如图13 所示。三个实体类型转换成三个对象类型,一个M:N联系类型转换成一个对象类型。因此对象联系图中共有四个对象类型,如图 13 所示。图中未标出基本数据类型属性,具体如下:Dept(dno,dname)Course(cno,cname,teacher)Student(sno,sname)SC(grade)图 13(2)图 12 的 ER图的 UML 类图如图 14 所示。图中,三个实体类型转换成三个类,一个 M:N联系类型转换成一个关联类。图 14 Dept dno dname Course cno cname teacher 1*Student sno sname SC grade*1*Dept Course SC Student