1、数据库工程师-1 及答案解析(总分:55.00,做题时间:90 分钟)一、选择题(总题数:30,分数:30.00)1.在面向对象软件开发过程中,采用设计模式的目的是(分数:1.00)A.以减少设计过程中创建的类的个数B.以保证程序的运行速度的达到最优值C.以复用成功的设计和体系结构D.以运行在非面对对象设计语言中使用面向对象的概念2.利用散列函数(Hash 函数,也称为哈希函数)支持快速文件访问的文件组织和存取方法的文件结构是(分数:1.00)A.堆文件B.聚集文件C.索引文件D.散列文件3.对于数据文件和它的一个索引文件,如果数据文件中的每个查找码值在索引文件中都对应一个索引记录,则该索引为
2、(分数:1.00)A.聚集索引B.非聚集索引C.稠密索引D.辅索引4.连接有多种,如内连接、外连接和交叉连接,其中外连接只能对几个表进行(分数:1.00)A.两个B.三个C.四个D.任意个5.以下哪些不能作为以及基本表建立索引的原则(分数:1.00)A.对于经常需要进行查询、连接、统计操作的基本表可考虑建立索引B.经常执行插入、删除、更新操作的基本表可考虑建立索引C.对应一个更新不频繁的表D.索引可以由用户根据需要随时创建或删除,以提高数据查询性能6.如果子女实体集中的每一个实例都能被唯一的确认而无需了解与之相联系的双亲实体集的实例,则这个关系就被称为(分数:1.00)A.标定型联系B.非标定
3、型联系C.分类联系D.多对多联系7.有关系 S(S#,SNAME,SEX),C(C#,CNAME),SC (S#,C#)。其中 S#为学号,SNAME 为学生姓名,SEX 为性别,C#为课程号,CNAME 为课程名。要查询选修“计算机”课的全体女学生姓名的 SQL 语句是:SELECT SNAME FROM S,C,SC WHERE(分数:1.00)A.S#=SC. S#ANDSEX=“女”AND CNAME=“计算机”B.S#=SC. S#ANDC. C#=SC. C#AND CNAME=“计算机”C.SEX=“女”AND CNAME=“计算机”D.S#=SC. S#ANDC. C#=SC.
4、 C#ANDSEX=“女”AND CNAME=”计算机”8.若联系为 m:n,如何确定关系码(分数:1.00)A.每个实体集的码均是该关系的候选码B.关系的码为 n 端实体集的码C.关系的码为 m 端实体集的码D.关系的码为各实体集码的组合9.最早提出的数据建模方法是(分数:1.00)A.E-RB.IDEFIXC.DFDD.UML10.在分布式数据库的数据分配中,全局数据有多个副本,在每个物理场地中都有一个完整的数据副本,这种数据分配的方法属于(分数:1.00)A.集中式B.分割式C.全复制式D.混合式11.以下数据库的空间分配原则叙述错误的是(分数:1.00)A.在 SQL Server 中
5、,行不能跨页存储B.在 SQL Server 2000 中,数据的存储单位是页C.一行数据的大小也不能超过一个数据页的大小D.一个数据页是一块 16kb 的联系磁盘空间,页是存储数据的最小单位12.下面关于视图的描述中,不正确的是(分数:1.00)A.视图是外模式B.视图是虚表C.使用视图可以简化查询语句的编写D.使用视图可以加速查询语句的查询速度13.SQL Server 安装程序的创建需要四个系统数据库,下列哪一项不是系统数据库(分数:1.00)A.modelB.masterC.pubD.msdb14.数据装载具体步骤(分数:1.00)A.筛选数据B.转换数据格式C.输入数据D.校验数据
6、AabcBabdCbcd15.以下关于 E-R 方法语法叙述错误的是(分数:1.00)A.E-R 方法中用矩形框表示实体集,矩形框内写上实体集的名称B.E-R 模型用圆角矩形框表示联系,联系名写在圆角矩形框内C.实体集的属性可以用椭圆框表示D.实体集的属性可以用圆角矩形表示16.在最终的模型中,任何一个不确定联系必然被转换为(分数:1.00)A.标定型联系B.非标定型联系C.分类联系D.确定联系17.以下关于数据库与文件的对应关系叙述错误的是(分数:1.00)A.在外存中,数据库以文件形式组织,文件由逻辑记录组成,记录由多个域组成B.关系表在逻辑上由一系列元组组成,元组由多个属性组成C.每个元
7、组可以用数据库磁盘文件中的一个逻辑记录在存储,记录包括多个域D.元组的每个属性对应于文件记录中的一个记录18.在数据库的非关系模型中,基本层次联系是指(分数:1.00)A.两个记录型之间的一对多联系B.两个记录型之间的多对多联系C.两个记录型以及它们之间的一对多联系D.两个记录型以及它们之间的多对多联系19.在下列各项中,哪一项不是数据库管理系统应提供的基本功能(分数:1.00)A.数据定义B.数据操纵C.可移植性保证D.数据库的运行管理及维护20.在多个事务请求对同一数据加锁时,总是使某一用户等待的情况称为(分数:1.00)A.活锁B.死锁C.排他锁D.共享锁21.是 ODBC 驱动程序和
8、DBMS 连接的名称的是(分数:1.00)A.数据B.数据源C.数据库D.数据管理22.数据操作包括下列哪几项(分数:1.00)A.操作B.关于操作的函数C.有关的操作规则D.规则映射E.规则的函数表象 AacBcdeCa23.根据数据库应用系统生命周期模型,完成数据库关系模式设计的阶段是(分数:1.00)A.需求分析B.概念设计C.逻辑设计D.物理设计24.数据库设计可分为六个阶段,每个阶段都有自己的设计内容,“为哪些关系,在哪些属性上建立什么样的索引”这一设计内容属于数据库设计的哪个阶段(分数:1.00)A.需求分析阶段B.概念结构设计阶段C.逻辑结构设计阶段D.物理结构设计阶段25.数据
9、库管理系统通常提供授权功能在控制不同用户访问数据库的权限,这一功能主要是为了实现数据库的(分数:1.00)A.一致性B.完整性C.安全性D.可靠性26.根据关系数据库规范化理论,关系数据库的关系要满足 1NF。有关系模式:部门(部门号,部门名,部门成员,部门经理),哪个属性使它不满者 1NF(分数:1.00)A.部门号B.部门名C.部门成员D.部门经理27.完整性约束不包括(分数:1.00)A.主码约束B.候选码约束C.外码约束D.用户自定义完整性28.不但防止了丢失修改和不读“脏”数据,而且防止了不可重复读的封锁协议是(分数:1.00)A.以及封锁协议B.二级封锁协议C.三级封锁协议D.四级
10、封锁协议29.下列哪一项不属于概念模型所具有的性质(分数:1.00)A.易于变动B.易于交流和理解C.易于向数据模型转换D.在计算机中实现的效率高30.索引文件按其查找码指定的顺序与数据文件中的数据记录的排列顺序不一致,则该索引文件称为(分数:1.00)A.稀疏索引B.聚集索引C.稠密索引D.非聚集索引二、简答题(总题数:2,分数:10.00)31.按规范设计的方法将数据库设计分为六个阶段:1需求分析。2概念结构设计。3逻辑结构设计。4数据库物理设计。5数据库实施。6数据库运行和维护。针对关系数据库设计的逻辑结构设计,回答下述问题:逻辑设计的基本任务?逻辑设计过程中,如何将 E-R 模型向关系
11、数据模型转换?关系数据库逻辑设计的步骤和内容?(分数:5.00)_32.在 SQL 语言中,有表、基本表( basetable)和视图(view)。 基本表是实际存储在数据库中的表,而视图则不是实际存储在数据库中的表。试回答以下有关视图问题:SQL 语言中如何理解视图的基本概念?SQL 语言中定义和删除视图的基本命令?SQL 语言中使用视图的优点?(分数:5.00)_三、设计题(总题数:3,分数:15.00)33.现有某图书数据库,其关系表结构如下:图书表(图书编号,图书名称,出版社编号,出版社名称,出版时间,出版数量,版次)图书销售表(图书编号,销售日期,销售数量,书店编号,读者编号,读者姓
12、名,读者电话)书店表(书店编号,联系电话,所在城市编号,城市名称)该系统所涉及的数据存在以下约束:出版社可以出版多种图书,一本图书只能在一个出版社出版,在该系统记录的图书出版信息包括出版时间,版次及出版数量信息。一个书店可以出售多本图书给多个读者,每个读者可以从多个书店购买多本图书,一本图书可以通过多个书店出售给读者,书店把图书出售给读者后会在系统中记录售书日期和售书数量信息每个书店只能位于一个城市,一个城市可以有多个书店。根据以上要求回答下列问题:以图书销售表为例说明原数据库设计的不合理之处。给出该数据库符合 3NF 要求的全部关系模式,并指出关系模型中的全部主码和外码。(分数:5.00)_
13、34.已知关系模式 R= (A, B, C, D, E, F, G)满足函数依赖集 F=AB,BC,AE,BF,C*DG),关系模式 R 的码由哪些属性组成? R 属于第几范式? 将 R 设计成 3NF 关系。(分数:5.00)_35.现有如下两个关系模式:Employees(Eid, Name, DeptNO)Departments (DeptNO, DeptName, TotalNumber)Employees 关系模式描述了职工编号、姓名和所在部门;Departments 关系模式描述了部门编号、名称和职工总数。请按 SQL Server 所采用的 Tansact-SQL 语法格式编写实
14、现如下具有功能的后触发性触发器:每当在Employees 中插入一行数据时,相应部门的职工总数就加 1。(分数:5.00)_数据库工程师-1 答案解析(总分:55.00,做题时间:90 分钟)一、选择题(总题数:30,分数:30.00)1.在面向对象软件开发过程中,采用设计模式的目的是(分数:1.00)A.以减少设计过程中创建的类的个数B.以保证程序的运行速度的达到最优值C.以复用成功的设计和体系结构 D.以运行在非面对对象设计语言中使用面向对象的概念解析:解析 设计模式是对被用来在特定场景下,解决一般设计问题的类和相互通信的对象的描述。每一个设计模式系统的命名、解析和评价面向对象系统中一个重
15、要的和重复出现的设计。设计模式使人们可以更加简单方便地复用成功的设计和体系结构。将已经正式的技术表述成设计模式,也会使信息体的开发者更加容易理解其设计思路。设计模式可以帮助开发者做出有利于复用的选择,避免设计时损害系统复用性。综合以上分析,本试题的正确答案是 C。2.利用散列函数(Hash 函数,也称为哈希函数)支持快速文件访问的文件组织和存取方法的文件结构是(分数:1.00)A.堆文件B.聚集文件C.索引文件D.散列文件 解析:解析 散列文件是一种利用散列函数支持快速文件访问的文件组织和存取方法。3.对于数据文件和它的一个索引文件,如果数据文件中的每个查找码值在索引文件中都对应一个索引记录,
16、则该索引为(分数:1.00)A.聚集索引B.非聚集索引C.稠密索引 D.辅索引解析:解析 对于数据文件和它的以及索引文件,如果数据文件中的每个查找码值在索引文件中都对应一个索引记录,则该索引为稠密索引。4.连接有多种,如内连接、外连接和交叉连接,其中外连接只能对几个表进行(分数:1.00)A.两个 B.三个C.四个D.任意个解析:解析 外连接只能对两个表进行。5.以下哪些不能作为以及基本表建立索引的原则(分数:1.00)A.对于经常需要进行查询、连接、统计操作的基本表可考虑建立索引B.经常执行插入、删除、更新操作的基本表可考虑建立索引 C.对应一个更新不频繁的表D.索引可以由用户根据需要随时创
17、建或删除,以提高数据查询性能解析:解析 可根据下述原则决定是否为一个基本表建立索引:对于经常需要进行查询、连接、统计操作,且数据量大的基本表可考虑建立索引;而对于经常插入、删除、更新操作或小数据量的基本表应尽量避免建立索引。对应一个更新频繁的表应少建立或不建立。索引可以由用户根据需要随时创建或删除,以提高数据查询性能。6.如果子女实体集中的每一个实例都能被唯一的确认而无需了解与之相联系的双亲实体集的实例,则这个关系就被称为(分数:1.00)A.标定型联系B.非标定型联系 C.分类联系D.多对多联系解析:解析 如果子女实体集中的每一个实例都能被唯一的确认而无需了解与之相联系的双亲实体集的实例,则
18、这个关系就被称为非标定型联系。7.有关系 S(S#,SNAME,SEX),C(C#,CNAME),SC (S#,C#)。其中 S#为学号,SNAME 为学生姓名,SEX 为性别,C#为课程号,CNAME 为课程名。要查询选修“计算机”课的全体女学生姓名的 SQL 语句是:SELECT SNAME FROM S,C,SC WHERE(分数:1.00)A.S#=SC. S#ANDSEX=“女”AND CNAME=“计算机”B.S#=SC. S#ANDC. C#=SC. C#AND CNAME=“计算机”C.SEX=“女”AND CNAME=“计算机”D.S#=SC. S#ANDC. C#=SC.
19、C#ANDSEX=“女”AND CNAME=”计算机” 解析:解析 WHERE 子句中用于指定数据的选择条件。要查询选修“计算机”课的全体女生姓名,则必须把所有的查询条件列出来。8.若联系为 m:n,如何确定关系码(分数:1.00)A.每个实体集的码均是该关系的候选码B.关系的码为 n 端实体集的码C.关系的码为 m 端实体集的码D.关系的码为各实体集码的组合 解析:解析 联系为 m:n,关系的码为各实体集码的组合。9.最早提出的数据建模方法是(分数:1.00)A.E-R B.IDEFIXC.DFDD.UML解析:解析 在 1976 年最早提出了数据建模方法,即实体联系模型。(E-R)10.在
20、分布式数据库的数据分配中,全局数据有多个副本,在每个物理场地中都有一个完整的数据副本,这种数据分配的方法属于(分数:1.00)A.集中式B.分割式C.全复制式 D.混合式解析:解析 数据分配方法有集中式、分割式、全复制式和混合式。11.以下数据库的空间分配原则叙述错误的是(分数:1.00)A.在 SQL Server 中,行不能跨页存储B.在 SQL Server 2000 中,数据的存储单位是页C.一行数据的大小也不能超过一个数据页的大小D.一个数据页是一块 16kb 的联系磁盘空间,页是存储数据的最小单位 解析:解析 在考虑数据库的空间分配时,需要了解如下规则:所有数据库都包含一个主数据文
21、件与一个或多个日志文件,此外,还可以包含零个或多个辅助数据文件:在创建用户数据库时,包含系统表model 数据库自动被复制到新建数据库中:在 SQL Server 2000 中,数据的存储单位是页。一个数据页是一块 8kb 的连续磁盘空间,页是存储数据的最小单位:在 SQL Server 中,不允许表中的一行数据存储在不同的页上,即行不能跨页存储,而且一行数据的大小也不能超过一个数据页的大小。12.下面关于视图的描述中,不正确的是(分数:1.00)A.视图是外模式B.视图是虚表C.使用视图可以简化查询语句的编写D.使用视图可以加速查询语句的查询速度 解析:解析 使用视图并不能加快查询语句的执行
22、速度,可以简化查询语句的编写。13.SQL Server 安装程序的创建需要四个系统数据库,下列哪一项不是系统数据库(分数:1.00)A.modelB.masterC.pub D.msdb解析:解析 pub 不属于 SQL Server2000 在安装时创建的系统数据库。SQL Server 建立的系统数据库有master、msdb、model 和 tempdb。14.数据装载具体步骤(分数:1.00)A.筛选数据B.转换数据格式C.输入数据D.校验数据 AabcBabdCbcd 解析:解析 数据装载具体步骤:a 筛选数据 b 转换数据格式 c 输入数据 d 校验数据。15.以下关于 E-R
23、方法语法叙述错误的是(分数:1.00)A.E-R 方法中用矩形框表示实体集,矩形框内写上实体集的名称B.E-R 模型用圆角矩形框表示联系,联系名写在圆角矩形框内 C.实体集的属性可以用椭圆框表示D.实体集的属性可以用圆角矩形表示解析:解析 E-R 模型用菱形框表示联系,联系名写了菱形框内。16.在最终的模型中,任何一个不确定联系必然被转换为(分数:1.00)A.标定型联系B.非标定型联系C.分类联系D.确定联系 解析:解析 在最终的模型中,任何一个不确定联系必然被转换为确定联系。17.以下关于数据库与文件的对应关系叙述错误的是(分数:1.00)A.在外存中,数据库以文件形式组织,文件由逻辑记录
24、组成,记录由多个域组成B.关系表在逻辑上由一系列元组组成,元组由多个属性组成C.每个元组可以用数据库磁盘文件中的一个逻辑记录在存储,记录包括多个域D.元组的每个属性对应于文件记录中的一个记录 解析:解析 元组的每个属性对应于文件记录中的一个域。18.在数据库的非关系模型中,基本层次联系是指(分数:1.00)A.两个记录型之间的一对多联系B.两个记录型之间的多对多联系C.两个记录型以及它们之间的一对多联系 D.两个记录型以及它们之间的多对多联系解析:解析 非关系模型是指层次模型和网状模型,基本层次联系表示一对多的联系,通常将表示 1 的实体称为父节点,把表示 n 的实体称为子节点。在层次结构中,
25、其他节点有且只有一个父节点19.在下列各项中,哪一项不是数据库管理系统应提供的基本功能(分数:1.00)A.数据定义B.数据操纵C.可移植性保证 D.数据库的运行管理及维护解析:解析 数据库管理系统应提供的基本功能包括数据定义、数据操纵和数据库的运行管理、数据库的建立和维护功能。20.在多个事务请求对同一数据加锁时,总是使某一用户等待的情况称为(分数:1.00)A.活锁 B.死锁C.排他锁D.共享锁解析:解析 由于事务集中不断的有其他事务在某一事务之前获得锁,这样该事务有可能永远等待下去,始终无法访问数据项,这种情况称为活锁。21.是 ODBC 驱动程序和 DBMS 连接的名称的是(分数:1.
26、00)A.数据B.数据源 C.数据库D.数据管理解析:解析 数据源名称是 ODBC 驱动程序和 DBMS 连接的命名。22.数据操作包括下列哪几项(分数:1.00)A.操作 B.关于操作的函数C.有关的操作规则D.规则映射E.规则的函数表象 AacBcdeCa解析:解析 数据操作用于描述系统的动态特性,是一组对数据库中各种数据对象允许执行的操作和操作规则是集合。23.根据数据库应用系统生命周期模型,完成数据库关系模式设计的阶段是(分数:1.00)A.需求分析B.概念设计C.逻辑设计 D.物理设计解析:解析 完成数据库关系模式设计的阶段是逻辑阶段。24.数据库设计可分为六个阶段,每个阶段都有自己
27、的设计内容,“为哪些关系,在哪些属性上建立什么样的索引”这一设计内容属于数据库设计的哪个阶段(分数:1.00)A.需求分析阶段B.概念结构设计阶段C.逻辑结构设计阶段D.物理结构设计阶段 解析:解析 物理结构设计是为数据模型在设备上选定合适的存储结构和存取方法,以获得数据库的最佳存取效率。25.数据库管理系统通常提供授权功能在控制不同用户访问数据库的权限,这一功能主要是为了实现数据库的(分数:1.00)A.一致性B.完整性C.安全性 D.可靠性解析:解析 数据库管理系统通常提供建立用户、设置密码、为用户授权来控制不同用户访问数据的范围和权限,这都是处于数据库安全性的考虑。26.根据关系数据库规
28、范化理论,关系数据库的关系要满足 1NF。有关系模式:部门(部门号,部门名,部门成员,部门经理),哪个属性使它不满者 1NF(分数:1.00)A.部门号B.部门名C.部门成员 D.部门经理解析:解析 1NF 要求关系中属性均为单纯域、无重复组和无表中表。27.完整性约束不包括(分数:1.00)A.主码约束B.候选码约束 C.外码约束D.用户自定义完整性解析:解析 静态完整性约束包括主码约束、外码约束和用户自定义完整性。28.不但防止了丢失修改和不读“脏”数据,而且防止了不可重复读的封锁协议是(分数:1.00)A.以及封锁协议B.二级封锁协议C.三级封锁协议 D.四级封锁协议解析:解析 三级封锁
29、协议强调即使事务读完数据 A 之后也不释放 S 锁,从而使别是事务无法更改数据。三级封锁协议不但防止了丢失修改和读“脏”数据,而且防止了不可重复读。29.下列哪一项不属于概念模型所具有的性质(分数:1.00)A.易于变动B.易于交流和理解C.易于向数据模型转换D.在计算机中实现的效率高 解析:解析 概念模型的优点有:概念模型应真实、充分地反映现实世界中事物和事物之间的联系,有丰富的语言表达能力,能表达用户的各种需求,包括描述现实世界中各种对象及其复杂的关系,用户对数据库的处理要求和手段。概念模型简洁、明晰、独立于机器、容易理解。易于变动。很容易向关系、层次和网状等各种数据模型转换。30.索引文
30、件按其查找码指定的顺序与数据文件中的数据记录的排列顺序不一致,则该索引文件称为(分数:1.00)A.稀疏索引B.聚集索引C.稠密索引D.非聚集索引 解析:解析 索引文件按其查找码指定的顺序与数据文件中的数据记录的排列顺序一致,则该索引文件称为聚集索引,否则为非聚集索引。二、简答题(总题数:2,分数:10.00)31.按规范设计的方法将数据库设计分为六个阶段:1需求分析。2概念结构设计。3逻辑结构设计。4数据库物理设计。5数据库实施。6数据库运行和维护。针对关系数据库设计的逻辑结构设计,回答下述问题:逻辑设计的基本任务?逻辑设计过程中,如何将 E-R 模型向关系数据模型转换?关系数据库逻辑设计的
31、步骤和内容?(分数:5.00)_正确答案:(逻辑设计的目的是,从概念模型导出特定的 DBMS 可以处理的数据库的逻辑结构(数据库的模式和外模式),这些模式在功能、性能、完整性和一致性约束及数据库可扩充性等方面均应满足用户提出的要求。E-R 模型向关系数据模型的转换规则是:a一个实体类型转换成一个关系模式,实体的属性就是关系的属性,实体的键就是关系的键。b一个联系类型转换成一个关系模式,参与该联系类型的各实体的键以及联系的属性转换成关系的属性。该关系的键有三种可能情况:若联系为 1:1,则每个实体的键均是该关系的辅键(候选键)。若联系为 1:M ,则关系的键为 M 端实体的键。若联系为
32、N:M,则关系的键为诸实体的键的纽合。关系数据库的逻辑设计的步骤和内容如下:a导出初始关系模式:将 E-R 图按规则转换成关系模式;b规范化处理:消除异常,改善完整性、一致性和存储效率,一般达到 3NF 就行。规范过程实际上就是单一化过程,即一个关系描述一个概念,若多于一个概念的就把它分离出来。c模式评价:目的是检查数据库模式是否满足用户的要求。包括功能评价和性能评价。d优化模式:如疏漏的要新增关系或属性,如性能不好的要采用合并、分解或选用另外结构等。e形成逻辑设计说明书。逻辑设计说明书包括;模式及子模式的集合,应用设计指南,物理设计指南。)解析:32.在 SQL 语言中,有表、基本表( ba
33、setable)和视图(view)。 基本表是实际存储在数据库中的表,而视图则不是实际存储在数据库中的表。试回答以下有关视图问题:SQL 语言中如何理解视图的基本概念?SQL 语言中定义和删除视图的基本命令?SQL 语言中使用视图的优点?(分数:5.00)_正确答案:(在 SQL 语言中,视图是从一个或几个基本表(或视图)中导出的表,它是由若干个基本表或其它视图构成的子集。用户可以用 SQL 语句对视图和基本表进行查询等操作。在用户看来视图和基本表是一样的,都是关系(即表格)。在 SQL 语言中的视图(view)是数据库体系结构中的外模式。SQL 语言中定义视图的命令格式为:CREATE VI
34、EW 视图名(字段名,字段名)AS 查询WITH CHECK OPTION;SQL 语言中删除视图的命令格式为:DROP VIEW 视图名;视图的优点主要有:a视图对于教据库的重构造提供了一定程度的逻辑独立性。数据的逻辑独立性是指数据库重构造时,如数据库扩大(增加了新字段,新关系等),用户和用户程序不会受影响。b简化了用户观点。视图的机制使用户把注意力集中在他所关心的数据上。若这些数据不是直接来自基本表,则可以定义视图,从而使用户眼中的数据结构简单而直接了当,并可大大简化用户的数据查询操作,特别是把若干表连接在一起的视图,把从表到表所需要的连接操作向用户隐蔽了起来。c视图机制使不同的用户能以不
35、同的方式看待同一数据。d视图机制对机密数据提供了自动的安全保护功能。可以把机密数据从公共的数据视图(基本表)中分离出去,即针对不同用户定义不同的视图,在用户视图中不包括机密数据的字段。这样,这类数据便不能经由视图被用户存取,从而自动地提供了对机密数据的保护。)解析:三、设计题(总题数:3,分数:15.00)33.现有某图书数据库,其关系表结构如下:图书表(图书编号,图书名称,出版社编号,出版社名称,出版时间,出版数量,版次)图书销售表(图书编号,销售日期,销售数量,书店编号,读者编号,读者姓名,读者电话)书店表(书店编号,联系电话,所在城市编号,城市名称)该系统所涉及的数据存在以下约束:出版社
36、可以出版多种图书,一本图书只能在一个出版社出版,在该系统记录的图书出版信息包括出版时间,版次及出版数量信息。一个书店可以出售多本图书给多个读者,每个读者可以从多个书店购买多本图书,一本图书可以通过多个书店出售给读者,书店把图书出售给读者后会在系统中记录售书日期和售书数量信息每个书店只能位于一个城市,一个城市可以有多个书店。根据以上要求回答下列问题:以图书销售表为例说明原数据库设计的不合理之处。给出该数据库符合 3NF 要求的全部关系模式,并指出关系模型中的全部主码和外码。(分数:5.00)_正确答案:(图书销售表中,读者信息应该单独新建一张表,否则会造成大量数据冗余。关系模式如下:出版社表(出
37、版社编号,出版社名称)主码:出版社编号出版表(出版社编号,图书编号,出版时间,出版数量,版次)主码(出版社编号,图书编号)图书表(图书编号,图书名称)主码:图书编号书店表(书店编号,联系电话,所在城市编号)主码:所在城市编号城市表(所在城市编号,城市名称)主码:所在城市编号读者表(读者编号,读者姓名,读者电话)主码:读者编号图书销售表(图书编号,读者编号,销售日期,销售数量,书店编号)主码:(图书编号,读者编号)解析:34.已知关系模式 R= (A, B, C, D, E, F, G)满足函数依赖集 F=AB,BC,AE,BF,C*DG),关系模式 R 的码由哪些属性组成? R 属于第几范式?
38、 将 R 设计成 3NF 关系。(分数:5.00)_正确答案:(R 的码是(A,D)R 是 1NF 的关系模式将 R 分解为 3NF 的关系模式如下:R1(D,C,G)主码:(D,C)R2(A,B,E)主码:AR3(B,C,F)主码:B)解析:解析 本题考查的是关系的规范化。35.现有如下两个关系模式:Employees(Eid, Name, DeptNO)Departments (DeptNO, DeptName, TotalNumber)Employees 关系模式描述了职工编号、姓名和所在部门;Departments 关系模式描述了部门编号、名称和职工总数。请按 SQL Server 所
39、采用的 Tansact-SQL 语法格式编写实现如下具有功能的后触发性触发器:每当在Employees 中插入一行数据时,相应部门的职工总数就加 1。(分数:5.00)_正确答案:(Create trigger sql_tri on employees for insert asDeclare eid varchar(11)Declare name varchar(20)Declare deptno varchar(11)Declare yjy cursor forSelect * from insertedOpen yjyFetch next from yjy into eid, name,
40、 deptnoWhile fetch_status=0BeginUpdate departnmentsSet totalnunaber=totalnuber+1Where deptno= deptnoFetch next from yjy into eid, name, deptnoEndClose yjyDeallocate yjy)解析:解析 本题考查了后触发器的 Transact-SQL 语句。其语法格式为:CREATE TKIGGER 触发器名称ON |表名|视图名|WITH ENCRYPTIONASSQL 语句ALTER 和 FOR,指定触发器只有在引发的 SQL 语句中指定的操作都已成功执行,并且所有的约束检查也成功完成后,才执行此触发器,即后触发型触发器。