数据库期末复习

第一章绪论

1.1 数据库的4个基本概念(数据、数据库、数据库管理系统和数据库系统)

数据是指描述事物的符号记录。

数据库是按一定的组织方式将相关的数据组织在一起,长期存放在计算机外存储器上,能为多个用户共享的,与应用程序彼此独立的一组相关数据的集合。

数据库管理系统是位于用户和操作系统之间的一层系统软件,可以定义、创建、维护和操纵数据库的数据资源。

数据库系统通常是指带有数据库的计算机应用系统。

1.2数据库系统的特点、数据库系统与文件系统的区别与联系

数据库系统的特点是:数据结构化、数据的共享性高、冗余性低、易扩充、数据独立性高。

文件系统和数据库系统之间的区别:

(1) 文件系统用文件将数据长期保存在外存上,数据库系统用数据库统一存储数据;

(2) 文件系统中的程序和数据有一定的联系,数据库系统中的程序和数据分离;

(3) 文件系统用操作系统中的存取方法对数据进行管理,数据库系统用DBMS统一管理和控制数据;

(4) 文件系统实现以文件为单位的数据共享,数据库系统实现以记录和字段为单位的数据共享。

文件系统和数据库系统之间的联系:

(1) 均为数据组织的管理技术;

(2) 均由数据管理软件管理数据,程序与数据之间用存取方法进行转换;

(3) 数据库系统是在文件系统的基础上发展而来的。

1.3数据库系统的三级模式结构(外模式、模式、内模式)

数据库的二级映像功能与数据独立性(逻辑独立性、物理独立性)

三级模式结构及其优点:

(1).模式:模式也称逻辑模式或概念模式,是数据库中全体数据的逻辑结构和特征的描述,是所有用户的公共数据视图。

(2).外模式:外模式也称用户模式。它是数据库用户能够看见和使用的局部数据的逻辑结构和特征的描述,是数据库用户的数据视图,是与某一应用有关的数据的逻辑表示.外模式通常是模式的子集.

(3).内模式:内模式也称存储模式。一个数据库只有一个内模式.它是数据物理结构和存储方式的描述,是数据在数据库内部的表示方式。

优点:
(1).保证数据的独立性。将模式与内模式分开,保证了数据的物理独立性。讲外模式和模式分开,保证了数据的逻辑独立性。

(2).简化了用户接口。按照外模式编写应用程序或输入命令,而不需要了解数据库内部的存储结构,方便用户使用系统。

(3).有利于数据共享。在不同的外模式下可由多个用户共享系统中的数据,减少了数据冗余。

(4).有利于数据的安全保密。在外模式下根据要求进行操作,只能对限定的数据操作,保证了其他数据的安全。

两个独立性:

(1).物理独立性是指用户的应用程序与存储在磁盘上的数据库中数据是相互独立的。即,数据在磁盘上怎样存储由DBMS管理,用户程序不需要了解,应用程序要处理的只是数据的逻辑结构,这样当数据的物理存储改变了,应用程序不用改变。
(2).逻辑独立性是指用户的应用程序与数据库的逻辑结构是相互独立的,即,当数据的逻辑结构改变时,用户程序也可以不变。

前者是应用程序与数据库的数据,后者是应用程序与数据库的逻辑结构,并非角度不同,而是对象的不同。

因为有了数据库,应用程序对数据的访问是要通过DBMS进行的,程序不能直接操作数据本身。而且DBMS提供了两层映像机制:外模式/模式映像和模式/内模式映像。这两层映像机制保证了数据库系统中数据的逻辑独立性和物理独立性。

第二章关系数据库

2.1 码、主属性、非主属性、外码

2.2 关系代数 并、差、交、笛卡尔+积、选择、投影、连接、除运算。

2.3关系代数查询及关系运算

第三章关系数据库标准语言SQL

3.1 SQL的基本概念,基本表、视图。

3.2基本表及视图的定义、查询、更新

3.3 数据查询:常用的SQL语句,常用的查询、修改、删除、分组、排序等SQL 语句

3.4 能熟练使用通配符

3.5多表连接查询、复合条件连接查询、嵌套查询

3.6 数据更新 插入数据、修改数据、删除数据

3.7 空值的处理

第四章数据库安全性

4.1 数据库的安全性

数据库的安全性是指保护数据库,防止不合法的使用,以免数据的泄漏、非法更改和破坏。

4.2实现数据库安全性控制常用的方法和技术

自主存取控制方法:定义各个用户对不同数据对象的存取权限,当用户对数据库访问时首先检查用户的存取权限,以防止不合法用户对数据库的存取。

自主存取机制的弊端:

强制存取控制方法:每一个数据对象被强制地标以一定的密级,每一个用户也被强制地授予某一个级别的许可证,系统规定只有具有某一许可证级别的用户才能存取某一个密级的数据对象。

视图:视图是一个虚拟表,是由其他表导出的表,其内容由查询定义,并且在引用视图时动态生成。

视图的作用:

1.简化用户操作。

2.使用户以多种角度看待同一数据。

3.提供了一定程度的逻辑独立性。

4.对数据提供安全保护。

5.可以更清晰地表达查询。

4.3能熟练使用SQL语句完成对关系模式的授权/回收操作

第五章数据库的完整性

5.1数据库的完整性

完整性和安全性的区别:

1). 数据库的完整性是为了在数据的添加、删除、修改等操作中不出现数据的破坏或多个表数据不一致,是指存储在数据库中的数据正确无误并且相关数据具有一致性,数据在逻辑上的一致性、正确性、有效性和相容性。

2).数据库的安全性是指保护数据库以防止不合法使用所造成的数据泄露、更改或破坏 。

3).数据的完整性和安全性是两个不同概念,数据库的完整性是指数据的正确性和相容性。数据库的安全性是指保护数据库,以防止不合法的使用造成的数据泄密、更玫或破坏。其相同点是两者都是对数据库中的数据进行控制,各自所实现的功能目标不同。

5.2实体完整性、参照完整性、用户定义完整性

完整性违约处理:

由参照表引起的参照完整性的破坏一律拒绝操作,由被参照表引起的参照完整性的破坏可以拒绝,也可以设置为级联修改或直接设置为空值。

第六章关系数据理论

6.1对函数依赖、码、主属性、非主属性、外码等有深入的理解

函数依赖:由X的值能确定Y的值,称X函数决定Y或Y函数依赖于X,记作X->Y,X是这个函数依赖的决定因素。

平凡函数依赖与非平凡函数依赖:

完全函数依赖与部分函数依赖:

传递函数依赖:

6.2掌握规范化理论,能够判断给定关系模式的规范化程度

6.3掌握模式的分解,能够按要求对给定关系模式进行分解,修改为符合更高一级的范式

6.4 掌握数据依赖的公理系统,能求解闭包和最小依赖集。

求解闭包:

求解最小依赖集:

首先将每个函数依赖右边变成单个属性。

再依次检查每个函数依赖,看去掉该函数依赖后左边的闭包是否包含A,若包含则表示该函数依赖多余,可以将该函数依赖删除。

最后检查左边为属性组的函数依赖,检验每个属性是否多余。

第七章数据库设计

7.1掌握数据库的设计方法与设计的步骤

设计步骤:

1. 需求分析阶段

◼ 是否做得充分与准确,决定了构建数据库的速度和质量

2. 概念结构设计阶段

◼ 通过对用户需求进行综合、归纳与抽象,形成一个独立于具体数据库管理系统的概念模型

3. 逻辑结构设计阶段

◼ 将概念结构转换为某个数据库管理系统所支持的数据模型,并对其进行优化数据库设计的基本步骤(续)

4. 物理结构设计阶段

◼ 为逻辑数据结构选取一个最适合应用环境的物理结构

◼ 包括存储结构和存取方法

5. 数据库实施阶段

◼ 根据逻辑设计和物理设计的结果构建数据库

◼ 编写与调试应用程序

◼ 组织数据入库并进行试运行

6. 数据库运行和维护阶段

◼ 经过试运行后即可投入正式运行

◼ 在运行过程中必须不断对其进行评估、调整与修改

7.2根据语义设计系统的E-R图,并将E-R图转换为关系模式(写出关系名称和所有属性)

概念结构设计:

属性的原则:属性不可再分;属性不能与其他实体产生联系。

逻辑结构设计(E-R图转化为关系模型):

一对一和一对N的联系一般合并到一端的实体,多对多和多元联系只能新建一个关系模式。

7.3对数据库设计方面有自己独到的理解

第八章嵌入式SQL

8.1理解主变量

嵌入式SQL语句中可以使用主语言的程序变量来输入或输出数据,在SQL语句中使用的主语言程序变量简称为主变量。

主变量分类:

8.2理解嵌入式SQL中引入游标的作用

8.3 理解存储过程

第九章关系查询处理和查询优化

9.1关系代数表达式的优化策略及步骤

①选择运算应尽可能先做。②把投影运算和选择运算同时进行。
③把投影同其前或其后的双目运算结合起来执行。
④把某些选择同在它前面要执行的笛卡儿积结合起来成为一个连接运算。
⑤找出公共子表达式。
⑥选取合适的连接算法。

9.2代数优化、物理优化

代数优化通过改变操作的次序和组合来实现优化,不涉及数据的底层存取路径,而物理优化是要选择高效合理的操作算法或存取路径来实现优化。

第十章数据库恢复技术

10.1对事务的基本概念及事务的ACID特性有一定的理解和掌握

事务是用户定义的一个数据库操作序列,这些操作要么全做要么全不做,事务是一个不可分割的工作单元。

事务具有4个特性:原子性、一致性、隔离性和持续性。

原子性:事务是数据库的逻辑工作单位,事务中包括的操作要么都做,要么都不做。

一致性:事务执行的结果必须是使数据库从一个一致性状态变到另一个一致性状态。

隔离性:一个事务的执行不能被除数其他事务干扰。即一个事务内部的操作及使用的数据对其他并发事务是隔离的,并发执行的各个事务之间不能互相干扰。

持续性:持续性也称为永久性,指一个事务一旦提交,它对数据库中数据的改变就应该是永久生效的。接下来的其他操作或故障不应该对其执行结果有任何影响。

恢复技术能保证事务的原子性、持久性。

10.2 理解数据库系统中故障的种类

10.3掌握数据库恢复技术(数据转储、登记日志文件),对恢复子系统及其功能有一定的掌握。

数据转储:❖转储是指数据库管理员定期地将整个数据库复制到磁带、磁盘或其他存储介质上保存起来的过程。

静态转储、动态转储、海量转储、增量转储:

登记日志文件:动态转储必须记录日志文件,否则无法正确恢复,静态转储可以记录日志文件,可以辅助恢复,记录日志时需要先写日志文件再写数据库。

事务故障的恢复:

事务故障:事务在运行至正常终止点前被终止。

❖ 恢复方法

◼ 由恢复子系统利用日志文件撤消(UNDO)此事务已对数据库进行的修改。

系统故障的恢复:

介质故障的恢复:

10.4掌握并能熟练使用具有检查点的恢复技术

第十一章并发控制

11.1并发控制及并发操作带来的数据不一致性

并发操作带来的数据不一致性包括三类:丢失修改、不可重复读和读“脏”数据。

(1)丢失修改(Lost Update)

两个事务T1和T2读入同一数据并修改,T2提交的结果破坏了(覆盖了)T1提交的结果,导致T1的修改被丢失。

(2)不可重复读(Non-Repeatable Read)

不可重复读是指事务T1读取数据后,事务T2执行更新操作,使T1无法再现前一次读取结果。

(3)读“脏”数据(Dirty Read)

读“脏”数据是指事务T1修改某一数据,并将其写回磁盘,事务T2读取同一数据后,T1由于某种原因被撤销,这时T1已修改过的数据恢复原值,T2读到的数据就与数据库中的数据不一致,则T2读到的数据就为“脏”数据,即不正确的数据。

避免不一致性的方法和技术就是并发控制。最常用的并发控制技术是封锁技术。也可以用其他技术,例如在分布式数据库系统中可以采用时间戳方法来进行并发控制。

11.2封锁技术及基本封锁类型(排他锁和共享锁)、三级封锁协议

基本封锁类型:

排它锁(X锁):事务1对数据对象加X锁后,任何事务都不能再加锁。

共享锁(S锁):事务1对数据对象加S锁后,其他事务只能再加S锁。

相容性:

三级封锁协议:

缺陷:没有S锁

缺陷:读了数据就释放锁

11.3活锁和死锁,死锁的预防、诊断与解除

活锁:也叫starvation,指事务可能永远得不到锁。

避免活锁:FIFO,即先来先服务,按请求先后次序将事务进行排队,优先给队首事务分配锁。

死锁:所有事务都在等锁,事务永远不会结束。

死锁的预防:

1.一次加锁法:要求每个事务必须一次将所有要使用的数据全部加锁,否则就不能继续执行。

2.顺序封锁法:预先对数据对象规定一个封锁顺序,所有事务都按这个顺序实行封锁。

死锁的诊断与解除:

诊断:

1.超时法:如果一个事务的等待时间超过了规定的时限,就认为发生了死锁。

2.等待图法:

11.4可串行化调度及两段锁协议,判断一个并发调度是不是冲突可串行化调度。

可串行化调度:多个事务的并发执行是正确的,当且仅当其结果与按某一次序串行地执行这些事务时的结果相同。

冲突操作:

不能交换的操作:

两段锁协议:

两段锁协议:

两段锁协议可能发生死锁:

11.5理解封锁粒度及多粒度封锁。

封锁对象的大小称为封锁粒度,封锁的粒度越大,数据库所能够封锁的数据单元就越少,并发度就越小,系统开销也越小; 封锁的粒度越小,并发度较高,但系统开销也就越大

多粒度封锁:在一个系统中提供多种不同粒度的锁供各个事务使用。

多粒度封锁协议:

意向锁:

意向锁种类:

意向锁相容矩阵:

11.6能熟练使用并发控制进行事务调度

  • 3
    点赞
  • 41
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值