数据库系统原理 第7章
数据库原理及应用第7章课后习题答案
习题71、试述事务的概念及事务的四个特性。
事务(Transaction)是用户定义的一个数据库操作序列,这些操作是一个完整的工作单元,一个事务内的所有语句被作为一个整体,这些操作要么全做,要么全不做。
事务是数据库环境的中的逻辑单元,相当于操作系统中的进程。
为了保证数据库中数据的正确性,一个事务具有四个特性:原子性(Atomicity)、一致性(Consistency)、隔离性(Isolation)和持续性(Durability )。
这四个特性简称ACID 特性。
2、试述事务的状态及转换。
3、在数据库中为什么要并发控制并发控制能保证事务的哪些特性数据库的一个明显的特点是多个用户共享数据库资源,尤其是多用户可以同时存取相同的数据。
在这样的系统中,在同一时刻并发运行的事务数可达数百个。
若对事务的并发操作不加以控制,就会造成数据存、取的错误,破坏了数据的一致性和完整性。
并发控制可以防止数据不一致性出现。
4、并发操作可能会产生哪几类数据不一致用什么方法可以避免不一致性的情况并发操作带来的数据不一致性分为四种情况:丢失数修改、读“脏”数据、不可重复读和产生“幽灵”数据。
在数据库环境下,进行并发控制的主要技术有封锁(Locking)、时间戳(Timestamp)和乐观控制法。
商用的DBMS一般都采用封锁方法。
5、什么是封锁基本的封锁类型有哪些试述它们的含义。
封锁机制,即加锁(Locking),是一种并发控制机制,是用来调整对共享目标的并行存取的技术。
事务通过向封锁管理程序的系统组成部分发出请求而对事务加锁。
基本封锁类型有两种:共享锁(Share Locks,简记为S锁或读锁)和排它锁(Exclusive Locks,简记为X锁或写锁)。
6、如何用封锁机制保证数据的一致性在运用X锁和S锁对数据对象加锁时,还需要约定一些规则,这些规则为封锁协议或加锁协议(Locking Protocol)。
对封锁方式加不同的规则,就形成了各种不同级别的封锁协议。
第7章 数据库的安全与保护
7.1.3 SQL Server的安全性控制
7.1.3.2设置身份验证模式 具体的过程如下:
在SQL Server Management Studio的【对象资源管 理器】中,右键单击服务器,在弹出的快捷菜单中 单击【属性】。 在“安全性“页上的“服务器身份验证”下,选择 新的服务器身份验证模式,再单击【确定】。 重新启动 SQL Server,使设置生效。
7.2.4 SQL Server的完整性控制
SQL Server 2008中数据完整性可分为四 种类型:
实体完整性 域完整性 引用完整性 用户定义完整性
1.实体完整性 实体完整性相关的约束如下:
PRIMARY KEY约束 UNIQUE 约束 IDENTITY属性
2.域完整性
域完整性是指给定列的输入正确性与有效性。SQL Server 2008中强制域有效性的方法有:
7.4.2 数据库恢复的基本原理 及其实现技术
3.登记日志文件(Logging) (1)以记录为单位的日志文件 (2)以数据块为单位的日志文件
7.4.2 数据库恢复的基本原理 及其实现技术
4.日志文件的作用
(1)事务故障恢复和系统故障恢复必须用日志文 件。 (2)在动态转储方式中必须建立日志文件,后备 副本和日志文件综合起来才能有效地恢复数据库。 (3)在静态转储方式中,也可以建立日志文件。 当数据库毁坏后可重新装入后援副本把数据库恢复 到转储结束时刻的正确状态,然后利用日志文件, 把已完成的事务进行重做处理,对故障发生时尚未 完成的事务进行撤销处理。
7.2.2 完整性约束条件
六类完整型约束条件分别为:
静态列级约束。 静态元组约束。 静态关系约束。 动态列级约束。 动态元组约束。 动态关系约束。
《数据库系统原理与设计》课后答案 (第四版,王珊,萨师煊)
第1章绪论1 .试述数据、数据库、数据库系统、数据库管理系统的概念。
答:( l )数据( Data ) :描述事物的符号记录称为数据。
数据的种类有数字、文字、图形、图像、声音、正文等。
数据与其语义是不可分的。
解析在现代计算机系统中数据的概念是广义的。
早期的计算机系统主要用于科学计算,处理的数据是整数、实数、浮点数等传统数学中的数据。
现代计算机能存储和处理的对象十分广泛,表示这些对象的数据也越来越复杂。
数据与其语义是不可分的。
500 这个数字可以表示一件物品的价格是500 元,也可以表示一个学术会议参加的人数有500 人,还可以表示一袋奶粉重 500 克。
( 2 )数据库( DataBase ,简称 DB ) :数据库是长期储存在计算机内的、有组织的、可共享的数据集合。
数据库中的数据按一定的数据模型组织、描述和储存,具有较小的冗余度、较高的数据独立性和易扩展性,并可为各种用户共享。
( 3 )数据库系统( DataBas 。
Sytem ,简称 DBS ) :数据库系统是指在计算机系统中引入数据库后的系统构成,一般由数据库、数据库管理系统(及其开发工具)、应用系统、数据库管理员构成。
解析数据库系统和数据库是两个概念。
数据库系统是一个人一机系统,数据库是数据库系统的一个组成部分。
但是在日常工作中人们常常把数据库系统简称为数据库。
希望读者能够从人们讲话或文章的上下文中区分“数据库系统”和“数据库”,不要引起混淆。
( 4 )数据库管理系统( DataBase Management sytem ,简称 DBMs ):数据库管理系统是位于用户与操作系统之间的一层数据管理软件,用于科学地组织和存储数据、高效地获取和维护数据。
DBMS 的主要功能包括数据定义功能、数据操纵功能、数据库的运行管理功能、数据库的建立和维护功能。
解析DBMS 是一个大型的复杂的软件系统,是计算机中的基础软件。
目前,专门研制DBMS 的厂商及其研制的DBMS 产品很多。
数据库系统原理与设计万常选版第七章练习题和详细答案
第七章数据库恢复技术一、选择题1.一个事务的执行,要么全部完成,要么全部不做,一个事务中对数据库的所有操作都是一个不可分割的操作序列的属性是()。
A. 原子性B. 一致性C. 独立性D. 持久性2.表示两个或多个事务可以同时运行而不互相影响的是()。
A. 原子性B. 一致性C. 独立性D. 持久性3. 事务的持续性是指()A.事务中包括的所有操作要么都做,要么都不做。
B.事务一旦提交,对数据库的改变是永久的。
C.一个事务内部的操作对并发的其他事务是隔离的。
D.事务必须是使数据库从一个一致性状态变到另一个一致性状态。
4.SQL语言中的COMMIT语句的主要作用是()。
A. 结束程序B. 返回系统C. 提交事务D. 存储数据5.SQL语言中用()语句实现事务的回滚A. CREATE TABLEB. ROLLBACKC. GRANT和REVOKED. COMMIT6.若系统在运行过程中,由于某种硬件故障,使存储在外存上的数据部分损失或全部损失,这种情况称为()。
A. 介质故障B. 运行故障C. 系统故障D. 事务故障7.在DBMS中实现事务持久性的子系统是()。
A. 安全管理子系统B. 完整性管理子系统C. 并发控制子系统D. 恢复管理子系统8. 后援副本的作用是()。
A. 保障安全性B. 一致性控制C. 故障后的恢复D. 数据的转储9.事务日志用于保存()。
A. 程序运行过程B. 程序的执行结果C. 对数据的更新操作D. 数据操作10.数据库恢复的基础是利用转储的冗余数据。
这些转储的冗余数据包括()。
A. 数据字典、应用程序、审计档案、数据库后备副本B. 数据字典、应用程序、审计档案、日志文件C. 日志文件、数据库后备副本D. 数据字典、应用程序、数据库后备副本二、简答题1.试述事务的概念及事务的四个特性。
答:事务是用户定义的一个数据库操作序列,这些操作要么全做要么全不做,是一个不可分割的工作单位。
第7章 数据库的创建和管理-数据库原理与应用—基于SQL Server 2014-蒙祖强
[ LOG ON { <filespec> [ ,...n ] } ] ] [ COLLATE collation_name ] [ WITH <external_access_option> ] ] [;]
2021/4/30
5
第7章 数据库的创建和管理
• 7.1数据库和数据库文件 • 7.2 数据库的创建 • 7.3 查看数据库 • 7.4 修改数据库 • 7.5 数据库的分离和附加 • 7.6 删除数据库
2021/4/30
6
7.2 数据库的创建
7.2.1 创建数据库的SQL语法
➢ 创建数据库可用CREATE DATABASE语句来完成,其语法如下: CREATE DATABASE database_name
2021/4/30
2
7.1数据库和数据库文件
7.1.1 数据库的组成 数据文件和日志文件可以保存在FAT或NTFS文件系统中。但从安全性角度考虑,一般 使用NTFS文件系统保存这些文件。数据文件名和日志文件名是面向操作系统的,即操作系 统是通过这些名称来访问数据文件和日志文件。
从逻辑结构看,数据库是数据表的集合,此外数据库还包含索引、视图等“附属部件” ,数据表、索引、视图等统称为数据库对象。在创建数据库的时候,我们要给数据库输入 一个合法的字符串作为数据库的名称,这个名称简称为数据库名。
第7章 数据库的创建和管理
• 7.1数据库和数据库文件 • 7.2 数据库的创建 • 7.3 查看数据库 • 7.4 修改数据库 • 7.5 数据库的分离和附加 • 7.6 删除数据库
数据库系统专题 第七章 生物信息处理技术
基因表达
翻译过程 首先识别mRNA的AUG起始密码子 的 首先识别 起始密码子 每三个连续核苷酸编码一个氨基酸 直到终止密码子出现(UAA, UAG, UGA) 直到终止密码子出现
数据库专题讲义
生物数据库
随着基因测序技术快速发展, 随着基因测序技术快速发展,在Internet上积累 上积累 的大量的生物序列数据, 的大量的生物序列数据,主要包括两种类型 DNA序列 序列 蛋白质序列
氨基酸名 Tyrosine Histidine Cysteine Asparagine Glutamine Tryptophan 酪氨酸 组氨酸 半胱氨酸 天酰氨酸 谷酰氨酸 色氨酸
基因表达
first U UUU 苯丙 UUC 苯丙 UUA 亮氨酸 UUG 亮氨酸 CUU 亮氨酸 CUC 亮氨酸 CUA 亮氨酸 CUG 亮氨酸 第二个核苷酸 C A UCU 丝氨酸 UCC 丝氨酸 UCA 丝氨酸 UCG 丝氨酸 CCU 脯氨酸 CCC 脯氨酸 CCA 脯氨酸 CCG 脯氨酸 UAU 酪氨酸 UAC 酪氨酸 UAA 终止 UAG 终止 CAU 组氨酸 CAC 组氨酸 CAA 谷酰 CAG 谷酰 G UGU 半胱 UGC半胱 半胱 UGA 终止 UGG 色氨酸 CGU 精氨酸 CGC 精氨酸 CGA 精氨酸 CGG 精氨酸 third U C A G
数据库专题讲义
基因的结构
增强子(enchancer):是一个短序列元件,结合于 :是一个短序列元件, 增强子 转录因子,能增强基因的转录活性。 转录因子,能增强基因的转录活性。可位于基因 的任何位置,其功能与位置和序列方向无关。 的任何位置,其功能与位置和序列方向无关。结 合增强子的蛋白可和结合启动子的蛋白相互作用 ,增强基因表达 终止子(terminater):是由 终止子 :是由AATAAA和一段回文 和一段回文 序列组成, 是多聚腺苷酸(polyA)的附 序列组成,AATAAA是多聚腺苷酸 是多聚腺苷酸 的附 加信号,回文序列转录后形成发夹结构, 加信号,回文序列转录后形成发夹结构,阻碍 RNA聚合酶继续移动,转录终止 聚合酶继续移动, 聚合酶继续移动
数据库系统概论第五版第七章的习题解答和解析.doc
第七章习题解答和解析1. 试述数据库设计过程。
答:这里只概要列出数据库设计过程的六个阶段:(1) 需求分析;(2) 概念结构设计;(3) 逻辑结构设计;(4) 数据库物理设计;(5) 数据库实施;(6) 数据库运行和维护。
这是一个完整的实际数据库及其应用系统的设计过程。
不仅包括设计数据库本身,还包括数据库的实施、运行和维护。
设计一个完善的数据库应用系统往往是上述六个阶段的不断反复。
解析:希望读者能够认真阅读《概论》7.1 的内容,了解并掌握数据库设计过程。
2.试述数据库设计过程中结构设计部分形成的数据库模式。
答:数据库结构设计的不同阶段形成数据库的各级模式,即:(1) 在概念设计阶段形成独立于机器特点,独立于各个DB MS 产品的概念模式,在本篇中就是E-R 图;(2) 在逻辑设计阶段将E-R 图转换成具体的数据库产品支持的数据模型,如关系模型,形成数据库逻辑模式,然后在基本表的基础上再建立必要的视图(View),形成数据的外模式;(3) 在物理设计阶段,根据DB MS 特点和处理的需要,进行物理存储安排,建立索引,形成数据库内模式。
读者可以参考《概论》上图7.4。
图中概念模式是面向用户和设计人员的,属于概念模型的层次;逻辑模式、外模式、内模式是DBMS 支持的模式,属于数据模型的层次,可以在DBMS 中加以描述和存储。
3.需求分析阶段的设计目标是什么? 调查的内容是什么?答需求分析阶段的设计目标是通过详细调查现实世界要处理的对象(组织、部门、企业等),充分了解原系统(手工系统或计算机系统)工作概况,明确用户的各种需求,然后在此基础上确定新系统的功能。
调查的内容是“数据”和“处理”,即获得用户对数据库的如下要求:(1) 信息要求,指用户需要从数据库中获得信息的内容与性质,由信息要求可以导出数据要求,即在数据库中需要存储哪些数据;(2) 处理要求,指用户要完成什么处理功能,对处理的响应时间有什么要求,处理方式是批处理还是联机处理;(3) 安全性与完整性要求。
数据库原理习题与答案 第7章数据库设计
第七章.数据库设计习题:一.填空题1.数据库设计的几个步骤是。
2.“为哪些表,在哪些字段上,建立什么样的索引”这一设计内容应该属于数据库设计中的设计阶段。
3.在数据库设计中,把数据需求写成文档,它是各类数据描述的集合,包括数据项、数据结构、数据流、数据存储和数据加工过程等的描述,通常称为。
4.数据库实施阶段包括两项重要的工作,一项是数据的,另一项是应用程序的编码和调试。
5.在设计分E-R图时,由于各个子系统分别有不同的应用,而且往往是由不同的设计人员设计的,所以各个分E-R图之间难免有不一致的地方,这些冲突主要有、和三类。
6.E-R图向关系模型转化要解决的问题是如何将实体和实体之间的联系转换成关系模式,如何确定这些关系模式的。
二.选择题1.在数据库设计中,用E-R图来描述信息结构但不涉及信息在计算机中的表示,它是数据库设计的阶段。
A.需求分析B.概念设计C.逻辑设计D.物理设计2.在关系数据库设计中,设计关系模式是的任务。
A.需求分析阶段B.概念设计阶段C.逻辑设计阶段D.物理设计阶段3.从E-R模型向关系模型转换时,一个M:N联系转换成关系模式时,该关系模式的关键字是。
A.M端实体的关键字B.N端实体的关键字C.M端实体关键字与N端实体关键字组合D.重新选取其他属性4.当局部E-R图合并成全局E-R图时可能出现冲突,不属于合并冲突的是。
A.属性冲突B.语法冲突C.结构冲突D.命名冲突5.概念模型独立于。
A.E-R模型B.硬件设备和DBMSC.操作系统和DBMSD.DBMS 三.简答题1.数据字典的内容和作用是什么。
2.什么是数据库的概念结构,试述其特点和设计策略。
3.什么是数据库的逻辑结构设计?试述其设计步骤。
4.试述数据库物理设计的内容和步骤。
四.一个图书借阅管理数据库要求提供下述服务:1)可随时查询书库中现有书籍的品种,数量与存放位置。
所有各类书籍均可由书号唯一标识。
2)可随时查询书籍借还情况。
第7章数据库保护
1. 事务内部的故障
❖有的是可以通过事务程序本身发现的(如转帐 中的帐户余额不能小于0,若发现小于0,则 可显式的回滚事务)。
❖有的是不能由应用程序发现的(称为非预期的 故障),如:
▪ 运算溢出 ▪ 并发事务发生死锁而被选中撤销该事务 ▪ 违反了某些完整性限制等
❖事务故障仅指这类非预期的故障
53
则都是正确的结果。
44
策略1:串行调度
45
策略2:并行调度
不 可 串 行 化
可 串 行 化
46
7.2.6 两段锁协议
❖将所有的事务分为两个阶段对数据进行加 锁和解锁:
▪ 在对任何数据进行读写操作之前,首先要获 得对该数据的封锁。
▪ 在释放一个封锁之后,事务不再申请和获得 任何其他封锁。
❖两段锁协议是实现可串行化调度的充分条 件。
❖可串行性是并发事务正确性的准则, 按这个准则,一个给定的并发调度, 当且仅当它是可串行化的时,才认为 是正确的调度。
43
可串行化调度
例:设有两个事务,分别包含下列操作:
▪ 事务T1:读B;A=B+1;写回A ▪ 事务T2:读A;B=A+1;写回B 设A、B的初值均为4,
❖按T1 T2顺序执行,结果:A=5,B=6; ❖按T2 T1顺序执行,结果:A=6,B=5。 ❖当并发调度时,如果执行的结果是这两者之一,
❖简单方法是采用先来先服务的策略。 ❖当多个事务请求封锁同一数据对象时,数
据库管理系统按先请求先满足的事务排队 策略,当数据对象上的锁被释放后,让事 务队列中第一个事务获得锁。
37
死锁 ❖两个事务相互等待对方先释放资源,则会
造成死锁。
38
预防死锁的方法
数据库系统原理教程(第七章)清华大学
SYBASE关系数据库产品(续)
Sybase System 11.5 – SQLServer,关系数据库管理系统,专门负 责高速计算、数据管理、事务管理
ORACLE的Internet解决方案(续)
Oracle WebServer 2.0 增加了JAVA解释器和
LiveHTML解释器,使其能支持多种语言 由Web Request Broker(WRB), WebServer SDK 和 Webserver管理工具组成 – WRB是一个多线索多进程的HTTP服务器 – WebServer SDK 是一个开放的应用开发环境, 封装了WRB应用编程接口,允许用户使用 JAVA, LiveHTML, C++等web应用开发工 具
ORACLE工具(续)
Designer/2000 – CASE工具,帮助用户对复杂系统进行建模、 分析和设计 – 完成概要设计后,可以用来帮助绘制E-R 图、功能分层图、数据流图和方阵图,自动 生成数据字典、数据库表、应用代码和文档 – 由BPR, Modellers, Generators等组成
ORACLE工具(续)
Developer/2000(续) – ORACLE Forms 是快速生成基于屏幕的复 杂应用的工具,所生产的应用程序具有查询 和操纵数据的功能,可以现实多媒体信息, 具有GUI界面 – ORACLE Reprots是快速生产报表工具,如 普通报表、主从式报表、矩阵报表 – ORACLE Graphics是快速生产图形应用的 工具 – ORACLE Books用于生成联机文档
7. ORACLE的Internet解决方案
Oracle WebServer 1.0 主要由Oracle
WebListener, Oracle WebAgent和ORACLE7 服务器部分组成
数据库系统原理与设计(万常选)第三版第3章第7章习题答案
数据库系统原理与设计(万常选)第三版第3章第7章习题答案3.1 查询1991年出⽣的读者姓名、⼯作单位和⾝份证号。
SELECT readerName,workUnit,identitycardFROM ReaderWHERE SUBSTRING(identitycard,7,4) =‘1991’3.2 查询图书名中含有“数据库”的图书的详细信息。
SELECT *FROM BookWHERE bookName LIKE ‘%数据库%’3.3 查询在2015-2016年之间⼊库的图书编号、出版时间、⼊库时间和图书名称,并按⼊库时间降序排序输出。
SELECT bookNo,bookName,publishingDate,shopDateFROM BookWHERE YEAR(shopDate) BETWEEN 2015 AND 2016ORDER BY shopDate DESC3.4 查询读者“喻⾃强”借阅的图书编号、图书名称、借书⽇期和归还⽇期。
SELECT Book.bookNo,bookName,borrowDate,returnDateFROM Book,BorrowWHERE Book.bookNo=Borrow.bookNo AND readerNo IN(SELECT readerNoFROM ReaderWHERE readerName=‘喻⾃强’ )3.5 查询借阅了清华⼤学出版社出版的图书的读者编号、读者姓名、图书名称、借书⽇期和归还⽇期。
SELECT Reader.readerNo,readerName,bookName,borrowDate,returnDateFROM Reader,Borrow,Book,PublisherWHERE Reader.readerNo=Borrow.readerNo AND Borrow.bookNo=Book.bookNoAND Publisher. PublisherNo= Book. PublisherNo AND publisherName=‘清华⼤学出版社’3.6 查询上海⽣物研究室没有归还所借图书的读者编号、读者姓名、图书名称、借书⽇期和应归还⽇期。
数据库系统原理第七章答案
例子
【例】已知关系R〈U,F〉,其中U={A,B,C,D,E}, F={AB→C,B→D,C→E,EC→B,AC→B},求(AB)F+。 设X=AB ∵ XF(0)=AB XF(1)=ABCD
XF(2)=ABCDE
XF(3)= XF(2)=ABCDE ∴ (AB)F+=ABCDE={A,B,C,D,E}
XF+={ Ai | Ai∈U,X→Ai∈F+}
第十九页,编辑于星期五:九点 九分。
(2) 属性集闭包XF+的求法
1) 选X作为闭包XF+的初值XF(0)。 2) XF(i+1)是由XF(i)并上集合A所组成,其中A为F中存在 的函数依赖Y→Z,而AZ,YXF(i)。 3) 重复步骤2)。一旦发现XF(i)= XF(i+1),则XF(i)为所求 XF+。
1) 合并规则:由X→Y,X→Z,有X→YZ。 2) 伪传递规则:由X→Y,WY→Z,有XW→Z。 3) 分解规则:由X→Y及ZY,有X→Z。
第十八页,编辑于星期五:九点 九分。
3. 函数依赖集闭包F+和属性集闭包XF+
(1) 函数依赖集闭包F+和属性集闭包XF+的定义 定义:在关系模式R〈U,F〉中,为F所逻辑蕴含的函数 依赖的全体叫做F的闭包,记作F+。 定义:设有关系模式R〈U,F〉,X是U的子集,称所有 从F推出的函数依赖集X→Ai中Ai的属性集为X的属性闭 包,记作XF+。即:
第八页,编辑于星期五:九点 九分。
完全函数依赖、传递函数依赖
2) 在R〈U〉中,如果X→Y,并且对于X的任何一个真子集X’,
都有X’ Y,则称Y对X完全函数依赖,记作:X→Y;若XF →Y,
数据库原理及应用 第7章 并发控制
是事务不能够在执行过程中被打断,确保事务的全部操作被正确地执行, 如果其中某些操作无法正确执行,就无法保证数据的一致性。
7.1.2 事务的特性
3.隔离性 ● 系统必须保证事务不受其他并发执行事务的影响,一个事务内部的操作及
使用的数据,对其他并发事务应该是隔离的,并发执行的各个事务之间不 能相互干扰。 4.持久性 ● 一旦一个事务被提交,事务对数据的更改就被永久地写入数据库中,这个 改变应该是持久的,即使存放数据的介质损坏了,系统也能将数据恢复到 介质损坏之前事务提交的状态。
第7章 并发控制
02
7.2 并发控制
● 数据库是一个可以供多个用户共同使用的共享资源,在串行执行的情况下, 每个时刻只能有一个应用程序对数据库进行存取,其他程序必须等待。这 种工作方式制约了对数据库的访问效率,不利于数据库资源的利用。解决 这一问题的重要途径是允许多个用户并发地访问数据库。当多个用户并发 地访问数据库时,就会产生多个事务同时存取同一数据的情况,若对并发 操作不加以控制,就会造成对数据的错误存取,从而破坏数据库的一致性。
7.3.1 封锁类型
● 共享锁(简记为S锁)又称为读锁。如果事务T对数据对象R加上S锁,则 事务T可以读数据对象R,但不可以修改数据对象R,其他事务只能对数据 对象R再加S锁,不能再加X锁,直到事务T释放数据对象R上的S锁。这样 就保证了其他事务可以读取数据对象R,但是在事务T释放数据对象R上的 S锁之前,不能对数据对象R做任何修改。
7.3.1 封锁类型
● 基本的封锁类型有两种:排他锁和共享锁。 ● 排他锁(简记为X锁)又称为写锁。如果事务T对数据对象R加上X锁,则
数据库系统概论 第七章习题
第七章一、选择题:1.以下关于E-R图的叙述正确的是(C)A.E-R图建立在关系数据库的假设上B.E-R图使过程和数据的关系清晰,实体间的关系可导出应用过程的表示C.E-R图可将现实世界中的信息抽象地表示为实体以及实体间的联系D.E-R图能表示数据生命周期2.在数据库设计过程中,设计用户外模式属于(B)A.物理设计B.逻辑结构设计C.数据库实施D.概念结构设计3.如何构造出一个合适的数据库逻辑结构是(C)主要解决的问题。
A.物理结构设计B.数据字典C.逻辑结构设计D.关系数据库查询4.概念结构设计是整个数据库设计的关键,它通过对用户需求进行综合、归纳与抽象,形成一个独立于具体DBMS的(B)。
A.数据模型B.概念模型C.层次模型D.关系模型5.数据库设计可划分为六个阶段,每个阶段都有自己的设计内容,“为哪些关系,在哪些属性上建什么样的索引”这一设计内容应该属于(C)设计阶段。
A.概念设计B.逻辑设计C.物理设计D.全局设计7.在关系数据库设计中,对关系进行规范化处理,使关系达到一定的范式,例如达到3NF,这是(D)阶段的任务。
A.需求分析B.概念设计C.物理设计D.逻辑设计8.在概念模型中的客观存在并可相互区别的事物称为(A)。
A.实体B.元组C.属性D.节点9.某公司有多个部门和多名职员,每个职员只能属于一个部门,一个部门可以有多名职员,从职员到部门的联系类型是(D)。
A.多对多B.一对一C.一对多D.多对一11.在数据库设计中,将ER图转换成关系数据模型的过程属于(B)。
A.需求分析阶段B.逻辑设计阶段C.概念设计阶段D.物理设计阶段12.在ER模型中,如果有3个不同的实体,3个M:N联系,根据ER模型转换为关系模型的规则,转换为关系的数目是(C)。
A.4B.5C.6D.714. 如果两个实体集之间的联系是m:n,转换为关系时(B)。
A. 联系本身不必单独转换为一个关系B. 联系本身必须单独转换为一个关系C. 联系本身也可以不单独转换为一个关系D. 将两个实体合并为一个实体15. 数据库设计人员之间与用户之间沟通信息的桥梁是(B)。
数据库系统原理课后习题参考答案
~第一章数据库系统概述选择题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.下面哪个不是数据库系统必须提供的数据控制功能____。
A.安全性B.可移植性C.完整性D.并发控制答案:B2.保护数据库,防止未经授权的或不合法的使用造成的数据泄漏、更改破坏。
这是指数据的____。
A.安全性B.完整性C.并发控制D.恢复答案:A3.数据库的____是指数据的正确性和相容性。
A.安全性B.完整性C.并发控制D.恢复答案:B4.在数据系统中,对存取权限的定义称为____。
A.命令B.授权C.定义D.审计答案:B5.数据库管理系统通常提供授权功能来控制不同用户访问数据的权限,这主要是为了实现数据库的____。
A.可靠性B.一致性C.完整性D.安全性答案:D6.授权编译系统和合法性检查机制一起组成了____子系统。
A.安全性B.完整性C.并发控制D.恢复答案:A7.____是DBMS的基本单位,它是用户定义的一组逻辑一致的程序序列。
A.程序B.命令C.事务D.文件答案:C8.事务的原子性是指____。
A.事务中包括的所有操作要么都做,要么都不做B.事务一旦提交,对数据库的改变是永久的C.一个事务内部的操作及使用的数据对并发的其他事务是隔离的D.事务必须是使数据库从一个一致性状态变到另一个一致性状态答案:A9.事务是数据库进行的基本工作单位。
如果一个事务执行成功,则全部更新提交;如果一个事务执行失败,则已做过的更新被恢复原状,好像整个事务从未有过这些更新,这样保持了数据库处于____状态。
A.安全性B.一致性C.完整性D.可靠性答案:B10.事务的一致性是指____。
A.事务中包括的所有操作要么都做,要么都不做B.事务一旦提交,对数据库的改变是永久的C.一个事务内部的操作及使用的数据对并发的其他事务是隔离的D.事务必须是使数据库从一个一致性状态变到另一个一致性状态答案:D11.事务的隔离性是指____。
A.事务中包括的所有操作要么都做,要么都不做B.事务一旦提交,对数据库的改变是永久的C.一个事务内部的操作及使用的数据对并发的其他事务是隔离的D.事务必须是使数据库从一个一致性状态变到另一个一致性状态答案:C12.事务的持续性是指____。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
例8:在JWGL数据库中定义名为school的数据类型, 然后定义默认值对象def_school 并将其绑定到用户 自定义的数据类型school中。 USE JWGL GO EXEC sp_addtype ‘school’,char(20),’NULL’ GO CREATE DEFAULT def_school AS ‘广东技术师范 学院’ GO EXEC sp_bindefault ‘def_school’,’school’
12
例7:若在学生表S中增加一个字段”专业”,并 定义此字段的默认值. USE JWGL ALTER TABLE S ADD SPD char(20) NULL CONSTRAINT Addspd DEFAULT ‘computer’ WITH VALUES P130例 7.5 默认值约束可以在企业管理器中删除。
值的排列次序,可选ASC(升序)或DESC(降序),缺省值为ASC。
UNIQUE表明此索引的每一个索引值只对应唯一的数据记录。 CLUSTERED表示要建立的索引是聚集索引。所谓聚集索引是指索引项的顺序 与表中记录的物理顺序一致的索引组织。
3
例1: CREATE INDEX STUSNO ON S(SNO) 将会在S表的SNO(学号)列上建立一个索引,而 且S表中的记录将按照SNO值的升序存放。
21
通常所讲到的数据库的完整性(Integrity)的基 本含义是指数据库的正确性、有效性和相容性,其主 要目的是防止错误的数据进入数据库。 ●正确性(correctness) 是指数据的合法性,例如 数值型数据中只能含有数字而不能含有字母。 ●有效性(valid) 是指数据是否属于所定义域的有 效范围。 ●相容性(consistency) 是指关系中同一事实的两 个数据应当一致,不一致即是不相容。
定义默认值约束的语句格式:
CREATE TABLE table_name (column_name datatype NOT NULL|NULL [ DEFAULT constraint_expression] [,…n]) 功能:在定义表的同时,将指定相关列的默认 值。
10
例6:对于数据库JWGL,定义SC表时定义 GRADE字段的默认值约束为0 CREATE table SC { SNO char(10) PRIMARY KEY, CNO char(2), GRADE int DEFAULT 0 } P129例 7.4
4
例2: CREATE CLUSTER INDEX STUSNAME ON S(SNAME) 将会在S表的SNAME(姓名)列上建立一个聚集索 引,而且S表中的记录将按照SNAME值的升序存放。
例3:使用图形界面创建索引
5
7.1.4 索引的管理 P128
1、查看索引 利用存储过程sp_helpindex可以查看特定表上 的索引信息 例4:查看索引STUSNO的信息 EXEC sp_helpindex STUSNO
11
修改表的定义时,可在添加一个字段的同时定 义相应的默认值约束的语句格式: CREATE TABLE table_name ADD column_name datatype NOT NULL|NULL CONSTRAINT constraint_name DEFAULT constraint_expression WITH VALUES 功能:对指定的表添加新字段的同时,将指定 相关字段的默认值。若无WITH VALUES 则为NULL
24
③ 静态关系级约束:静态关系级约束是一个关系中 各个元组之间或者若干个关系之间常常存在的各种联 系的约束。常见的静态关系级约束有以下几种: ● 实体完整性约束。 ● 参照完整性约束。 ● 函数依赖约束。 ● 统计依赖约束。
25
④ 动态属性级约束 动态属性级约束是修改定义或属 性值应满足约束条件。其中包括: ●修改定义时的约束:例如将原来容许空值的属性改 为不容许空值时,如果该属性当前已经存在空值,则 规定拒绝修改。 ●修改属性值时约束:修改属性值有时需要参考该属 性的原有值,并且新值和原有值之间需要满足某种约 束条件。例如,职工工资调整不得低于其原有工资, 学生年龄只能增长等。
26
⑤ 动态元组级约束: 动态元组约束是指修改某个元 组的值时要参照该元组的原有值,并且新值和原有值 之间应当满足某种约束条件。例如,职工工资调整不 得低于其原有工资+工龄*1.5等。
⑥ 动态关系级约束: 动态关系级约束就是加在关系 变化前后状态上的限制条件。例如事务的一致性,原 子性等约束条件。动态关系级约束实现起来开销较大。
13
7.2.2
默认值对象
P130
是一种独立存储的数据库对象,其作用与默认 约束一样。 1、定义语法格式: CREATE DEFAULT default AS constant_expression 2、使用sp_bindefault 存储过程将其绑定到 列或用户定义数据类型,才能使其作用 语法格式: sp_bindefault [ @defname =] ‘default’,[@objname=]’object_name’[, [@futureonly=] ‘fuatureonly_flag’] 14
20
对数据库中数据设置某些约束机制,这些添加在 数据上的语义约束条件称为数据库完整性约束条件, 它一般是对数据库中数据本身的某种语义限制、数据 间的逻辑约束和数据变化时所遵循的规则等。约束条 件一般在数据模式中给出,作为模式一部分存入数据 字典当中,在运行时由DBMS自动查验,当不满足时 立即向用户通报以便采取措施。
第7章 索引与数据完整性
7.1 索引 7.1.1 索引的概念
P127
索引:是一种数据结构,以记录的特征为输入,并能快速地 找出具有特征的记录。 建立索引的目的:加快关系中在某个特定的属性上存在特定 值的元组的查找速度。
不足之处:创建时花时间,存储空间增大,维护速度降低。
1
7.1.2
索引的分类 P127
29
实体完整性规则如下: 实体完整性规则(Entity Integrity Rule):当属性A 是基本关系R的主属性时,属性A不能取空值 实体完整性指的是表中行的完整性,要求表中的所有 行都有唯一的标识符。
30
在关系数据库中使用SQL语句创建PRIMARY KEY约束或 UNIQUE约束来实现,语法格式: CREATE TABLE table_name (column_name datatype [CONSTRAINT constraint_name] NOT NULL PRIMARY KEY |UNIQUE [CLUSTERED | NONCLUSTERED] [,…n])
例5: 删除S表的STUSNAME索引。 DROP INDEX S.STUSNAME 删除索引时,系统会同时从数据字典中删去有关 该索引的描述。
8
7.2
默认值约束及默认值对象 P129 7.2.1 默认值约束
指定一个字段的默认值。 作用:当向表中插入数据时,若用户没有给某一字段输入 数据,系统自动将默认值作为该字段的数据内容。 向表中添加数据时,如果没有输入相关字段值,可能会出 现下面几种情况; (1)若此字段定义了默认值,则取默认值 (2)若此字段未定义默认值,而且允许取NULL值,则取 NULL (3)若此字段未定义默认值,而且不允许取NULL值,在 保存时出现错误,而且添加数据操作失败。 9
可分为:唯一索引、聚集索引和非聚集索引 1、唯一索引 索引键中不包含重复的值。 若多列建立时,索引键中每个组合是唯一的。 2、聚集索引 表中行的物理顺序与键值的逻辑顺序相同。一个表中 只包含一个聚集索引。 3、非聚集索引 有完全独立于数据行的结构。即索引的逻辑顺序并不 等同于表中的行的物理顺序。
2
7.1.3 索引的创建 P128
建立索引语句格式: CREATE [UNIQUE][CLUSTERED][NONCLUSTERED] INDEX <索引名> ON <表名>(<列名>[<次序>][,<列名>[<次序>]]…);
其中,<表名>是要建索引的基本表的名字。索引可以建立在该表的一列或 多列上,各列名之间用逗号分隔。每个<列名>后面还可以用<次序>指定索引
19
一般认为,数据质量主要有两个方面的内容: ● 能够及时、正确地反映现实世界的状态。 ● 能够保持数据的前后一致性,即应当满足一定的数 据完整性约束。 为保护数据库的完整性,现代的DBMS应当提供 一种机制来检查数据库中数据的完整性,这种机制的 方法之一就是设置完整性检验,即DBMS检查数据是 否满足完整性条件的机制。本节将讨论数据库完整性 概念和相应的完整性约束机制。
15
解除绑定关系的语法格式: sp_unbindefault [@objname=] ’object_name’ [,[@futureonly=] ‘futureonly_flag’]
16
3、删除一个默认对象,先应解除默认值对象与用户 定义类型或表字段的绑定关系,然后才能删除该默认 对象。
例9: USE JWGL GO EXEC sp_unbindefault ‘school’ GO DROP DEFAULT def_school
27
关系模型的完整性规则就是对关系的某种规范化了的 约束条件。 数据完整性分3类: 即实体完整性、参照完整性 和用户定义完整性。
实体完整性 和参照完整性 是任何一个关系模型都必 须满足的完整性约束条件,被称为关系模型完整性的 两个不变约束,通常由DBMS自动支持。
28
7.3.1 实体完整性 P132
22
整个完整性控制都是围绕完整性约束条件进行的, 可以说,完整性约束条件是完整性控制机制的核心。 完整性约束条件涉及到3类作用对象,即属性级、 元组级和关系级。这3类对象的状态可以是静态的, 也可以是动态的。结合这两种状态,一般将这些约束 条件分为下面6种类型。