四级数据库工程师课后习题参考答案第1章习题参考答案1.1答案(1)信息是现实世界事物的存在方式和运动状态的反映,是对事物之间相互联系、相互作用的描述。(2)数据是描述现实世界事物的符号记录,是用物理符号记录下来的可以识别的信息。(3)数据处理是指对数据进行分类、收集、组织、存储,进而从已有数据出发,抽取或推导出表示新的信息的数据。(4)数据管理是指对数据的分类、收集、组织、编码、存储、检索和维护过程,是数据处理业务的重要环节。(5)数据模型是数据库系统的形式框架,是用来描述数据的一组概念和定义,包括描述数据、数据联系、数据操作、数据语义以及数据一致性的概念工具。(6)概念数据模型是按用户的观点对现实世界数据和信息进行建模的工具,常用的概念数据模型是实体-联系模型。(7)数据结构模型是机器世界中与具体DBMS相关的数据模型,其典型代表是关系模型。(8)物理数据模型描述数据在数据库系统中的实际存储组织方式。(9)模式是对数据库中全体数据的逻辑结构和特征的描述,是所有用户的公共数据视图,也称为逻辑模式或概念模式。(10)外模式是对数据库用户能够看见和使用的局部数据的逻辑结构和特征的描述,是与某一应用有关的数据的逻辑表示,也称为子模式、用户模式或用户视图。(12)内模式是对数据库中数据的物理结构和存储方式的描述,也称为物理模式或存储模式。(13)外模式/模式映像是对数据库中不同用户的外模式与数据库逻辑模式之间对应关系的描述。(14)模式/内模式映像是对数据库中数据全局逻辑结构与数据的物理存储组织结构之间对应关系的描述。1.2答案数据库是存储在计算机内的共享数据集合,数据库管理系统是一种数据管理系统软件。数据库系统则是在计算机系统中引入数据库后的软硬件系统构成,包括了数据库和数据库管理系统。1.3答案数据模型的组成要素有数据结构、数据操作和完整性约束。1.4答案当数据库模式发生变化时,通过调整外模式/模式间的映像关系,使得应用程序不必随之修改,从而保证数据与应用程序间的逻辑独立性,简称数据的逻辑独立性。当数据库数据的物理存储结构改变时,通过调整模式/内模式映像关系,保持数据库模式不变,使数据库系统的外模式和应用程序不随之改变,保证数据与应用程序间的物理独立性,简称数据的物理独立性。1.5答案DBMS的主要功能有数据定义、数据操纵、数据库运行管理与控制、数据库建立与维护。1.6答案DBMS包括查询处理器和存储管理器两部分。查询处理器实现面向用户的查询分析处理和优化功能。存储管理器为用户和应用程序提供了访问存储在数据库文件中的应用数据的接口。1.7答案近年来出现的数据库新技术有工程数据库、演绎数据库、知识数据库、模糊数据库、时态数据库、统计数据库、空间数据库、多媒体数据库、对象数据库、并行数据库、移动数据库、基于网格的数据管理技术等。第2章习题参考答案2.1答案(1)软件生命周期是指软件产品从考虑其概念开始,到该产品不再使用的整个时期。一般包括概念阶段、需求阶段、设计阶段、实现阶段、测试阶段、安装部署及交付阶段、运行阶段与维护阶段。(2)数据库应用系统需求是指用户对数据库应用系统在功能、性能、行为、设计约束等方面的期望和要求。2.2答案数据库应用系统中的软件包括操作系统、数据库管理系统、中间件和开发工具、与数据访问与处理有关的应用软件、与数据访问与处理无关的应用软件。2.3答案(1)参照软件开发瀑布模型原理,DBAS的生命周期由项目规划、需求分析、系统设计、实现与部署、运行管理与维护等5个基本活动组成。(2)将快速原型模型和增量模型的开发思路引入DBAS生命周期模型,允许渐进、迭代地开发DBAS。(3)根据DBAS的软件组成和各自功能,细化DBAS需求分析和设计阶段,引入了数据组织与存储设计、数据访问与处理设计、应用设计三条设计主线,分别用于设计DBAS中的数据库、数据库事务和应用程序。(4)将DBAS设计阶段细分为概念设计、逻辑设计、物理设计三个步骤,每一步的设计内容又涵盖了三条设计主线。2.4答案DBAS规划与分析的主要工作内容分为系统规划与定义、可行性分析、项目规划三个方面。其中,系统规划与定义是通过了解用户实际需求,明确数据库应用系统需要实现的目标和任务,并从数据管理和数据处理的角度,确定系统中数据库软件的功能、性能范围;可行性分析则包括项目的技术可行性分析、经济可行性分析、操作可行性分析和开发方案选择;项目规划则是对项目资源、成本和进度做出合理估算,并据此制定DBAS项目开发计划。2.5答案DBAS需求分析包括数据需求分析、数据处理需求分析、业务需求分析等方面,此外还包括对系统在性能、存储、安全、备份与恢复等方面的要求进行分析。2.6答案数据库应用系统的概念设计包括数据库概念模型设计和系统总体设计。数据库概念模型设计是依据数据需求分析结果,分析需要存储在数据库中的各类数据对象的特征及其相互间关联关系,并表示为概念数据模型;系统总体设计则是依据系统规划与分析结果和系统需求分析结果,确定系统软硬件总体框架。2.7答案数据库应用系统的逻辑设计包括数据库逻辑结构设计、数据库事务概要设计、应用程序概要设计三方面。数据库逻辑结构设计的主要步骤为:将E-R图转换为初始关系模式、对初始关系模式进行优化、检查关系表对数据库事务的支持性、确定关系模式完整性约束、设计基于关系模式的用户视图。2.8答案数据库应用系统物理设计包括数据库物理结构设计、数据库事务详细设计和应用程序详细设计。数据库事务详细设计是根据事务处理流程,面向具体DBMS平台和开发环境,利用SQL语句、数据库访问接口,采用高级程序设计语言或DBMS提供的事务实现机制,设计数据库事务。2.9答案数据库应用系统的系统实现和部署包括建立数据库结构、数据加载、事务和应用程序的编码及测试、系统集成测试与试运行、系统部署等工作内容。2.10答案数据库应用系统的运行与维护包括日常维护、系统监控与分析、系统性能优化调整、系统升级进化。第3章习题参考答案3.1答案需求分析阶段的主要任务是通过需求分析的工作把用户对应用系统的非形式化需求不断揭示和挖掘出来,其目的在于明确应用系统的目标、功能、性能、数据范围和相关约束,形成需求说明书,作为系统开发后续各阶段的工作基础。完成需求分析的基本方法是调查分析,即面谈、实地观察、问卷调查及查阅资料。3.2答案例如,可采用下列过程和步骤完成学校选课系统的需求分析:(1)标识问题标识问题从现行教务系统的业务流程做起,采用面谈、观察等方式理解现行教务系统的业务流程,包括现行教务流程存在的问题及需要改进的方面,通过对系统各类问题的识别和标识获得对待建选课系统功能、性能及运行环境等的全面理解。(2)建立需求模型使用DFD等建模方法建立选课系统需求模型,借助模型及抽象方法把选课系统中的各类活动,如学籍管理、课程管理及选课、补退选等功能描述清楚,使得各类人员便于认识、理解系统所实现的功能。(3)描述需求按照需求说明书规格全面地、完整地描述及说明选课系统的功能性需求和非功能性需求。(4)确认需求由相关专家及人员确认和进一步检查选课系统需求的合理性、正确性和有效性,以确保需求分析的结果是全面的、准确的和一致的。3.3答案(1)不过早陷入具体的细节。(2)从整体或宏观入手分析问题,如业务系统的总体结构,系统及子系统的关系。(3)通过图形化的模型对象直观地表示系统要做什么,完成什么功能。(4)图形化建模方法方便系统分析员理解和描述系统。(5)模型对象不涉及太多技术术语,便于用户理解模型。3.4答案功能需求主要描述应用信息系统的处理要求。例如,本书应用案例“商场经营管理系统”用了两层数据流图较全面的描述了商场经营管理系统将要完成的功能。图3.3第一层数据流图从总体描述了系统的主要功能及完成商场经营管理涉及的信息及信息范围以及目标系统与外部的数据交换关系。图3.4第二层数据流图描述了实现商场业务活动需要的基本功能,如库存管理、销售管理、会员管理及查询统计以及完成以上各处理要求需要的输入、输出数据及信息。信息需求主要描述目标系统需要存储和管理哪些数据,这些数据具有什么属性特征和组成格式。商场经营管理系统的数据需求见2.7.2所列的数据对象。性能需求描述应用系统对性能的要求。例如,商场经营管理系统对响应时间,存储容量,系统的适应性,数据的安全性、数据的完整性、一致性和可靠性等方面的要求。3.6答案(1)商场经营管理系统A-0图(2)商场经营管理系统A0图会员卡入库单市场信息计算机软件及硬件查询及统计信息商场经营管理系统编号A-0商品表会员管理销售管理库存管理查询及统计I1会员卡C1会员信息会员信息市场信息商品表I3入库单I2出库单M1I1销售明细I3查询及统计信息O1库存信息M1M1M1编号A0父图TOP3.7答案(1)电子产品租借管理系统第一层数据流图(2)电子产品租借管理系统第二层数据流图第4章习题参考答案4.1答案数据库概念设计包括如下基本步骤:(1)确定实体集(2)确定联系和联系类型(3)建立由信息模型表示的企业模型(4)确定实体集属性(5)对信息模型优化4.2答案(1)实体集与实体集实例如,李明读了两本书,丁一读了3本书。根据这个事实可以抽象出一个数据模型“学生读书”。其中“学生”是一个实体集,因为实体集描述具有相同属性特征和性质的事物集合(如学生对象集合);而其中的“李明”、“丁一”是学生实体集中的实例,因为他们都是学生集合中的一个具体对象,实体集实例描述一个集合中客观存在并可以相互区分的事物。P1客户信息电子产品店员信息租借产品租借产品客户客户供应商商店P1.1确认客户及管理员认证客户借阅需求P1.2信息查询P1.3租借客户D1D3电子产品库存租借记录D4P1.4返还生成租借信息删除租借记录客户借阅清单返还产品P1.5报表生成店经理统计信息(2)属性与属性实例如“学生读书”数据模型中的姓名是学生实体集的一个属性,属性描述实体所具有的某一特征或性质,一个实体通常由多个属性来刻画;而“李明”、“丁一”是姓名属性的实例也是姓名属性的取值。(3)联系与联系基数学生和图书两个实体集之间的关系叫做“联系”,联系描述实体集之间的一种连接或关系;如果实体集学生的一个实例与实体集图书的2个、3个或N个实例相联系,就说明在联系的学生端有基数1,而在联系的图书端有基数2、3、或N,联系的基数刻画两个实体集之间联系的类型:1:1或1:N或M:N。4.3答案(1)分类联系在现实世界中,有些事物是其它事物的类。例如,实体集“电冰箱”、“洗衣机”、“彩电”是实体集“电器”的分类实体集。“分类联系”描述两个或多个实体集之间的联系,在这些实体集中,存在一个一般实体集如电器,它的每一个实例都恰好与一个且仅一个分类实体集如“电冰箱”或“洗衣机”或“彩电”的一个实例相联系。通常,一般实体集的每一个实例和与之相关的一个分类实体集实例描述的是现实世界的同一事物,它们具有相同的唯一标识符。(2)不确定联系例如,商场允许一位客户购买多种商品,而同一种商品允许多名客户购买。在实体集“客户”和“商品”之间就存在着不确定的联系。不确定联系又称为“多对多联系”或M:N的联系。这种联系关联的两个实体集之间的任一实体集的一个实例都将对应另一个实体集的1个或多个实例。4.4答案(1)教务管理系统ER图学生学生教师教材课程使用聘用1nn1nmpqn1成绩班级11教课被管理管理系教课招收n1ER图实体集属性列表:系实体集属性:系号,系名,系主任,系办公室电话班级实体集:班级名,学生人数学生实体集属性:学号,姓名,性别,出生日期教师实体集属性:教师号,教师名,职称,性别,出生日期,工资课程实体集属性:课程号,课程名,学分,上课时间,课容量教材实体集属性:教材号,教材名,出版社,第一作者(2)教务管理系统Idef1x图Idef1x图实体集属性列表:系/10,属性:系号,系名,系主任,系办公室电话班级/20,属性:班级名,学生人数,系号,教师号教师/30,属性:教师号,教师名,职称,性别,出生日期,工资,系号学生/40,属性:学号,姓名,