1、数据库原理与应用课后习题参考答案供参考数据库原理与应用课后习题参考答案第一章 作业参考答案1. 单选题 C C D B C2. 判断题 对错错 错对3 填空题 网状模型 用户 商业智能 数据挖掘 系统设计4 简答题1) 数据模型是指描述事物对象的数据组成、数据关系、数据约束的抽象结构及其说明。数据模型是指描述事物对象的数据组成、数据关系、数据约束的抽象结构及其说明。数据模型是指描述事物对象的数据组成、数据关系、数据约束的抽象结构及其说明。3)数据约束:用于描述数据结构中数据之间的语义联系、数据之间的制约和依存关系,以及数据动态变化的规则。 主流数据库采用关系图模型。数据库典型数据模型:层次数据
2、模型 网状数据模型 关系数据模型其它数据模型(如对象数据模型、键值对数据模型、列式数据模型。)2) 数据库是一种依照特定数据模型组织、存储和管理数据的文件,数据库文件一般存放在辅助存储器以便长久保存。数据库具有如下特点:数据不重复存放; 提供给多种应用程序访问; 数据结构独立于使用它的应用程序; 对数据增、删、改、检索由统一软件进行管理和控制。3) 数据库(Database)是一种依照特定模型组织、存储和管理数据的数据结构。在数据库中,不仅存放了数据,而且还存放了数据与数据之间的关系。数据库内部元素:用户表:用户在数据库中创建的数据库表;系统表:数据库中系统自带的数据库表;视图:数据库中用于对
3、数据进行查询的虚拟表;索引:数据库中用于加快数据查询的索引项;约束:数据库中对数据、数据关系施加的规则;存储过程:数据库内部完成特定功能处理的程序;触发器:数据库内部因数据变化自动执行的一类存储过程等等4) 数据库系统包括:用户、数据库应用程序、数据库管理系统和数据库四个组成要素。5) 数据库管理系统(Database Manage System,DBMS )是一种专门用来创建数据库、管理数据库、维护数据库,并提供对数据库访问的系统软件。数据库管理系统(DBMS)主要功能:创建数据库和表; 创建支持结构,如索引等; 读取数据库数据 ; 修改数据库数据; 维护数据库结构; 执行规则; 并发控制;
4、 提供安全性; 执行备份和恢复等等第二章 作业参考答案1 单选题 C B D A A2. 判断题 对对错 对 错3 填空题 全外连接 数据约束 候选键 用户定义完整性4 简答题外码键1) 在关系模型中,使用“关系”来存储“实体”中的数据。关系(relation)是指存放实体数据的二维表。关系特征:行存储实体的个体数据; 列存储所有实体个体属性的数据; 表中单元格存储单个值, 所有的列必须是原子的; 每列的所有实体个体数据类型一致; 每列具有唯一名称; 列顺序可任意;行顺序可任意;任意两行互不重复。2) 键(key)是指关系中用来唯一标识元组的单个列或多列。候选键关系中可能有多个键,每个都是候选
5、键。主键(Primary key)也是候选键之一,关系表可以有多个候选键,但只能定义一个主键。主键作用:唯一标识关系的每行; 作为关联表的外键,链接两个表; 使用主键值来组织关系的存储; 使用主键索引快速检索数据3) 代理键采用 DBMS 自动生成的数字序列作为关系表的主键。由 DBMS 自动生成的数字序列作为主键,可替代复合主键。由 DBMS 自动生成的数字序列作为主键,可替代复合主键。4) 在关系表定义中,主键属性不允许空值(Null),即必须有具体值。其它属性可以允许空值。NULL 值只是代表该属性可以没有具体值,它与零值、空格字符、Tab 字符是不同的。5) 参照完整性:关系模型中实体
6、及实体间的联系都是用关系来描述的,因此可能存在着关系与关系间的引用。参照完整性规则:若属性(或属性组)F 是基本关系 R 的外码,它与基本关系 S 的主码 Ks 相对应(基本关系 R 和 S 不一定是不同的关系),则对于 R 中每个元组在 F 上的值必须为:或者取空值(F 的每个属性值均为空值),或者等于 S 中某个元组的主码值。参照完整性属于表间规则例子:课程表字段名称字段编码 数据类型 字段大小必填字段是否为键课程编号CourseID 文本4 是 主键课程名CourseName 文本20 是 否课程类别CourseType 文本10 否 否学分CourseCredit 数字短整型 否 否学
7、时CoursePeriod 数字短整型 否 否考核方式学生表TestMethod 文本10 否 否字段名称字段编码 数据类型字段大小必填字段是否为键学号StudentID 文本12 是 主键姓名StudentName 文本10 是 否性别StudentGender 文本2 否 否出生日期BirthDay 日期 短日期 否 否专业Major 文本 30 否 否手机号 StudentPhone 文本 11 否 否选课注册表 有两个外键开课编号 学号字段名称 字段编码 数据类型 字段大小 必填字段 是否为键注册编号 CourseRegID 自动编号 长整型 是 代理键开课编号 CoursePlanI
8、D 数字长整型 是 外键学号 StudentID文本12是 外键备注 Note文本30 否否5 应用题1)a)ABCBCDa2b1c2b1c2d3a2b1c2b2c1d1a2b1c2b3c3d3a1b3c1b1c2d3a1b3c1b2c1d1a1b3c1b3c3d3a2b2c1b1c2d3a2b2c1b2c1d1a2b2c1b3c3d3a2b3c3b1c2d3a2b3c3b2c1d1a2b3c3b3c3d3a3b1c2b1c2d3a3b1c2b2c1d1a3b)b1c2b3c3d3a2c)a2b1 c2d3a2b2 c1d1a2b3 c3d3a2d)b1 c2d3a2b1 c2d3a2b2 c
9、1d1a2b3 c3d3a2b1 c2d32)IIname(READER jion BOOK Join PUBLISH)3)第三章 作业参考答案1 单选题 A C D C A2. 判断题 对错 对错 对3 填空题 IBM insert update sum, left jion4 简答题1) SQL( Structured Query Language,结构化查询语言)是一种对数据库进行访问的数据操作子语言。其 SQL 语句执行命令完成对数据库访问操作。(1)语法简单,易学易用,类似于英语自然语言。(2)高度非过程化的语言。只输入操作的种类和范围,不关心存取路径等内容。(3)面向集合的语言。(
10、4)SQL 独立使用,也可以嵌入到宿主语言 (5)功能强大。定义关系模式、创建数据库、插入数据、更新数据、复杂查询、维护数据、重构数据库和控制数据库安全等。2)在实际应用中,通常需要关联多表才能获得所需的信息。在 SELECT 查询语句中,可使用子查询方式实现多表关联查询。在处理多个表时,子查询只有在结果来自一个表的情况下才有用。但如果需要显示两个或多个表中的数据,就不能使用子查询,而需要采用连接操作。在 SQL 语言中,实现多表关联查询还可以使用 JOINON 关键词的语句格式。3)关系表中数据完整性、表之间数据一致性等要求。具体是由业务需求来确定。数据的完整性包括实体完整性、参照完整性、用
11、户定义完整性。具体在关系数据库表中的约束:主键的定义; 属性列取值类型 ;属性列取值范围;属性列取值是否唯一 unique;属性列是否允许空值 ; 关联表的参照完整性约束即外键的定义。4)列约束是定义在每个列上,列约束子句包括 PRIMARY KEY主键, NOT NULL非空值, NULL空值, UNIQUE值唯一, CHECK有效性检查, DEFAULT缺省值。表约束是对整个表格的约束性,使用表约束定义主键的优点: CONSTRAINTDEPARTMENT_PK PRIMARY KEY(DepartmentName , 便于定义复合主键, 可命名主键约束,便于定义代理键。外键及其参照完整性
12、约束 CONSTRAINT DEPARTMENT_FK FOREIGN KEY(DEPARTMENT) REFERENCES DEPARTMENT(DepartmentName)5)视图是一种通过其它表或视图构建的虚拟表。它本身没有自己的数据,而是使用了存储在表或其它视图中的数据。基本语句格式 CREATE VIEW (列名 1),(列名2), AS ;使用视图简化复杂 SQL 查询操作:通过视图,数据库开发人员可以将复杂的查询语句封装在视图内,使外部程序只需要使用简单方式访问该视图,便可获取所需要的数据。使用视图提高数据访问安全性通过视图可以将基本数据表部分敏感数据隐藏起来,外部用户无法得知
13、数据表的完整数据,降低数据库被攻击的风险。此外,还可以保护部分隐私数据。 3. 提供一定程度的数据逻辑独立性:通过视图,可提供一定程度的数据逻辑独立性。当数据表结构发生改变,只要视图结构不变,应用程序可以不作修改。集中展示用户所感兴趣的特定数据:通过视图,可以将部分用户不关心的数据进行过滤,仅仅提供他们所感兴趣的数据。第四章1 单选题 C B C B A2. 判断题 对对错 错 错3 填空题 弱实体;概念模型设计 逻辑模型设计 物理模型设计;1:1 一对一 1:N 一对多 m:N 多对多;ID 依赖 非 ID 依赖,父实体子实体4 简答题1) 在从现实世界到计算机世界的数据库设计过程中,经历了
14、概念层设计、逻辑层设计及物理层设计三个阶段,其创建的数据模型分别称为概念数据模型、逻辑数据模型和物理数据模型。在从现实世界到计算机世界的数据库设计过程中,经历了概念层设计、逻辑层设计及物理层设计三个阶段,其创建的数据模型分别称为概念数据模型、逻辑数据模型和物理数据模型。在逻辑数据模型中,是从系统设计角度描述系统的数据对象组成及其关系,并考虑这些数据对象在计算机系统中的逻辑表示。在物理数据模型中,系统数据被描述为“数据表”、“主键”、“外键”等形式。该数据模型需要考虑在计算机系统中的具体 DBMS 实现方式。2) 数据需求分析选题概念数据建模、系统逻辑数据建模、系统物理数据建模 数据库实现。E-
15、R 模型是“实体-关系模型”(Entity-Relationship Model)的简称。它是一种描述现实世界概念数据模型的有效方法。3)实体(Entity)是客观世界中描述事物数据对象的抽象概念。实体可以是人,也可以是物或抽象的概念;可以指事物本身,也可以指事物之间的关系,如一个人,一件物品,一个部门等都可以是实体。实每个实体都有自己的一组数据特征,这些描述实体的数据特征称为实体的属性(Attribute)。例如,学生实体具有学号、姓名、性别等属性。不同实体的属性是不同的。实体间的关系,关系表示一个或多个实体之间的关联关系。4) 实体之间关联的数目称为元。实体自己与自己之间的关系称为一元关系
16、,也称递归关系。两个实体之间的关系称为二元关系;三个实体之间的关系称为三元关系。在实际应用中,二元关系是最常见的实体关系。5) 在“一对一”、“一对多”和“多对多”的关系中,把两个实体集中有关系的实体关系数量分成两种类型:“唯一”和“不唯一”。例如,学校规定对于全校公选课,学生每学期至少选修 1 门课程,最多选修 5 门课程;每门课程最少要有 15 个人选,最多不能超过 150 人。对于这种情况,首先确定学生的基数是(15,150),课程的基数是(1,5)。这种实体关系的对应数目称为这个关系的基数,用(min,max)形式表示,其中 min 表示最小基数,max 表示最大基数。如果最小基数为
17、0,则关系中的实体参与是可选的。如果最小基数为 1,则关系中的实体参与是强制性的。6)二元实体关系有三种类型:一对一关系、一对多关系和多对多关系。7) 数据库概念数据模型设计是通过对现实世界中信息实体进行抽取、分类、聚集和概括等处理,建立数据库概念数据结构的过程。概念数据库设计的方法主要有两种:集中式设计方法,视图综合设计方法。集中式设计方法基于需求分析阶段得到的系统数据需求,设计一个描述系统概念数据关系的数据模型,用于反映系统的数据需求。集中式方法要求所有概念数据模型设计工作都必须由具有较高水平的数据库设计者完成。视图综合设计由一个视图设计阶段和一个视图合并阶段组成,它不要求应用需求的合并。
18、在视图设计阶段,设计者根据每个应用的需求,独立地为每个用户和应用设计一个概念数据库模式,这里每个应用的概念数据库模式都称为视图。视图设计阶段完成后,进入到视图合并阶段,在此阶段设计者把所有视图有机地合并成一个统一的概念数据库模式,这个最终的概念数据库模式支持所有的应用。第五章1 单选题 C C C A A2. 判断题 对对错 错 对3 填空题 主键;代理键;表 列 主键;数据冗余,决定因素 依赖4 简答题1) 数据模型转换设计有两种方案:一种是由概念数据模型生成对应的逻辑数据模型,再从逻辑数据模型转换生成物理数据模型;另一种是从概念数据模型直接转换为对应的物理数据模型。当使用关系数据库时,物理
19、数据模型即为关系模型,其基本转换原理如下:a)将每一个实体转换成一个表,实体的属性转换为表的列,实体的标识符转换为表的主键b)将实体关系转化为表间的参照完整性约束,即通过设置外键来参照主键。根据关系的不同类型,通过外键参照主键的方式有所不同。为每个实体定义一个表,表名与实体名相同。将实体的标识符作为表的主键。然后,实体的属性转换为表中的列,实体的标识符转换为表的主键;在关系数据库设计中,当数据表中的候选键都不适合当主键时(例如,候选键的内容太大或者复合候选键包含的属性太多),就会定义代理键作为主键。代理键由 DBMS 自动生成数字键值,且永不改变。实体属性转换为表的列后,必须为每个列指定其特性
20、,包括数据类型、空值状态、默认值及数值的约束。数据类型:每个 DBMS 都有自己的数据类型定义,对于每一列,应指明在该列中存储何种类型的数据。空值状态:在表中插入新行时,某些列必须有值,对于这样的列,将其标注为 NOT NULL;某些列允许不输入值,将其标注为 NULL。默认值:默认值是指当插入新行时,如果用户没有显式输入某个列的值,则由 DBMS 自动设置为预先设定的值。数值的约束:一些列中的数据值可能有限制,这些限制称为数据约束。弱实体有时候需要特别的处理。弱实体在逻辑上依赖于另一个实体。ID 依赖弱实体的标识符应该含有它所依赖实体的标识符,因此需要将被依赖实体的标识符放入 ID 依赖弱实
21、体转换生成的表中,和 ID 依赖弱实体的标识符共同转换成复合主键。2)当实体继承关系转换到物理数据模型时,首先父实体和子实体都各自转换为表,其属性均转换为表的列。在处理继承关系转换时,将父表中的主键放置到子表中,既做主键又做外键。3)1:N 实体关系的转换方法很简单,两个实体分别转换为表,然后将 1 父实体表的主键放入 N 子实体表中做外键。将图 5-9 所示的实体关系转换为表参照约束. 班级实体 学生实体,在学生中把班级的主键加入进去作为外码键4) N:M 实体关系不能像 1:1 和 1:N 实体关系那样直接转换。将任一个实体表的主键放置到另一个实体表中做外键都是无法实现的。必须要重新产生一
22、张新表,用于表示两个实体之间的关系。新表的名称通常有两种命名方法,一种是以 N:M 关系的名称命名,一种是用下划线连接 N:M 关系两侧的实体名称作为新表的名称。新表把两个表的关键字作为复合主键并定义外码应用关系5)1:1 实体关系的转换: 学生表和助学金发放账号表。有两种转换方案,一种是将学生表的主键“学号”放入助研金账号表中做外键;另一种是将助研金账号表的主键“账号”放入学生表中做外键。这两种方案均是可行的,由设计者根据应用情况自主做出选择。6) 数据库表规范化设计是指在数据库中减少数据冗余和定义一个规范的表间结构,实现数据完整性与一致性。所谓数据冗余是指一组数据重复出现在数据库的多个表中
23、。在数据库设计中,尽量避免表间的重复数据列。规范化数据库设计为数据库系统带来如下益处:冗余数据被消除,同一数据在数据库中仅保存一份,有效降低维护数据一致性的工作量。设计合理的表间依赖关系和约束关系,便于实现数据完整性和一致性。设计合理的数据库结构,便于系统对数据高效访问处理。7)在将系统物理数据模型在数据库中实现前,需要对所设计的系统 PDM 模型进行设计验证检查,以发现系统 PDM 模型设计中的错误。系统设计者则需根据错误信息对数据模型进行修正。并再次进行检查,直到没有任何错误和警告为止。第六章1 单选题 B D B C C2. 判断题 对对错对 错3 填空题 隔离性 持久性;用户的对象;可
24、串行化;回收(revoke)权限,拒绝(deny)权限磁带库 关盘库4 简答题1) DBMS 的功能包括数据库定义:定义数据库完整性、安全保密、存取路径等;数据存取:提供数据的操纵语言以便对数据进行查找和增删改数据库运行管理:事务管理、自动恢复、并发控制、死锁检测或防止、安全性检查、存取控制、完整性检查、日志记录等数据组织、存储和管理:数据字典、用户数据、存取路径的组织存储和管理,以便提高存储空间利用率,并方便存取数据库的建立和维护:数据库初建、转储、恢复、重组、重构以及性能检测等数据传输:网络通信、数据转换、异构数据库互访等2)在数据库中,事务(Transaction)是指由构成单个逻辑处理
25、单元的一组数据库访问操作,它们要么都成功执行,要么都不执行。在数据库系统中,事务是 DBMS 执行的最小任务单元。同时,事务也是 DBMS 最小的故障恢复任务单元和并发控制任务单元。为了确保数据库共享访问的数据正确性,要求 DBMS 的事务管理机制维护事务的 ACID 特性。事务程序主要解决并发控制和系统恢复。3)防止死锁的策略:允许用户一次发出当前所需全部资源的锁定,使用完成后,再释放给其它用户访问。规定所有应用程序锁定资源的顺序必须完全相同。当发生死锁时,回滚其中的一个事务,并取消它对数据库所做的改动。顺序封锁法: 将数据库对象按某种规定的顺序排列,要求事务实行封锁也必须按照这个顺序进行。
26、一次封锁法: 要求事务在开始执行前先申请到所需的所有封锁,如果有一个封锁没有申请到,则事务中止。用时间戳的死锁预防:根据事务启动时的时间戳设置事务的优先级,越早开始运行的事务优先级越高。为预防死锁,在事务 Ti 申请的封锁与事务 Tj 已经拥有的封锁发生冲突时,锁管理器可使用如下两种不同的机制:Wait-die 机制:若 Ti 优先级较高,则 Ti 可以等待;否则中止事务 Ti。Wound-wait 机制:若 Ti 优先级较高,则中止 Tj;否则 Ti 等待。4) 数据库系统安全模型:身份验证:用来确认登录用户是否是合法使用者;权限控制:通过权限机制控制用户对数据的访问;系统防护:OS 系统安
27、全机制防范非法系统访问;权限控制:通过加密算法对数据库中数据进行加密存储。实现方法:用户要访问数据库,必须先在 DBMS 中创建其账号,并成为数据库的用户。此后,用户每次访问数据库,都需要在DBMS 进行身份验证,只有合法用户才能进入系统,访问操作数据库对象。 5)数据库备份是指将数据库当前数据和状态进行副本复制,以便当数据库受到破坏或丢失数据时可以进行修复。数据库恢复是指数据库中数据丢失或被破坏时,从备份副本将数据库从错误状态恢复到某一正确状态。恢复机制涉及两个关键问题:如何建立冗余数据(在数据库正常运行的情况下随时记录数据库的变化),如何利用冗余数据实施数据库恢复(数据库一旦失效,用记录的
28、数据进行恢复)。恢复技术是衡量数据库管理系统优劣的重要指标;恢复机制常用的技术:记录日志文件和数据转储。备份内容包括数据文件、日志文件、系统数据库等。所谓转储是指 DBA 定期地将整个数据库复制到某种存储介质(如磁带、磁盘、光盘等)上保存起来的过程。备用的数据文本称为后备副本或后援副本。数据转储是数据库恢复中采用的基本技术。备份时机当系统数据库被修改、日志被清理、用户数据库创建、用户数据库加载等事件出现时或定期备份。静态转储与动态转储,完全转储与增量转储第七章1 单选题 A C C2. 判断题 对错对错 对对3 填空题 过程参数;系统存储过程 临时存储过程;存储过程4 简答题1) 数据库应用系
29、统从作用范围的角度可分为三种类型:基于单机的数据库应用系统: 特点: 在单机结构系统中,整个数据库系统都装在一台计算机上,由一个用户进行访问操作,数据不能共享,数据冗余度大。 . 集中式结构: 数据库系统的应用程序、DBMS、数据,都放在同一主机上,所有的处理任务由主机完成,多个用户可同时并发地存取数据,能够共享数据。基于局域网的客户-服务器(C/S)数据库应用系统: 用户将数据传送到服务器进行处理。服务器将结果返回给用户,提高了系统的性能和负载能力,但可能带来网络上数据传数量过大。基于互联网的浏览器-服务器(B/S)的数据库应用系统。分布式结构:用户将数据传送到服务器进行处理。服务器将结果返
30、回给用户,提高了系统的性能和负载能力,但可能带来网络上数据传数量过大。用户将数据传送到服务器进行处理。服务器将结果返回给用户,提高了系统的性能和负载能力,但可能带来网络上数据传数量过大。2) 数据库开发生命周期是一个设计、实现和维护数据库系统的过程,需要符合组织战略和操作信息的需求。数据库开发生命周期与信息系统软件开发生命周期是内在关联的。DDLC 与 SDLC 是同步进行的。a. 系统需求分析系统分析人员与用户交流,按照软件工程方法获取系统数据需求信息,并采用模型定义系统数据组成,及其数据字典。b. 系统数据架构设计 系统架构设计人员根据系统功能和性能需求,对系统数据架构模型进行设计,包括系统数据概念模型、系统数据逻辑模型和系统数据物理模型。c. 系统数据库实现 系统数据库开发人员根据系统设计方案,对系统数据库进行部署和模型实现,包括系统数据库创建、数据表创建、索引和约束等对象创建。d. 系统测试 系统测试人员将测试数据上载到数据库中,对数据库对象进行测试操作访问,实现数据库功能和性能测试。e. 系统运行与维护:系统运维人员在系统投入运行过程中,对系统数据库进行定期维护和优化,以保证数据库系统正常地、高效地运行。3) 软件开发生命周期包括需求或概念阶段,规格
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1