数据库系统原理课后答案 第九章
数据库系统原理04735课后习题参考答案

数据库系统原理课后习题第一章. 数据库系统基本概念1.1.名词解释DB——DB是长期存储在计算机内、有组织的、统一管理的相关数据的集合。
DB能为各种用户共享,具有较小冗余度、数据间联系紧密而又有较高的数据独立性等特点。
DBMS——是位于用户与操作系统之间的一层数据管理软件,它为用户或应用程序提供访问DB的方法,包括DB的建立、查询、更新及各种数据控制。
DBS——是实现有组织地、动态地存储大量关联数据、方便多用户访问的计算机硬件、软件和数据资源组成的系统,即它是采用数据库技术的计算机系统。
联系——是实体间的相互关系。
联系的元数——与一个联系有关的实体集个数。
1:1联系——如果实体集E1中每个实体至多和实体集E2中一个实体有联系,反之亦然,那么实体集E1和E2的联系称为“一对一联系”,记为“1:1”。
1:N联系——如果实体集E1中的每个实体可以与实体集E2中的任意个(0个或多个)实体有联系,而E2中的每个实体至多和E1中的一个实体有联系,那么称E1对E2的联系是一对多联系,记作:“1:N ”。
M:N联系——如果实体集E1中的每个实体可以与实体集E2中的任意个(0个或多个)实体有联系,反之亦然,那么称E1和E2的联系是“多对多联系”,记作“M:N”。
数据模型——在数据库技术中,我们用数据模型的概念描述数据库的结构和语义,对现实世界的数据进行抽象。
根据数据抽象级别定义了四种模型:概念数据模型、逻辑数据模型、外部数据模型和内部数据模型。
概念模型——表达用户需求观点的数据全局逻辑结构的模型。
逻辑模型——表达计算机实现观点的DB全局逻辑结构的模型。
主要有层次、网状、关系模型等三种。
外部模型——表达用户使用观点的DB局部逻辑结构的模型。
内部模型——表达DB物理结构的模型。
层次模型——用树型(层次)结构表示实体类型及实体间联系的数据模型。
网状模型——用有向图结构表示实体类型及实体间联系的数据模型。
关系模型——是由若干个关系模式组成的集合。
万常选版数据库系统原理与设计第9章课后习题答案

USE ScoreDBGO--9.6 在学生成绩管理数据库ScoreDB中完成。
--(1) 在班级表Class中,分别使用列级和元组级约束保证班级人数classNum属性的取值在(0,50)之间。
--为避免误删Class表的数据,另建两表演示,演示后删除--列级约束CREATE TABLE Class1(classNo char(6) PRIMARY KEY, /*班级编号*/className varchar(30) NOT NULL, /*班级名称*/institute varchar(30) NOT NULL, /*所属学院*/grade smallint NOT NULL /*年级*/DEFAULT 0,classNum tinyint NULL /*班级人数*/CHECK(classNum >=0 AND classNum <= 50))--元组级约束CREATE TABLE Class2(classNo char(6) PRIMARY KEY, /*班级编号*/className varchar(30) NOT NULL, /*班级名称*/institute varchar(30) NOT NULL, /*所属学院*/grade smallint NOT NULL /*年级*/DEFAULT 0,classNum tinyint NULL, /*班级人数*/CONSTRAINT CK_Class_classNum CHECK(classNum >=0 AND classNum <= 50))--删除演示表DROP TABLE Class1DROP TABLE Class2GO--(2) 在学生表Student中,限制籍贯为上海或北京的学生的年龄必须在17岁以上。
--需要使用触发器CREATE TRIGGER Student_birthdayON StudentFOR INSERT,UPDATEASIF EXISTS(SELECT * FROM inserted WHERE YEAR(GETDATE())-YEAR(birthday)<17) ROLLBACKGO--(3) 对于某门课程,保证如果没有选修其先修课程,则不能选修该课程。
数据库第九章参考答案

第九章T-SQL基础P1641.从功能上划分,SQL分为哪4类?[难度↓]【解】SQL语句通常分成以下4类:数据查询语言数据操作语言数据定义语言数据控制语言2.NULL代表什么含义?将其与其他值进行比较会产生什么结果?如果数值型列中存在NULL,会产生什么结果?[难度↓]【解】在数据库中,NULL是一个特殊值,表示数值未知。
NULL不同于空字符或数字0,也不同于零长度字符串。
比较两个空值或将空值与任何其他数值相比均返回未知,这是因为每个空值均为未知。
空值通常表示未知、不可用或以后添加数据。
如果某个列上的空值属性为NULL,表示接受空值;空值属性为NOT NULL,表示拒绝空值。
如果数值型列中存在NULL,则在进行数据统计时就会产生不正确的结果。
3.使用T-SQL语句向表中插入数据应注意什么?[难度↓]【解】在使用T-SQL语句向表中插入数据时要注意以下几点:当向表中所有列都插入新数据时,可以省略列表名,但是必须保证VALUES 后的各数据项位置同表定义时的顺序一致。
要保证表定义时的非空列必须有值,即使这个非空列没有出现在插入语句中,也必须如此。
插入字符型和日期型值时,要加入单引号。
没有列出的数据类型应该具有以下属性之一:identity属性、timestamp 数据类型、具有NULL属性或者有一个默认值。
对于具有identity属性的列,其值由系统给出,用户不必往表中插入数据。
4.在SELECT语句中DISTINCT、ORDER BY、GROUP BY和HA VING子句的功能各是什么?[难度↓]【解】各子句的功能如下。
DISTINCT:查询唯一结果。
ORDER BY:使查询结果有序显示。
GROUP BY:对查询结果进行分组。
HA VING:筛选分组结果。
5.在一个SELECT语句中,当WHERE子句、GROUP BY子句和HA VING子句同时出现在一个查询中时,SQL的执行顺序如何?[难度↓↓]【解】其执行顺序如下:(1)执行WHERE子句,从表中选取行。
数据库系统原理参考答案

第一章习题参考答案1.名词解释:数据、数据库、数据库管理系统、数据库系统、关系数据库管理系统。
数据:用来记录或者标识事物本质特征的符号。
具体包括文本、图形、图像、音频、视频、动画等数据。
数据库:长期储存在计算机内的有组织的、统一的、共享的、结构化的、通用化的、综合性的数据的集合。
数据库管理系统:位于用户与操作系统之间,提供给用户实现数据库的定义、操纵和运行管理的数据管理软件,从而科学地组织和存储数据、高效地获取和维护数据。
数据库系统:在计算机系统中引入数据库后,由数据库、数据库管理系统、数据库应用系统、数据库设计员、数据库管理员和用户等构成的完整的计算机系统。
DBS的核心是数据库管理系统,DBMS是用户与数据库的接口关系数据库系统:支持关系数据库技术的数据库系统。
2.简述数据库管理系统的功能。
数据定义DDL;数据操纵DML;数据控制DCL(安全性、完整性、并发控制和数据恢复);数据接口;数据组织和存储;事务和运行管理等。
从而确保数据的安全、完整、并发和恢复。
3.简述数据库系统的组成和特点。
组成:DBS硬件(计算机硬件、数据库硬件和网络硬件等)、DBS软件(操作系统、DBMS、程序设计主语言、数据库专用开发工具和数据库应用系统等)和人员(数据库设计员、数据库分析员、数据库管理员、数据库程序员和用户)等组成。
特点:数据结构化组织、永久储存和统一管理;数据共享;冗余度小;独立性高;容易扩展等。
4.常用的数据模型有哪些?简述数据模型的三个要素。
类型:层次模型(最早);网状模型;关系模型(目前流行);面向对象模型(20世纪80年代引入OOP)。
要素:数据结构;数据操作;完整性约束。
5.简述DBA的职责。
决定数据库的信息内容和结构;决定数据库的存储结构和存取策略;定义数据的安全性和完整性;监控数据库的使用和运行;数据库的改进和重组重构。
6.简述数据库技术发展的三个基本阶段。
人工管理;文件系统;数据库系统7.试述文件系统与数据库系统的区别。
数据库系统原理(2018版)课后习题参考答案

选择题
A、D、D
填空题
数据库系统就是指在计算机中引入数据库技术之后得系统,包括数据库、数据库管理系统及相关实用工具、应用程序、数据库管理员与用户。
2、请简述早数据库管理技术中,与人工管理、文件系统相比,数据库系统得优点。
数据共享性高
数据冗余小
易于保证数据一致性
数据独立性高
可以实施统一管理与控制
减少了应用程序开发与维护得工作量
一对多联系:对于实体集A中得每个实体,实体集B中有N个实体与之联系,反之,对于实体集B中得每个实体,实体集A中最多只有一个实体与之联系。举例:班级与班级成员,每个班级对应多个班级成员,每个班级成员只对应一个班级。
多对多联系:对于实体集A中得每个实体,实体集B中有N个实体与之联系,反之,对于实体集B中得每个实体,实体集A中有M个实体与之联系。举例:授课班级与任课教师,每个班级对应多名任课教师,每个任课教师也对应多个授课班级。
答案仅供参考
第一章 数据库系统概述
选择题
B、B、A
简答题
1、请简述数据,数据库,数据库管理系统,数据库系统得概念。 P27
数据就是描述事物得记录符号,就是指用物理符号记录下来得,可以鉴别得信息。
数据库即存储数据得仓库,严格意义上就是指长期存储在计算机中得有组织得、可共享得数据集合。
数据库管理系统就是专用于建立与管理数据库得一套软件,介于应用程序与操作系统之间。
建立在严格得数学概念得基础上
概念单一,统一用关系表示实体与实体之间得联系,数据结构简单清晰,用户易懂易用
存取路径对用户透明,具有更高得数据独立性、更好得安全保密性。
第二章 关系数据库
选择题
C、C、D
简答题
数据库系统原理教程课后习题及答案(第九章)

第9章数据库恢复技术1.试述事务的概念及事务的4 个特性。
答:事务是用户定义的一个数据库操作序列,这些操作要么全做要么全不做,是一个不可分割的工作单位。
事务具有4 个特性:原子性(Atomicity )、一致性(consistency )、隔离性( Isolation )和持续性(Durability )。
这4 个特性也简称为ACID 特性。
原子性:事务是数据库的逻辑工作单位,事务中包括的诸操作要么都做,要么都不做。
一致性:事务执行的结果必须是使数据库从一个一致性状态变到另一个一致性状态。
隔离性:一个事务的执行不能被其他事务干扰。
即一个事务内部的操作及使用的数据对其他并发事务是隔离的,并发执行的各个事务之间不能互相干扰。
持续性:持续性也称永久性(Perfnanence ) ,指一个事务一旦提交,它对数据库中数据的改变就应该是永久性的。
接下来的其他操作或故障不应该对其执行结果有任何影响。
2 .为什么事务非正常结束时会影响数据库数据的正确性,请列举一例说明之。
答:事务执行的结果必须是使数据库从一个一致性状态变到另一个一致性状态。
如果数据库系统运行中发生故障,有些事务尚未完成就被迫中断,这些未完成事务对数据库所做的修改有一部分已写入物理数据库,这时数据库就处于一种不正确的状态,或者说是不一致的状态。
例如某工厂的库存管理系统中,要把数量为Q 的某种零件从仓库1 移到仓库2 存放。
则可以定义一个事务T , T 包括两个操作;Ql = Ql 一Q , Q2= Q2 + Q。
如果T 非正常终止时只做了第一个操作,则数据库就处于不一致性状态,库存量无缘无故少了Q 。
3 .数据库中为什么要有恢复子系统?它的功能是什么?答:因为计算机系统中硬件的故障、软件的错误、操作员的失误以及恶意的破坏是不可避免的,这些故障轻则造成运行事务非正常中断,影响数据库中数据的正确性,重则破坏数据库,使数据库中全部或部分数据丢失,因此必须要有恢复子系统。
数据库原理课后习题及解答(常用版)

数据库原理课后习题及解答(常用版)(可以直接使用,可编辑完整版资料,欢迎下载)《数据库原理》课后习题及解答课后习题:第一章第二章第三章第四章第五章第六章第七章第八章第九章习题答案:第一章第二章第三章第四章第五章第六章第七章第八章第九章第一章概论1.试解释下列术语:数据库;数据库管理系统;数据库系统2.试述数据库管理系统的组成内容。
3.试比较文件系统与数据库系统的异同。
4.什么叫数据的物理独立性与逻辑独立性?并说明它的重要性。
5.试述数据库系统的优点。
6.什么叫数据的冗余与数据的不一致性?7.什么叫数据库管理员?他的主要工作是什么?8.试述数据库系统发展的几个阶段。
返回第一章答案第二章数据模型1.什么叫数据库模型,它分哪几种类型?2.试区别数据模型与数据模式。
3.什么叫数据模式,它分哪三级?4.试述数据模型四个世界的基本内容。
5.试介绍E-R模型,EE-R模型及面向对象模型、谓词模型,并各举一例说明之。
6.层次网状模型有什么特点?并各举一例说明之。
7.试比较层次、网状、关系模型之优缺点。
8.试说明关系模型的基本结构与操作。
9.目前流行的关系型数据库管理系统,有哪些你比较熟悉,试介绍其特点。
10.你认为“数据模型”在整个数据库领域中是否有重要作用和地位,试详细说明之。
11.一图书馆借阅书刊,请你画出书刊、读者及借阅三者间的E-R模型。
12.一人事档案中,有干部、职工,干部又有高级干部与一般干部,请用EE-R模型画出他们之间关系。
13.试述物理模型的主要内容。
14.试叙述四个世界的转化关系。
15.请你比较四种数据模型的异同。
返回第二章答案第三章关系数据库系统1.试述关系数据库系统的优点。
2.试述关系型的12条标准,并说明FOXBASE为何是半关系型的。
3.关系代数与关系演算的表示能力是否相同?试证明之。
4.从关系模型的数学表示中,你是否认为网状与层次模型也可以用数学方法表示?试说明理由。
5.设有如图3-1所示的医院组织。
数据库系统原理版课后习题参考答案

数据库系统原理版课后习题参考答案答案仅供参考第一章数据库系统概述选择题B、B、A简答题1.请简述数据,数据库,数据库管理系统,数据库系统的概念。
P27数据是描述事物的记录符号,是指用物理符号记录下来的,可以鉴别的信息。
数据库即存储数据的仓库,严格意义上是指长期存储在计算机中的有组织的、可共享的数据集合。
数据库管理系统是专门用于建立和管理数据库的一套软件,介于应用程序和操作系统之间。
数据库系统是指在计算机中引入数据库技术之后的系统,包括数据库、数据库管理系统及相关实用工具、应用程序、数据库管理员和用户。
2.请简述早数据库管理技术中,与人工管理、文件系统相比,数据库系统的优点。
数据共享性高数据冗余小易于保证数据一致性数据独立性高可以实施统一管理与控制减少了应用程序开发与维护的工作量3.请简述数据库系统的三级模式和两层映像的含义。
P31答:数据库的三级模式是指数据库系统是由模式、外模式和内模式三级工程的,对应了数据的三级抽象。
两层映像是指三级模式之间的映像关系,即外模式/模式映像和模式/内模式映像。
4.请简述关系模型与网状模型、层次模型的区别。
P35使用二维表结构表示实体及实体间的联系建立在严格的数学概念的基础上概念单一,统一用关系表示实体和实体之间的联系,数据结构简单清晰,用户易懂易用存取路径对用户透明,具有更高的数据独立性、更好的安全保密性。
.第二章关系数据库选择题C、C、D简答题1.请简述关系数据库的基本特征。
P48答:关系数据库的基本特征是使用关系数据模型组织数据。
2.请简述什么是参照完整性约束。
P55答:参照完整性约束是指:若属性或属性组F是基本关系R的外码,与基本关系S的主码K相对应,则对于R中每个元组在F上的取值只允许有两种可能,要么是空值,要么与S中某个元组的主码值对应。
3.请简述关系规范化过程。
答:对于存在数据冗余、插入异常、删除异常问题的关系模式,应采取将一个关系模式分解为多个关系模式的方法进行处理。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
9.1 名词解释
(1)OODBS:是指面向对象数据库系统,它既具数据库管理的基本功能,又能支持面向对象的数据模型。
(2)ORDBS:基于对象关系数据模型的DBS称为对象关系数据库系统(ORDBS)。
(3)平面关系模型:传统的关系模型称为“平面关系模型”,它要求关系模式具有第一范式(1NF)性质,关系具有规范化的结构。
也就是规定属性值是不可分解的,即不允许属性值具有复合结构(元组或关系)。
(4)嵌套关系模型:是从平面关系模型发展而成的。
它允许关系的属性值又可以是一个关系,而且可以出现多次嵌套。
嵌套关系突破了1NF的定义框架,是“非1NF关系”。
(5)复合对象模型:在嵌套关系模型上进一步放宽要求。
在关系定义上,集合与元组不再有交替出现的严格限制,此时的关系中,属性类型可以是基本数据类型、结构类型(元组类型)或集体类型(即关系类型)。
(6)数据的泛化/细化:是对概念之间联系进行抽象的一种方法。
当在较低层上的抽象表达了
与之联系的较高层上抽象的特殊情况时,就称较高层上抽象是较低层上抽象的"泛化",而较低层上抽象是较高层上抽象的"细化"。
(7)对象关系模型:在传统关系数据基础上,提供元组、数组、集合等更为丰富的数据类型及处理新数据类型操作的能力而形成的数据模型。
(注:传统关系模型只支持字符、数值、字串,布尔值等等基本数据类型及其处理功能)
(8)类型级继承性:当继承性发生在类型级时,子类型继承了超类型的属性。
也就是说,超类型所具有的属性,在子类上也具有。
(9)表级继承性:继承性也可发生在表级,(就是元组集合上发生继承),子表继承超表全部属性,超表中每个元组最多可以与子表中一个元组对应,而子表中的每个元组在超表中恰有一个元组对应,并在继承的属性值上具有相同的值。
(10)引用类型:数据类型可以嵌套定义,在嵌套引用时,不是引用对象本身,而是个用对象标识符(即指针),这种指针被称为引用类型。
(11)对象:客观世界中的实体经过抽象称为问题空间中的对象,它是对一组信息及其操作的描述。
(12)类:是具有相同的变量名和类型、相同的消息和使用方法的对象的集合。
(13)单重继承性:一个子类继承某一个超类的结构和特性,称为单重继承性。
(14)多重继承性:一个子类继承多个超类的结构和特性,称为多重继承性。
(15)对象标识:在面向对象语言中,对象标识是一个指针一级的概念,在对象创建的瞬间,由系统赋给每个对象一个“标识”,即系统内的一个唯一的指针,在对象生存期内,这个标识不可改变。
(16)对象包含:不同类的对象之间存在的包含关系称为对象包含。
包含是一种“一部分”(is part of)的联系。
(17)类继承层次图:表示类继承关系的图,由超类名、子类名和一组线条自上而下有序的表示。
(18)类包含层次图:表示对象包含关系的图,由一些具有包含关系的对象和线条自上而下表示(下方的对象为其连线所指上方对象的一部分)。
(19)持久数据:是指创建这些数据的程序运行终止后数据依然存在于系统之中。
数据库中的关系就是持久数据。
(20)持久对象:程序运行结束后,被保留下来的对象称为持久对象。
(21)持久指针:持久指针可看作是数据库中指向对象的指针。
持久化指针不像内存中的指针,它在程序执行后及数据重组后仍保持有效。
(22)持久化C++系统: 基于C++的持久化扩充的OODBS。
9.2 随着计算机应用领域的扩大,关系数据库系统不能适应哪些应用需要?
答:关系数据库不适应的应用需要有:
(1)多媒体数据。
(2)空间数据
(3)时态数据。
(4)复合对象。
9.3 什么是对象联系图?图中,椭园、小圆圈、单箭头(→),双箭头(→→),双线箭头(=>),双向箭头(←→)所表示的含义。
答:椭圆表示对象,小圆圈表示属性是基本数据类型,单箭头(→)表示函数值是单值,双箭头(→→)表示函数值是多值,双线箭头(=>)是泛化边,表示泛化/细化联系,双向箭头(←→)表示两个函数互逆。
9.5 子表和超表应满足哪两个一致性要求?
子表和超表应满足下列两个一致性要求:
(1)超表中每个元组最多可以与每个子表中的一个元组对应。
(2)子表中每个元组在超表中恰有一个元组对应,并在继承的属性上有相同的值。
9.6 继承性体现了数据间什么联系?试举例说明。
继承是" is a "(细化/泛化)联系。
比如卡车是车的子类,“卡车”“is a”“车”“卡车”和“车”之间存在继承性。
9.7 持久化语言和嵌入式SQL语言有什么区别?
持久化语言与嵌入式SQL语言的不同:
(1)格式转换对程序员透明;
(2)程序员可直接操纵持久数据。
(具体内容可参见教材P211)
9.8 在OO技术与DB技术相结合过程中,采取了哪两条不同的途径?
一条途径是在传统的关系模型基础上,提供复合数据类型,扩充SQL语言使之能处理新的数据结构。
这种模型称为对象关系模型,还不能说是严格意义上的面向对象数据模型。
但是用户容易接受,易于推广。
另一条途径是在OOPL C++基础上进行扩充,能操作持久数据,处理数据库,形成持久化C++系统,即OODBS。
但较难提供对说明性查询的支持,因此推广使用难度较大。