数据库复习整理笔记

上传人:z**** 文档编号:113121990 上传时间:2022-06-24 格式:DOC 页数:24 大小:337.50KB
收藏 版权申诉 举报 下载
数据库复习整理笔记_第1页
第1页 / 共24页
数据库复习整理笔记_第2页
第2页 / 共24页
数据库复习整理笔记_第3页
第3页 / 共24页
资源描述:

《数据库复习整理笔记》由会员分享,可在线阅读,更多相关《数据库复习整理笔记(24页珍藏版)》请在装配图网上搜索。

1、口加密的基本思想根据一定的算法将原始数据(术语为明文,Plain text)变换为不可直接识别的格式(术语为密文 Cipher text)。不知道解密算法的人无法获知数据 的内容。触发器(Trigger)用户定义在关系表上的一类由事件驱动的特殊过 程,一旦定义,任何用户对表的增加、修改和删除工作均由服务器自动激活相应的触发器,在 DBMS 核心层进行集中的完整性控制。触发器类似于约束,但是比约束更加灵活,可 以进行更为复杂的检查和操作,具有更精细和 更强大的数据控制能力。 重点掌握并能够灵活运用关系模式规范化的 方法和关系模式分解的方法,这也是本章的 难点。关系数据库:基于关系模型的数据库,利

2、用关 系来描述现实世界。关系模式由五部分组成,即它是一个五元组:R ( U, D, DOM, F ) R:关系名口 U:组成该关系的属性名集合口D: 属性组U中属性所来自的域口 DOM: 属性到域的映象集合口 F:属性间的数据依赖关系集合由于D和DOM对模式设计关系不大,因此可以 把关系模式看做一个三元组: R 。例如:关系模式:S (Sno, Sdept,Sno Sdept) 当且仅当 U 上的一个关系 r 满足 F 时, r 称为关 系模式R 的一个关系。数据依赖是数据库模式设计的关键,它是一个关系内 部属性与属性之间的一种约束关系,这种约束关系是 通过属性间的值是否相等体现出来的数据间的

3、相互关系。它是现实世界属性间相互联系的抽象,是数据内在的 性质,是语义的体现。数据依赖有很多类型,其中最重要的是:函数依赖(Functional Dependency,简记为 FD) 多值依赖(Multivalued Dependency,简记为 MVD) 其中,函数依赖起着核心的作用,是模式分 解和模式设计的基础,范式是模式分解的标 准。 一个“好”的模式应当:不会发生插入异 常、删除异常、更新异常,数据冗余应尽 可能少。 造成这些问题的原因,是由该模式中的某些数据依赖引起的。 解决的方法是口通过分解关系模式来消除其中不合适的数据依赖。函数依赖:见笔记函数依赖不是指关系模式R的某个或某些关系

4、实例满 足的约束条件,而是指 R 的所有关系实例均要满足的 约束条件。 函数依赖是语义范畴的概念,只能根据数据的语义来确定函数依赖。例如:“姓名f年龄”这个函 数依赖只有在不允许有同名人的条件下成立。 数据库设计者可以对现实世界作强制的规定。例如规定不允许同名人出现,函数依赖“姓名f年 龄”成立。所插入的元组必须满足规定的函数依 赖,若发现有同名人存在, 则拒绝装入该元组。在关系模式R(U)中,对于U的子集X和Y,如果Xf Y,但Y匸X,则称X-Y是耳E平凡的函 数依赖若XfY,且Y c X,则称XfY是平凡的函数依 赖例:在关系 SC (Sno, Cno, Grade)中, 非平凡函数依赖:

5、 (Sno, Cno) f Grade 平凡函数依赖: (Sno, Cno) f Sno(Sno, Cno) f Cno在关系模式R(U)中,口若XfY,并且对于X的任何一个真子集X, 都有X f Y,则称Y对X完全函数依赖, 记作 X f Y。口若XfY, 但 Y不完全函数依赖于X,则称Y对X部分函数依赖,记作XY。传递函数依赖(见课本 P173)整个属性组U是码,称为全码(All-key)。其他见课本 P174 范式是模式分解的标准。 关系数据库中的关系必须满足一定的要求。满足 不同程度要求的为不同范式。 范式的种类包括:满足最低要求的,称为第一范式(1NF) 口在第一范式中,满足进一步要

6、求的,称为第二范式(2NF)以此类推:第三范式(3NF) BC 范式(BCNF)第四范式(4NF)第五范式(5NF)某一关系模式R为第n范式,可简记为RnNF第一范式(1NF)关系中的每个分量必须是不可分的数据项。满足了这个条件的关系模式 R 就属于第一范式1NF),记作ReiNFo 第一范式是对关系模式的最起码的要求。不满足第一范式的数据库模式不能称为关系数 据库若关系模式ReiNF, 并且每一个非主属性都完全函 若Re3NF,则R的每一个非主属性既不部分函数依 赖于候选码也不传递函数依赖于候选码。数依赖于 R 的码,则 Re 2NFo如果 Re3NF,贝9 Re2NFo 采用投影分解法将一

7、个 2NF 的关系分解为多个 3NF 的关系,可以在一定程度上解决原 2NF关系中存在的插入异常、删除异常、数据冗余度 大、修改复杂等问题。但是,将一个2NF关系分解为多个3NF的关系后,并不能完全消除关系模式中的各种异常情况 和数据冗余。 BC 范式 设关系模式ReiNF,如果对于R的每个函数 依赖X-Y,若Y不属于X,则X必含有候选码,那 么 RWBCNF。如果RE3NF,且R只有一个候选码,必定 有 Re BCNFo BCNF 的关系模式所具有的性质总结:口所有非主属性都完全函数依赖于每个候选口所有主属性都完全函数依赖于每个不包含它的候选码口没有任何属性完全函数依赖于非码的任何一组属性

8、一个低一级范式的关系模式,通过模式分解可以转换为若干个高一级范式的关系模式集合,这种过程 就叫关系模式的规范化。1NF消除非主属性对码的部分函数依赖2NF消除非主属性对码的传递函数依赖3NF消除主属性对码的部分和传递函数依赖BCNF所谓规范化实质上是概念的单一化例:U=S, T, X, Y, Z ;F = STtX, T tY, X tZ ,ZXtT, SX tT 求: (ST)F+。 分解既要保持函数依赖,又要具有无损连接性 使用数据库的各类系统统称为数据库应用系统 数据库是信息系统的核心和基础 数据库设计是指对于一个给定的应用环境,构造最优 的数据库模式,建立数据库及其应用系统,使之能够

9、有效地存储数据,满足各种用户的应 需求(信息要求和处理要求) 数据的收集、整理、组织和不断更新是数据库建设中 的重要环节。数据库结构(数据)设计与行为(处理)设计相结合 数据库的结构设计数据库的结构设计指是根据给定的应用环境,进行数 计、逻辑设计和物理设计。 数据库模式是各应用程序共享的结构,是静态的、稳 定的,一经形成后通常情况下是不容易改变的,所以 结构设计又称为静态模型设计。数据库的行为设计数据库的行为设计是指确定数据库用户的行为和动 作。而在数据库系统中,用户的行为和动作指用户对 数据库的操作,这些要通过应用程序来实现,所以数 据库的行为设计就是应用程序的设计。用户的行为总是使数据库的

10、内容发生变化,所以行为 设计是动态的,行为设计又称为动态模型设计。基于E-R模型的数据库设计方法 该方法是在需求分析的基础上,用 E-R 图构造一个反 映现实世界实体之间联系的企业模式,然后再将此企 业模式转换成基于某一特定的DBMS的概念模式。按规范设计法可将数据库设计分为六个阶段:口系统需求分析阶段口概念结构设计阶段口逻辑结构设计阶段口 物理设计阶段口数据库实施阶段数据库运行与维护阶段需求分析方法:自顶向下的结构化分析方法(Structured Analysis,简 称SA方法)SA方法从最上层的系统组织机构入手, 采用逐层分解的方式分析系统,并用数据流图和数据 字典描述系统。将需求分析得

11、到的用户需求抽象为信息结构 即概念 模型的过程就是概念结构设计。E-R 图中的冲突有三种:属性冲突、命名冲突和结构 冲突。结构冲突:1. 同一对象在不同应用中有不同的抽象,可能为实体, 也可能为属性。2. 同一联系在不同应用中呈现不同的类型。 数据库逻辑设计的任务是 将概念结构转换成特定 DBMS所支持的数据模型的过程。转换内容E-R 图由实体、实体的属性和实体之间的联系三个要 素组成,关系模型的逻辑结构是一组关系模式的集合。 将E-R图转换为关系模型,也就是将实体、实体的属 性和实体之间的联系转化为关系模式。18 现有一局部应用,包括两个实体:“出版社”和“作者”, 这两个实体是多对多的联系

12、,请读者自己设计适当的属性,画出 E 一 R 图,再将其转换为关系模型(包括关系名、属性名、码 和完整性约束条件)。K-I;图为:u年*)u咯n作者号岀啟社出腕社号地川关系模型为:作者(作者号,姓名,年龄,性别,电话,地址) 出版社(出版社号,名称,地址,联系电话)出版(作者号,出 版社号,书的数量)出版关系的主码作者号,出版社号分别参照作者关系的主码作者号和出版社关系的主码出版社号。19 请设计一个图书馆数据库,此数据库中对每个借阅者保存读者记录,包括:读者号,姓名,地址,性别,年龄,单位。对 每本书存有:书号,书名,作者,出版社。对每本被借出的书存 有读者号、借出日期和应还日期。要求:给出

13、 E 一 R 图,再 将其转换为关系模型。答 : E 一 R 图为:地址Wrtiliffi出樹丄关系模型为:读者(读者号,姓名,地址,性别,年龄,单位)书(书号,书名,作者,出版社)借书(读者号,书号,借出日 期,应还日期)关系系统的定义 一个数据库管理系统可定义为关系系统,当且仅当它至少 支持: 关系数据库(即关系数据结构) 系统中只有表这种结构; 支持选择、投影和(自然)连接运算对这些运算不要求用户定义任何物理存取路径。这是对关系系统的最低要求。 查询优化的必要性口查询优化极大地影响RDBMS的性能。查询优化的可能性口关系数据语言的级别很高,使DBMS可以从关系表达式 中分析查询语义。 由

14、 DBMS 进行查询优化的好处用户不必考虑如何最好地表达查询以获得较好的效率,系 统可以比用户程序的优化做得更好。 优化器可以从数据字典中获取许多统计信息,而 用户程序则难以获得这些信息。 如果数据库的物理统计信息改变了,系统可以自动对查询重新优化以选择相适应的执行计划。在非关系系统中必须重写程序,而重写程序在实际 应用中往往是不太可能的。 优化器可以考虑数百种不同的执行计划,而程序员一般只能考虑有限的几种可能性。 优化器中包括了很多复杂的优化技术查询优化的目标 选择有效策略,求得给定关系表达式的 值,使得查询代价最小 实际系统的查询优化步骤: 将查询转换成某种内部表示,通常是语法树; 根据一

15、定的等价变换规则把语法树转换成标准(优化)形式; 选择低层的操作算法,对于语法树中的每一个操 作,计算各种执行算法的执行代价,选择代价小 的执行算法; 生成查询计划(查询执行方案),查询计划是由一系 列内部操作组成的。1 .试述查询优化在关系数据库系统中的重要性和可 能性。答:重要性:关系系统的查询优化既是RDBMS实现的关键技 术又是关系系统的优点所在。 它减轻了用户选择存取路径的负 担。用户只要提出“干什么”,不必指出“怎么干”。查询优化的 优点不仅在于用户不必考虑如何最好地表达查询以获得较好的 效率,而且在于系统可以比用户程序的“优化做得更好。可能性:这是因为: ( l )优化器可以从数

16、据字典中获取许 多统计信息,例如关系中的元组数、关系中每个属性值的分布情 况、这些属性上是否有索引、是什么索引( B 树索引还是 HASH 索引或惟一索引或组合索引)等。 优化器可以根据这些 信息选择有效的执行计划,而用户程序则难以获得这些信息。 ( 2 )如果数据库的物理统计信息改变了,系统可以自动对查询 进行重新优化以选择相适应的执行计划。在非关系系统中必须重 写程序,而重写程序在实际应用中往往是不太可能的。 ( 3 )优 化器可以考虑数十甚至数百种不同的执行计划,从中选出较优的一个,而程序员一般只能考虑有限的几种可能性。 ( 4 )优化器 中包括了很多复杂的优化技术,这些优化技术往往只有

17、最好的程 序员才能掌握。系统的自动优化相当于使得所有人都拥有这些优 化技术。P275第2题StudumSlLlJcillpnvjocrifCifMiricl沁i1 udeiil.Sdqrt-IS1jflLn(Sf.Clift Courss .fort)ILJILVjuiin 5ludentJSit-5.SjciCourseCTSiudciH纯忖慎宙”SC Cnd=*Lrs6-nurcSC i no-1 Cnivse CnoSiudefii.Sno1 .Sno1 Stuihriri JMhptlSStiiikiil数据保护包括:五-. 口安全性保护完整性保证口并发控制 数据库恢复事务(Trans

18、action) 用户定义的一个数据库操作序列,这些操作要么全做,要么全不做,是一个不可分割的工作单位。 事务和程序是两个概念 在关系数据库中,一个事务可以是一条 SQL 语句,一组SQL语句或整个程序;口 一个应用程序通常包含多个事务。事务是恢复和并发控制的基本单位口事务通常是以BEGIN TRANSACTION开始, 以 COMMIT 或 ROLLBACK 结束。 事务的 ACID 特性原子性(Atomicity) 一致性(Consistency) 隔离性( Isolation) 持续性( Durability )1 试述事务的概念及事务的4个特性。答:事务是用户定义的一个数据库操作序列,这

19、些操作要么 全做要么全不做,是一个不可分割的工作单位。事务具有 4 个特性: 原子性( Atomicity )、一致性(consistency )、隔离性(Isolation )和持续性(Durability )。 这 4 个特性也简称为 ACID 特性。原子性:事务是数据库的逻辑工作单位,事务中包括的诸操作要 么都做,要么都不做。一致性:事务执行的结果必须是使数据库从一个一致性状态变到 另一个一致性状态。隔离性:一个事务的执行不能被其他事务干扰。即一个事务内部 的操作及使用的数据对其他并发事务是隔离的,并发执行的各个 事务之间不能互相干扰。持续性:持续性也称永久性 (Perfnanence

20、) ,指一个事务一旦提交,它对数据库中数据的改 变就应该是永久性的。接下来的其他操作或故障不应该对其执行 结果有任何影响。3 数据库中为什么要有恢复子系统?它的功能是什 么?因为计算机系统中硬件的故障、软件的错误、操作员的失误以及 恶意的破坏是不可避免的,这些故障轻则造成运行事务非正常中 断,影响数据库中数据的正确性,重则破坏数据库,使数据库中 全部或部分数据丢失,因此必须要有恢复子系统。恢复子系统的功能是:把数据库从错误状态恢复到某一已知的正 确状态(亦称为一致状态或完整状态)。4数据库运行中可能产生的故障有哪几类?哪些故障影响事务 的正常执行?哪些故障破坏数据库数据?答:数据库系统中可能发

21、生各种各样的故障,大致可以分以下几类:1)事务故障2)系统故障3)介质故障4)计算机病毒。事务故障、系统故障和介质故障影响事务的正常执行; 介质故障和计算机病毒破坏数据库数据。7 什么是日志文件?为什么要设立日志文件?日志文件是用来记录事务对数据库的更新操作的文件。设立日志文件的目的是:进行事务故障恢复; 进行系统故障恢复; 协助后备副本进行介质故障恢复。8 登记日志文件时为什么必须先写日志文件,后写数据库?答:把对数据的修改写到数据库中和把表示这个修改的日志记录写 到日志文件中是两个不同的操作。有可能在这两个操作之间发生 故障,即这两个写操作只完成了一个。如果先写了数据库修改,而在运行记录中

22、没有登记这个修改,则 以后就无法恢复这个修改了。如果先写日志,但没有修改数据库, 在恢复时只不过是多执行一次UNDO操作,并不会影响数据库 的正确性。所以一定要先写日志文件,即首先把日志记录写到日 志文件中,然后写数据库的修改。9 针对不同的故障,试给出恢复的策略和方法。(即如何进行事务故障的恢复?系统故障的恢复?介质故障恢复?)答:(见周微发的那张资料上) 介质故障是对系统影响最为严重的一种故障,严重影 响数据库的可用性。介质故障恢复比较费时,为预防介质故障,DBA必须周期性地转储数据库。 提高数据库可用性的解决方案 数据库镜像 (Mirror)。 DBMS 自动把整个数据库或其中的关键数

23、据复制到另一个磁盘上; DBMS 自动保证镜像数据与主数据的一致 性。 数据库镜像的用途:出现介质故障时:DBMS自动利用镜像磁盘 数据进行数据库的恢复,不需要关闭系统和 重装数据库副本 没有出现故障时:可用于并发操作,即当一 个用户对数据加排他锁修改数据时,其他用 户可以读镜像数据库上的数据。13 什么是数据库镜像?它有什么用途?数据库镜像即根据DBA的要求,自动把整个数据库或者其中的部分关键数据复制到另一个磁盘上。每当主数据库更新时,DBMS自动把更新后的数据复制过去,即DBMS自动 保证镜像数据与主数据的一致性。数据库镜像的用途有:一是用于数据库恢复。当出现介质故障时,可由镜像磁盘继续提

24、 供使用,同时 DBMS 自动利用镜像磁盘数据进行数据库的恢复, 不需要关闭系统和重装数据库副本。二是提高数据库的可用性。在没有出现故障时,当一个用户对某 个数据加排它锁进行修改时,其他用户可以读镜像数据库上的数 据,而不必等待该用户释放锁。1.在数据库中为什么要并发控制?答:数据库是共享资源,通常有许多个事务同时在运行。当 多个事务并发地存取数据库时就会产生同时读取或修改同 一数据的情况。若对并发操作不加控制就可能会存取和存储 不正确的数据,破坏数据库的一致性。所以数据库管理系统 必须提供并发控制机制。2并发操作可能会产生哪几类数据不一致?用什么 方法能避免各种不一致的情况? 答:并发操作带

25、来的数据不一致性包括三类:丢失修改、不可重 复读和读“脏数据。3 什么是封锁?基本的封锁类型有几种?试述它们 的含义。答:封锁就是事务T在对某个数据对象例如表、记录等操作之 前,先向系统发出请求,对其加锁。加锁后事务 T 就对该数据 对象有了一定的控制,在事务 T 释放它的锁之前,其他的事务 不能更新此数据对象。封锁是实现并发控制的一个非常重要的技 术。基本的封锁类型有两种:排它锁( Exclusive Locks ,简称 x 锁)和共享锁(Share Locks,简称S锁)。排它锁(X锁)又称为写锁。若事务T对数据对象A加 上 X 锁,则只允许 T 读取和修改 A ,其他任何事务都不能再 对

26、 A 加任何类型的锁,直到 T 释放 A 上的锁。这就保证了其 他事务在 T 释放 A 上的锁之前不能再读取和修改 A 。共享锁又称为读锁。若事务 T 对数据对象 A 加上 S 锁,则事务 T 可以读 A 但不能修改 A ,其他事务只能再对 A 加 S 锁,而不能加 X 锁,直到 T 释放 A 上的 S 锁。这就保证 了其他事务可以读 A ,但在 T 释放 A 上的 S 锁之前不能对 A 做任何修改。和操作系统一样,封锁的方法可能引起活锁 和死锁的问题。5 什么是活锁?什么是死锁?1lwk H*InrL Ri等特Lock H1 nbck等特*Ude R+lx?rk H等待盘i-Unlock晡恃

27、Inrk H等博*如果事务 Tl 封锁了数据 R ,事务几又请求封锁 R ,于是几 等待。几也请求封锁 R ,当 Tl 释放了 R 上的封锁之后系统 首先批准了几的请求,几仍然等待。然后几又请求封锁 R ,当 几释放了 R 上的封锁之后系统又批准了几的请求 几有 可能永远等待,这就是活锁的情形。活锁的含义是该等待事务等待时间太长,似乎被锁住 了,实际上可能被激活。解决办法:先来先服务 活锁产生的原因:当一系列封锁不能按照其先后顺序执行时,就 可能导致一些事务无限期等待某个封锁,从而导致活锁解决死锁的方法: 预防死锁;死锁的诊断与解除两段锁协议的内容口在对任何数据进行读、写操作之前,事务首 先要

28、获得对该数据的封锁口在释放一个封锁之后,事务不再获得任何其 他封锁。口 “两段锁的含义一一事务分为两个阶段: 第一阶段是获得圭寸锁,也称为扩展阶段; 口第二阶段是释放封锁,也称为收缩阶段。 并行执行的所有事务均遵守两段锁协议,则对这些事务的所有并行调度策略都是可串行化的。所有遵守两段锁协议的事务,其并行执行的结果 一定是正确的。 事务遵守两段锁协议是可串行化调度的充分条 件,而不是必要条件。可串行化的调度中,不一 定所有事务都必须符合两段锁协议。11试证明,若并发事务遵守两段锁协议,则对这些事务的并发 调度是可串行化的。证明:首先以两个并发事务 Tl 和 T2 为例,存在多个并发事务 的情形可

29、以类推。根据可串行化定义可知,事务不可串行化只可 能发生在下列两种情况:( l )事务 Tl 写某个数据对象 A ,T2 读或写 A ;( 2 )事务 Tl 读或写某个数据对象 A ,T2 写 A 。下面称 A 为潜在冲突对象。设 Tl 和 T2 访问的潜在冲突的公共对象为 A1 ,A2 , An 。不失一般性,假设这组潜在冲突对象中 X = (A 1 , A2 , ,Ai 均符合情况 1。Y =A i + 1 , ,An 符合所情况( 2 )。VX e x , Tl 需要 XlockX T2 需要 Slockx 或 Xlockx 1 )如果操作 先执行,则 Tl 获得锁, T2 等待 由于遵守两段锁协议, Tl 在成功获得 x 和 Y 中全部对 象及非潜在冲突对象的锁后,才会释放锁。这时如果存在w三x或Y , T2已获得w的锁,则出 现死锁;否则, Tl 在对 x 、 Y 中对象全部处理完毕后, T2 才能执行。这相当于按 Tl 、T2 的顺序串行执行,根据可串行 化定义, Tl 和几的调度是可串行化的。2 )操作 先执行的情况与( l )对称因此,若并发事务遵 守两段锁协议,在不发生死锁的情况下,对这些事务的并发调度 一定是可串行化的。证毕。

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!