数据库原理复习练习题含答案(4)
数据库原理复习练习题含答案 第10章 数据库设计 1.试说明数据库设计的特点。 答:综合性、结构设计和行为设计相分离。 2. 简述数据库的设计过程。 答:设计分为如下几个阶段。 l 需求分析。 l 结构设计,包括概念结构设计、逻辑结构设计和物理结构设计。 l 行为设计,包括功能设计、事务设计和程序设计。 l 数据库实施,包括加载数据库数据和调试运行应用程序。 l 数据库运行和维护阶段。 3. 数据库结构设计包含哪几个过程? 答:包括概念结构设计、逻辑结构设计和物理结构设计。 4. 需求分析中发现事实的方法有哪些? 答:检查文档、面谈、观察操作中的业务、研究和问卷调查等。 5. 概念结构应该具有哪些特点? 答: · 有丰富的语义表达能力。能表达用户的各种需求,包括描述现实世界中各种事物和事物与事物之间的联系,能满足用户对数据的处理需求。 · 易于交流和理解。概念结构是数据库设计人员和用户之间的主要交流工具,因此必须能通过概念模型和不熟悉计算机的用户交换意见,用户的积极参与是数据库成功的关键。 · 易于更改。当应用环境和应用要求发生变化时,能方便地对概念结构进行修改,以反映这些变化。 · 易于向各种数据模型转换,易于导出与DBMS有关的逻辑模型。 6. 概念结构设计的策略是什么? 答:概念结构设计的策略主要有如下几种: · 自底向上。先定义每个局部应用的概念结构,然后按一定的规则把它们集成起来,从而得到全局概念结构。 · 自顶向下。先定义全局概念结构,然后再逐步细化。 · 由里向外。先定义最重要的核心结构,然后再逐步向外扩展。 · 混合策略。将自顶向下和自底向上方法结合起来使用。先用自顶向下设计一个概念结构的框架,然后以它为框架再用自底向上策略设计局部概念结构,最后把它们集成起来。 7. 什么是数据库的逻辑结构设计?简述其设计步骤。 答:逻辑结构设计的任务是把在概念结构设计中设计的基本E-R模型转换为具体的数据库管理系统支持的组织层数据模型,也就是导出特定的DBMS可以处理的数据库逻辑结构(数据库的模式和外模式),这些模式在功能、性能、完整性和一致性约束方面满足应用要求。 逻辑结构设计一般包含两个步骤: l 将概念结构转换为某种组织层数据模型。 l 对组织层数据模型进行优化。 8. 把E-R模型转换为关系模式的转换规则有哪些? 答:转换的一般规则如下: 一个实体转换为一个关系模式。实体的属性就是关系的属性,实体的码就是关系的主键(主码)。 对于实体间的联系有以下不同的情况: (1)1∶1联系可以与任意一端实体所对应的关系模式合并,合并时只需在被合并的关系模式的属性中加入另一个实体的码和联系本身的属性。 (2)1∶n联系可以与n端所对应的关系模式合并,合并时只需在n端的关系模式中加入1端实体的码以及联系本身的属性。 (3)m∶n联系应该转换为一个独立的关系模式。与该联系相连的各实体的码以及联系本身的属性均转换为联系所对应关系模式的属性,且该关系模式的主键包含各实体的码。 (4)三个或三个以上实体间的一个多元联系应该转换为一个关系模式。与该多元联系相连的各实体的码以及联系本身的属性均转换为联系所对应的关系模式的属性,而此关系模式的主键包含各实体的码。 (5)具有相同主键的关系模式可以合并。 9. 数据模型的优化包含哪些方法? 答:(1)确定各属性间的函数依赖关系。根据需求分析阶段得出的语义,分别写出每个关系模式的各属性之间的函数依赖以及不同关系模式中各属性之间的数据依赖关系。 (2)对各个关系模式之间的数据依赖进行极小化处理,消除冗余的联系。 (3)判断每个关系模式的范式,根据实际需要确定最合适的范式。 (4)根据需求分析阶段得到的处理要求,分析这些模式对于这样的应用环境是否合适,确定是否要对某些模式进行分解或合并。 10.将下列给定的E-R图转换为符合3NF的关系模式,并指出每个关系模式的主键和外键。 (1)图10-15所示为描述图书、读者以及读者借阅图书的E-R图。 图10-15 图书借阅E-R图 答: 图书(书号,书名,出版日期,作者名) 读者(读者号,读者名,联系电话,所在单位) 借阅(书号,读者号,借书日期,还书日期),书号为引用图书关系模式的外码,读者号为引用读者关系模式的外码。 (2)图10-16所示为描述商店从生产厂家订购商品的E-R图。 图10-16 商品订购E-R图 答: 商店(商店编号,商店名,联系电话)∈3NF 商品(商品编号,商品名称,库存量,商品分类)∈3NF 厂家(厂家编号,联系地址,联系电话)∈3NF 订购(商店编号,厂家编号,商品编号,订购日期,订购数量),商店编号为引用商店关系模式的外码,厂家编号为引用厂家关系模式的外码,商品编号为引用商品关系模式的外码。 (3)图10-17为描述学生参加学校社团的E-R图。 图10-17 学生参加社团E-R图 答:下列各关系模式中用下划线标识主码。 社团(社团号,社团名,电话,性质)∈3NF 学生(学号,姓名,性别,专业,社团号,参加日期),社团号为引用社团的外码。∈3NF 10. 根据下列描述,画出相应的E-R图,并将E-R图转换为满足3NF的关系模式,指明每个关系模式的主键和外键。现要实现一个顾客购物系统,需求描述如下:一个顾客可去多个商店购物,一个商店可有多名顾客购物;每个顾客一次可购买多种商品,但对同一种商品不能同时购买多次,但在不同时间可购买多次;每种商品可销售给不同的顾客。对顾客的每次购物都需要记录其购物的商店、购买商品的数量和购买日期。需要记录的“商店”信息包括:商店编号、商店名、地址、联系电话;需要记录的顾客信息包括:顾客号、姓名、住址、身份证号、性别。需要记录的商品信息包括:商品号、商品名、进货价格、进货日期、销售价格。 答: 第11章 存储过程和触发器 习题 1. 存储过程的作用是什么?为什么利用存储过程可以提高数据的操作效率? 答:(1)允许模块化程序设计 (2)改善性能 (3)减少网络流量 (4)可作为安全机制使用 因为系统对存储过程是预编译的。 2. 在定义存储过程的语句中是否可以包含数据的增、删、改语句? 答:可以。 3. 用户和存储过程之间如何传递数据? 答:可通过输入、输出参数。或者 4. 存储过程的参数有几种形式? 答:有输入和输出两种。 5. 触发器的作用是什么? 前触发和后触发的主要区别是什么? 答:实现复杂的处理逻辑和商业规则,增强了数据完整性约束的功能。 前触发器是在引发触发器执行的操作之前先执行触发器;后触发器是在引发触发器执行的操作执行完后再执行触发器。 6. 插入操作产生的临时工作表叫什么?它存放的是什么数据? 答:inserted,存放新插入的数据。 7. 删除操作产生的临时工作表叫什么?它存放的是什么数据? 答:deleted,存放被删除的数据。 8. 更改操作产生的两个临时工作表叫什么?其结构分别是什么,它们分别