1、软件水平考试(中级)数据库系统工程师上午(基础知识)试题章节练习试卷 4及答案与解析 1 关系代数表达式 RST-U的运算结果是 (1)。( A) ( B) ( C) ( D) 2 设有关系 R、 S和 T如图 16-1所示。则下列元组演算表达式的运算结果是 (2)。( A) ( B) ( C) ( D) 3 下列公式一定成立的是 (3)。 ( A) ( B) ( C) ( D) 4 不能激活触发器执行的操作是 (4)。 ( A) DELETE ( B) UPDATE ( C) INSERT ( D) Select 5 某高校五个系的学生信息存放在同一个基本表中,采取 (5)的措施可使各系的管
2、理员只能读取本系学生的信息。 ( A)建立各系的列级视图,并将对该视图的读权限赋予该系的管理员 ( B)建立各系的行级视图,并将对该视图的读权限赋予该系的管理员 ( C)将学生信息表的部分列的读权限赋予各系的管理员 ( D)将修改学生信息表的权限赋予各系的管理员 6 关于对 SQL对象的操作权限的描述正确的是 (6)。 ( A)权限的种类分为 INSERT、 DELETE和 UPDATE三种 ( B)权限 只能用于实表不能应用于视图 ( C)使用 REVOKE语句获得权限 ( D)使用 COMMIT 语句赋予权限 7 允许取空值但不允许出现重复值的约束是 (14)。 ( A) NULL ( B
3、) UNIQUE ( C) Primary Key ( D) Foreign Key 8 通过重建视图能够实现 (15)。 ( A)数据的逻辑独立性 ( B)数据的物理独立性 ( C)程序的逻辑独立性 ( D)程序的物理独立性 9 关系的度 (degree)是指关系中 (18)。 ( A)属性的个数 ( B)元组的个数 ( C)不 同域的个数 ( D)相同域的个数 10 在传统关系系统中,对关系的错误描述是 (19)。 ( A)关系是笛卡尔积的子集 ( B)关系是一张二维表 ( C)关系可以嵌套定义 ( D)关系中的元组次序可交换 11 在关系代数中对传统的集合运算要求参与运算的关系 (20)
4、。 ( A)具有相同的度 ( B)具有相同的关系名 ( C)具有相同的元组个数 ( D)具有相同的度且对应属性取自同一个域 12 在 SQL的查询语句中,允许出现聚集函数的是 (23)。 ( A) SELECT子句 ( B) WHERE子句 ( C) HAVING短语 ( D) SELECT子句和 HAVING短语 13 SQL语言中实现候选码约束的语句是 (24)。 ( A)用 Candidate Key指定 ( B)用 Primary Key指定 ( C)用 UNIQUE NOT NULL约束指定 ( D)用 UNIQUE约束指定 14 不能提高查询性能的措施是 (25)。 ( A)根据查
5、询条件建立索引 ( B)建立相关视图 ( C)尽量使用不相关子查询 ( D)建立查询表的聚簇索引 15 以下 SQL99语句描述的是 (26)。 CREATETYPE Employee( Name String, ssn integer); CREATE TYPE Manager UNDER Employee( Degree String, Dept String); ( A)关联关系 ( B)嵌套关系 ( C)继承类型 ( D)聚集关系 16 职工实体中有职工号、姓名、部门、参加工作时间、工作年限等属性,其中,工作年限是一个 (27)属性。 ( A)派生 ( B)多值 ( C)复合 ( D)
6、 NULL 17 若 有关系模式 R(A,B,C)和 S(C,D,E),关系代数表达式 E1、 E2、 E3和 E4,且如果严格按照表达式运算顺序,查询效率最高的是 (36)。 ( A) E1 ( B) E2 ( C) E3 ( D) E4 18 首先提出支持面向对象数据模型的 SQL标准是 (37)。 ( A) SQL86 ( B) SQL89 ( C) SQL92 ( D) SQL99 19 若某个关系的主码为全码,则应包含 (38)。 ( A)单个属性 ( B)两个属性 ( C)多个属性 ( D)全部属性 20 若给出关系 Student(S_no, Sname, Sage, S_sex
7、, SD_name, S_add, S_tel),并用 SQL语言定义 Student关系如下: CREATE Student(S_no CHAR(6), Sname CHAR(30)NOT NULL, Sage CHAR(30), S_sex CHAR(1), SD_name CHAR(20), S_add CHAR(30), S_tel CHAR(20), PRIMARY KEY(S_no); 采用 (45)向 Student中插入记录能被正确地执行。 ( A) INSERT INTO Student(S_no, Sname, Sage, S_sex, SD_name, S_add, S_
8、tel) VALUES(010456, 黎敏 , 18, “, “, “, “) ( B) INSERT INTO Student(S_no, Sname, Sage, S_sex, SD_name, S_add, S_tel) VALUES(010456, 黎敏 , 18, 男 , 计算机学院 , 北京 , 88661200) ( C) INSERT INTO Student(S_no, Sname, Sage, S_sex, SD_name, S_add, S_tel) VALUES(, 黎敏 , 18, F, 计算机学院 , 北京 , 88661200) ( D) INSERT INTO
9、 Student(S_no, Sname, Sage, S_sex, SD_name, S_add, S_tel) VALUES(010456, , 18, F, 计算机学院 , 北京 , 88661200) 21 事务 T1、 T2、 T3分别对数据 D1、 D2和 D3并发操作如下所示,其中 T1与 T2间并发操作 (14), T2与 T3间并发操作 (15)。( A)不存在问题 ( B)将丢失修改 ( C)不能重复读 ( D)将读 “脏 ”数据 ( A)不存在问题 ( B)将丢失修改 ( C)不 能重复读 ( D)将读 “脏 ”数据 23 实体 -联系模型 (简称 E-R模型 )中的基本
10、语义单位是实体和联系。 E-R模型的图形表示称为 E-R图。联系可以同 (29)实体有关。实体与实体之间的联系可以是(30)。 利用 E-R模型进行数据库的概念设计,可以分成三步:首先设计局部 ER,然后把各个局部 E-R模型综合成 个全局的模型,最后对全局 E-R模型进行 (31),得到最终的 E-R模型, E-R模型向关系模式的转换规则是把一个实体类型转换成一个关系模式,实体的属性是关系的属性,实体的键是关系的键。把一个联系类型转换成一个 (32),参与该联系类型的各实体的键及联系的属性转换成 (33),其中的键由实体与实体之间的联系决定。 ( A) 0个 ( B) 1个或多个 ( C)
11、1个 ( D)多个 ( A)一对一和一对多 ( B)一对一和多对多 ( C)一对多和多对多 ( D)一对一、一对多和多对多 ( A)简化 ( B)结构化 ( C)最小化 ( D)优化 ( A)联系模式 ( B)数据模式 ( C)关系模式 ( D)逻辑模式 ( A)联系属性 ( B)关系的属性 ( C)数据属性 ( D)关系的候选键 一、主观题 28 【说明 】 某图书管理系统的主要功能是图书管理和信息查询。对于初次借书的读者,系统自动生成读者号,并与读者基本信息 (姓名、单位、地址等 )一起写入读者文件。 系统的图书管理功能分为四个方面:购入新书、读者借书、读者还书,以及图书注销。 1购入新书
12、时要为该书编制入库单。入库单内容包括图书分类目录号、书名、作者、价格、数量和购书日期,将这些信息写入图书目录文件并修改文件中的库存总量 (表示到目前为止,购入此种图书的数量 )。 2读者借书时需填写借书单。借书内容包括读者号和所借图书分类目录号。系统首 先检查该读者号是否有效,若无效,则拒绝借书:若有效,则进一步检查该读者已借图书是否超过最大限制数 (假设每位读者能同时借阅的书不超过 5本 ),若已达到最大限制数,则拒绝借书:否则允许借书,同时将图书分类目录号、读者号和借阅日期等信息写入借书文件中。 3读者还书时需填写还书单。系统根据读者号和图书分类目录号,从借书文件中读出与该图书相关的借阅记
13、录,标明还书日期,再写回到借书文件中,若图书逾期,则处以相应的罚款。 4注销图书时,需填写注销单并修改图书目录文件占的库存总量。 系统的信息查询功能 主要包括读者信息查询和图书信息查询。其中读者信息查询可得到读者的基本信息及读者借阅图书的情况;图书信息查询可得到图书基本信息和图书的借出情况。 图书管理系统的顶层图如图 23-1所示;图书管理系统的第 0层 DFD图如图 23-2所示,其中,加工 2的细化图如图 23-3所示。 28 数据流图 1-2中有两条数据流是错误的,请指出这两条数据流的起点和终点。 29 数据流图 1-3中缺少三条数据流,请指出这三条数据流的起点和终点。 30 根据系统功
14、能和数据流图填充下列数据字典条目中的 (1)和 (2); 查询请法 语信息=查询读者请求信息 查询图书请求信息 读者发问 =读者号 +姓名 +所在单位 +借书情况 管理工作请求单 =(1) 入库单 =(2) 31 【说明】 学生住宿舍服务系统帮助学生就学的城市内找到所需的住房,系统对出租的房屋信息、房主信息、需要租房的学生信息,以及学生和房主的会面信息进行管理和维护。 房主信息包括姓名、地址、电话号码,以及系统分配的唯一身份标识 (ID)和密码;房屋信息包括房屋地址、类型 (单间 /套间 )、适合住宿的人数、房租、房主的 ID,以及现在是否可以出租 (例如由于装修原因,需等到装修后才 可出租或
15、者房屋已被租出 )。每当房屋信息发生变化时,房主须通知系统,系统将更新房屋文件以便学生能够获得准确的可租用房屋信息。房主向系统中加入可租用的房屋信息时,需交纳一定的费用,由系统自动给出费用信息。房主可随时更新房屋的各种属性。 学生可通过系统查询现有的可租用的房屋,但必须先在系统中注册。学生信息包括姓名、现住址、电话号码、出生日期、性别,以及系统分配的唯一身份标识 (ID)和密码。若学生希望租用某房屋,则需要发出租房请求,请求中包含房屋的详细信息,系统将安排学生与房主会面的时间和地点,并将会面信息通知学生和房主。会面信息包括会面时间、地点,以及会面双方的基本信息,系统将记录会面信息。 学生住宿服
16、务系统的顶层图如数据流图 23-4所示;学生住宿服务系统的第 0层 DFD图如数据流图 23-5所示,其中,加工 3的细化图如数据流图 23-6所示。31 数据流图 23-4缺少了一条数据流 (在图 23-5中也未给出该数据流 ),请给出此数据流的起点和终点,并采用说明中的词汇给出此数据流名。 数据流图 23-5中缺少了与 “查询房屋 ”加工相关的数据流,请指出数据流的起点和终点。 32 “安排会面 ”加工除需要写入会面文件外 ,还需要访问哪些文件 ? 33 请补齐下列数据字典条目:登录信息 =学生 ID+密码注册信息 = _ 34 【说明】 某学校建立了一个网上作业提交与管理系统,基本功能描
17、述如下: (1)账号和密码。任课老师用账号和密码登录系统后,提交所有选课学生的名单。系统自动为每个选课学生创建登录系统的账号和密码。 (2)作业提交。学生使用账号和密码登录系统后,可以向系统申请所选课程的作业。系统首先检查学生的当前状态,如果该学生还没有做过作业,则从数据库服务器申请一份作业。若申请成功,则显示需要 完成的作业。学生需在线完成作业,单击 “提交 ”按钮上交作业。 (3)在线批阅。系统自动在线批改作业,显示作业成绩,并将该成绩记录在作业成绩统计文件中。 34 如果将数据库服务器 (记为 DB)作为一个外部实体,那么在绘制该系统的数据流图时,还应有哪些外部实体和数据存储 ? 35
18、根据说明结合问题 1的解答,指出在该系统的顶层数据流图中应有哪些数据流。请采用说明中的词汇给出这些数据流的起点、终点及数据流名称,表 23-1给出了数据流的部分信息,请填充空缺处。36 根据数据流图的设计原则,阅读图 23-7所 示的数据流图,找出其中的错误之处。 37 【说明】 某房屋租赁公司欲建立一个房屋租赁服务系统,统一管理房主和租赁者的信息,以便快速地提供租赁服务。该系统具有以下功能: 1登记房主信息。对于每名房主,系统需登记其姓名、住址和联系电话,并将这些信息写入房主信息文件。 2登记房屋信息。所有在系统中登记的房屋都有一个唯一的识别号 (对于新增加的房屋,系统会自动为其分配一个识别
19、号 )。除此之外,还需登记该房屋的地址、房型 (如平房、带阳台的楼房、独立式住宅等 )、最多能够容纳的房客数、租金及房屋状态 (待租赁、已出租 )。这些信息都保存在房屋信息文件中。一名房主可以在系统中登记多个待租赁的房屋。 3登记租赁者信息。所有想通过该系统租赁房屋的租赁者,必须首先在系统中登记个人信息,包括:姓名、住址、电话号码、出生年月和性别。这些信息都保存在租赁者信息文件中。 4租赁房屋。已经登记在系统中的租赁者,可以得到一份系统提供的待租赁房屋列表。一旦租赁者从中找到合适的房屋,就可以提出看房请求。系统会安排租赁者与房主见面。对于每次看房,系统会生成一条看房记录并将其写入看房记录文件中
20、。 5收取手续费。房主登记完房屋后,系统会生成一份 费用单,房主根据费用单交纳相应的费用。 6变更房屋状态。当租赁者与房主达成租房或退房协议后,房主向系统提交变更房屋状态的请求。系统将根据房主的请求,修改房屋信息文件。 数据流图 23-8和图 23-9分别给出了该系统的顶层数据流图和 0层数据流图。 37 使用 说明 中给出的词汇,将数据流图 23-8中 (1) (4)处的数据流补充完整。 38 使用 说明 中给出的词汇,将数据流图 23-9中的 (5) (8)补充完整。 39 数据流程图 23-8中缺失了三条数据流,请指出这三条数据流的起点、终点和数据流 名称。 40 【说明】 某高校欲开发
21、一个成绩管理系统,记录并管理所有选修课程的学生的平时成绩和考试成绩,其主要功能描述如下: 1每门课程都有 3到 6个单元构成,每个单元结束后会进行一次测试,其成绩作为这门课程的平时成绩。课程结束后进行期末考试,其成绩作为这门课程的考试成绩。 2学生的平时成绩和考试成绩均由每门课程的主讲教师上传给成绩管理系统。 3在记录学生成绩之前,系统需要验证这些成绩是否有效。首先,根据学生信息文件来确认该学生是否选修这门课程,若没有,那么这些成绩是无效的;如果他的确选修了这门课程, 再根据课程信息文件和课程单元信息文件来验证平时成绩是否与这门课程所包含的单元相对应,如果是,那么这些成绩是有效的,否则无效。
22、4对于有效成绩,系统将其保存在课程成绩文件中。对于无效成绩,系统会单独将其保存在无效成绩文件中,并将详细情况提交给教务处。在教务处没有给出具体处理意见之前,系统不会处理这些成绩。 5若一门课程的所有有效的平时成绩和考试成绩都已经被系统记录,系统会发送课程完成通知给教务处,告知该门课程的成绩已经齐全。教务处根据需要,请求系统生成相应的成绩列表,用来提交考试委员会审查。 6在生成成 绩列表之前,系统会生成一份成绩报告给主讲教师,以便核对是否存在错误。主讲教师须将核对之后的成绩报告返还系统。 7根据主讲教师核对后的成绩报告,系统生成相应的成绩列表,递交考试委员会进行审查。考试委员会在审查之后,上交一
23、份成绩审查结果给系统。对于所有通过审查的成绩,系统将会生成最终的成绩单,并通知每个选课学生。 采用结构化方法对这个系统进行分析与设计,得到如图 23-10所示的顶层数据流图和图 23-11所示的 0层数据流图。40 使用说明中的词语,给出图 23-10中的外部实体 E1 E4的名称。 41 使用说明中的词语,给出图 23-11中的数据存储 D1 D5的名称。 42 数据流图 23-11缺少了三条数据流,根据说明及数据流图 23-10提供的信息,分别指出这三条数据流的起点和终点。 43 数据流图是在系统分析与总体设计阶段宏观地描述系统功能需求的重要图形化工具,程序流程图也是软件开发过程中比较常用
24、的图形化工具。简要说明程序流程图的适用场合与作用。 44 阅读下列说明和流程图,如图 23-12至图 23-15所示,回答问题 1至问题 4。 【说明】 上述流程图是采用结构化分析方法画出的某考务处系统的数 据流程图 (DFD),图中 表示加工: 表示数据流; 表示数据源终点; 表示文件。 该系统有如下功能: .对考生送来的报名单进行检查。 .对合格的报名单编好准考证号后将准考证送给考生,并将汇总后的考生名单送给阅卷站。 .对阅卷站送来的成绩清单进行检查,并根据考试中心制定的合格标准审定合格者。 .制作考生通知单送给考生。 .进行成绩分类统计 (按地区、年龄、文化程度、职业和考试级别等分类 )
25、和试题难度分析,产生统计分析表。 部分数据流的组成如下所示: 报名单 =地区 +序号 +姓名 +性别 +年龄 +文化程度 +职业 +考试级 别 +通信地址 正式报名单 =报名单 +准考证号 准考证 =地区 +序号 +姓名 +准考证号 +考试级别 考生名单 =准考证号 +考试级别 (其中 w表示 w重复多次 ) 统计分析表 =分类统计表 +难度分析表 考生通知单 =考试级别 +准考证号 +姓名 +合格标志 +通信地址 44 指出如图 23-14所示的数据流图中 , , 的数据流名。 45 指出 0层 (见图 23-13)的数据流图中有什么成分可删去。 46 指出如图 23-15所示的数据流图中在
26、哪些位置遗漏了哪些数据流,也就是说,要求给出漏掉了哪个加工的输入或输出数据流的名字。例如 ,加工 2.5的输出数据流 “难度分析表 ”。 47 指出考生名册文件的记录至少包括哪些内容。 48 阅读以下说明和流程图,如图 23-16至图 23-19所示,回答问题 1至问题 3。 【说明】 下面给出的是某房产管理系统的一套分层数据流图。其功能描述如下: (1)系统随时根据住户送来的入住单更新住户基本信息文件。 (2)每月初系统根据物业管理委员会提供的月附加费 (如清洁费、保安费和大楼管理费等 )表和房租调整表,计算每家住户的月租费 (包括月附加费 ),向住户发出交费通知单。住户交费时,系统 输入交
27、费凭证,核对后输出收据给住户。 (3)系统定期向物业管理委员会提供住房分配表和交费情况表。 (4)住户因分户或换房,在更新住户基本信息文件的同时,系统应立即对这些住户做月租费计算,以了结分户或换房前的房租。 假定题中提供的顶层图是正确的,请回答下列问题。 48 指出哪张图中的哪些文件可不必画出。 49 指出在哪些图中遗漏了哪些数据流。回答时请用如下形式之一: 图中遗漏了 加工 (或文件 )流向 加工 (或文件 )的 数据流。 加工 遗漏了输入 (或输出 )数据 流 。 50 指出加工图 23-19中加工 2.3能检查出哪些不合格交费凭证。软件水平考试(中级)数据库系统工程师上午(基础知识)试题
28、章节练习试卷 4答案与解析 1 【正确答案】 A 【试题解析】 传统的集合运算是二目运算,包括并、差、交、广义笛卡儿积四种运算。两个分别为 n 目和 m目的关系 R和 S的广义笛卡儿积是一个 (n+m)目的元组的集合。元组的前 n列是关系 R的一个元组,后 m列是关系 S 的一个元组。若R有 r个元组, S 有 s个元组,则关系 R和关系 S 的广义笛卡儿积有 rs个元组。记作: RS=trts|tr R ts S 根据上面的介绍,结合本题给出的关系模式实例,可以得到 RS 的结果如表 16-1所示。设两个关系 R和 S 的元数分别为 r和 s(设 r s 0),那么 RS 是一个 (r-s)
29、元的元组的集合。 RS是满足下列条件的最大关系:其中每个元组 t与 S 中每个元组 u组成新元组 t,u必在关系 R中。其具体计算公式如下: RS=1,2,.,r-s(R)-1,2,.,r-s(1,2,.,r-s(R)S)-R) 根据除法运算的公式,易得 RST的结果如表 16-2所示。然后在这个结果的基础上 减去 U中存在的记录,相应的结果如表 16-3所示。2 【正确答案】 C 【试题解析】 元组演算表达式的前半部分是求 U=R S,后半部分是求 UT。 3 【正确答案】 C 【试题解析】 此题涉及到了集合运算和关系运算。我们先来看 A选项,这个就是告诉我们选择和投影在数据操作中它的先后顺
30、序是会影响结果的。因为在等式的右边中的表达式先做投影,如果在 F条件中含有 A1, A2之外的字段,那么就没有起到条件限制的左右。所以 A中的式子不一定成立。在选项 B 中,因没有指定条件运算 F所涉及的属性,其结果也不一 定正确。例如,假设 E1和 E2都只有2个属性,则 E1E2有 4个属性,如果 F为 “2 3”,则不能反映在右边的式子中。在选项 C中,先分别对两个关系进行选择运算,选出满足条件的元组,然后求差。和先求差,然后在差中求选择运算,其结果是一致的。在选项 D中,因为是自然联接,在右边的式子中,因为先求投影,把公共属性去掉了,联接不成立。所以, D也不成立。 4 【正确答案】
31、D 【试题解析】 触发器是一种特殊类型的存储过程,主要是通过事件进行触发而被执行的,而存储过程可以通过存储过程名字而被直接调用。当对某一表进行 诸如UPDATE、 INSERT、 DELETE这些操作时,数据库就会自动执行触发器所定义的 SQL语句,从而确保对数据的处理必须符合由这些 SQL 语句所定义的规则。触发器的主要作用就是其能够实现由主键和外键所不能保证的复杂的参照完整性和数据的一致性。触发器可以解决高级形式的业务规则或复杂行为限制,以及实现定制记录等一些方面的问题。例如,触发器能够找出某一表在数据修改前后状态发生的差异,并根据这种差异执行一定的处理。此外一个表的同一类型(INSERT
32、、 UPDATE、 DELETE)的多个触发器能够对同一种数据操作采取 多种不同的处理。总体而言,触发器性能通常比较低。当运行触发器时,系统处理的大部分时间花费在参照其他表的这一处理上,因为这些表既不在内存中也不在数据库设备上,而删除表和插入表总是位于内存中。可见触发器所参照的其他表的位置决定了操作要花费的时间长短。 5 【正确答案】 B 【试题解析】 进行存取权限控制时可以为不同的用户定义不同的视图,把数据对象限制在一定范围内。因此只要建立各系的行级视图,并将对该视图的读权限赋予该系的管理员,就可以实现各系的管理员只能读取本系学生的信息。 6 【正确答案】 A 【试题解析】 用户权限是指不同
33、的用户对于不同的数据对象允许执行的操作权限。这个主要是通过 SQL 的 Grant语句和 REVOKE 语句来实现。用户获得此权限或可以建立和修改基本表、索引、视图。 Grant语句表示授权权限, REVOKE语句表示将权限收回。 对属性列和视图的操作权限有: Select、 INSERT、 DELETE、 UPDATE 以及这4种权限的总和 (ALL PRIVILEGES)。 对基本表的操作权限有: Select、 INSERT、 DELETE、 UPDATE、 ALERT、INDEX以及这 6种权限的总和 (ALL PRIVILEGES)。 对数据库可以有 CreateTable的权限,该
34、权限属于 DBA,可由 DBA授予普通用户,普通用户拥有此权限后可以建立基本表,基本表的属主拥有对该表的一切权限。 7 【正确答案】 B 【试题解析】 在 SQL 语言的定义功能中, NULL 表示允许为空, UNIQUE 表示不允许出现重复值, Primary Key为定义主键, Foreign Key 为定义外键。在一个表中,主键不允许取空值且不能出现重复值。外键即可以为空也可以取重复的值。 8 【正确答案】 A 【试题解析】 视图对应了数据库系统三级模式 /两级映像中的外模式,重建视图即是修改外模式及外模式 /模式映像,实现了数据的逻辑独立性,独立性是指数据的独立性,而不是程序的独立性。数据的物理独立性是指用户和用户程序不依赖于数据库的物理结构。数据的逻辑独立性是指当数据库重构造时,如增加新的关系或对原有关系增加新的字段等,用户和用户程序不会受影响。层次数据库和网状数据库一般能较好地支持数据的物理独立性,而对于逻辑独立性则不能完全地支持。视图只能在一定程度上提供数据的逻辑独立性,比如由于对视图的更新是有条件的, 因此应用程序中修改数据的语句可能仍会因基本表结构的改变而改变。