数据库系统工程师教材配套习题的答案

上传人:ha****u 文档编号:137899819 上传时间:2022-08-19 格式:DOC 页数:24 大小:225.01KB
收藏 版权申诉 举报 下载
数据库系统工程师教材配套习题的答案_第1页
第1页 / 共24页
数据库系统工程师教材配套习题的答案_第2页
第2页 / 共24页
数据库系统工程师教材配套习题的答案_第3页
第3页 / 共24页
资源描述:

《数据库系统工程师教材配套习题的答案》由会员分享,可在线阅读,更多相关《数据库系统工程师教材配套习题的答案(24页珍藏版)》请在装配图网上搜索。

1、习题参考答案习题参考答案第 1 章习题参考答案1.1答案答案(1)信息是现实世界事物的存在方式和运动状态的反映,是对事物之间相互联系、相互作用的描述。(2)数据是描述现实世界事物的符号记录,是用物理符号记录下来的可以识别的信息。(3)数据处理是指对数据进行分类、收集、组织、存储,进而从已有数据出发,抽取或推导出表示新的信息的数据。(4)数据管理是指对数据的分类、收集、组织、编码、存储、检索和维护过程,是数据处理业务的重要环节。(5)数据模型是数据库系统的形式框架,是用来描述数据的一组概念和定义,包括描述数据、数据联系、数据操作、数据语义以及数据一致性的概念工具。(6)概念数据模型是按用户的观点

2、对现实世界数据和信息进行建模的工具,常用的概念数据模型是实体-联系模型。(7)数据结构模型是机器世界中与具体 DBMS 相关的数据模型,其典型代表是关系模型。(8)物理数据模型描述数据在数据库系统中的实际存储组织方式。(9)模式是对数据库中全体数据的逻辑结构和特征的描述,是所有用户的公共数据视图,也称为逻辑模式或概念模式。(10)外模式是对数据库用户能够看见和使用的局部数据的逻辑结构和特征的描述,是与某一应用有关的数据的逻辑表示,也称为子模式、用户模式或用户视图。(12)内模式是对数据库中数据的物理结构和存储方式的描述,也称为物理模式或存储模式。(13)外模式/模式映像是对数据库中不同用户的外

3、模式与数据库逻辑模式之间对应关系的描述。(14)模式/内模式映像是对数据库中数据全局逻辑结构与数据的物理存储组织结构之间对应关系的描述。1.2答案答案数据库是存储在计算机内的共享数据集合,数据库管理系统是一种数据管理系统软件。数据库系统则是在计算机系统中引入数据库后的软硬件系统构成,包括了数据库和数据库管理系统。1.3答案答案数据模型的组成要素有数据结构、数据操作和完整性约束。1.4答案答案当数据库模式发生变化时,通过调整外模式/模式间的映像关系,使得应用程序不必随之修改,从而保证数据与应用程序间的逻辑独立性,简称数据的逻辑独立性。当数据库数据的物理存储结构改变时,通过调整模式/内模式映像关系

4、,保持数据库模式不变,使数据库系统的外模式和应用程序不随之改变,保证数据与应用程序间的物理独立性,简称数据的物理独立性。1.5答案答案DBMS 的主要功能有数据定义、数据操纵、数据库运行管理与控制、数据库建立与维护。1.6答案答案DBMS 包括查询处理器和存储管理器两部分。查询处理器实现面向用户的查询分析处理和优化功能。存储管理器为用户和应用程序提供了访问存储在数据库文件中的应用数据的接口。1.7答案答案近年来出现的数据库新技术有工程数据库、演绎数据库、知识数据库、模糊数据库、时态数据库、统计数据库、空间数据库、多媒体数据库、对象数据库、并行数据库、移动数据库、基于网格的数据管理技术等。第 2

5、 章习题参考答案2.1答案答案(1)软件生命周期是指软件产品从考虑其概念开始,到该产品不再使用的整个时期。一般包括概念阶段、需求阶段、设计阶段、实现阶段、测试阶段、安装部署及交付阶段、运行阶段与维护阶段。(2)数据库应用系统需求是指用户对数据库应用系统在功能、性能、行为、设计约束等方面的期望和要求。2.2答案答案数据库应用系统中的软件包括操作系统、数据库管理系统、中间件和开发工具、与数据访问与处理有关的应用软件、与数据访问与处理无关的应用软件。2.3答案答案(1)参照软件开发瀑布模型原理,DBAS 的生命周期由项目规划、需求分析、系统设计、实现与部署、运行管理与维护等 5 个基本活动组成。(2

6、)将快速原型模型和增量模型的开发思路引入 DBAS 生命周期模型,允许渐进、迭代地开发 DBAS。(3)根据 DBAS 的软件组成和各自功能,细化 DBAS 需求分析和设计阶段,引入了数据组织与存储设计、数据访问与处理设计、应用设计三条设计主线,分别用于设计 DBAS中的数据库、数据库事务和应用程序。(4)将 DBAS 设计阶段细分为概念设计、逻辑设计、物理设计三个步骤,每一步的设计内容又涵盖了三条设计主线。2.4答案答案DBAS 规划与分析的主要工作内容分为系统规划与定义、可行性分析、项目规划三个方面。其中,系统规划与定义是通过了解用户实际需求,明确数据库应用系统需要实现的目标和任务,并从数

7、据管理和数据处理的角度,确定系统中数据库软件的功能、性能范围;可行性分析则包括项目的技术可行性分析、经济可行性分析、操作可行性分析和开发方案选择;项目规划则是对项目资源、成本和进度做出合理估算,并据此制定 DBAS 项目开发计划。2.5答案答案DBAS 需求分析包括数据需求分析、数据处理需求分析、业务需求分析等方面,此外还包括对系统在性能、存储、安全、备份与恢复等方面的要求进行分析。2.6答案答案数据库应用系统的概念设计包括数据库概念模型设计和系统总体设计。数据库概念模型设计是依据数据需求分析结果,分析需要存储在数据库中的各类数据对象的特征及其相互间关联关系,并表示为概念数据模型;系统总体设计

8、则是依据系统规划与分析结果和系统需求分析结果,确定系统软硬件总体框架。2.7答案答案数据库应用系统的逻辑设计包括数据库逻辑结构设计、数据库事务概要设计、应用程序概要设计三方面。数据库逻辑结构设计的主要步骤为:将 E-R 图转换为初始关系模式、对初始关系模式进行优化、检查关系表对数据库事务的支持性、确定关系模式完整性约束、设计基于关系模式的用户视图。2.8答案答案数据库应用系统物理设计包括数据库物理结构设计、数据库事务详细设计和应用程序详细设计。数据库事务详细设计是根据事务处理流程,面向具体 DBMS 平台和开发环境,利用SQL 语句、数据库访问接口,采用高级程序设计语言或 DBMS 提供的事务

9、实现机制,设计数据库事务。2.9答案答案数据库应用系统的系统实现和部署包括建立数据库结构、数据加载、事务和应用程序的编码及测试、系统集成测试与试运行、系统部署等工作内容。2.10答案答案数据库应用系统的运行与维护包括日常维护、系统监控与分析、系统性能优化调整、系统升级进化。第 3 章习题参考答案3.13.1答案答案需求分析阶段的主要任务是通过需求分析的工作把用户对应用系统的非形式化需求不断揭示和挖掘出来,其目的在于明确应用系统的目标、功能、性能、数据范围和相关约束,形成需求说明书,作为系统开发后续各阶段的工作基础。完成需求分析的基本方法是调查分析,即面谈、实地观察、问卷调查及查阅资料。3.23

10、.2答案答案例如,可采用下列过程和步骤完成学校选课系统的需求分析:(1)标识问题标识问题从现行教务系统的业务流程做起,采用面谈、观察等方式理解现行教务系统的业务流程,包括现行教务流程存在的问题及需要改进的方面,通过对系统各类问题的识别和标识获得对待建选课系统功能、性能及运行环境等的全面理解。(2)建立需求模型使用 DFD 等建模方法建立选课系统需求模型,借助模型及抽象方法把选课系统中的各类活动,如学籍管理、课程管理及选课、补退选等功能描述清楚,使得各类人员便于认识、理解系统所实现的功能。(3)描述需求按照需求说明书规格全面地、完整地描述及说明选课系统的功能性需求和非功能性需求。(4)确认需求由

11、相关专家及人员确认和进一步检查选课系统需求的合理性、正确性和有效性,以确保需求分析的结果是全面的、准确的和一致的。3.33.3答案答案(1)不过早陷入具体的细节。(2)从整体或宏观入手分析问题,如业务系统的总体结构,系统及子系统的关系。(3)通过图形化的模型对象直观地表示系统要做什么,完成什么功能。(4)图形化建模方法方便系统分析员理解和描述系统。(5)模型对象不涉及太多技术术语,便于用户理解模型。3.43.4答案答案功能需求主要描述应用信息系统的处理要求。例如,本书应用案例“商场经营管理系统”用了两层数据流图较全面的描述了商场经营管理系统将要完成的功能。图 3.3 第一层数据流图从总体描述了

12、系统的主要功能及完成商场经营管理涉及的信息及信息范围以及目标系统与外部的数据交换关系。图 3.4 第二层数据流图描述了实现商场业务活动需要的基本功能,如库存管理、销售管理、会员管理及查询统计以及完成以上各处理要求需要的输入、输出数据及信息。信息需求主要描述目标系统需要存储和管理哪些数据,这些数据具有什么属性特征和组成格式。商场经营管理系统的数据需求见所列的数据对象。性能需求描述应用系统对性能的要求。例如,商场经营管理系统对响应时间,存储容量,系统的适应性,数据的安全性、数据的完整性、一致性和可靠性等方面的要求。3.63.6答案答案(1)商场经营管理系统 A0 图(2)商场经营管理系统 A0 图

13、会员卡入库单市场信息计算机软件及硬件查询及统计信息商场经营管理系统编号 A-0商品表会员管理销售管理库存管理查询及统计I1会员卡C1会员信息市场信息商品表I3入库单I2出库单M1I1销售明细I3查询及统计信息O1库存信息M1M1父图TOP3.73.7答案答案(1)电子产品租借管理系统第一层数据流图(2)电子产品租借管理系统第二层数据流图第 4 章习题参考答案4.14.1答案答案数据库概念设计包括如下基本步骤:(1)确定实体集(2)确定联系和联系类型(3)建立由信息模型表示的企业模型(4)确定实体集属性(5)对信息模型优化4.24.2答案答案P1客户信息电子产品店员信息租借产品租借产品客户客户供

14、应商商店P1.1确认客户及管理员认证客户借阅需求P1.2信息查询P1.3租借客户D1D3电子产品库存租借记录D4P1.4返还生成租借信息删除租借记录客户借阅清单返还产品P1.5报表生成店经理统计信息(1)实体集与实体集实例如,李明读了两本书,丁一读了 3 本书。根据这个事实可以抽象出一个数据模型“学生读书”。其中“学生”是一个实体集,因为实体集描述具有相同属性特征和性质的事物集合(如学生对象集合);而其中的“李明”、“丁一”是学生实体集中的实例,因为他们都是学生集合中的一个具体对象,实体集实例描述一个集合中客观存在并可以相互区分的事物。(2)属性与属性实例如“学生读书”数据模型中的姓名是学生实

15、体集的一个属性,属性描述实体所具有的某一特征或性质,一个实体通常由多个属性来刻画;而“李明”、“丁一”是姓名属性的实例也是姓名属性的取值。(3)联系与联系基数学生和图书两个实体集之间的关系叫做“联系”,联系描述实体集之间的一种连接或关系;如果实体集学生的一个实例与实体集图书的 2 个、3 个或 N 个实例相联系,就说明在联系的学生端有基数 1,而在联系的图书端有基数 2、3、或 N,联系的基数刻画两个实体集之间联系的类型:1:1 或 1:N 或 M:N。4.3答案答案(1)分类联系在现实世界中,有些事物是其它事物的类。例如,实体集“电冰箱”、“洗衣机”、“彩电”是实体集“电器”的分类实体集。“

16、分类联系”描述两个或多个实体集之间的联系,在这些实体集中,存在一个一般实体集如电器,它的每一个实例都恰好与一个且仅一个分类实体集如“电冰箱”或“洗衣机”或“彩电”的一个实例相联系。通常,一般实体集的每一个实例和与之相关的一个分类实体集实例描述的是现实世界的同一事物,它们具有相同的唯一标识符。(2)不确定联系例如,商场允许一位客户购买多种商品,而同一种商品允许多名客户购买。在实体集“客户”和“商品”之间就存在着不确定的联系。不确定联系又称为“多对多联系”或 M:N 的联系。这种联系关联的两个实体集之间的任一实体集的一个实例都将对应另一个实体集的 1个或多个实例。4.4答案答案(1)教务管理系统

17、ER 图教师课程使用聘用1nn1npqn1班级11教课被管理管理系教课招收n1ER 图实体集属性列表:系实体集属性:系号,系名,系主任,系办公室电话班级实体集:班级名,学生人数学生实体集属性:学号,姓名,性别,出生日期教师实体集属性:教师号,教师名,职称,性别,出生日期,工资课程实体集属性:课程号,课程名,学分,上课时间,课容量教材实体集属性:教材号,教材名,出版社,第一作者(2)教务管理系统 Idef1x 图Idef1x 图实体集属性列表:系/10,属性:系号,系名,系主任,系办公室电话班级/20,属性:班级名,学生人数,系号,教师号教师/30,属性:教师号,教师名,职称,性别,出生日期,工

18、资,系号学生/40,属性:学号,姓名,性别,出生日期,班级名课程/50,属性:课程号,课程名,学分,上课时间,课容量教课/55,属性:教师号,课程号,授课评价教材/60,属性:教材号,教材名,出版社,第一作者,课程号选课/65,属性:学号,课号,成绩4.5答案答案系号(PK)系/10教师号(PK)教师/30班级名(PK)班级/20教材号(PK)教材/60(PK)学号(FK)选课/65课程号(FK)使用管理招收教师号(FK)学生/40学号(PK)教课/55课程号(FK)课程号(FK)教师号(FK)课程号(FK)课程号(PK)课程/50班级名(FK)课程号(FK)系号(FK)系号(FK)聘用被管理

19、电器销售管理系统 ER 图ER 图实体集属性列表:总公司实体集属性:工商注册号,地点,总裁,总公司电话,总公司职工数分店实体集属性:分公司注册号,地点,经理,电话,职工数职工实体集属性:工作证号,姓名,性别,年龄,工资,工种,奖金电器实体集属性:型号,名称,电器指标,生产商,生产日期,进货价格,售出价格第 5 章习题参考答案5.1答案答案关系模型用二维表格结构表示实体及实体间的联系。现实世界中的每个客观对象对应表中的一行叫做一条记录,表中的每个列(属性)描述对象类的某一特征,列的值(属性的取值)刻画和描述客观对象的某一具体的特征。关系数据库是按照二维表格组织和存储的相互关联的关系(表)的集合。

20、关系数据库采用关系模型在计算机中组织、存储、处理和管理数据。5.2答案答案如学号是学生关系(表)的主码,因为这个属性能够唯一识别学生关系中的每一条记录。5.3答案答案主码约束定义指定关系的主码列不能取空值,并且取值要唯一。5.4答案答案如果两个关系R和S,X是R的属性或属性组,且X不是R的码,但X是S的码,则称X是R的外码。5.5答案答案外码约束也叫引用完整性约束,定义外码与主码之间的引用规则,即若关系R含有另一总公司分店职工电器领导聘用储存销售1nmn库存量销售量领导1n1n销售时间个关系S的主码Ks所对应的属性或属性组F(该属性或属性组F称为关系R的外码),则关系R中的每一个元组在属性组F

21、上的值必须满足:或者取空值,或者等于S中某个元组的主码Ks的值。5.7答案答案关系数据库设计理论的基础是函数依赖理论和规范化设计理论。规范化设计理论的主要内容是范式,即关系模式满足的条件,它是数据库逻辑设计的指南。5.8答案答案(1)商场经营管理系统实体集属性列表:供应商实体集属性:供应商编号,名称,地址,邮编,联系人,电话,传真,网址,电子邮箱,开户银行,账户名称,账户账号商品及库存实体集属性:商品类别编号,类别名称,类别描述信息,商品编号,品名,生产日期,单价,库存量,商品描述信息销售员信息实体集属性:销售人员编号,姓名,性别,年龄,身份证,地址,邮编,电话,收银台编号,状态,收银台描述信

22、息顾客信息实体集属性:顾客编号,姓名,性别,年龄,身份证号,地址,邮编,电话会员卡实体集属性:会员卡号,有效起始日期,有效截止日期,积分,状态(2)3NF 关系模式(注,下划属性为主码属性):供应商信息(供应商编号(PK),名称,地址,邮编,联系人,电话,传真,网址,电子邮箱,开户银行,账户名称,账户账号)商品类别(商品类别编号(PK),类别名称,类别描述信息)商品(商品编号(PK),品名,生产日期,单价,库存量,商品描述信息,商品类别编号(FK)采购入库单据(入库单据编号(PK),入库日期,经手人,入库单据描述)采购入库单据明细(入库单据编号(FK),商品编号(FK),进价,数量,供应商编号

23、(FK),购买日期)销售人员(销售人员编号(PK),姓名,性别,年龄,身份证,地址,邮编,电话)收银台(收银台编号(PK),状态,收银台描述信息)会员卡(会员卡号(PK),有效起始日期,有效截止日期,积分,状态)销售单据(销售单编号(PK),会员卡号(FK),本次积分,付款总金额,销售日期,销售人员编号(FK),收银台编号(FK),销售单据描述)销售单据明细(销售单据编号 FK,商品编号 FK,单价,数量,总价,折扣率,折扣总价)商品价格变动表(商品编号(FK),开始日期,结束日期,销售价格,注释)顾客信息(顾客编号(PK),会员卡号(FK),姓名,性别,年龄,身份证号,地址,邮编,电话)5.

24、9答案答案(1)R 的码是(AD)(2)R 是 1NF 的关系模式(3)将 R 分解为 3NF 的关系模式如下:R1(D,C,G)R2(A,B,E)R3(B,C,F)5.10答案答案R1(TIME,TERM,ROOM,CNO)R2(TIME,CNO,TNO)R3(SNO,CNO,SCORE)R4(CNO,CNAME,CREDIT)第 6 章习题参考答案6.1答案答案(1)堆文件是一种数据库文件结构形式。在堆文件中,记录随机地存储在文件物理空间中,新插入的记录存储在文件的末尾。(2)顺序文件是一种数据库文件结构形式。在顺序文件中,记录按照查找码值的升序或降序顺序排列存储。(3)聚集文件是一种数据

25、库文件结构形式。聚集文件具有多种记录类型,存储了来自多个关系表的记录数据,每个关系表对应文件中的一种记录类型。(4)索引技术(Indexing)是一种快速文件访问技术,它将文件记录在某个或某些域(或称为属性)上的取值与该记录的物理地址直接联系起来,提供了一种根据记录域的取值快速访问文件记录的机制。(5)对数据文件和它的一个索引文件,如果数据文件中数据记录的排列顺序与索引文件中索引项的排列顺序相一致,则该索引文件称为聚集索引。否则,该索引文件称为非聚集索引。(6)在数据文件的包含主码的属性集上建立的索引称为主索引。在数据文件的非主属性上建立的索引称为辅索引。(7)如果数据文件中的每个查找码值在索

26、引文件中都对应一个索引记录,则该索引称为稠密索引;如果只是一部分查找码的值有对应的索引记录,则该索引称为稀疏索引。(8)如果一个数据文件按照某个查找码组织为顺序文件,同时又对数据文件建有聚集索引,则该数据文件称为索引顺序文件。6.2答案答案设 3 门课程分别为 DB、OS 和 COM,5 个学生分别为 BAI、DE、GU、HAI 和 YE。如果用户查询主要是根据课程查找选课的学生,则可建立如下图所示的聚集文件。WuLiuYeCOMOSDB86HAIDB92GUOS78DEOS9275YEBAIDBCOMYeDB92YEDB86HAIDBLiuOS9278GUDEOSOSWuCOM75BAICO

27、M(a)COURSE(b)ENROLLMENT(c)聚集文件6.3答案答案有序索引技术利用索引文件实现查找码取值到记录物理地址间的映射关系。索引文件由索引记录组成,每个记录中的索引项记录了某个特定的查找码值和具有该值的数据文件记录的物理地址。当需要访问数据文件中某个数据记录时,先根据查找码值查阅索引文件,找到对应的索引项,然后从索引项中找出数据记录在数据文件中的物理地址 根据这个地址访问数据记录。6.4答案答案散列技术是一种快速文件访问技术,它利用散列函数实现文件记录域取值到记录物理地址间的直接映射关系。当需要访问数据文件中查找码值为 si的某个或某些文件记录时,将si作为散列函数 h 的输入

28、,计算得出的散列函数输出值 h(si)就是文件记录在数据文件中的物理地址。6.5答案答案关系 DBMS 数据字典中的元数据包括:关系模式信息、与视图描述有关的信息、关系的存储结构和存取方法信息、完整性约束、安全性有关的信息、数据库运行统计信息。DBMS 使用数据字典中的元数据完成其相应的存储管理和查询处理功能。DBA 利用数据字典监视 DBMS 使用情况,完成有关系统管理工作。一般用户也可通过数据字典查阅部分数据库结构信息。6.6答案答案数据库物理设计的主要步骤有数据库逻辑模式调整、文件组织与存取设计、数据分布设计、安全模式设计、确定系统配置、物理模式评估。第 7 章习题参考答案7.1答案答案

29、数据库应用系统功能设计包括数据库事务设计和应用程序设计。与数据库应用系统概念设计、逻辑设计、物理设计相对应,应用程序(软件)设计分为总体设计、概要设计和详细设计,数据库事务设计则由事务概要设计和事务详细设计组成。7.2答案答案复杂数据库事务的设计与实现既要遵循应用领域特定的业务逻辑,又依赖于具体数据库系统所提供的事务实现机制。复杂事务的设计可以分解为概要设计和详细设计两个步骤。概要设计注重事务本身的处理流程,暂时先不考虑事务中与 DBMS 平台相关、具体的数据操作方法和事务实现机制,以提高设计结果的适用性。而事务详细设计则从概要设计得出的事务流程出发,设计可在具体 DBMS 平台下实现的特定事

30、务。事务概要设计的核心内容是事务处理逻辑设计。事务概要设计包括了事务名称、事务所访问的关系表及关系属性、事务处理逻辑、事务用户等信息。7.3答案答案软件体系结构是一种可预制、可重构的软件框架结构,它描述了软件系统的总体组织和层次划分、系统元素及其功能分配、全局控制、系统元素间的协调和交互、数据存取等。第 8 章习题参考答案8.1答案答案:02558.2答案答案:年、月、日中间用“/”或者“-”分隔符,日期和时间间空一个空格,时、分、秒之间用“:”隔离。日期和时间数据用单引号括起来。8.3答案答案:分钟。8.4答案答案:p 为数字位个数,q 为小数位个数。8.5答案答案:精确到小数点后 4 位。

31、8.6答案答案Char(10)代表的是普通编码的字符串,最多存放 10 个字符,5 个汉字,固定的占用 10个字节的空间。nchar(10)代表的是统一字符编码的字符串,最多存放 10 个字符,10 个汉字,固定的占用 20 个字节的空间。8.7答案Char(n)代表的是普通字符编码按定长存储的字符串,“n”的含义是字符的个数,固定占用 n 个字节的空间。varchar(n)代表的是普通字符编码按不定长存储的字符串,“n”的含义也是字符的个数,按字符的实际长度占用空间。8.8 答案答案支持两种,一种是系统使用的全局变量,用“”前缀标识。一种是用户使用的普遍变量,用“”前缀标识。8.9答案答案创

32、建 Student 表的 SQL 语句为:CREATE TABLE Student(Sno char(7)primary key,Sname char(10)not null,Ssex char(2)check(Ssex In(男,女),Sage tinyint check(Sage=14),Sdept varchar(20)创建 Course 表的 SQL 语句为:CREATE TABLE Course(Cno char(10)primary key,Cname char(20)not null,Periods smallint check(Periods0),Property char(4

33、)check(Property in(必修,选修)创建 SC 表的 SQL 语句为:CREATE TABLE SC(Sno char(7),Cno char(10),Grade smalldate check(Grade between 0 and 100),Primary key(Sno,Cno),Foreign key(Sno)references Student(Sno),Foreign key(Cno)references Course(Cno)8.10答案答案(1)Alter Table SC add XKLB char(4)(2)Alter Table CourseAlter Co

34、lumn Periods tinyint(3)Alter Table Course Drop Column Property8.11答案答案(1)select sno,sum(grade)总成绩,avg(grade)平均成绩,count(*)选课门数 from scgroup by sno having count(*)2(2)select sno,sum(grade)总成绩 from scgroup by sno having sum(grade)200(3)select sname,sdept from Student join SC on Student.Sno=SC.Snowhere

35、cno=C02(4)select sname,cno,gradefrom student s join sc on s.sno=sc.snowhere grade 80Order by grade desc(5)select sname,ssex,gradefrom student s join sc on s.sno=sc.snojoin course c on o=owhere sdept=计算机系 and ssex=男and cname=数据库基础(6)select s.sno,sname,cno,grade from Student s left join SCon s.Sno=SC.

36、Sno(7)select top 3 s.sno,sname,sdept,gradefrom Student s join SC on s.Sno=SC.Snojoin Course c on c.Cno=SC.Cnowhere cname=数据库基础order by grade desc(8)select t1.sno,t2.sno,ofrom sc as t1 join sc as t2on o=owhere t1.sno(select avg(grade)from sc)(11)select sname,sdept,gradefrom student s join sc on s.sno

37、=sc.snojoin course c on o=owhere grade=(select min(grade)from scwhere cno in(select cno from course where cname=vb)and cname=vb(12)select s.sno 学号,sname 姓名,case sdeptwhen 计算机系 then CSwhen 信息系 then ISwhen 数学系 then MAelse OTHERend as 所在系,grade 成绩from student s join sc on s.sno=sc.snojoin course c on o

38、=owhere cname=vb(13)select o,casewhen count(o)100 then 人多when count(o)between 40 and 100 then 一般when count(o)40 then 较少when count(o)=0 then 无人选end as 选课人数from sc right join course c on o=ogroup by o(14)insert into Course values(C100,Java,32,选修)(15)delete from sc where grade 50(16)(a)用连接查询实现delete fr

39、om sc from sc join student s on s.sno=sc.snowhere sdept=信息系 and grade 50(b)用子查询实现delete from sc where sno in(select sno from student where sdept=信息系)and grade 50(17)update sc set grade=grade+10where cno=c01(18)(a)用子查询实现update sc set grade=grade+10where sno in(select sno from student where sdept=计算机系

40、)and cno in(select cno from course where cname=计算机文化学)(b)用连接实现update sc set grade=grade-10from student s join sc on s.sno=sc.snojoin course c on o=owhere sdept=计算机系 and cname=计算机文化学8.12答案答案:索引的作用是加快数据的查询速度。一般分为聚集索引和非聚集索引两种。8.13答案答案不对,聚集索引也可以不是唯一性索引。反过来,唯一性索引也不一定是聚集索引。8.14答案答案:对。如果是非聚集索引,则系统不调整数据的物理存

41、放顺序。8.15答案答案(1)CREATE INDEX NonCluIdx_Sname on Student(Sname)(2)CREATE UNIQUE CLUSTERED INDEX CluUni_Idx on SC(Sno)8.16答案答案视图的作用包括:封装了复杂的查询语句,使用户能从多角度看到同一数据,提高了数据的安全性以及提供了一定程度的逻辑独立性。8.17答案答案(1)CREATE VIEW V1 ASselect Sno,Sname,Sdept,Cno,Cname,Periodsfrom Student s join SC on s.Sno=SC.Snojoin Course

42、c on c.Cno=SC.Cno(2)CREATE VIEW V2 ASselect Sno as 学号,avg(grade)as 平均成绩group by Sno第 9 章习题参考答案9.1答案答案(1)事务是构成数据库应用中一个独立逻辑工作单元的操作的集合,也是访问并可能更新数据库中各种数据项的一个程序执行单元。(2)定义在多个事务上的调度是这些事务的所有操作的一个执行序列,代表了这些操作的执行顺序。(3)事务 Ti的操作 Ii与事务 Tj的操作 Ij是冲突的,当且仅当 Ii和 Ij访问数据库中同一个数据项 Q,并且 Ii和 Ij中至少有一个是写操作 write(Q)。(4)如果一个并发

43、调度冲突等价于某个串行调度,则称该并发调度是冲突可串行的。(5)死锁是指数据库系统中部分或全部事务由于无法获得对需要访问的数据项的控制权而处于等待状态,并且将一直等待下去的一种系统状态。9.2答案答案原子性指事务对数据库的所有操作是一个不可分割的工作单元。这些操作要么全部执行,要么一个也不执行。一致性指当事务独立执行时,其执行结果应维护数据库的一致性,即数据库不会因事务执行而遭受破坏。事务应使数据库从一个一致性状态转到另外一个一致性状态。隔离性指当多个事务并发执行时,系统应保证一个事务的执行结果不受其它事务的干扰,事务并发执行结果与这些事务串行执行时的结果是一样的。持久性指一个事务一旦成功完成

44、全部操作,则它对数据库的所有更新就永久地反映在数据库中。即使以后系统发生了故障。9.3答案答案1 级加锁协议要求事务 T 在修改数据项 Q 之前必须先对 Q 加 X 锁,直到事务结束才释放该锁。事务结束包括正常结束(commit)和非正常结束(rollback)。但事务如果只是读 Q 而不对其进行修改,是不需要对 Q 加锁的。2级加锁协议是在1级加锁协议基础上,要求事务T在读取数据项Q之前必须先对其加S锁,读完Q后可以立即释放S锁。3 级加锁协议则是在 1 级加锁协议基础上,要求事务 T 在读取数据项 Q 之前必须先对其加 S 锁,但是需要等到事务结束时才释放该 S 锁。9.4答案答案2 阶段

45、锁协议将每个事务的执行过程分为加锁阶段和解锁阶段。在加锁阶段,事务可以申请获得数据项上的任何类型的锁,但不允许释放任何锁。在解锁阶段,事务可以释放任何数据项上的任何类型的锁,但不能再申请任何锁。每个事务开始执行后就进入了加锁阶段。当第一次释放锁后,即转入解锁阶段。9.5答案答案解决死锁主要采用死锁预防和死锁检测与恢复两类方法。死锁预防利用死锁预防协议,通过破坏死锁产生的必要条件来避免系统进入死锁状态,防止死锁发生。死锁检测与恢复则是允许系统进入死锁状态,并且定期检查系统是否发生死锁。当发现系统发生死锁后,采取相应的恢复机制使系统摆脱死锁状态。9.6答案答案活锁产生的原因是在系统非死锁状态下,某

46、些事务由于始终无法获得对所需访问的数据项的控制权而长期等待下去,无法继续执行。9.7答案答案TiTjLock-X(C)read(C)C:=C+1write(C)Lock-X(A)unlock(C)read(A)A:=A*2write(A)unlock(A)Lock-X(A)read(A)A:=A+1write(A)Lock-X(B)read(B)B:=B+1write(B)unlock(A)unlock(B)9.8答案答案并发调度 S9 不等价于串行调度。因为 T1 中的 write(Q)和 T2 中的read(Q)是冲突操作,操作 write(Q)在操作 read(Q)后面执行,无法交换这

47、2 个操作的执行顺序,使 T1 和 T2 依次顺序串行执行。第 10 章习题参考答案10.1答案答案(1)A(2)C(3)C(4)BC(5)ABC(6)D10.2答案答案(1)数据库的试运行(2)管理员手动实现的监控(3)答案有多种组合,可在合理使用索引、避免或简化排序、消除对大型表行数据的顺序存取、避免相关子查询、避免困难的正规表达式、使用临时表加速查询、用排序来取代非顺序磁盘存取、不充分的连接条件、存储过程、不要随意使用游标、事务处理中任选三个作答。第 11 章习题参考答案11.1答案答案(1)C(2)D(3)D(4)C11.2答案答案(1)事务内部的故障、系统故障、介质故障以及计算机病毒

48、故障(2)冗余数据(3)静态转储、动态转储(4)每个事务的开始标记、每个事务的结束标记(5)必须先写日志文件,后写数据库(6)双机互备援模式、双机热备份模式(7)校验冗余第 12 章习题参考答案12.1答案答案四个服务:SQL Server、SQL Server Agent、Distributed Transaction Coordinator(DTC)和 Microsoft Search。SQL Server 负责处理所有来自客户端的 Transact-SQL 语句并管理服务器上构成数据库的所有文件,同时还负责处理存储过程,并将执行结果返回给客户端。SQL Server Agent 管理需要

49、定期进行的工作,它能够根据系统管理员预先设定好的计划自动执行相应的功能。同时它还能对系统管理员设定好的错误等特定事件自动报警,而且还能通过电子邮件等方式把系统存在的各种问题发送给指定的用户。DTC 是一个事务管理器,它能够保证一个事务中的所有操作在所有的服务器上全部成功,或者,当在某个服务器上不成功时,确保所有服务器上的操作均被撤消,使全部服务器均回到事务开始前的状态。Microsoft Search 提供对字符数据进行检索。12.2答案答案四个版本:企业版、标准版、个人版和开发版。企业版和标准版要求安装在服务器版的Windows 操作系统下,个人版和开发版要求只要是 Windows 操作系统

50、即可。12.3答案答案“Windows 身份验证模式”只允许 Windows 用户连接到 SQL Server,而“混合模式”允许 Windows 用户和非 Windows 用户连接到 SQL Server。12.4答案答案:服务管理器。12.5答案答案:启动 SQL Server 服务。12.6答案答案:分为系统数据库和用户数据库。12.7 答案答案master、model、msdb、tempdb。Master 数据库记录了所有的系统级信息。包括登录帐户、系统配置、数据库属性(如数据库文件的位置等)等信息。msdb 提供对自动执行任务的支持。model 是用户数据库的样板数据库,其中包含所有

51、用户数据库的公共信息。tempdb临时数据库,用于存储用户创建的临时表、用户声明的变量以及用户定义的游标数据等。12.8答案答案有数据文件和日志文件。主数据文件的推荐扩展名是“mdf”,辅助数据文件的推荐扩展名是“ndf”,日志文件的推荐扩展名是“ldf”。12.9答案答案:可以包含一个主数据文件和 0n 个辅助数据文件,1n 个日志文件。12.10答案答案包含:逻辑文件名、物理存储位置和文件名、初始大小、增长方式和最大大小限制 5 个属性。12.11答案答案:按数据页存储,一个数据页大小是 8KB。12.12答案答案:按一个数据页能存多少行数据,这些数据需要多少个数据页来估算。160MB。1

52、2.13答案答案:不能小于 model 数据库的大小。12.14答案答案DECLARE i int,res intSET i=1SET res=5000while i 10000 then 0.8when c.Score between 5000 and 10000 then 0.9when c.Score between 1000 and 4999 then 0.95else 1endfrom Table_SaleBillDetail a join Table_SaleBill b on a.SaleBillID=b.SaleBillIDjoin Table_Card c on c.Card

53、ID=b.CardID13.313.3答案答案(1)create function dbo.f1(lb varchar(20),nf int)returns intasbegindeclare sum intselect sum=sum(Quantity)from Table_SaleBillDetail ajoin Table_SaleBill b on a.SaleBillID=b.SaleBillIDjoin Table_Goods c on c.GoodsID=a.GoodsIDjoin Table_GoodsClass d on d.GoodsClassID=c.GoodsClass

54、IDwhere GoodsClassName=lb and year(SaleDate)=nfreturn sumend(2)create function dbo.f2(addr varchar(20)returns intasbegindeclare count intselect count=count(*)from Table_Card ajoin Table_Customer b on a.CardID=b.CardIDwhere address=addr and State=2return countend(3)create function f3(low int,high int

55、)returns tableasreturn(select CName,Address,GoodsName,SaleDate,Quantityfrom Table_Customer a join Table_SaleBill b on a.CardID=b.CardIDjoin Table_SaleBillDetail c on c.SaleBillID=b.SaleBillIDjoin Table_Goods d on d.GoodsID=c.GoodsIDwhereAge between low and high)(4)create function f4(lb varchar(20),n

56、f int)returns tableasreturn(select GoodsName,SaleDate,Quantity,dbo.f1(lb,nf)as totalfrom Table_SaleBill a join Table_SaleBillDetail b on a.SaleBillID=b.SaleBillIDjoin Table_Goods c on c.GoodsID=b.GoodsIDjoin Table_GoodsClass d on d.GoodsClassID=c.GoodsClassIDwhere GoodsClassName=lb and year(SaleDate

57、)=nf)(5)create function f5(lb varchar(20)returns new_table table(商品名称 varchar(30),单价 money,销售日期 datetime,销售数量 int,销售总价 money)asbegininsert into new_tableselect GoodsName,SaleUnitPrice,SaleDate,Quantity,Amountfrom Table_Goods a join Table_SaleBillDetail b on a.GoodsID=b.GoodsIDjoin Table_SaleBill c o

58、n c.SaleBillID=b.SaleBillIDjoin Table_GoodsClass d on d.GoodsClassID=a.GoodsClassIDwhere GoodsClassName=lbreturnend13.413.4答案答案触发器的主要作用是:完成比 CHECK 约束更复杂的数据约束,为保证数据库性能而维护的非规范化数据以及实现复杂的业务规则。13.513.5答案答案插入操作产生的临时工作表叫 Inserted,它保存新插入的数据;删除操作产生的临时工作表叫 Deleted,它保存被删除的数据;修改操作产生两张临时工作表,一个是 Inserted,用于保存更新后的

59、新数据,另一个是 Deleted,用于保存更新前的数据。13.613.6答案答案(1)create trigger tri1on Table_SaleBill for insert,updateasdeclare score intselect score=Score from insertedupdate Table_Card set Score=Score+scorewhere CardID in(select CardID from inserted)(2)create trigger tri2on Table_SaleBillDetail for insert,updateasupda

60、te Table_SaleBill set PayAmount=(select sum(a.DiscountAmount)from Table_SaleBillDetail ajoin inserted b on a.SaleBillID=b.SaleBillID)where SaleBillID in(select SaleBillID from inserted)(3)(a)后触发型触发器:create trigger tri3_1on Table_SaleBillDetail for insert,updateasif exists(select*from inserted where

61、Discount 40)rollback(b)前触发型触发器:create trigger tri3_2on Table_SaleBillDetail instead of insert,updateasif not exists(select*from inserted where Discount 40)insert into Table_SaleBillDetail select*from inserted第 14 章习题参考答案14.114.1答案答案分为对 DBMS 进行维护的权限和对数据库中的对象和数据进行操作的权限两大类。14.214.2答案答案数据库系统管理员、数据库对象拥有者

62、和普通用户。14.314.3答案答案首先必须是服务器的合法用户,然后必须是数据库的合法用户,最后必须具有相应的操作权限。14.414.4答案答案:有 Windows 用户和非 Windows 用户两种。14.514.5答案答案:有对象权限、语句权限和隐含权限三种类型。14.614.6答案答案角色是为了简化安全管理的过程。在 SQL Server 2000 中,角色分为系统预定义的固定角色和用户根据自己的需要定义的用户角色。系统角色又分为固定的服务器角色和固定的数据库角色两种。14.714.7答案答案用户定义的角色主要是为了权限管理的烦琐,有了角色,就不用直接针对每个具体的数据库用户来管理权限,

63、而只需将数据库用户放置到合适的角色中即可。14.814.8答案答案:SysAdmin。14.914.9答案答案:db_owner14.1014.10答案答案public 角色是一个特殊的数据库角色,首先,数据库中的每个用户都自动地是 public 角色的成员。其次,用户可以对这个角色进行授权。14.11答案答案如果想让数据库中的全体用户都具有某个特定的权限,这时应将该权限授予 public。14.12答案答案:grant insert,delete on course to u114.13答案答案:revoke delete on course from u114.14答案答案:deny up

64、date on course to u1第 15 章习题参考答案15.115.1答案答案完全备份是备份数据库中的全部信息,差异备份是备份从最近的完全备份之后对数据所作的修改部分,事务日志备份是备份从上次备份之后的日志记录。15.2答案分为永久备份设备和临时备份设备两种。永久备份设备必须先创建,然后再使用它备份数据库。而临时备份设备是在备份数据库时直接指定的备份文件。15.315.3答答案:可以。15.515.5答案答案:要求不能是简单还原模型。15.615.6答案答案:完全备份。15.715.7答案答案:不要求。15.815.8答案答案:备份过程中允许,但还原的时候不允许。15.915.9答案

65、答案:会。15.1015.10答案答案先恢复最近的完全数据库备份,然后恢复完全备份之后的最近的差异数据库备份(如果有的话),最后再按日志备份的先后顺序恢复自最近的完全或差异数据库备份之后的所有日志备份。第 16 章习题参考答案16.116.1答案答案面向对象的可视化程序设计工具,事件驱动的编程机制,开放的数据库访问功能以及充分利用 Windows 资源。16.216.2答答案:完全安装 147MB,典型安装 120MB。16.316.3答案答案:至少包含两个文件:一个窗体文件和一个工程文件。16.416.4答案答案:窗体文件的扩展名为.frm。16.516.5答案答案:工程文件的扩展名为.vb

66、p。16.616.6答案答案设计模式是进行用户界面的设计及代码的编写的状态,运行模式是运行应用程序的状态。16.9答案答案数据绑定控件的作用是将结果集中的数据在界面上显示出来。凡是具有 DataSource 属性的控件都是数据绑定控件。16.10答案答案:主要通过 DataSource 属性和 DataField 属性。16.11答案答案:目前常用的有 ODBC、OLE DB 和 JDBC。16.12 答案答案:ODBC 只能访问关系型数据库,而 OLE DB 可以访问关系和非关系型甚至是无结构的数据。第 17 章习题参考答案17.1答案答案需设置ConnectionString属性、CommandType属性和RecordSource属性。ConnectionString属性用于建立与数据源的连接,CommandType 属性用于指明命令的类型,RecordSource 属性用于设置 ADO 结果集的内容。17.2答案答案:Refresh 方法。17.3答案答案BOF 用于判断结果集中记录的当前行指针是否移到了第一条记录的前边,EOF 用于判断结果集中记录的当前行指针是否移到了最后一

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!