1、(2003/9/21) (高教-答案) 模拟试题-1第 3 部分 模拟试题这里给出的三套模拟试题是针对教材中第 15、79 章的内容而出的,以测试学习者对数据库系统这门学科的掌握程度。在每套题的最后部分,加强了对数据库设计的训练,把ER 图、对象联系图和 UML 类图三者有机地联系起来,以提高学习者数据库设计的水平。模拟试题 1一 单项选择题(本大题共 15 小题,每小题 2 分,共 30 分)1在文件系统中,所具有的数据独立性是 A系统独立性 B物理独立性C逻辑独立性 D设备独立性2数据库系统中存放三级结构定义的 DB 称为 ADBS BDD CDDL DDBMS3设有关系 R(A,B,C)
2、和关系 S(B,C,D),那么与 RS 等价的关系代数表达式是 A 1=5(R S) B 1=5(RS) C 1=2(R S) D 1=2(R S)4与域表达式 ab | (c) (R(ac) R(cb) 等价的关系代数表达式是 A 1,4 ( 2=3(RR ) B 1,3 (R R)C 1,4 (R R) D 1,3 (RS)5设有两个关系 R(A,B)和 S(B,C) ,与下列 SELECT 语句SELECT A,BFROM RWHERE B NOT IN(SELECT BFROM SWHERE C=C56) ;等价的关系代数表达式是 A A,B ( C C56( RS) B A,B (R
3、 S)CR A,B ( C= C56(RS) DR A,B ( C C56(RS)CC561=22=12=3(2003/9/21) (高教-答案) 模拟试题-26嵌入式 SQL 的预处理方式,是指 A识别出 SQL 语句,加上前缀标识和结束标志B把嵌入的 SQL 语句处理成函数调用形式C对源程序进行格式化处理D把嵌入的 SQL 语句编译成目标程序7设关系模式 R(A,B,C,D ) ,F 是 R 上成立的 FD 集,F= BD,AD C ,那么= ABC ,BCD 相对于 F A是无损联接分解,也是保持 FD 的分解B是无损联接分解,但不保持 FD 的分解C不是无损联接分解,但保持 FD 的分
4、解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 联系类型,那么根据转换规则,这个 ER 结构转换成的关系模式有 A17 个 B18 个 C23 个 D27 个10DBMS 的并发控制子系统,保证了事务_的实现 A原子性 B一致性 C隔离性 D持久性11SQL 中不一定能保证完整性约束彻
5、底实现的是 A主键约束 B外键约束C局部约束 D检查子句12ORDB 中,同类元素的有序集合,并且允许一个成员可多次出现,称为 A结构类型 B集合类型 C数组类型 D多集类型13在 ORDB 中,当属性值为单值或结构值时,引用方式任和传统的关系模型一样,在层次之间加 A冒号“:” B单箭头“” C下划线“_” D圆点“ ”14某一种实际存在的事物具有看来好像不存在的性质,称为 A不存在性 B虚拟性 C无关性 D透明性15DDBS 中,全局关系与其片段之间的映象是 A一对一的 B一对多的 C多对一的 D多对多的二填空题(本大题共 10 小题,每小题 1 分,共 10 分)16关系模型和层次、网状
6、模型最大差别是用_而不是用_导航数据。17DBS 的全局结构体现了 DBS 的_结构。18在关系代数中,交操作可由_操作组合而成。19SQL 的 SELECT 语句中使用分组子句以后,SELECT 子句的语义就不是投影的意思了,而是_。20设关系模式 R(A,B, C) ,F 是 R 上成立的函数依赖集,F= AB,B C,CA ,那么 F 在模式 AB 上投影 AB(F )=_。(2003/9/21) (高教-答案) 模拟试题-321数据库中,悬挂元组是指_。22DBD 中,子模式设计是在_阶段进行的23封锁能避免错误的发生,但会引起 问题。24ORDB 中,引用类型是指嵌套引用时,不是引用
7、对象本身的值,而是引用_。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 的值28设有关系 R(A,B,C )和 S(D ,E,F) ,设有关系代数表达式。 A,B (R) A,B ( A=D E= E8(R S)试写出与上述关系代数表达式等价
8、的元组表达式,关系逻辑规则和 SQL 语句。29嵌入式 SQL 的预处理方式是如何实现的?这种方式有什么重要意义?30设关系模式 R(A,B, C,D ,E) ,F 是 R 上成立的 FD 集,F= ABC,BC A , ACB ,DE ,试写出 R 的候选键,并说明理由。31逻辑设计阶段的输入和输出是什么?32什么是“脏数据”?如何避免读取“脏数据”?33对象联系图与 ER 图的主要差别是什么?34什么是“死锁”?在系统发生死锁时,系统如何处理?35 DDB 中数据分片必须遵守哪三个条件?这三个条件的目的各是为了什么?四设计题(本大题共 5 小题,每小题 4 分,共 20 分)设某商业集团关
9、于商店销售商品的数据库中有三个基本表:商店 SHOP(S#,SNAME,AREA ,MGR_NAME)其属性是商店编号,商店名称,区域名,经理姓名。销售 SALE(S#,G#, QUANTITY)其属性是商店编号,商品编号,销售数量。商品 GOODS(G#,GNAME,PRICE)其属性是商品编号,商品名称,单价。36试写出下列查询的关系代数表达式、元组表达式和关系逻辑规则:检索销售“冰箱”的商店的编号和商店名称。37试写出上面第 36 题的 SELECT 语句表达形式。并写出该查询的图示形式。22(2003/9/21) (高教-答案) 模拟试题-438试写出下列操作的 SQL 语句:从 SA
10、LE 表中,把“开开商店”中销售单价高于 1000 元的商品的销售元组全部删除。39写一个断言,要求区域名为“EAST”的商店里销售商品的单价不能低于 100 元。40试写出下列操作的 SQL 语句:统计区域名为“EAST”的所有商店销售的每一种商品的总数量和总价值。要求显示(G#,GNAME,SUM_QUANTITY,SUM_VALUE) ,其属性为商品编号、商品名称、销售数量、销售价值。五综合题(本大题共 2 小题,每小题 5 分,共 10 分)41某汽车运输公司数据库中有一个记录司机运输里程的关系模式:R(司机编号,汽车牌照,行驶公里,车队编号,车队主管)此处每个汽车牌照对应一辆汽车。
11、“行驶公里”为某司机驾驶某辆汽车行驶的总公里数。如果规定每个司机属于一个车队,每个车队只有一个主管。(1)试写出关系模式 R 的基本 FD 和关键码。(2)说明 R 不是 2NF 模式的理由,并指出数据冗余之所在。试把 R 分解成 2NF 模式集。(3)进而把 R 分解成 3NF 模式集,并说明理由。42设某商业集团数据库中有三个实体集。一是“仓库”实体集,属性有仓库号、仓库名和地址等;二是“商店”实体集,属性有商店号、商店名、地址等;三是“商品”实体集,属性有商品号、商品名、单价。设仓库与商品之间存在“库存”联系,每个仓库可存储若干种商品,每种商品存储在若干仓库中,每个仓库每存储一种商品有个
12、日期及存储量;商店与商品之间存在着“销售”联系,每个商店可销售若干种商品,每种商品可在若干商店里销售,每个商店销售一种商品有月份和月销售量两个属性;仓库、商店、商品之间存在着“供应”联系,有月份和月供应量两个属性。(1)试画出 ER 图,并在图上注明属性、联系类型、实体标识符;(2)将 ER 图转换成关系模型,并说明主键和外键。(3)将 ER 图转换成对象联系图。(4)将 ER 图转换成 UML 的类图。模拟试题 1 答案一 单项选择题答案1D 2B 3B 4A 5C 6B 7B 8C9B 10C 11D 12C 13D 14D 15B二填空题答案16关键码 指针 17模块功能18差 19对每
13、一分组执行聚合操作20 AB,BA 21破坏泛关系存在的元组22逻辑设计 23活锁、饿死和死锁24对象标识符 25全局关系 分片和分配三简答题答案26答:“数据独立性”在文件系统中表现为“设备独立性” ;在数据库阶段表现为“物理(2003/9/21) (高教-答案) 模拟试题-5独立性”和“逻辑独立性” ;在分布式数据库中表现为“分布透明性” 。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 53 6 9 3 4 528答:元组表达式为
14、: 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 的编译程序和宿主语言的编译程序之间就可独立,互不影响。30答:模式 R 有三个候选键: ABD、B
15、CD、ACD 三个。推导过程如下: 从 ABC 和 DE,可推出 ABDABCDE。 从 BCA 和 DE,可推出 BCDABCDE。 从 ACB 和 DE,可推出 ACDABCDE。31答:逻辑设计阶段的输入信息有四种: 概念设计阶段的概念模式; 应用的处理需求; 完整性、安全性约束条件; DBMS 特性。逻辑设计阶段的输出信息主要有四种: DBMS 可处理的模式; 子模式; 应用程序设计指南; 物理设计指南。32答:在数据库运行时,把未提交随后又被撤消的数据称为“脏数据” 。为避免读取“脏数据” ,事务可以对数据实行加 S 锁的方法,以防止其他事务对该数据进行修改。33答:对象联系图与 E
16、R 图的主要差别是对象联系图能通过“引用”类型表示嵌套、递归的数据结构,还有能表示数据结构之间的继承性(即子类和超类) 。34答:在对并发事务采用封锁机制时,有可能若干事务都处于等待状态,等待对方释放封锁,造成事务都不能继续运行下去,这种现象称系统进入死锁状态。发生死锁时,系统将抽取某个事务作牺牲品,把它撤销,释放封锁,使其它事务有可能继续运行下去。2=2(2003/9/21) (高教-答案) 模拟试题-635答:DDB 中数据分片必须遵守三个条件:(1)完备性条件:指全局关系中所有数据均应映射到片段中。目的是保证所有数据均在DB 中存储,不会丢失数据。(2)重构条件:由各个片段可以重建全局关
17、系。目的是可以像无损联接那样不丢失信息。(3)不相交条件:数据片段相互之间不应该重叠(主键除外) 。目的是为了防止数据冗余。四设计题答案36解:关系代数表达式: S#,SNAME ( GNAME=冰箱 (SHOPSALEGOODS)元组表达式: t | (u) (v) ( w) (SHOP (u)SALE (v)GOODS (w)u1=v1v 2=w1w 2= 冰箱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 S
18、HOP 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 冰箱38解:DELETE FROM SALEWHERE S# IN(SELECT S#FROM SHOPWHERE SNAME=开开商店)AND G# IN(SELECT G#FROM GOODSWHERE PRICE1000);39解:CREATE ASSERTION ASSE8
19、 CHECK(100D(R S)等价的元组表达式、关系逻辑规则和 SQL 语句。28设有域表达式 t1t2t3 | (u1) (u2)(u 3) (R(t1u1t2) S(u 2t3u3) u 1t3),试写出其等价的关系代数表达式、元组表达式和关系逻辑规则。29设教学数据库中,有两个基本表:学生表:S(S# ,SNAME,AGE ,SEX)学习表:SC(S#,C#,GRADE)现有一个 SQL 语句:SELECT SEX,AGE,AVG(GRADE)FROM S,SCWHERE S.S# = SC.S#GROUP BY SEX,AGEORDER BY 3 DESC;试写出与此语句等价的汉语查
20、询语句。30试写出 3NF 的定义。当一个关系模式不是 3NF 时,会出现什么问题?试举例说明。31试解释联系的元数、连通词和基数的三个概念。32有些事务只要读数据,为什么也要加 S 锁?33为什么只有 PX 协议还不够,还要提出 PXC 协议?34试解释 DDBS 的“分布透明性”概念。 “分布透明性”分成哪几个层次?分布透明性(2003/9/21) (高教-答案) 模拟试题-12在数据独立性中可以归入哪个范围?35关系代数的自然连接操作和半连接操作之间有些什么联系?四设计题(本大题共 5 小题,每小题 4 分,共 20 分)36设数据库中有两个基本表:职工表 EMP(E#,ENAME,AG
21、E,SALARY,D#) ,其属性分别表示职工工号、姓名、年龄、工资和工作部门的编号。部门表 DEPT(D#,DNAME,MGR#),其属性分别表示部门编号、部门名称和部门经理的职工工号。试指出每个表的主键和外键。并写出每个表创建语句中的外键子句。37在第 36 题的两个基本表中,写出下列查询的关系代数表达式和 SQL 语句:检索每个部门经理的工资,要求显示其部门编号、部门名称、经理工号、经理姓名和经理工资。38在第 36 题的两个基本表中,建一个年龄大于 50 岁的职工视图,属性为(D#,DNAME,E#,ENAME,AGE,SALARY) 。39在第 36 题的两个基本表中,写一个断言,要
22、求每个部门的经理工资应大于本部门所有职工的工资。40下面是用 ORDB 的定义语言定义的数据库:CREATE TYPE MyString char varying;CREATE TYPE cname MyString;CREATE TABLE department(dno MyString,dname MyString,staff setof(ref(employee) ) ) ;CREATE TABLE employee(eno MyString,ename MyString,salary integer,children setof(cname) ,works_for res(depart
23、ment);(1)试画出上述数据库的对象联系图。(2)试用 ORDB 的查询语言写出下列查询的 SELECT 语句:检索部门编号为 D6 的部门中每个职工的子女名,要求显示职工的姓名、子女名。五综合题(本大题共 2 小题,每小题 5 分,共 10 分)41设有一个记录各个球队队员每场比赛进球数的关系模式R(队员编号,比赛场次,进球数,球队名,队长名)如果规定每个队员只能属于一个球队,每个球队只有一个队长。 试写出关系模式 R 的基本 FD 和关键码。 说明 R 不是 2NF 模式的理由,并把 R 分解成 2NF 模式集。 进而把 R 分解成 3NF 模式集,并说明理由。42设某汽车运输公司数据
24、库中有三个实体集。一是“车队”实体集,属性有车队号、车队名等;二是“车辆”实体集,属性有牌照号、厂家、出厂日期等;三是“司机”实体集,属性有司机编号、姓名、电话等。设车队与司机之间存在“聘用”联系,每个车队可聘用若干司机,但每个司机只能应聘于一个车队,车队聘用司机有个聘期;车队与车辆之间存在“拥有”联系,每个(2003/9/21) (高教-答案) 模拟试题-13车队可拥有若干车辆,但每辆车只能属于一个车队;司机与车辆之间存在着“使用”联系,司机使用车辆有使用日期和公里数两个属性,每个司机可使用多辆汽车,每辆汽车可被多个司机使用。(1)试画出 ER 图,并在图上注明属性、联系类型、实体标识符;(
25、2)将 ER 图转换成关系模型,并说明主键和外键。(3)将 ER 图转换成对象联系图。(4)将 ER 图转换成 UML 的类图。模拟试题 2 答案一 单项选择题答案1C 2B 3B 4D 5A 6C 7D 8B9B 10D 11A 12D 13C 14C 15C二填空题答案16硬件 软件 计算机应用 17DD18v3 t1=u2 t2=u3)关系逻辑规则如下:W(b,c)R(a,b,c ) S(b,c,d) adSQL 语句:SELECT R.B,R.CFROM R,SWHERE R.B=S.B AND R.C=S.C AND AD;28答:等价的关系代数表达式如下: 1,3,5 ( 22(R
26、S)等价的元组表达式如下: t | (u) (v) (R(u) S(v) u2v2 t1=u1 t2=u3t3=v2)关系逻辑规则如下:W(x,y,z)R(x,a,y) S(b,z,c) az29答:检索每一性别每一年龄的学生的平均成绩,显示时,按平均成绩降序排列。(2003/9/21) (高教-答案) 模拟试题-1430答:如果关系模式 R 是 1NF,并且 R 中每一个非主属性都不传递依赖于 R 的候选键,那么称 R 是 3NF 模式。当一个模式不是 3NF 模式时,那么会存在非主属性对候选键的传递依赖,在关系中会存在数据冗余,进而引起操作异常。例 R(A,B , C)中,有 AB ,BC
27、。此时 R 的关键码是 A,因此 AC 是一个传递依赖。设关系 r 的值如下:A B Ca1 b1 c1a2 b1 c1a3 b1 c1此时,AB 和 B C 在上述关系中成立。但三个元组中的 c1 冗余地出现了三次。在修改时有可能引起异常。31答:联系的元数是指一个联系涉及到的实体集个数。联系的连通词是指联系涉及到的实体集之间实体对应的方式。譬如二元联系的连通词有四种:1:1,1:N,M:N,M:1。联系的基数是对实体间联系方式更为详细的描述,应描述出有联系实体的数目的最小值和最大值。32答:一个事务在读一批数据时,为了防止其他事务对这批数据进行修改,也应对这批数据加 S 锁,这样才能读到全
28、部正确的数据。33答:如果事务只执行 PX 协议,那么就有可能使其他事务发生丢失更新问题。譬如事务 T1 对某数据修改后立即释放 X 封锁,此时其他事务就有可能对该数据实现X 封锁,并进行修改。但是事务 T1 尚未结束,若 T1 是以 ROLLBACK 操作结束。那就使其他事务的更新丢失了。因此 X 封锁必须保留到事务终点,即实现 PXC 协议。34答:DDBS 的分布透明性是指用户不必关心数据的逻辑分片,不必关心数据物理位置分配的细节,也不必关心各个场地上数据库的数据模型。上述定义中的“三个不必”就是分布透明性的三个层次,即分片透明性、位置透明性和局部数据模型透明性。分布透明性可以归入物理独
29、立性范围。35答:自然连接和半连接之间的联系可用下面两点来表示:(1)半连接是用自然连接操作来定义的:R S = R(RS) ;(2)连接操作用半连接方法来求的:RS =(R S)S。四设计题答案36答:EMP 表的主键为 E#,外键为 D#。DEPT 表的主键为 D#,外键为 MGR#在 EMP 表的创建语句中,可写一个外键子句:FOREIGN KEY D# REFERENCES DEPT(D#) ;在 DEPT 表的创建语句中,可写一个外键子句:FOREIGN KEY MGR# REFERENCES EMP(E#) ;37答:关系表达式为: DEPT.D#,DNAME,MGR# ,ENAM
30、E ,SALARY (DEPT EMP)MGR#=E#(2003/9/21) (高教-答案) 模拟试题-15SELECT 语句为:SELECT DEPT.D#,DNAME,MGR#,ENAME,SALARYFROM DEPT,EMPWHERE MGR#=E#;38解:CREATE VIEW VIEW5AS SELECT DEPT.D#,DNAME,E#,ENAME,AGE,SALARYFROM DEPT,EMPWHERE DEPT.D#=EMP.D# AND AGE50;39解:CREATE ASEERTION ASSE8 CHECK(NOT EXISTS( SELECT *FROM EMP,
31、DEPTWHERE E#=MGR#AND SALARYy与上述规则头部等价的关系表达式是 A 1,2,4,5 ( 36(R S) B 1,2,4,5 ( 33(R S)C 1,2,4,5 (R S) D 1,2,4,5 (R R)4SQL 中,聚合函数 COUNT(列名)用于 A计算元组个数 B计算属性的个数C对一列中的非空值计算个数 D对一列中的非空值和空值计算个数5设有关系 R(A,B,C )的值如下:A B C2 2 32 3 43 3 5下列叙述正确的是 A函数依赖 AB 在上述关系中成立 B函数依赖 BCA 在上述关系中成立C函数依赖 BA 在上述关系中成立 D函数依赖 ABC 在上
32、述关系中成立6设关系模式 R(A,B,C,D ) ,F 是 R 上成立的 FD 集,F= ABC ,D B ,那么 = ACD ,BD 相对于 F A是无损联接分解,也是保持 FD 的分解B是无损联接分解,但不保持 FD 的分解C不是无损联接分解,但保持 FD 的分解D既不是无损联接分解,也不保持 FD 的分解2133 36(2003/9/21) (高教-答案) 模拟试题-197在有关“弱实体”的叙述中,不正确的是 A弱实体的存在以父实体的存在为前提B弱实体依赖于父实体的存在C父实体与弱实体的联系可以是 1:1、1:N 或 M:ND父实体与弱实体的联系只能是 1:1 或 1:N8如果有 n 个
33、事务串行调度,那么不同的有效调度有 An 2 B2 n C4 n Dn!9在传统 SQL 技术中,使用“ORDER BY”子句的 SELECT 语句查询的结果,实际上为A数组 B列表 C包 D集合10在 DDBS 中,用户或应用程序应当了解分片情况,但不必了解片段的存储场地,这种透明性称为 A分片透明性 B局部数据模型透明性 C片段透明性 D位置透明性二填空题(本大题共 10 小题,每小题 1 分,共 10 分)11DBS 具有较高的数据独立性,其原因是_。12在关系逻辑中,关系用_符号表示。13在 SQL 中,只有_视图才可以执行更新操作。14SQL 的 SELECT 语句在未使用分组子句但
34、在 SELECT 子句中使用了聚合函数。此时SELECT 子句的语句就不是投影的意思了,而是 。15设关系模式 R(A,B, C) ,F 是 R 上成立的函数依赖集,F= ABC ,CA ,那么R 的候选键有_个,为 _。16事务的持久性是由 DBMS 的_实现的。17在 ODMG2.0 中,类的定义有三部分组成:_ ,_和_。在定义类时要用到关键字_。18在事务依赖图中,如果在图中_,那么系统就会出现死锁现象。19.在 UML 类图中,类、对象、关联的概念分别相当于 ER 模型中_、_、_的概念。20DDBS 逐渐向 C/S 模式发展。单服务器的结构本质上还是 _系统。只有在网络中有多个 D
35、B 服务器时,并可协调工作,为众多客户机服务时,才称得上是_系统。三简答题(本大题共 10 小题,每小题 3 分,共 30 分)21对现实世界抽象层次的不同,数据模型分为哪两种?各有什么特点?22设有关系 R 和 S:R A B C S D E F1 2 3 6 5 14 5 6 7 4 27 8 9 8 3 3试写出元组表达式 t | (u) (v) (R(u) S(v) u3u3)的具体值。23设教学数据库中,有两个基本表:学生表:S(S# ,SNAME,AGE ,SEX)学习表:SC(S#,C#,GRADE)现有一个 SQL 语句:SELECT S#FROM SWHERE S# NOT
36、IN(SELECT S#FROM SCWHERE C# IN(C2,C4 );试写出与此语句等价的汉语查询语句及关系代数表达式。24在嵌入式 SQL 中,什么情况下的 DML 语句不必涉及到游标操作?25设有关系模式 R(A,B,C ,D ) ,F 是 R 上成立的 FD 集,F= ABC ,D B ,试求属性集 AD 的闭包(AD) +。并回答所有左部为 AD 的函数依赖有多少个?26在 ER 模型转换成关系模型时,如果二元联系是 1:N,并在 1 端实体类型转换成的关系模式中加入 N 端实体类型的键和联系类型的属性,那末这个关系模式将会有什么问题?试举例说明。27什么是“饿死”问题?如何解
37、决?28与传统的关系模型相比,对象关系模型有哪些扩充?29C/S 结构为什么要从两层结构发展到三层、多层结构?30DDB 的体系结构有些什么显著的特点?四设计题(本大题共 5 小题,每小题 4 分,共 20 分)31设某商业集团为仓库存储商品设计了三个基本表:仓库 STORE(S#,SNAME,SADDR ) ,其属性是仓库编号、仓库名称和地址。存储 SG(S# ,G#,QUANTITY ) ,其属性是仓库编号、商品编号和数量。商品 GOODS( G#,GNAME,PRICE) , 其属性是商品编号、商品名称和单价现检索仓库名称为“莘庄”的仓库里存储的商品的编号和名称。试写出相应的关系代数表达
38、式、元组表达式、关系逻辑规则和 SELECT 语句。32在第 31 题的基本表中,检索存储全部种类商品的仓库的编号及名称。试写出相应的关系代数表达式、元组表达式、关系逻辑规则和 SELECT 语句。33在第 31 题的基本表中,检索每个仓库存储商品的总价值。试写出相应的 SELECT 语句。要求显示(S#,SUM_VALUE) ,其属性为仓库编号及该库存储商品的总价值。34在第 31 题的基本表中,写一个断言,规定每个仓库存储商品的单价为 1 万元以上的商品种类最多为 20 种。35图 8 是有关大学(university)和学生(student )信息的对象联系图:university st
39、udent(大学名)unamestaffcity(籍贯)sname(姓名)sno(身份证号)(2003/9/21) (高教-答案) 模拟试题-21图 8(1)试用 ORDB 的定义语言,定义这个数据库。(2)试用 ORDB 的查询语言写出下列查询的 SELECT 语句:检索每个大学里,籍贯为本地的学生,要求显示大学名、城市、学生身份证号和学生姓名。五综合题(本大题共 4 小题,每小题 5 分,共 20 分)36设有关系模式R(职工名,项目名,工资,部门名,部门经理)如果规定每个职工可参加多个项目,各领一份工资;每个项目只属于一个部门管理;每个部门只有一个经理。 试写出关系模式 R 的基本 FD
40、 和关键码。 说明 R 不是 2NF 模式的理由,并把 R 分解成 2NF 模式集。 进而把 R 分解成 3NF 模式集,并说明理由。37设大学里教学数据库中有三个实体集。一是“课程”实体集,属性有课程号、课程名称;二是“教师”实体集,属性有教师工号、姓名、职称;三是“学生”实体集,属性有学号、姓名、性别、年龄。设教师与课程之间有“主讲”联系,每位教师可主讲若干门课程,但每门课程只有一位主讲教师,教师主讲课程将选用某本教材;教师与学生之间有“指导”联系,每位教师可指导若干学生,但每个学生只有一位指导教师;学生与课程之间有“选课”联系,每个学生可选修若干课程,每门课程可由若干学生选修,学生选修课
41、程有个成绩。(1)试画出 ER 图,并在图上注明属性、联系类型、实体标识符;(2)将 ER 图转换成关系模型,并说明主键和外键。(3)将 ER 图转换成对象联系图。(4)将 ER 图转换成 UML 的类图。38设大学教学数据库中有下面一些数据:Dept(系)有属性 dno(系编号)和 dname(系名) ;Student(学生)有属性 sno(学号)和 sname(学生姓名) ;Course(课程)有属性 cno(课程号) 、cname(课程名)和 teacher(任课教师) ;学生选修课程有个 grade(成绩) 。如果规定:每个系有若干学生,每个学生只能属于一个系;每个系开设了若干课程,每
42、门课程由一个系开设;每个学生可以选修若干课程,每门课程可以有若干学生选修。(1)试画出 ER 图,并在图上注明属性、联系类型、实体标识符;(2)将 ER 图转换成关系模型,并说明主键和外键。39 (1)试画出第 38 题数据库的对象联系图。(2)试画出第 38 题数据库的 UML 类图。模拟试题 3 答案一 单项选择题答案(城市)citystudylanguages(掌握的外语)(2003/9/21) (高教-答案) 模拟试题-221A 2B 3C 4C 5B6B 7C 8D 9B 10D二填空题答案11三级结构之间存在着两级映象 12谓词13行列子集视图 14对查询结果执行聚合操作152 A
43、B 和 BC 16恢复管理子系统17属性 联系 方法 interface 18沿着箭头方向存在一个循环19实体集 实体 联系 20集中式 DB 分布式 DB三简答题答案21答:在数据库设计中,概念设计使用的是概念数据模型,逻辑设计中使用的是结构数据模型。概念模型是一种独立于硬件和软件的模型,完全不涉及信息在系统中的表现,只是用来描述某个特定组织所关心的信息结构。这种模型是从用户的观点对数据建模,必须充分反映用户的需求,并得到用户的确认才可定下来。它是现实世界的第一层抽象,是用户和数据库设计人员之间进行交流的工具,其典型代表是 ER 模型。结构模型用于描述数据库的逻辑结构,与 DBMS 有关。这
44、种模型是从计算机的观点对数据建模。它是现实世界的第二层抽象,是数据库设计人员和应用程序员之间进行交流的工具。其典型代表是层次、网状、关系和面向对象模型。22答:元组表达式的值为:A F1 11 21 34 24 3域表达式的值为:A B C4 5 67 8 923答:查询语句为:检索至少不选修编号为 C2 和 C4 课程的学生学号。关系代数表达式为: S#(S) S#( C#= C2C#= C4(SSC)(注意:此处,“不选修 C2 和 C4 课程”的对立面是 “选修 C2 或 C4 课程”)24答:SQL 嵌入式 DML 语句在下列情况不必涉及游标操作: INSERT、DELETE 和 UP
45、DATE 语句; 对于 SELECT 语句,如果已知查询结果肯定是单元组值时。25答:从已知 DB 可知 ADAB;再据已知 ABC 和推理规则可推出 ADABCD 。所以 (AD)+=ABCD。从 AD 的闭包为 ABCD,可知所有左部为 AD 的 FD 有 24,即 16 个。26答:在生成的关系模式的关系中出现冗余和异常现象。(2003/9/21) (高教-答案) 模拟试题-23例如部门与职工之间联系是 1:N,若在部门模式中加入职工信息,那么部门模式将是如下形式:DEPT(D#,DNAME,E#)如果一个部门有 20 个职工,那么关系中就要出现 20 个元组,即该部门的部门名(DNAM
46、E)就要重复 20 次,这就是冗余。在部门名修改时,稍不谨慎,就会产生数据不一致现象。27答:有可能存在一个事务序列,其中每个事务都申请对某数据项加 S 锁,且每个事务在授权加锁后一小段时内释放封锁,此时若另有一个事务 T1欲在该数据项上加 X 锁,则将永远轮不上封锁的机会。这种现象称为“饿死” (starvation) 。可以用下列方式授权加锁来避免事务饿死。当事务 T2中请对数据项 Q 加 S 锁时,授权加锁的条件是: 不存在在数据项 Q 上持有 X 锁的其他事务; 不存在等待对数据项 Q 加锁且先于 T2申请加锁的事务。28答:与传统的关系模型相比,对象关系模型有下列扩充:(1)在定义语言上有三个扩充:数据类型的扩充(引入复合类型) ;在类