当前位置:文档之家› 数据库复习整理笔记.doc

数据库复习整理笔记.doc

学习好资料欢迎下载加密的基本思想根据一定的算法将原始数据(术语为明文,Plain text)变换为不可直接识别的格式(术语为密文,Cipher text)。

不知道解密算法的人无法获知数据的内容。

触发器( Trigger)用户定义在关系表上的一类由事件驱动的特殊过程,一旦定义,任何用户对表的增加、修改和删除工作均由服务器自动激活相应的触发器,在DBMS 核心层进行集中的完整性控制。

触发器类似于约束,但是比约束更加灵活,可以进行更为复杂的检查和操作,具有更精细和更强大的数据控制能力。

重点掌握并能够灵活运用关系模式规范化的方法和关系模式分解的方法,这也是本章的难点。

关系数据库:基于关系模型的数据库,利用关系来描述现实世界。

关系模式由五部分组成,即它是一个五元组:R(U,D,DOM,F)R:关系名U:组成该关系的属性名集合D:属性组U中属性所来自的域DOM :属性到域的映象集合F:属性间的数据依赖关系集合由于 D 和 DOM 对模式设计关系不大,因此可以把关系模式看做一个三元组: R <U, F> 。

例如:关系模式: S(Sno, Sdept, Sno→ Sdept)当且仅当 U 上的一个关系r 满足 F 时,r 称为关系模式 R <U, F>的一个关系。

数据依赖是数据库模式设计的关键,它是一个关系内部属性与属性之间的一种约束关系,这种约束关系是通过属性间的值是否相等体现出来的数据间的相互关系。

它是现实世界属性间相互联系的抽象,是数据内在的性质,是语义的体现。

数据依赖有很多类型,其中最重要的是:函数依赖( Functional Dependency,简记为 FD )多值依赖( Multivalued Dependency,简记为 MVD )其中,函数依赖起着核心的作用,是模式分解和模式设计的基础,范式是模式分解的标准。

一个“好”的模式应当:不会发生插入异常、删除异常、更新异常,数据冗余应尽可能少。

造成这些问题的原因,是由该模式中的某些数据依赖引起的。

解决的方法是:通过分解关系模式来消除其中不合适的数据依赖。

函数依赖 :见笔记函数依赖不是指关系模式 R 的某个或某些关系实例满足的约束条件,而是指 R 的所有关系实例均要满足的约束条件。

函数依赖是语义范畴的概念,只能根据数据的语义来确定函数依赖。

例如:“姓名→年龄”这个函数依赖只有在不允许有同名人的条件下成立。

数据库设计者可以对现实世界作强制的规定。

例如规定不允许同名人出现,函数依赖“姓名→年龄”成立。

所插入的元组必须满足规定的函数依赖,若发现有同名人存在,则拒绝装入该元组。

在关系模式 R(U) 中,对于 U 的子集 X 和 Y,如果X→Y ,但Y X,则称X →Y 是非平凡的函数依赖若 X→Y ,且Y X, 则称X →Y 是平凡的函数依赖例:在关系 SC( Sno, Cno, Grade)中,非平凡函数依赖:(Sno, Cno) →平凡函数依赖:(Sno, Cno) →(Sno, Cno) →Grade Sno Cno在关系模式 R(U) 中,若 X →Y ,并且对于 X 的任何一个真子集 X' ,都有 X' → Y, 则称 Y 对 X 完全函数依赖,记作X →Y。

若 X →Y ,但 Y 不完全函数依赖于 X ,则称Y 对 X 部分函数依赖,记作 X → Y。

传递函数依赖 (见课本 P173)整个属性组 U 是码,称为全码( All-key)。

其他见课本 P174范式是模式分解的标准。

关系数据库中的关系必须满足一定的要求。

满足不同程度要求的为不同范式。

范式的种类包括:满足最低要求的,称为第一范式 (1NF) 在第一范式中,满足进一步要求的,称为第二范式 (2NF)以此类推:第三范式 (3NF)BC 范式 (BCNF)第四范式 (4NF)第五范式 (5NF)某一关系模式 R 为第 n 范式,可简记为 R∈nNF 第一范式( 1NF )关系中的每个分量必须是不可分的数据项。

满足了这个条件的关系模式R 就属于第一范式(1NF),记作 R∈1NF。

第一范式是对关系模式的最起码的要求。

不满足第一范式的数据库模式不能称为关系数据库若关系模式 R∈ 1NF,并且每一个非主属性都完全函数依赖于 R 的码,则 R∈2NF。

若 R∈3NF ,则 R 的每一个非主属性既不部分函数依赖于候选码也不传递函数依赖于候选码。

如果 R∈3NF,则 R∈2NF。

采用投影分解法将一个 2NF 的关系分解为多个 3NF 的关系,可以在一定程度上解决原 2NF 关系中存在的插入异常、删除异常、数据冗余度大、修改复杂等问题。

但是,将一个 2NF 关系分解为多个 3NF 的关系后,并不能完全消除关系模式中的各种异常情况和数据冗余。

BC 范式设关系模式 R<U ,F>∈1NF,如果对于 R 的每个函数依赖 X→Y ,若 Y 不属于 X ,则 X 必含有候选码,那么 R∈BCNF 。

如果 R∈ 3NF ,且 R 只有一个候选码,必定有 R∈ BCNF 。

BCNF 的关系模式所具有的性质总结:所有非主属性都完全函数依赖于每个候选码所有主属性都完全函数依赖于每个不包含它的候选码没有任何属性完全函数依赖于非码的任何一组属性一个低一级范式的关系模式,通过模式分解可以转换为若干个高一级范式的关系模式集合,这种过程就叫关系模式的规范化。

1NF↓消除非主属性对码的部分函数依赖2NF↓消除非主属性对码的传递函数依赖3NF↓消除主属性对码的部分和传递函数依赖BCNF所谓规范化实质上是概念的单一化例: U={S, T, X, Y, Z} ;F = {ST X, T Y, X Z ,ZX T,SX T}求: (ST)F+ 。

分解既要保持函数依赖 ,又要具有无损连接性使用数据库的各类系统统称为数据库应用系统。

数据库是信息系统的核心和基础数据库设计是指对于一个给定的应用环境,构造最优的数据库模式,建立数据库及其应用系统,使之能够有效地存储数据,满足各种用户的应需求(信息要求和处理要求)数据的收集、整理、组织和不断更新是数据库建设中的重要环节。

数据库结构(数据)设计与行为(处理)设计相结合数据库的结构设计数据库的结构设计指是根据给定的应用环境,进行数据库的模式或子模式的设计。

它包括数据库的概念设计、逻辑设计和物理设计。

数据库模式是各应用程序共享的结构,是静态的、稳定的,一经形成后通常情况下是不容易改变的,所以结构设计又称为静态模型设计。

数据库的行为设计数据库的行为设计是指确定数据库用户的行为和动作。

而在数据库系统中,用户的行为和动作指用户对数据库的操作,这些要通过应用程序来实现,所以数据库的行为设计就是应用程序的设计。

用户的行为总是使数据库的内容发生变化,所以行为设计是动态的,行为设计又称为动态模型设计。

基于 E-R 模型的数据库设计方法该方法是在需求分析的基础上,用 E-R 图构造一个反映现实世界实体之间联系的企业模式,然后再将此企业模式转换成基于某一特定的 DBMS 的概念模式。

按规范设计法可将数据库设计分为六个阶段:系统需求分析阶段概念结构设计阶段逻辑结构设计阶段物理设计阶段数据库实施阶段数据库运行与维护阶段需求分析方法 :自顶向下的结构化分析方法(Structured Analysis,简称 SA 方法) SA 方法从最上层的系统组织机构入手,采用逐层分解的方式分析系统,并用数据流图和数据字典描述系统。

将需求分析得到的用户需求抽象为信息结构即概念模型的过程就是概念结构设计。

E-R 图中的冲突有三种:属性冲突、命名冲突和结构冲突。

结构冲突 :1.同一对象在不同应用中有不同的抽象,可能为实体,也可能为属性。

2.同一联系在不同应用中呈现不同的类型。

数据库逻辑设计的任务是将概念结构转换成特定DBMS 所支持的数据模型的过程。

转换内容E-R 图由实体、实体的属性和实体之间的联系三个要素组成,关系模型的逻辑结构是一组关系模式的集合。

将 E-R 图转换为关系模型,也就是将实体、实体的属性和实体之间的联系转化为关系模式。

18 .现有一局部应用,包括两个实体:“出版社”和“作者”,这两个实体是多对多的联系,请读者自己设计适当的属性,画出 E 一 R 图,再将其转换为关系模型(包括关系名、属性名、码和完整性约束条件)。

答:关系模型为:作者(作者号,姓名,年龄,性别,电话,地址)出版社(出版社号,名称,地址,联系电话)出版(作者号,出版社号,书的数量)出版关系的主码作者号,出版社号分别参照作者关系的主码作者号和出版社关系的主码出版社号。

19.请设计一个图书馆数据库,此数据库中对每个借阅者保存读者记录,包括:读者号,姓名,地址,性别,年龄,单位。

对每本书存有:书号,书名,作者,出版社。

对每本被借出的书存有读者号、借出日期和应还日期。

要求:给出E一R图,再将其转换为关系模型。

答:E一R图为:关系模型为:读者(读者号,姓名,地址,性别 ,年龄,单位)书(书号,书名,作者,出版社)借书(读者号,书号,借出日期,应还日期)关系系统的定义一个数据库管理系统可定义为关系系统,当且仅当它至少支持:① 关系数据库(即关系数据结构)系统中只有表这种结构;② 支持选择、投影和(自然)连接运算对这些运算不要求用户定义任何物理存取路径。

这是对关系系统的最低要求。

查询优化的必要性查询优化极大地影响RDBMS 的性能。

查询优化的可能性关系数据语言的级别很高,使 DBMS 可以从关系表达式中分析查询语义。

由 DBMS 进行查询优化的好处用户不必考虑如何最好地表达查询以获得较好的效率,系统可以比用户程序的优化做得更好。

① 优化器可以从数据字典中获取许多统计信息,而用户程序则难以获得这些信息。

② 如果数据库的物理统计信息改变了,系统可以自动对查询重新优化以选择相适应的执行计划。

在非关系系统中必须重写程序,而重写程序在实际应用中往往是不太可能的。

③ 优化器可以考虑数百种不同的执行计划,而程序员一般只能考虑有限的几种可能性。

④ 优化器中包括了很多复杂的优化技术查询优化的目标选择有效策略,求得给定关系表达式的值,使得查询代价最小实际系统的查询优化步骤:① 将查询转换成某种内部表示,通常是语法树;② 根据一定的等价变换规则把语法树转换成标准(优化)形式;③ 选择低层的操作算法,对于语法树中的每一个操作,计算各种执行算法的执行代价,选择代价小的执行算法;④生成查询计划 (查询执行方案),查询计划是由一系列内部操作组成的。

1.试述查询优化在关系数据库系统中的重要性和可能性。

答:重要性:关系系统的查询优化既是 RDBMS 实现的关键技术又是关系系统的优点所在。

它减轻了用户选择存取路径的负担。

相关主题