1、1模拟试题 1一 单项选择题(本大题共 15 小题,每小题 2 分,共 30 分)1在文件系统中,所具有的数据独立性是 A系统独立性 B物理独立性C逻辑独立性 D设备独立性2数据库系统中存放三级结构定义的 DB 称为 ADBS BDD CDDL DDBMS3设有关系 R(A,B,C)和关系 S(B,C,D),那么与 RS 等价的关系代数表达式A 1=5(RS ) B 1=5(R S) C 1=2(RS ) D 1=2(RS )4与域表达式 ab | (c) (R(ac) R(cb) 等价的关系代数表达式是 A 1,4 ( 2=3(RR) B 1,3 (RR)C 1,4 (R R) D 1,3
2、(R S)5设有两个关系 R(A,B)和 S(B,C) ,与下列 SELECT 语句SELECT A,BFROM RWHERE B NOT IN(SELECT BFROM SWHERE C=C56) ;等价的关系代数表达式是 A A,B ( CC56 (R S) B A,B (R S)CR A,B ( C= C56(RS ) DR A,B ( CC56 (RS)6嵌入式 SQL 的预处理方式,是指 A识别出 SQL 语句,加上前缀标识和结束标志B把嵌入的 SQL 语句处理成函数调用形式C对源程序进行格式化处理D把嵌入的 SQL 语句编译成目标程序7设关系模式 R(A,B,C,D) ,F 是 R
3、 上成立的 FD 集,F= BD,ADC ,那么= ABC, BCD 相对于 F A是无损联接分解,也是保持 FD 的分解B是无损联接分解,但不保持 FD 的分解CC562=12=32C不是无损联接分解,但保持 FD 的分解D既不是无损联接分解,也不保持 FD 的分解8设有关系模式 R(A,B,C,D) ,F 是 R 上成立的 FD 集,F=AB,CD,则 F+中左部为(BC)的函数依赖有 A2 个 B4 个 C8 个 D16 个9有 12 个实体类型,并且它们之间存在着 15 个不同的二元联系,其中 4 个是1:1 联系类型,5 个是 1:N 联系类型,6 个 M:N 联系类型,那么根据转换
4、规则,这个 ER 结构转换成的关系模式有 A17 个 B18 个 C23 个 D27 个10DBMS 的并发控制子系统,保证了事务_的实现 A原子性 B一致性 C隔离性 D持久性11SQL 中不一定能保证完整性约束彻底实现的是 A主键约束 B外键约束C局部约束 D检查子句12ORDB 中,同类元素的有序集合,并且允许一个成员可多次出现,称为 A结构类型 B集合类型 C数组类型 D多集类型13在 ORDB 中,当属性值为单值或结构值时,引用方式任和传统的关系模型一样,在层次之间加 A冒号“:” B单箭头“” C下划线“_” D圆点“ ”14某一种实际存在的事物具有看来好像不存在的性质,称为 A不
5、存在性 B虚拟性 C无关性 D透明性15DDBS 中,全局关系与其片段之间的映象是 A一对一的 B一对多的 C多对一的 D多对多的二填空题(本大题共 10 小题,每小题 1 分,共 10 分)16关系模型和层次、网状模型最大差别是用_而不是用_导航数据。17DBS 的全局结构体现了 DBS 的_结构。18在关系代数中,交操作可由_操作组合而成。19SQL 的 SELECT 语句中使用分组子句以后,SELECT 子句的语义就不是投影的意思了,而是_。20设关系模式 R(A,B,C) ,F 是 R 上成立的函数依赖集, F= AB,BC ,CA ,那么 F 在模式 AB 上投影 AB(F )=_。
6、21数据库中,悬挂元组是指_。22DBD 中,子模式设计是在_阶段进行的23封锁能避免错误的发生,但会引起 问题。24ORDB 中,引用类型是指嵌套引用时,不是引用对象本身的值,而是引用3_。25DDBS 中,如果系统具有分片透明性,那么用户只要对_就能操作了,不必了解数据的_情况。三简答题(本大题共 10 小题,每小题 3 分,共 30 分)26 “数据独立性”在文件系统阶段、数据库阶段和分布式数据库阶段中各表现为什么形式?27设有关系 R 和 S:R A B C S A B D1 2 3 1 3 61 3 5 3 6 82 4 6 1 3 53 6 9 3 4 5试写出 RS、 RS 的值
7、28设有关系 R(A,B,C)和 S(D,E,F) ,设有关系代数表达式。 A,B (R) A,B ( A=D E=E8 (RS)试写出与上述关系代数表达式等价的元组表达式,关系逻辑规则和 SQL 语句。29嵌入式 SQL 的预处理方式是如何实现的?这种方式有什么重要意义?30设关系模式 R(A,B,C,D,E) ,F 是 R 上成立的 FD 集,F= ABC,BCA, ACB,DE ,试写出 R 的候选键,并说明理由。31逻辑设计阶段的输入和输出是什么?32什么是“脏数据”?如何避免读取“脏数据”?33对象联系图与 ER 图的主要差别是什么?34什么是“死锁”?在系统发生死锁时,系统如何处理
8、?35 DDB 中数据分片必须遵守哪三个条件?这三个条件的目的各是为了什么?四设计题(本大题共 5 小题,每小题 4 分,共 20 分)设某商业集团关于商店销售商品的数据库中有三个基本表:商店 SHOP(S#,SNAME,AREA,MGR_NAME)其属性是商店编号,商店名称,区域名,经理姓名。销售 SALE(S#,G#, QUANTITY)其属性是商店编号,商品编号,销售数量。商品 GOODS(G#,GNAME,PRICE)其属性是商品编号,商品名称,单价。36试写出下列查询的关系代数表达式、元组表达式和关系逻辑规则:检索销售“冰箱”的商店的编号和商店名称。37试写出上面第 36 题的 SE
9、LECT 语句表达形式。并写出该查询的图示形式。38试写出下列操作的 SQL 语句:从 SALE 表中,把“开开商店”中销售单价高于 1000 元的商品的销售元组224全部删除。39写一个断言,要求区域名为“EAST”的商店里销售商品的单价不能低于100 元。40试写出下列操作的 SQL 语句:统计区域名为“EAST”的所有商店销售的每一种商品的总数量和总价值。要求显示(G#,GNAME,SUM_QUANTITY,SUM_VALUE) ,其属性为商品编号、商品名称、销售数量、销售价值。五综合题(本大题共 2 小题,每小题 5 分,共 10 分)41某汽车运输公司数据库中有一个记录司机运输里程的
10、关系模式:R(司机编号,汽车牌照,行驶公里,车队编号,车队主管)此处每个汽车牌照对应一辆汽车。 “行驶公里”为某司机驾驶某辆汽车行驶的总公里数。如果规定每个司机属于一个车队,每个车队只有一个主管。(1)试写出关系模式 R 的基本 FD 和关键码。(2)说明 R 不是 2NF 模式的理由,并指出数据冗余之所在。试把 R 分解成2NF 模式集。(3)进而把 R 分解成 3NF 模式集,并说明理由。42设某商业集团数据库中有三个实体集。一是“仓库”实体集,属性有仓库号、仓库名和地址等;二是“商店”实体集,属性有商店号、商店名、地址等;三是“商品”实体集,属性有商品号、商品名、单价。设仓库与商品之间存
11、在“库存”联系,每个仓库可存储若干种商品,每种商品存储在若干仓库中,每个仓库每存储一种商品有个日期及存储量;商店与商品之间存在着“销售”联系,每个商店可销售若干种商品,每种商品可在若干商店里销售,每个商店销售一种商品有月份和月销售量两个属性;仓库、商店、商品之间存在着“供应”联系,有月份和月供应量两个属性。(1)试画出 ER 图,并在图上注明属性、联系类型、实体标识符;(2)将 ER 图转换成关系模型,并说明主键和外键。(3)将 ER 图转换成对象联系图。(4)将 ER 图转换成 UML 的类图。模拟试题 1 答案一 单项选择题答案1D 2B 3B 4A 5C 6B 7B 8C9B 10C 1
12、1D 12C 13D 14D 15B二填空题答案516关键码 指针 17模块功能18差 19对每一分组执行聚合操作20 AB,BA 21破坏泛关系存在的元组22逻辑设计 23活锁、饿死和死锁24对象标识符 25全局关系 分片和分配三简答题答案26答:“数据独立性”在文件系统中表现为“设备独立性” ;在数据库阶段表现为“物理独立性”和“逻辑独立性” ;在分布式数据库中表现为“分布透明性” 。27答:RS A B C D RS R.A R.B C S.A S.B D1 3 5 6 2 4 6 1 3 61 3 5 5 2 4 6 1 3 53 6 9 8 3 6 9 1 3 63 6 9 1 3
13、53 6 9 3 4 528答:元组表达式为: t|(u)(v)(R(u)S(v) (ul=v1 v2E8)t1=u1 t2=u2)关系逻辑规则为:W(x,y) R(x,y,a)(x,E8,c)SQL 语句为:SELECT A,BFROM RWHERE A NOT IN (SELECT DFROM SWHERE E=E8) ;29答:预处理方式是先用预处理程序对源程序进行扫描,识别出 SQL 语句,并处理成宿主语言的函数调用形式;然后再用宿主语言的编译程序把源程序编译成目标程序。这种方法的重要意义在于不必改动宿主语言的编译程序,这样,SQL 的编译程序和宿主语言的编译程序之间就可独立,互不影响
14、。30答:模式 R 有三个候选键:ABD、BCD、ACD 三个。推导过程如下: 从 ABC 和 DE,可推出 ABDABCDE。 从 BCA 和 DE,可推出 BCDABCDE。 从 ACB 和 DE,可推出 ACDABCDE。31答:逻辑设计阶段的输入信息有四种: 概念设计阶段的概念模式; 应用的处理需求; 完整性、安全性约束条件; DBMS 特性。2=26逻辑设计阶段的输出信息主要有四种: DBMS 可处理的模式; 子模式; 应用程序设计指南; 物理设计指南。32答:在数据库运行时,把未提交随后又被撤消的数据称为“脏数据” 。为避免读取“脏数据” ,事务可以对数据实行加 S 锁的方法,以防
15、止其他事务对该数据进行修改。33答:对象联系图与 ER 图的主要差别是对象联系图能通过“引用”类型表示嵌套、递归的数据结构,还有能表示数据结构之间的继承性(即子类和超类) 。34答:在对并发事务采用封锁机制时,有可能若干事务都处于等待状态,等待对方释放封锁,造成事务都不能继续运行下去,这种现象称系统进入死锁状态。发生死锁时,系统将抽取某个事务作牺牲品,把它撤销,释放封锁,使其它事务有可能继续运行下去。35答:DDB 中数据分片必须遵守三个条件:(1)完备性条件:指全局关系中所有数据均应映射到片段中。目的是保证所有数据均在 DB 中存储,不会丢失数据。(2)重构条件:由各个片段可以重建全局关系。
16、目的是可以像无损联接那样不丢失信息。(3)不相交条件:数据片段相互之间不应该重叠(主键除外) 。目的是为了防止数据冗余。四设计题答案36解:关系代数表达式: S#,SNAME ( GNAME=冰箱 (SHOPSALE GOODS)元组表达式: t | (u) (v) (w) (SHOP (u)SALE (v)GOODS (w)u1=v1v2=w1w2= 冰箱t1=u1t2=u2)关系逻辑规则:W(u 1,u2)SHOP(u1,u2,u3,u4)SALE(u 1,v2,v3)GOODS(v 2, 冰箱,w 3)37解:SELECT 语句如下:SELECT A.S#,SNAMEFROM SHOP
17、A,SALE B,GOODS CWHERE A.S#=B.S# AND B.G#=C.G# AND GNAME=冰箱; 该查询语句的图示形式如下:SHOP S# SNAME AREA MGR_NAMEP_X P.SALE S# G# QUANTITY GOODS G# GNAME PRICE_X _Y _Y 冰箱738解:DELETE FROM SALEWHERE S# IN(SELECT S#FROM SHOPWHERE SNAME=开开商店)AND G# IN(SELECT G#FROM GOODSWHERE PRICE1000);39解:CREATE ASSERTION ASSE8 CH
18、ECK(100=ALL(SELECT PRICEFROM SHOP A,SALE B,GOODS CWHERE A.S#=B.S# AND B.G#=C.G# AND AREA=EAST);或 CREATE ASSERTION ASSE8 CHECK(NOT EXISTS(SELECT *FROM SHOP A,SALE B,GOODS CWHERE A.S#=B.S# AND B.G#=C.G# AND AREA=EAST AND PRICE100);40解:SELECT C.G#,GNAME,SUM(QUANTITY)AS SUM_QUANTITY,PRICE*SUM(QUANTITY)A
19、S SUM_VALUEFROM SHOP A,SALE B,GOODS CWHERE A.S#=B.S# AND B.G#=C.G# AND AREA=EASTGROUP BY C.G#,GNAME;(注:SELECT 子句中的属性 C.G#,GNAME 应在分组子句中出现)五综合题答案41解:(1)根据已知条件,可写出基本的 FD 有三个:司机编号 车队编号车队编号 车队主管(司机编号,汽车牌照) 行驶公里从上述三个 FD,可知 R 的关键码为(司机编号,汽车牌照) 。(2)从上述三个 FD,可推出下列 FD 成立:(司机编号,汽车牌照)(车队编号,车队主管)这是一个局部 FD。因此 R 不
20、是 2NF 模式。此时在 R 的关系中,每个司机只属于一个车队及主管人员,但要记载某司机驾驶过 10 辆汽车的行驶公里数,在 R 的关系中要出现 10 个元组。也就是这 10 个元组的司机相同,其车队编号和车队主管要重复出现 10 次,这就是数据冗余。R 应分解成 R1(司机编号,汽车牌照,行驶公里)R2(司机编号,车队编号,车队主管)这两个模式都是 2NF 模式。(3)R1 已是 3NF 模式,但 R2 不是 3NF 模式。因为在 R2 中的基本 FD 有两个:司机编号 车队编号,车队编号 车队主管。显然,存在传递依赖:司机编号 车队主管。8此时在 R2 的关系中,一个车队只有一个主管人员,
21、但这个车队有 20 名司机,则在关系中就要有 20 个元组。这 20 个元组的车队编号相同,而车队主管要重复出现 20 次,这就是数据冗余。R2 应分解成 R21(司机编号,车队编号)R22(车队编号,车队主管)这样,= R1,R21 ,R22 ,其中每个模式均是 3NF 模式。42解:(1)ER 图如图 1 所示。图 1(2)据转换规则,图 2 的 ER 图可转换成 6 个关系模式:仓库(仓库号,仓库名,地址)商品(商品号,商品名,单价)商店(商店号,商店名,地址)库存(仓库号,商品号,日期,库存量)销售(商店号,商品号,月份,月销售量)供应(仓库号,商店号,商品号,月份,月供应量)(3)图
22、 1 的 ER 图的对象联系图如图 2 所示。其转换规则基本上与转换成关系模型的规则类似。三个实体类型转换成三个对象类型,两个 M:N 联系类型和一个 M:N:P 联系类型也转换成三个对象类型。因此对象联系图中共有六个对象类型,如图 2 所示。图中未标出基本数据类型属性,具体如下:仓库(仓库号,仓库名,地址)商品(商品号,商品名,单价)商店(商店号,商店名,地址)库存(日期,库存量)销售(月份,月销售量)供应(月份,月供应量)商品名NM月销售量库存月份商品商品号 单价N仓库号仓库仓库名供应月份商店商店号 商店名 地址M销售MP地址月供应量库存量日期N9图 2(4)图 1 的 ER 图的 UML 类图如图 3 所示。三个实体类型转换成三个类,三个联系类型转换成三个关联类,如图 3 所示。图 3仓库供应商品 销售库存商店库存日期库存量仓库仓库号仓库名地址商品商品号商品名单价* * * 供应月份月供应量*商店商店号商店名地址销售月份月销售量* * * * * * * * *