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 章习题参考答案2.1 答案(1)软件生命周期是指
5、软件产品从考虑其概念开始,到该产品不再使用的整个时期。一般包括概念阶段、需求阶段、设计阶段、实现阶段、测试阶段、安装部署及交付阶段、运行阶段与维护阶段。(2)数据库应用系统需求是指用户对数据库应用系统在功能、性能、行为、设计约束等方面的期望和要求。2.2 答案数据库应用系统中的软件包括操作系统、数据库管理系统、中间件和开发工具、与数据访问与处理有关的应用软件、与数据访问与处理无关的应用软件。2.3 答案(1)参照软件开发瀑布模型原理,DBAS 的生命周期由项目规划、 需求分析、系统设计、实现与部署、运行管理与维护等 5 个基本活动组成。(2)将快速原型模型和增量模型的开发思路引入 DBAS 生
6、命周期模型,允许渐进、迭代地开发 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 提供的事务实现机制,设计数据库事务。2.9 答案数据库应用系统的系统实
9、现和部署包括建立数据库结构、数据加载、事务和应用程序的编码及测试、系统集成测试与试运行、系统部署等工作内容。2.10 答案数据库应用系统的运行与维护包括日常维护、系统监控与分析、系统性能优化调整、系统升级进化。第 3 章习题参考答案3.1 答案需求分析阶段的主要任务是通过需求分析的工作把用户对应用系统的非形式化需求不断揭示和挖掘出来,其目的在于明确应用系统的目标、功能、性能、数据范围和相关约束,形成需求说明书,作为系统开发后续各阶段的工作基础。完成需求分析的基本方法是调查分析,即面谈、实地观察、问卷调查及查阅资料。3.2 答案例如,可采用下列过程和步骤完成学校选课系统的需求分析:(1)标识问题
10、标识问题从现行教务系统的业务流程做起,采用面谈、观察等方式理解现行教务系统的业务流程,包括现行教务流程存在的问题及需要改进的方面,通过对系统各类问题的识别和标识获得对待建选课系统功能、性能及运行环境等的全面理解。(2)建立需求模型使用 DFD 等建模方法建立选课系统需求模型,借助模型及抽象方法把选课系统中的各类活动,如学籍管理、课程管理及选课、补退选等功能描述清楚,使得各类人员便于认识、理解系统所实现的功能。(3)描述需求按照需求说明书规格全面地、完整地描述及说明选课系统的功能性需求和非功能性需求。(4)确认需求由相关专家及人员确认和进一步检查选课系统需求的合理性、正确性和有效性,以确保需求分
11、析的结果是全面的、准确的和一致的。3.3 答案(1)不过早陷入具体的细节。(2)从整体或宏观入手分析问题,如业务系统的总体结构,系统及子系统的关系。(3)通过图形化的模型对象直观地表示系统要做什么,完成什么功能。(4)图形化建模方法方便系统分析员理解和描述系统。(5)模型对象不涉及太多技术术语,便于用户理解模型。3.4 答案功能需求主要描述应用信息系统的处理要求。例如,本书应用案例“商场经营管理系统”用了两层数据流图较全面的描述了商场经营管理系统将要完成的功能。图 3.3 第一层数据流图从总体描述了系统的主要功能及完成商场经营管理涉及的信息及信息范围以及目标系统与外部的数据交换关系。图 3.4
12、 第二层数据流图描述了实现商场业务活动需要的基本功能,如库存管理、销售管理、会员管理及查询统计以及完成以上各处理要求需要的输入、输出数据及信息。信息需求主要描述目标系统需要存储和管理哪些数据,这些数据具有什么属性特征和组成格式。商场经营管理系统的数据需求见 2.7.2 所列的数据对象。性能需求描述应用系统对性能的要求。例如,商场经营管理系统对响应时间,存储容量,系统的适应性,数据的安全性、数据的完整性、一致性和可靠性等方面的要求。3.6 答案(1)商场经营管理系统 A0 图(2) 商场经营管理系统 A0 图3.7 答案会员卡入库单市场信息计算机软件及硬件查询及统计信息商场经营管理系统编号 A-
13、0商品表会员管理销售管理库存管理查询及统计I1 会员卡C1会员信息会员信息市场信息商品表I3入库单I2出库单M1I1销售明细I3查询及统计信息 O1库存信息M1M1M1编号 A0父图 TOP (1)电子产品租借管理系统第一层数据流图(2)电子产品租借管理系统第二层数据流图第 4 章习题参考答案4.1 答案数 据 库 概 念 设 计 包 括 如 下 基 本 步 骤 :( 1) 确 定 实 体 集( 2) 确 定 联 系 和 联 系 类 型( 3) 建 立 由 信 息 模 型 表 示 的 企 业 模 型( 4) 确 定 实 体 集 属 性( 5) 对 信 息 模 型 优 化4.2 答案(1)实体集
14、与实体集实例如,李明读了两本书,丁一读了 3 本书。根据这个事实可以抽象出一个数据模型“学生读书” 。其中“学生”是一个实体集,因为实体集描述具有相同属性特征和性质的事物集合(如学生对象集合) ;而其中的“李明” 、 “丁一”是学生实体集中的实例,因为他们都是学生集合中的一个具体对象,实体集实例描述一个集合中客观存在并可以相互区分的事物。(2)属性与属性实例如“学生读书”数据模型中的姓名是学生实体集的一个属性,属性描述实体所具有的某一特征或性质,一个实体通常由多个属性来刻画;而“李明” 、 “丁一”是姓名属性的实例也是姓名属性的取值。P1 客户信息电子产品店员信息租借产品租借产品 客户客户供应
15、商商店P1.1确认客户及管理员认证客户 借阅需求P1.2信息查询P1.3租借客户D1D3 电子产品库存租借记录D4P1.4返还生成租借信息 删除租借记录客户借阅清单返还产品P1.5报表生成 店经理统计信息(3)联系与联系基数学生和图书两个实体集之间的关系叫做“联系” ,联系描述实体集之间的一种连接或关系;如果实体集学生的一个实例与实体集图书的 2 个、3 个或 N 个实例相联系, 就说明在联系的学生端有基数 1,而在联系的图书端有基数 2、3、或N, 联系的基数刻画两个实体集之间联系的类型:1:1 或 1:N 或 M:N。4.3 答案(1)分类联系在现实世界中,有些事物是其它事物的类。例如,实
16、体集 “电冰箱” 、 “洗衣机” 、 “彩电”是实体集“电器”的分类实体集。 “分类联系”描述两个或多个实体集之间的联系,在这些实体集中,存在一个一般实体集如电器,它的每一个实例都恰好与一个且仅一个分类实体集如“电冰箱”或“洗衣机”或“彩电”的一个实例相联系。通常,一般实体集的每一个实例和与之相关的一个分类实体集实例描述的是现实世界的同一事物,它们具有相同的唯一标识符。(2)不确定联系例如,商场允许一位客户购买多种商品,而同一种商品允许多名客户购买。在实体集“客户”和“商品”之间就存在着不确定的联系。不确定联系又称为“多对多联系”或 M:N 的联系。这种联系关联的两个实体集之间的任一实体集的一
17、个实例都将对应另一个实体集的 1 个或多个实例。4.4 答案(1)教务管理系统 ER 图ER 图实体集属性列表:系实体集属性:系号,系名,系主任,系办公室电话 班级实体集:班级名,学生人数学生实体集属性:学号,姓名,性别,出生日期 教师实体集属性:教师号,教师名,职称,性别,出生日期,工资 学生学生教师教材课程使用聘用1nn1nmpqn1成绩班级11教课被管理管理系教课招收n1课程实体集属性:课程号,课程名,学分,上课时间,课容量教材实体集属性:教材号,教材名,出版社,第一作者(2)教务管理系统 Idef1x 图Idef1x 图实体集属性列表:系/10, 属性:系号,系名,系主任,系办公室电话
18、 班级/20,属性:班级名,学生人数,系号,教师号教师/30,属性:教师号,教师名,职称,性别,出生日期,工资,系号学生/40,属性:学号,姓名,性别,出生日期,班级名 课程/50,属性:课程号,课程名,学分,上课时间,课容量教课/55,属性:教师号,课程号,授课评价教材/60,属性:教材号,教材名,出版社,第一作者,课程号选课/65,属性:学号,课号,成绩4.5 答案电器销售管理系统 ER 图ER 图实体集属性列表:总公司实体集属性:工商注册号,地点,总裁,总公司电话,总公司职工数分店实体集属性:分公司注册号,地点,经理,电话,职工数职工实体集属性:工作证号,姓名,性别,年龄,工资,工种,奖
19、金总公司分店 职工电器领导聘用储存销售1nmn库存量销售量领导1 n1 n销售时间系号(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)聘用被管理电器实体集属性:型号,名称,电器指标,生产商,生产日期,进货价格,售出价格第 5 章习题参考答案5.1 答案关系模型用二维表格结构表示实体及实体间的联系。现实世
20、界中的每个客观对象对应表中的一行叫做一条记录,表中的每个列(属性)描述对象类的某一特征,列的值(属性的取值)刻画和描述客观对象的某一具体的特征。关系数据库是按照二维表格组织和存储的相互关联的关系(表)的集合。关系数据库采用关系模型在计算机中组织、存储、处理和管理数据。5.2 答案如学号是学生关系(表)的主码,因为这个属性能够唯一识别学生关系中的每一条记录。5.3 答案主码约束定义指定关系的主码列不能取空值,并且取值要唯一。5.4 答案如果两个关系 R 和 S, X 是 R 的属性或属性组,且 X 不是 R 的码,但 X 是 S 的码,则称 X 是 R 的外码。5.5 答案外码约束也叫引用完整性
21、约束,定义外码与主码之间的引用规则,即若关系 R 含有另一个关系 S 的主码 Ks所对应的属性或属性组 F(该属性或属性组 F 称为关系 R 的外码) ,则关系 R 中的每一个元组在属性组 F 上的值必须满足:或者取空值,或者等于 S 中某个元组的主码 Ks的值。5.7 答案关系数据库设计理论的基础是函数依赖理论和规范化设计理论。规范化设计理论的主要内容是范式,即关系模式满足的条件,它是数据库逻辑设计的指南。5.8 答案(1)商场经营管理系统实体集属性列表:供应商实体集属性:供应商编号,名称,地址,邮编,联系人,电话,传真,网址,电子邮箱,开户银行,账户名称,账户账号 商品及库存实体集属性:商
22、品类别编号,类别名称,类别描述信息,商品编号,品名,生产日期,单价,库存量,商品描述信息销售员信息实体集属性:销售人员编号,姓名,性别,年龄,身份证,地址,邮编,电话,收银台编号,状态,收银台描述信息顾客信息实体集属性:顾客编号,姓名,性别,年龄,身份证号,地址,邮编,电话会员卡实体集属性:会员卡号,有效起始日期,有效截止日期,积分,状态(2)3NF 关系模式(注,下划属性为主码属性):供应商信息(供应商编号(PK) ,名称,地址,邮编,联系人,电话,传真,网址,电子邮箱,开户银行,账户名称,账户账号) 商品类别(商品类别编号(PK) ,类别名称,类别描述信息)商品(商品编号(PK) ,品名,
23、生产日期,单价,库存量,商品描述信息,商品类别编号(FK) )采购入库单据(入库单据编号(PK) ,入库日期,经手人,入库单据描述)采购入库单据明细(入库单据编号(FK) ,商品编号(FK ) ,进价,数量,供应商编号(FK) ,购买日期) 销售人员(销售人员编号(PK) ,姓名,性别,年龄,身份证,地址,邮编,电话)收银台(收银台编号(PK) ,状态,收银台描述信息)会员卡(会员卡号(PK) ,有效起始日期,有效截止日期,积分,状态)销售单据(销售单编号(PK) ,会员卡号(FK) ,本次积分,付款总金额,销售日期,销售人员编号( FK) ,收银台编号(FK) ,销售单据描述 )销售单据明细
24、(销售单据编号 FK,商品编号 FK,单价,数量,总价,折扣率,折扣总价)商品价格变动表(商品编号(FK) ,开始日期,结束日期,销售价格,注释)顾客信息(顾客编号(PK) , 会员卡号(FK ) ,姓名,性别,年龄,身份证号,地址,邮编,电话)5.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 章习题参
25、考答案6.1 答案(1)堆文件是一种数据库文件结构形式。在堆文件中,记录随机地存储在文件物理空间中,新插入的记录存储在文件的末尾。(2)顺序文件是一种数据库文件结构形式。在顺序文件中,记录按照查找码值的升序或降序顺序排列存储。(3)聚集文件是一种数据库文件结构形式。聚集文件具有多种记录类型,存储了来自多个关系表的记录数据,每个关系表对应文件中的一种记录类型。(4)索引技术(Indexing )是一种快速文件访问技术,它将文件记录在某个或某些域(或称为属性)上的取值与该记录的物理地址直接联系起来,提供了一种根据记录域的取值快速访问文件记录的机制。(5)对数据文件和它的一个索引文件,如果数据文件中
26、数据记录的排列顺序与索引文件中索引项的排列顺序相一致,则该索引文件称为聚集索引。否则,该索引文件称为非聚集索引。(6)在数据文件的包含主码的属性集上建立的索引称为主索引。在数据文件的非主属性上建立的索引称为辅索引。(7)如果数据文件中的每个查找码值在索引文件中都对应一个索引记录,则该索引称为稠密索引;如果只是一部分查找码的值有对应的索引记录,则该索引称为稀疏索引。(8)如果一个数据文件按照某个查找码组织为顺序文件,同时又对数据文件建有聚集索引,则该数据文件称为索引顺序文件。6.2 答案设 3 门课程分别为 DB、OS 和 COM,5 个学生分别为 BAI、DE 、GU、HAI 和 YE。如果用
27、户查询主要是根据课程查找选课的学生,则可建立如下图所示的聚集文件。 WuLiuYeCOMSDB86HAIDB 92GUOS 78DES 9275YEBAICOM YeDB92YEDB86HAILiuOS 9278GUDEOSSWuCM75BAIO(a) COURSE (b) ENROLMENT (c) 聚 集 文 件6.3 答案有序索引技术利用索引文件实现查找码取值到记录物理地址间的映射关系。索引文件由索引记录组成,每个记录中的索引项记录了某个特定的查找码值和具有该值的数据文件记录的物理地址。当需要访问数据文件中某个数据记录时,先根据查找码值查阅索引文件,找到对应的索引项,然后从索引项中找出数
28、据记录在数据文件中的物理地址根据这个地址访问数据记录。6.4 答案散列技术是一种快速文件访问技术,它利用散列函数实现文件记录域取值到记录物理地址间的直接映射关系。当需要访问数据文件中查找码值为si 的某个或某些文件记录时,将 si 作为散列函数 h 的输入,计算得出的散列函数输出值 h(si)就是文件记录在数据文件中的物理地址。6.5 答案关系 DBMS 数据字典中的元数据包括:关系模式信息、与视图描述有关的信息、关系的存储结构和存取方法信息、完整性约束、安全性有关的信息、数据库运行统计信息。DBMS 使用数据字典中的元数据完成其相应的存储管理和查询处理功能。DBA 利用数据字典监视 DBMS
29、 使用情况,完成有关系统管理工作。一般用户也可通过数据字典查阅部分数据库结构信息。6.6 答案数据库物理设计的主要步骤有数据库逻辑模式调整、文件组织与存取设计、数据分布设计、安全模式设计、确定系统配置、物理模式评估。第 7 章习题参考答案7.1 答案数据库应用系统功能设计包括数据库事务设计和应用程序设计。与数据库应用系统概念设计、逻辑设计、物理设计相对应,应用程序(软件)设计分为总体设计、概要设计和详细设计,数据库事务设计则由事务概要设计和事务详细设计组成。7.2 答案复杂数据库事务的设计与实现既要遵循应用领域特定的业务逻辑,又依赖于具体数据库系统所提供的事务实现机制。复杂事务的设计可以分解为
30、概要设计和详细设计两个步骤。概要设计注重事务本身的处理流程,暂时先不考虑事务中与 DBMS 平台相关、具体的数据操作方法和事务实现机制,以提高设计结果的适用性。而事务详细设计则从概要设计得出的事务流程出发,设计可在具体 DBMS 平台下实现的特定事务。事务概要设计的核心内容是事务处理逻辑设计。事务概要设计包括了事务名称、事务所访问的关系表及关系属性、事务处理逻辑、事务用户等信息。7.3 答案软件体系结构是一种可预制、可重构的软件框架结构,它描述了软件系统的总体组织和层次划分、系统元素及其功能分配、全局控制、系统元素间的协调和交互、数据存取等。第 8 章习题参考答案8.1 答案:02558.2
31、答案:年、月、日中间用“/”或者“-”分隔符,日期和时间间空一个空格,时、分、秒之间用“:”隔离。日期和时间数据用单引号括起来。8.3 答案:分钟。8.4 答案:p 为数字位个数,q 为小数位个数。8.5 答案:精确到小数点后 4 位。8.6 答案Char(10)代表的是普通编码的字符串,最多存放 10 个字符,5 个汉字,固定的占用 10 个字节的空间。nchar(10) 代表的是统一字符编码的字符串,最多存放 10 个字符,10 个汉字,固定的占用 20 个字节的空间。8.7 答案Char(n)代表的是普通字符编码按定长存储的字符串, “n”的含义是字符的个数,固定占用 n 个字节的空间。
32、varchar(n) 代表的是普通字符编码按不定长存储的字符串, “n”的含义也是字符的个数,按字符的实际长度占用空间。8.8 答案支持两种,一种是系统使用的全局变量,用“”前缀标识。一种是用户使用的普遍变量,用“ ”前缀标识。8.9 答案创建 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)创建 Cou
33、rse 表的 SQL 语句为:CREATE TABLE Course (Cno char(10) primary key,Cname char(20) not null,Periods smallint check (Periods0),Property char(4) 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),Foreig
34、n key (Sno) references Student(Sno),Foreign key(Cno) references Course(Cno)8.10 答案(1)Alter Table SC add XKLB char(4)(2)Alter Table Course Alter Column Periods tinyint(3)Alter Table Course Drop Column Property8.11 答案(1)select sno, sum(grade) 总成绩, avg(grade) 平均成绩, count(*) 选课门数 from sc group by sno ha
35、ving count(*) 2(2)select sno, sum(grade) 总成绩 from sc group by sno having sum(grade) 200(3)select sname, sdept from Student join SC on Student.Sno = SC.Snowhere cno = C02(4)select sname, cno, grade from student s join sc on s.sno= sc.snowhere grade 80Order by grade desc(5)select sname, ssex, grade fr
36、om 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.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.Cno
37、where cname = 数据库基础order by grade desc(8)select t1.sno, t2.sno, ofrom sc as t1 join sc as t2 on o = o where t1.sno ( select avg(grade) from sc)(11)select sname,sdept,grade from student s join sc on s.sno = sc.snojoin course c on o = owhere grade = (select min(grade) from scwhere cno in (select cno f
38、rom 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 = owhere cname = vb(13)select o,casewhen count(o) 100 then 人多when count(o) between
39、 40 and 100 then 一般when count(o) 。因为 T1 中的 write(Q)和 T2 中的 read(Q)是冲突操作,操作 write(Q)在操作 read(Q)后面执行,无法交换这 2 个操作的执行顺序,使 T1 和 T2 依次顺序串行执行。第 10 章习题参考答案10.1 答案(1)A (2)C (3)C (4)BC (5)ABC (6)D10.2 答案(1)数据库的试运行(2)管理员手动实现的监控(3)答案有多种组合,可在合理使用索引、避免或简化排序、消除对大型表行数据的顺序存取、避免相关子查询、避免困难的正规表达式、使用临时表加速查询、用排序来取代非顺序磁盘存
40、取、不充分的连接条件、存储过程、不要随意使用游标、事务处理中任选三个作答。第 11 章习题参考答案11.1 答案(1)C (2)D (3)D (4)C11.2 答案(1)事务内部的故障、系统故障、介质故障以及计算机病毒故障(2)冗余数据(3)静态转储、动态转储(4)每个事务的开始标记、每个事务的结束标记(5)必须先写日志文件,后写数据库(6)双机互备援模式、双机热备份模式(7)校验冗余第 12 章习题参考答案12.1 答案四个服务:SQL Server、SQL Server Agent、Distributed Transaction Coordinator(DTC)和 Microsoft Se
41、arch。SQL Server 负责处理所有来自客户端的 Transact-SQL 语句并管理服务器上构成数据库的所有文件,同时还负责处理存储过程,并将执行结果返回给客户端。SQL Server Agent 管理需要定期进行的工作,它能够根据系统管理员预先设定好的计划自动执行相应的功能。同时它还能对系统管理员设定好的错误等特定事件自动报警,而且还能通过电子邮件等方式把系统存在的各种问题发送给指定的用户。DTC 是一个事务管理器,它能够保证一个事务中的所有操作在所有的服务器上全部成功,或者,当在某个服务器上不成功时,确保所有服务器上的操作均被撤消,使全部服务器均回到事务开始前的状态。Micros
42、oft Search 提供对字符数据进行检索。 12.2 答案四个版本:企业版、标准版、个人版和开发版。企业版和标准版要求安装在服务器版的 Windows 操作系统下,个人版和开发版要求只要是Windows 操作系统即可。12.3 答案“Windows 身份验证模式”只允许 Windows 用户连接到 SQL Server,而“混合模式”允许 Windows 用户和非 Windows 用户连接到 SQL Server。 12.4 答案:服务管理器。12.5 答案:启动 SQL Server 服务。12.6 答案:分为系统数据库和用户数据库。12.7 答案master、 model、msdb、t
43、empdb。Master 数据库记录了所有的系统级信息。包括登录帐户、系统配置、数据库属性(如数据库文件的位置等)等信息。msdb 提供对自动执行任务的支持。 model 是用户数据库的样板数据库,其中包含所有用户数据库的公共信息。tempdb 临时数据库,用于存储用户创建的临时表、用户声明的变量以及用户定义的游标数据等。12.8 答案有数据文件和日志文件。主数据文件的推荐扩展名是“mdf” ,辅助数据文件的推荐扩展名是“ndf” ,日志文件的推荐扩展名是“ldf” 。 12.9 答案:可以包含一个主数据文件和 0n 个辅助数据文件,1n 个日志文件。12.10 答案包含:逻辑文件名、物理存储
44、位置和文件名、初始大小、增长方式和最大大小限制 5 个属性。12.11 答案:按数据页存储,一个数据页大小是 8KB。12.12 答案:按一个数据页能存多少行数据,这些数据需要多少个数据页来估算。160MB。12.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 1
45、endfrom Table_SaleBillDetail a join Table_SaleBill b on a.SaleBillID = b.SaleBillIDjoin Table_Card c on c.CardID = b.CardID13.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.SaleBil
46、lID = b.SaleBillIDjoin Table_Goods c on c.GoodsID = a.GoodsIDjoin Table_GoodsClass d on d.GoodsClassID = c.GoodsClassIDwhere GoodsClassName = lb and year(SaleDate) = nfreturn sumend(2)create function dbo.f2(addr varchar(20)returns intasbegindeclare count intselect count = count(*) from Table_Card aj
47、oin Table_Customer b on a.CardID = b.CardID where address = addr and State = 2return countend(3)create function f3(low int, high int)returns tableasreturn ( select CName,Address,GoodsName,SaleDate,Quantityfrom Table_Customer a join Table_SaleBill b on a.CardID = b.CardIDjoin Table_SaleBillDetail c o
48、n c.SaleBillID = b.SaleBillIDjoin Table_Goods d on d.GoodsID = c.GoodsIDwhere Age between low and high)(4)create function f4(lb varchar(20), nf int)returns tableasreturn (select GoodsName,SaleDate,Quantity,dbo.f1(lb,nf) as totalfrom Table_SaleBill a join Table_SaleBillDetail b on a.SaleBillID = b.Sa
49、leBillIDjoin Table_Goods c on c.GoodsID = b.GoodsIDjoin Table_GoodsClass d on d.GoodsClassID = c.GoodsClassIDwhere GoodsClassName = lb and year(SaleDate) = 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 T