北航数据库系统10-12试卷总结
北航数据库系统期末复习
填空题
- 数据模型的三要素是数据结构,数据操作和数据完整性约束。(第一章 绪论)12
- 数据库系统的三级模式是指:外模式、模式和内模式。(第一章 绪论)1
- 数据的数据独立性包括:逻辑独立性和物理独立性。(第一章 绪论) 12
- 数据库的逻辑独立性是通过 外模式/模式映像实现的。(第一章绪论)12
- 关系数据库必须满足的语义约束包括:实体完整性和参照完整性。
- 数据库管理系统DBMS的主要功能包括:数据库定义,数据存取,数据库的运行管理、数据组织和存储以及数据库建立和维护功能。
- 数据库的存取控制方法主要有:强制存取控制和自主存取控制。(第四章数据安全性)12
- 维护数据库的完整性,DBMS应当提供定义完整性约束条件的机制,提供完整性检查的方法,违约处理。(第五章 数据库完整性)12
- 数据库系统具有统一的数据控制功能,包括数据的安全性控制、数据的完整性控制、并发控制等。1
- 数据完整性指的是:数据的正确性和相容性。(第五章 数据库完整性) 123
- 按照优化的层次,查询优化一般可以分为:代数优化和物理优化。(第九章 关系查询处理和查询优化) 12
- 数据库中实现链接操作的算法通常有:嵌套循环,排序-合并法,索引连接法和Hash Join法。
- 关系数据库的查询处理可以分为四个阶段,即查询分析,查询检查,查询优化,查询执行。
- 在进行数据库系统故障恢复的时候,对于已提交的事务应当进行REDO操作,对于未提交的事务应当进行UNDO操作。(第十章 数据库恢复技术)1
- 在进行数据库系统故障的恢复时,对于已提交的事务,应当正向扫描日志文件,将日志记录中更新后的值写回数据库。(第十章 数据库恢复技术)1
- 在数据库中预防死锁的方法主要有:一次封锁法和顺序封锁法。(第十一章 并发控制)12
- 多个事务并发事务调度的可串行化,是指这个并发调度的执行结果与按某一次序串行执行它们时结果相同。12
- 两段锁协议可保证事务并发调度的正确性。(第十一章 并发控制)12
- 分布式数据库以数据分布为前提,强调场地自治性(局部应用)与自制场地之间的协作性(全局应用)。(第十四章 分布式数据库)12
- 分布透明性包括:分片透明性,位置透明性和局部数据模型透明性。(第十四章 分布式数据库)12
- 分布式数据系统种,局部查询和远程查询可以使用集中式数据库的查询优化技术,而全局查询是分布式数据库查询优化的主要对象,连接查询的通常采用的技术是半连接。
- 在分布式数据库系统中,通过全局模式和分片模式之间的映像可以实现分片透明性。
选择题
-
数据库是长期存储在计算机内的有组织,可共享的数据集合。(第一章 绪论)
-
数据库管理系统的主要功能包括:数据库定义,数据库存取,数据库运行和管理,数据组织、存储和管理,数据库建立和维护。 (第一章 绪论)
-
数据库系统与文件系统的本质区别是数据库系统实现整体结构的结构化,而文件系统中数据之间是孤立的。(第一章 绪论)*2
-
从数据库的角度来看,核心的关系代数运算包括选择、投影、连接。(第二章 关系数据库)
-
关系代数有五种基本的操作,其他操作均可以用这五种基本操作表示:并、差、笛卡儿积/乘、选择、投影。
-
关于关系数据模型,正确:适用于集合操作、有标准语言支持、数据结构简单,不正确:能表达复杂的数据结构,如表中套表。 (第二章 关系数据库)
-
关系数据模型的优点有:有严格的数学概念基础、数据独立性好、存取路径透明性好,不包括数据结构复杂。
-
与元组演算公式{t|R(t)^S(t)}等价的关系代数表达式是R∩S。(第二章 关系数据库)
-
与元组演算公式
$$
{t|R(t) \land 非 S(t)}
$$
等价的关系代数表达式是R-S。(第二章 关系数据库) -
ALTER TABLE属于SQL语言中的数据定义语句。(第三章 关系数据库标准语言SQL)
-
在数据库中,产生数据不一致的根本原因是数据冗余。? *2
-
通过数据库的安全性控制可以防止不合法的使用所造成的数据泄露、更改和破坏。(第四章 数据库安全性)
-
对于关系模式R的属性子集X、Y,若X→Y,且对X的真子集X’有X'→Y,则称Y部分函数依赖于X。
-
关系模式规范化属于数据库设计的逻辑设计阶段。(第七章 数据库设计)
-
在数据库系统中,日志文件用于记录对数据库的所有更新操作。(第十章 数据库恢复技术)
-
对数据库系统故障进行回复时,应当正向扫描日志文件,建立Undo和Redo队列。(第十章 数据库恢复技术)
-
在数据库中为了发现和解除死锁,可以采用等待图法。或【超时法】(第十一章 并发控制)
-
若事务对象T对数据对象A加上IS锁,则其他事务不能在A上加X锁。(第十一章 并发控制)?
-
二级锁协议可以防止读“脏数据”,防止丢失更新。(第十一章 并发控制)
-
属于结构冲突的是 同一对象在不同的局部ER图中具有不同的抽象。
-
如果关系模式R只包含两个属性,则可以断言R属于的最高范式为 4NF。
-
设U为所有属性,X,Y,Z为属性集,Z=U-X-Y。下列说法正确的是:AD
A.若X→Y,则X→→Y
B.若X→→Y,则X→Y
C.若X→Y,则X→Z
D.若X→→Y,则X→→Z
E. 若X→→Y, Y'真包含于Y,则X→→Y‘
- 若关系模式R的码由全部属性构成,则R一定可以达到的范式等级是 ABC
A. 2NF B.3NF C.BCNF D.4NF
- 设有关系模式R(ABCDE),起函数依赖集F={A→BC,CD→E},则下列结果不属于无损分解的是 D
A. {R1(ABC),R2(ADE)} B.{R1(ABCD),R2(CDE)} C.{R1(AB),R2(ACDE)} D.{R1(AC),R2(BCDE)}
- 若F是属性组U上的一组函数依赖,下列哪一条不属于Armstrong公理系统中的基本推理规则 C
A.若Y⊆X⊆U,则X→Y为F所蕴含
B.若X→Y为F所蕴含,且Z⊆U,则XZ→YZ为F所蕴含
C.若X→Y及X→Z为F所蕴含,则X→YZ为F所蕴含
D.若X→Y及Y→Z为F所蕴含,则X→Z为F所蕴含
- 并发调度中,事务T1T和2下列操作顺序可能导致丢失更新的是 D
A.R1(X),W2(X),R1(X)
B.R1(X),W2(Y),R1(Y)
C.W1(Y),W2(X),R2(X)
D.W1(X),W2(X),R2(Y)
- 以下关于外部码的描述不正确的是 C
A.一个关系的外部码引用的是另一个关系的主码
B. 外部码可以由一个或多个属性构成
C. 外部码的每一个取值必须等于它所引用的关系中某个元组的主码值,否则将破坏参照完整性
D. 外部码不是所在关系的主码
- 关于事务持续性的说法正确的是 C
A.事务的操作要么全做,要么全部不做。
B.事务得执行必须将数据库从一个一致性状态转换到另一个一致性状态。
C.事务一旦提交,其对数据库的修改就是永久性的。
D.并发执行的各个事务之间不能相互干扰。
判断题
- 并发事务遵守两段锁协议可以避免死锁。 × (第十一章 并发控制)
- 关系代数的基本操作有 并、差、笛卡尔乘积、选择和投影。 √ (第二章)
- 关系模式R(U)中,XYZ是U的子集,并且Z=U-X-Y,多值依赖X→→Y成立,当且仅当R(U)的任一关系r,给定一个X值有一组Y的值。 × (第六章)
- 在数据设计时,并非规范化程度越高(或范式级别越高)的关系越好。 √ (第七章)
- 在多粒度封锁中,IX锁与IX锁之间是不相容的。× (第十一章)
- 在进行数据库物理设计时,一般有三种存取方法可供选择,它们分别是:索引存取方法、HASH存取方法和聚簇存取方法。 √
- 投影运算尽可能先做,时查询优化策略中最重要、最基本的一条。 ×
- 关系中列的顺序无所谓,即列的次序可以互换。 √
- 分布式数据库中的半连接,是通过缩减关系(或片段)来节省通信开销,从而实现连接运算优化的一种方法。 √
- 在使用多粒度封锁技术的情况下,如果要对多粒度树种的一个节点加排他锁,则应对其上级节点加X锁。 ×
- 文件系统阶段已经具有了一定的数据独立性。√
- 在执行不相关子查询时,如果外部查询的时候选行由20行,则内部嵌套子查询需要执行20次。 ×
- 对关系模式来说,范式等级越高,实际应用效果越好。 ×
- 二维表的任何两个行不能全同。√
- 利用半连接不一定能提高分布式查询的效率。√
简答题
试说明基本关系的性质
- 列是同质的
- 不同的列可以出自同一个域,每列必须有不同的属性名
- 列是无序的,列次序可以互换
- 任意两个元组不能完全相同(集合不能有两个相同元素)
- 行是无序的,行次序可以互换
- 每一分量必须是不可再分的数据
简要说明保障数据库安全的主要方法
- 用户标识与鉴别
用户标识和鉴别是系统提供的最外层安全保护措施。标识是指系统采用一定的方式标识其用户或应用程序的名字或身份。鉴别是指系统在用户或应用程序登录时判断其是否在合法的授权用户。
- 存取控制
确保合法用户按照指定的权限使用DBMS和访问数据,而非法用户或不具有相关权限的用户则不能。
- 审计功能
审计功能把用户对数据库的所有操作都自动记录下来放入审计日志中。DBA可以利用审计跟踪的信息,重现导致数据库现有状况的一系列事件,找出非法存取数据的人、时间和内容等。
- 数据加密
防止数据库中数据在存储和传输中失密的有效手段,加密的基本思想是根据一定的算法将原始数据(明文)变换为不可识别的格式(密文),从而使得不知道解密算法的人无法获知数据的内容。
试述事务特性以及保证事务这些特性不被破坏的技术
- 原子性
事务种包括的诸操作要么都做,要么都不做。
- 一致性
事务的执行结果必须是使数据库从一个一致性状态变到另一个一致性状态。
- 隔离性
一个事务的执行不能被其他事务干扰。即一个事务的内部操作及使用的数据对其他并发事务是隔离的,并发执行的事物之间不能相互干扰。
- 持久性
一个事务一旦提交,它对数据库中数据的改变就应该是永久性的。接下来的其他操作或故障不应该对其执行结果有任何影响。
- 技术
并发控制和数据库恢复
事务的4个特性在什么情况下会遭到破坏,数据库中采用什么技术保证事务的这些特性不被破坏?
某企业生产管理系统中有三个表:产品(产品号,产品名,厂家)
知识点
绪论
数据库的4个基本概念
- 数据Data
定义:描述事物的符号记录
数据的语义:数据的含义,与数据不可分
数据是有结构的:记录是计算机存储数据的一种格式或一种方法
- 数据库(DataBase, DB)
定义:长期存储在计算机内、有组织的、可共享的大量数据的集合。数据库中数据按照一定数据模型组织、描述和存储;具有较小的冗余度,较高的数据独立性和易扩展性,并可为各种用户共享
基本特点:永久存储、有组织、可共享
- 数据库管理系统(DataBase Management System, DBMS)
定义:位于用户和操作系统之间的一层数据管理软件,是一个大型复杂的软件系统,和操作系统一样是计算机的基础软件。
用途:科学地组织和存储数据、高效地获取和维护数据
主要功能:
(1) 数据定义(提供数据定义语言DDL(Data Definition Language);
(2) 数据组织、存储和管理
(3) 数据操纵(提供数据操纵语言DML,实现对数据库的基本操作)
(4) 数据库的事务管理和运行管理
(5) 数据库的建立和维护
(6) 其他功能
- 数据库系统(DataBase System, DBS)
定义:由数据库、数据库管理系统(及应用开发工具)、应用程序和数据库管理员(DataBase Administrator, DBA)组成的存储、管理、处理和维护数据的系统。
通常把数据库系统简称为数据库
数据模型的组成要素
数据模型通常由数据结构、数据操作和数据的完整性的约束条件三部分组成
- 数据结构
数据结构描述系统的静态特性,包括数据库的组成对象以及对象之间的联系
- 数据操作——描述系统动态特征
数据操作描述系统的动态特性,指对各种对象(型)的实例(值)允许执行的操作的集合,包括操作有关的操作规则
- 完整性约束
数据的完整性约束条件是一组完整性规则
数据库系统的三级模式结构
(1)模式schema
模式也称逻辑模式,是数据库中全体数据的逻辑结构和特征的描述,是所有用户的公共数据视图。
(2)外模式external schema
外模式也称子模式(subschema)或用户模式,它是数据库用户能够看见和使用的局部数据的逻辑结构和特征的描述,是数据库用户的数据视图,是与某一应用有关的数据的逻辑表示。
(3)内模式internal schema
内模式也称存储模式(storage schema),一个数据库只有一个内模式。它是数据物理结构和存储方式的描述,是数据在数据库内部的组织方式。
数据库的二级映像功能与数据独立性
- 外模式/模式映像
当模式改变时,由数据库管理员对各个外模式/模式映像做相应改变,可以使外模式保持不变。应用程序是根据外模式编写的,从而应用程序不必修改,保证了数据与程序的逻辑独立性,简称数据的逻辑独立性。
- 模式/内模式映像
当数据库的存储结构改变时,有数据库管理员对模式/内模式映像做相应改变,可以使模式模式保持不变,从而应用程序也不必改变,保证了数据与程序的物理独立性,简称数据的物理独立性。
关系数据库标准语言SQL
数据定义
- 定义模式
CREATE SCHEMA 模式名 AUTHORIZATION 用户名
- 删除模式
DROP SCHEMA 模式名 CASCADE|RESTRICT
- 定义基本表
CREATE TABLE 表名 (列名 数据类型 [列级完整性约束条件])
- 修改基本表
ALTER TABLE <表名>
[ADD [COLUMN] <新列名><数据类型>[完整性约束]]
[ADD <表级完整性约束>]
[DROP [COLUMN] <列名>[RESTRICT | CASCADE]]
[DROP CONSTRAINT <完整性约束名>[RESTRICT | CASCADE]]
[ALTER COLUMN <列名><数据类型>]
- 删除基本表
DROP TABLE 表名 CASCADE|RESTRICT
- 建立索引
CREATE [UNIQUE] [CLUSTER] INDEX <索引名>
ON <表名>(<列名>[<次序>])
- 修改索引
ALTER INDEX <旧索引名>RENAME TO <新索引名>
- 删除索引
DROP INDEX <索引名>
第六章 关系数据库理论
函数依赖
给定X,关系上对应的Y一定是等值的,则称Y函数依赖于X,X→Y
函数依赖和别的数据依赖一样是语义范畴的概念,只能根据语义来确定一个函数依赖
完全函数依赖:在R(U)中,如果X→Y,并且对于X的任何一个真子集X',都有Y不函数依赖于X‘,则称Y对X完全函数依赖。
部分函数依赖:如果Y函数依赖于X,但不是完全函数依赖,则称Y部分函数依赖于X
多值依赖
定义:设R(U)是属性集U上的一个关系模式。XYZ是U的子集,并且Z=U-X-Y,关系模式中的多值依赖X→→Y当且仅当对R(U)的任意关系r,给定的一对(x,z)值,有一组Y的值,这组值仅仅决定于x值而与z值无关。
判别一个分解的无损连接性
U={A1, A2, … , An},F={FD1,FD2,,FD r}不妨设F是一个最小依赖集,记FDi为Xi →Aj
r = {R1<U1 , F1> , R2<U2 , F2>, … , Rk<Uk , Fk>}
-
建立一个n列k行的矩阵。每一列对应一个属性,每一行对应于分解中的一个关系模式。若属性Aj 属于Ui ,则在j列i行交叉处填上aj ,否则填上bij 。
-
对每一个FDi做下列操作:找到Xi所对应的列中具有相同符号的那些行。考察这些行中j列的元素,若其中有aj,则全部改为aj;否则全部改为bmj;m是这些行的行号最小值。
如果在某次更改之后,有一行成为a1, a2 , … , an 。则算法终止, r为无损分解,否则为有损分解。
第七章 数据库设计
数据库设计的基本步骤
- 需求分析
- 概念结构设计
- 逻辑结构设计
把概念结构设计阶段设计好的基本E-R图,转换为与选用数据管理系统产品所支持的数据模型相符合的逻辑结构。
-
物理结构设计
-
数据库实施阶段
-
数据库运行和维护阶段
并发控制
封锁
封锁是实现并发控制的一个非常重要的技术
- 排他锁/写锁/X锁
如果事务T对数据对象A加上X锁,则只允许T读取和修改A,其他任何事物都不能再对A加任何类型锁
- 共享锁/读锁/S锁
如果事务T对数据对象A加上S锁,则事务T可以读A但不能修改A,其他事务只能再对A加S锁,而不能加X锁,直到T释放S锁为止。
意向锁
意向锁的含义是如果对一个结点加意向锁,则说明该节点的下层节点正在被加锁
- IS锁/意向共享锁
如果对一个数据对象加IS锁,表示它的后裔节点拟(意向)加S锁
- IX锁/意向排他锁
如果一个数据对象加IX锁,表示它的后裔结点拟(意向)加X锁
- SIX锁/共享意向排他锁
如果一个数据对象加SIX锁,表示对它加S锁,再加IX锁。
分布式数据库
分布(网络)透明性
- 分片透明性
用户或应用程序只对全局关系进行操作而不必考虑关系的分片。如果分片模式改变了,通过调整全局模式与分片模式之间的映象关系来保持全局模式不变。
- 位置透明性
用户或应用程序不必了解片段的存储位置。
- 局部数据模型透明性
用户或应用程序不必了解局部场地上使用的是哪种数据模型。