数据库系统概论考试复习资料.docx
《数据库系统概论考试复习资料.docx》由会员分享,可在线阅读,更多相关《数据库系统概论考试复习资料.docx(20页珍藏版)》请在冰豆网上搜索。
数据库系统概论考试复习资料
Sql是一种介于关系代数与关系演算之间的结构化查询语言,功能包括数据查询数据操纵数据定义和数据控制功能于一体。
*SQL特点:
1综合统一:
集数据定义DDL操纵DML(查更)、控制DCL一体,结构类型单一统一:
关系表。
2高度非过程化:
只须提出做什么,用户不必了解存取路径。
3面向集合操作方式,操作对象查找结果插删改的对象也可以是元组集合。
4统一语法结构、两种操作方式:
自含嵌入。
5语言简洁、易学易:
Sql9动词。
*SQL三级模式:
外模=视图模式=表内模=文件
*定义功能:
表视图索引操纵:
查插删改控制:
事务管理和数据保护即数据的恢复和并发控制:
Alter事务提交回滚授权回收
*基本表是本身独立存在的表,在SQL中一个关系就对应一个表。
一个或多个基本表对应一个存储文件,表带基干索引也存在~
*视图是从一个或几个基本表导出的表。
本身不独立存在db中,db中只存放定义不存放视图对应的数据,仍存放在基本表中,视图虚表。
概念上基本表相同,可以视图上定义视图。
*视图优点:
简化用户操作多角度看同数据重构db逻辑上数据独立性机密安全保护
*DDL数据定义语言,定义db模式、外模、内模的语言*DML数据操纵语言,用来对db中的数据进行查插删改的语言
*数据库设计过程中结构设计部分所形成的数据库模式:
(1)概念设计形成独立机器特点,独立于具体DBMS产品的概念模式E-R
(2)在逻辑设计阶段把E-R图转换成具体db产品所支持模型,如关系模型,形成数据库逻辑模式,然后在基本表的基础上建立必要视图,形成数据的外模式。
(3)在物理设计阶段,根据DBMS的特点和处理需要,进行物理存储安排,建立索引,形成数据库的内模式。
*db设计过程:
A.需求分析阶段进行数据库设计首先必须准确了解与分析用户需求(包括数据与处理)。
需求分析是基础,是最困难、最费时的一步。
作为地基的需求分析是否做得充分与准确,决定了在其上构建数据库的速度与质量。
需求分析做得不好,甚至会导致整个数据库设计返工重做。
B.概念结构设计阶段概念结构设计是关键,它通过对用户需求进行综合、归纳与抽象,形成一个独立于具体DBMS的概念模型。
C.逻辑结构设计阶段逻辑结构设计是将概念结构转换为某个DBMS所支持的数据模型,并对其进行优化。
D.数据库物理设计阶段数据库物理设计是为逻辑数据模型选取一个最适合应用环境的物理结构(包括存储结构和存取方法)。
E.数据库实施阶段在数据库实施阶段,设计人员运用DBMS提供的数据语言及其宿主语言,根据逻辑设计和物理设计的结果建立数据库,编制与调试应用程序,组织数据入库,并进行试运行。
F.数据库运行和维护阶段数据库应用系统经过试运行后即可投入正式运行。
在数据库系统运行过程中必须不断地对其进行评价、调整与修改。
//
1需求分析任务:
调查现实世界,了解原系统,明确用户需求,确定功能内容:
数据+处理要求:
信息处理安全性完整性需求说书
2概念结构特点:
真实性易理解易更改易转换ER
3逻辑结构设计:
1是数据库设计的关键把ER转为层关网一般模式,2DBMS支持的数据模型相符的特定~,3优化关系模式视图
4物理结构设计:
存储结构和存取方法评价时间空间效率存储索引
5实施6运行维护转储恢复安全完整控制性能监析改重组构
*RDMS查询优化的一般准则:
应尽可能先择选择运算同时进行投影与选择运算把投影运算同其前后的双目运算结合执行把某些选择同其前面所要执行的笛卡儿积运算结合起来,成为一个连接运算找出公共子表达式选择合适的连接算法。
*RDMS查询优化的一般步骤:
把查询转换成某种内部表示,通常所用的内部表示是语法树把语法树转换成标准优化形式,即利用优化算法把原始语法树转换成优化形式选择低层的存取路径生成查询计划,选择所需代价最小的
*db系统的三级体系结构外模式模式内模式定义:
模式也称逻辑模式,是数据库中全体数据的逻辑结构和特性的描述,是所有用户的公共数据视图。
外模式也称子模式或用户模式,它是数据库用户能够看见和使用的局部数据的逻辑结构和特征的描述,是数据库用户的数据视图是与某一应用有关的数据的逻辑表示。
内模式也称存储模式,是一个数据库只有一个内模式。
它是数据物理结构和存储方式的描述,是数据在数据库内部的表示方式。
*二级映象:
db的三级模式是针对数据的3个抽象级别,把数据的具体组织留给dbms管理,使用户也能抽象处理数据而不必关心数据在计算机的具体表示和存储方式。
为了能在内部实现这3个抽象层次之间的联系和转换,在三级间提供二层映象:
外/模模/内这是这二层映象保证了dbms较高逻独物独。
*数据的物理独立性:
当数据库的存储结构改变了,由数据库管理员对模式/内模式映像作相应改变,可使模式保持不变,从而应用程序也不必改变。
保证了数据与程序的物理独立性。
*数据的逻辑独立性:
当模式改变时由数据库管理员对各个外模式/模式的映像做相应改变,可以使外模式保持不变。
应用程序是依据数据的外模式编写的,从而应用程序不必修改,保证了数据与程序的逻辑独立性。
*描述事物的符号记录称为数据*db定义:
db是长期储存在计算机内有组织的可共享的大量数据的集合。
db中的数据按一定的数据模型组织、描述和储存,具有较小的冗余度、较高的数据独立性和易扩展性,并可为各种用户共享;*db系统是指在计算机系统中引入db后的系统,一般由数据库、数据库管理系统(及其开发工具)、应用系统、db管理员和用户构成。
*使用db系统好处:
提高应用系统开发效率,方便用户使用,减轻db系统管理人员维护db的负担等。
*db管理技术发展三个阶段:
人工管理阶段,文件系统阶段,db系统阶段。
*数据库管理系统功能:
数据定义数据组织、存储和管理数据操纵功能 db事务管理和运行管理 db建立和维护功能其他
*文件系统面向某一应用程序共享性差冗余大,独立差记录内有结构整体无结构应用程序自行控制
db系统面向现实世界,共高冗余小高物理独立性有一定逻辑独立性,整体结构化,用数据模型描述,由dbms提供安全完整性并发控制和恢复能力。
两者都是计算机系统中管理数据的软件
*数据模型及要素数据模型是数据库中用来对现实世界进行抽象的工具,是数据库中用于提供信息表示和操作手段的形式构架。
一般数据模型是严格定义的概念的集合。
这些概念精确地描述系统的静态特性、动态特性和完整性约束条件。
数据模型通常3部分组成。
(1)数据结构:
所研究的对象类型的集合,是对系统静态特性描述。
(2)数据操作:
对数据库中各种对象(型)的实例(值)允许进行的操作的集合,包括操作及有关的操作规则,是对系统动态特性的描述。
(3)数据的约束条件:
是完整性规则的集合,完整性规则是给定的数据模型中数据及其联系所具有的制约和依存规则,用以限定符合数据模型的数据库状态以及状态的变化,以保证数据的正确、有效、相容。
*数据模型概念模型;逻辑模型:
层次网状关系面积对象对象关系模型;物理模型
*关系数据模型优点:
1.关与非关不同,建立在严格的数学概念基础上2.概念单一3.存取路径对用户透明,具有更高的数据独立性,更好的安全保密性,简化了程序员的工作和db开发的建立的工作。
缺点是:
由于存取路径对用户而言透明,查询效率往往不如非关系数据模型。
因此为了提高性能,DBMS必须对用户的查询请求进行优化。
因此增加了开发DBMS的难度。
*db系统的组成:
db、db管理系统(及其开发工具)、应用系统、db管理员和用户构成
*DBA的职责:
决定db中的信息内容和结构、决定db的存储结构和存取策略、定义数据的安全性要求和完整性约束条件、监控db的使用和运行、db的改进和重组重构。
*系统分析员、数据库设计人员、应用程序员的职责
系统分析员负责应用系统的需求分析和规范说明,要和用户及DBA相结合,确定系统的硬件软件配置,并参与数据库系统的概要设计。
数据库设计人员负责数据库中数据的确定、数据库各级模式的设计。
数据库设计人员必须参加用户需求调查和系统分析,然后进行数据库设计。
在很多情况下,数据库设计人员就由数据库管理员担任。
应用程序员负责设计和编写应用系统的程序模块,并进行调试和安装。
*SQL的定义;即结构化查询语言,是关系数据库的标准语言,是一个通用的、功能极强的关系数据库语言。
分类(交互式和嵌入式)
*关系模型的三个组成部分:
关系数据结构、关系操作集合和关系完整性约束
*关系数据语言的分类关系代数语言关系演算语言元组关系演算语言和域关系演算语言SQL:
具有关系代数和关系演算双重特点的语言。
共同特点是,语言具有完备的表达能力,是非过程化的集合操作语言,功能强,能够嵌入高级语言中使用。
*关系模型的完整性规则:
对关系的某种约束条件。
3类:
实体参照用户定义前两者必须满足关系系统自动支持
1.实体:
属性A是基本关系R的主属性,则A非空
2.参照:
属性F是R的外码,与S主码K相对应,对于R中每元组,在F值必为二者之一:
F每个属性都为空等于S某元组主码值
3.用户:
针对某一具体关系db的约束条件,反映某一具体应用涉及的数据所必须满足的语义要求。
外码属性值可为空,但不是所在关系主属性。
*给出各类关系系统的定义:
最小关系的系统;关系完备的系统;全关系型的关系系统。
(最小)关系系统:
仅支持关系数据结构和三种关系操作。
许多微机关系数据库系统如FoxBASE,FoxPro等就属于这一类。
关系完备的系统:
这类系统支持关系数据结构和所有的关系代数操作(功能上与关系代数等价)。
20世纪90年代初的许多关系数据库管理系统属于这一类。
全关系系统:
这类系统支持关系模型的所有特征。
即不仅是关系上完备的而且支持数据结构中域的概念,支持实体完整性和参照完整性。
目前,大多数关系系统已不同程度上接近或达到了这个目标。
*查询优化的重要性可能性重要:
即是RDBMS所实现的关键技术,又是关系系统的优点,减轻用户选择存取路径的负担。
中提干什么不必指出怎么干。
优点不仅体现在用户不必考虚如何最好的表达查询以获得较好的效率,而且还体现在系统可以比用户程序的优化做得更好。
可能性:
优化器可从数据字典中儿取许多优计信息,有效选择执行计划,用户则难以获得。
如果物理统计信息发生改变,系统对查询自动重新优化以选择相应的执行计划。
非关系,重写。
不可行。
优化器可以考虑多种执行计划,选优,程序员不行。
优化器复杂优化技术,最好程序员才能掌握,系统自动化相当于所有人都拥有这些优化技术。
三种抽象:
分类聚集概括
*事务是用户定义的一个db操作序列,全做,全不,不可分割工作单元。
原子一致隔离持久
*故障:
事务内,系统,介质,病毒转储:
静动增海并发不一致:
丢失更新,读脏,不可重读
*完整性指数据的正确相容性,实体,域,引用
*关系R(UF)冗余更新插入删除异常
*多个事务的并发执行是正确的,当且公当其结果与按某一次序串行地执行它们时的结果相同,我们称这种调度策略为可串行化的调度若并发执行的所有事务均遵守两段锁协议,则对事务的任何并发调度策略都是可串行化的。
*死锁的预防:
一次封顺序封诊断与解除:
超时等待图。
*数据库的完整性指数据的正确性与相容性。
数据库的安全性是指保护数据库以防止不合法的使用所造成的数据泄露、更改或破坏。
前者为了防止数据库中存在不符合语义的数据,防止错误输入输出所造成的无效操作和错误结果。
后者是保护数据库防止恶意的破坏了非法的存取。
安全性防范对象是非法用户操作,完整性措施防范对象是不合语义的数据。
两者密切相关。
*完整性控制机制包括:
定义检查发现采取动作
==========
*物理模型是对数据最低层的抽象,它描述数据在系统内部的表示方式和存取方法,在磁盘或磁带上的存储方式和存取方法,是面向计算机系统的。
物理模型是具体实现是DBMS的任务,数据库设计人员要了解和选择物理醋,一般用户则不必考虑物理级的细节。
*层次数据模型的数据结构特点:
一是:
有且只有一个结点没有双亲结点,这个结点称为根结点。
二是:
根以外的其他结点有且只有一个双亲结点。
优点是:
1.层次数据结构比较简单清晰。
2.层次数据库的查询效率高。
3.层次数据模型提供了良好的完整性支持。
缺点主要有:
1.现实世界中很多联系是非层次性的,如结点之间具有多对多联系。
2.一个结点具有多个双亲等,层次模型表示这类联系的方法很笨拙,只能通过引入冗余数据或创建非自然的数据结构来解决。
对插入和删除操作的限制比较多,因此应用程序的编写比较复杂。
3.查询子女结点必须通过双亲结点。
4.由于结构严密,层次命令趋于程序化。
可见用层次模型对具有一对多的层次联系的部门描述非常自然,直观容易理解,这是层次数据库的突出优点。
*网状模型:
特点:
1.允许一个以上的结点无双亲2.一个结点可以有多于一个的双亲。
网状数据模型的优点主要有:
1.能够更为直接地描述现实世界,如一个结点可以有多个双亲。
结点之间可以有多种上联第。
2.具有良好的性能,存取效率较高。
缺点主要有:
1.结构比较复杂,而且随着应用环境的扩大,数据库的结构就变得越来越复杂,不利于最终用户掌握。
2.网状模型的DDL,DML复杂,并且要嵌入某一种高级语言中,用户不容易掌握,不容易使用。
*关系的完整性(实体完整性、参照完整性、和用户定义的完整性)三部分内容,其中前二者是系统自动支持的,DBMS完整性控制子系统的三个主要功能?
:
提供定义完整性约束条件的机制,提供完整性检查的方法,违约处理。
πSno(σSno=‘J1’SPJ))πSno(σSno='J1'∧Pno='P1'(SPJ))πJno(SPJ)-πJNO(σcity='天津'∧Color='红'(S∞SPJ∞P)πJno,Pno(SPJ)÷πPno(σSno='S1'(SPJ))
定义1:
设R(U)是属性集U上的关系模式。
X,Y是属性集U的子集。
若对于R(U)的任意一个可能的关系r,r中不可能存在两个元组在X上的属性值相等,而在Y上的属性值不等,则称X函数确定Y或Y函数依赖于X,记作X->Y。
(即只要X上的属性值相等,Y上的值一定相等。
)
定义2:
在R(U)中,如果X->Y,并且对于X的任何一个真子集X’,都有X’/->Y,则称Y对X完全函数依赖,记作:
定义3:
若关系模式R的每一个分量是不可再分的数据项,则关系模式R属于第一范式(1NF)。
定义4:
若关系模式R∈1NF,且每一个非主属性完全函数依赖于码,则关系模式R∈2NF。
(即1NF消除了非主属性对码的部分函数依赖则成为2NF)。
定义5:
关系模式R中若不存在这样的码X、属性组Y及非主属性Z(Z不是Y的子集)使得X->Y,Y->X,Y->Z成立,则称R∈3NF。
定义6:
关系模式R∈1NF。
若X->Y且Y不是X的子集时,X必含有码,则R∈BCNF。
定义7:
关系模式R∈1NF,如果对于R的每个非平凡多值依赖X->Y(Y不是X的子集,Z=U-X-Y不为空),X都含有码,则称R∈4NF
*试述数据库设计的特点数据库建设是硬件、软件和干件的结合数据库设计应该和应用系统设计相结合
*需求分析阶段的设计目标是什么(补充)?
调查的内容是什么?
需求分析阶段的设计目标是对系统的整个应用情况作全面的、详细的调查,确定企业组织的目标,收集支持系统总的设计的基础数据和对这些数据的要求,确定用户的需求,并把这些要求写成用户和数据库设计者都能接受的文档调查的内容是
(1)调查组织机构情况。
(2)调查各部门的业务活动情况.(3)在熟悉业务活动的基础上,协助用户明确对新系统的各种要求,包括信息要求、处理要求、完全性与完整性要求。
(4)确定新系统的边界。
*数据字典的内容和作用是什么?
数据字典则是系统中各类数据描述的集合,是进行详细的数据收集和数据分析所获得的主要成果。
数据字典在数据库设计中占有很重要的地位。
数据字典包括数据项、数据结构、数据流、数据存储和处理过程五个部分。
其中数据项是数据的最小组成单位,若干个数据项可以组成一个数据结构,数据字典通过对数据项和数据结构的定义来描述数据流、数据存储的逻辑内容.
*什么是数据库的概念结构,试述其特点和设计策略。
将需求分析得到的用户需求抽象为信息结构即概念模型的过程就是概念结构设计。
它是整个数据库设计的关键。
概念结构的主要特点是:
(1)能真实、充分地反映现实世界,包括事物和事物之间的联系,能满足用户对数据的处理要求。
是对现实世界的一个真实模型。
(2)易于理解,从而可以用它和不熟悉计算机的用户交换意见,用户的积极参与是数据库的设计成功的关键。
(3)易于更改,当应用环境和应用要求改变时,容易对概念模型修改和扩充。
(4)易于向关系、网状、层次等各种数据模型转换。
*设计概念结构通常有四类方法:
自顶向下。
自底向上。
逐步扩张。
混合策略。
*什么叫数据抽象?
所谓抽象是对实际的人、物、事和概念进行人为处理,抽取所关心的共同特性,忽略非本质的细节,并把这些特性用各种概念精确地加以描述,这些概念组成了某种模型。
*试述数据库概念结构设计的重要性和设计步骤概念结构设计是整个数据库设计的关键,它通过对用户需求进行综合、归纳与抽象,形成一个独立于具体DBMS的概念模型。
自底向上设计概念结构的方法通常分为两步:
第1步是抽象数据并设计局部视图,第2步是集成局部视图,得到全局的概念结构,
*什么是E-R图?
构成E-R图的基本要素是什么?
E-R是概念模型的表示方法,通常称为是实体-联系方法。
该方法用E-R图来描述现实世界的概念模型,E-R方法也称为E-R模型。
构成E-R图的基本要素是实体、属性和联系。
*为什么要视图集成?
视图集成的方法是什么?
各子系统的分E-R图设计好以后,下一步就是要将所有的分E-R图综合成一个系统的总E-R图,称为视图集成。
多个分E-R图一次集成。
逐步集成,用累加的方式一次集成两个分E-R图
*什么是数据库的逻辑结构设计?
试述其设计步骤逻辑结构设计是将概念结构转换为某个DBMS所支持的数据模型,并对其进行优化。
步骤如下:
A、将概念结构转换为一般的关系、网状、层次模型。
B、将转换来的关系、网状、层次模型向特定DBMS支持下的数据模型转换。
C、对数据模型进行优化
*试述数据库物理设计的内容和步骤。
为一个给定的逻辑数据模型选取一个最适合应用要求的物理结构的过程,就是数据库的物理设计两步:
A、确定数据库的物理结构,在关系数据库中主要指存取方法和存储结构.B、对物理结构进行评价,评价的重点是时间和空间效率。
*关系数据库物理设计的主要内容?
关系模式选择存取方法设计关系、索引等数据库文件的物理存储结构
*数据输入在实施阶段的重要性是什么?
如何保证输入数据的正确性?
组织数据录入就要将各类源数据从各个局部应用中抽取出来,输入计算机,再分类转换,最后综合成符合新设计的数据库结构的形式,输入数据库。
由于要入库的数据在原来的系统中的格式结构与新系统中不完全一样,有的差别可能还比较大,不仅向计算机内输入数据时发生错误,转换过程中也有可能出错。
因此在源数据入库之前要采用多种方法对它们进行检验,以防止不正确的数据入库,这部分的工作在整个数据输入子系统中是非常重要的。
*什么是数据库的再组织和重构造?
为什么要进行数据库的再组织和重构造?
数据库运行一段时间后,由于记录不断增、删、改,会使数据库的物理存储情况变坏,降低了数据的存取效率,数据库性能下降,这时DBA就要对数据库进行重组织,或部分重组织(只对频繁增、删的表进行重组织)。
在重组织的过程中,按原设计要求重新安排存储位置、回收垃圾、减少指针链等,提高系统性能。
数据库的重组织,并不修改原设计的逻辑和物理结构,而数据库的重构造则不同,它是指部分修改数据库的模式和内模式。
*什么叫数据库系统的可恢复性?
:
数据库管理系统具有把数据库从错误状态恢复到某一已知的正确状态的功能,这就是数据库系统的可恢复性。
数据库故障的种类:
事务内部的故障,系统故障(软故障),介质故障(硬故障),计算机病毒。
*不进行并发控制可能产生的问题?
:
多个事务对数据库并发操作可能造成事务ACID特点遭到在破坏。
如何解决(三个):
1,丢失修改2,不可重复读3,读“脏”数据。
*三级封锁协议?
能解决什么问题?
:
一级封锁协议:
事务T在修改数据R之前必须先对其加X锁,直到事务结束才释放。
事务结束包括正常结束(COMMIT)和非正常结束(ROLLBACK)。
一级封锁协议中,如果是读数据不修改,是不需要加锁的,可防止丢失修改。
二级封锁协议:
在一级封锁协议基础上,加上事务T在读数据R之前必须先对其加上S锁,读完后即可释放S锁。
在二级封锁协议中,由于读完数据后即可释放S锁,所以它不能保证可重复读。
三级封锁协议:
一级封锁协议加上事务T在读取数据R之前必须先对其加S锁,直到事务结束才释放。
三级封锁协议除了防止了丢失修改和不读“脏”数据外,还进一步防止了不可重复读。
上述三级协议的主要区别在于:
什么操作需要申请封锁,以及何时释放锁。
*什么叫封锁?
:
所谓封锁就是事务T在对某个数据对象例如表、记录等操作之前,先向系统发出请求,对其加锁。
有哪些类型的锁?
:
封锁类型:
排它锁(X锁)和共享锁(S锁)排它锁:
又称写锁,若事务T对数据对象A加上X锁,则只允许T读取和修改A,其它任何事务都不能再对A加任何类型的锁,直到T释放A上的X锁。
共享锁:
又称读锁,若事务T对数据对象A加上S锁,则事务T可以读A但不能修改A,其它事务只能再对A加S锁,而不能加X锁,直到T释放A上的S锁。
*数据转储方法:
动态少量转储、动态增量转储、静态海量转储和静态增量转储。
*什么是数据库的安全性:
指保护数据库以防止不合法的使用所造成的数据泄露、更改或破坏。
完整性:
指数据的正确性和相容性。
*计算机安全标准(四组七个标准)TKD/TCSEC:
D、C(C1,C2)、B(B1,B2,B3)、A(A1),按系统可靠或可信程度逐渐增高。
*R为参照系,S为被参照系,为了实现完整性约束,SQL规定可以对S中元组修改操作,一般采取哪三种措施?
插入呢?
删除呢?
:
1,拒绝执行(不允许该操作执行),2,级连操作(当删除或修改被参照表的一个元组造成了与参照表的不一致,则删除或修改参照表中的所有造成不一致的元组),3,设置为空值(当删除或修改被参照表的一个元组时造成了不一致,则将参照表中的所有不造成不一致的元组的对应属性设置为空值)。
*视图对数据库安全性的作用?
:
1,视图能够简化用户的操作,2,使用户能以多种角度看待同一数据,3,视图对重构数据库提供了一定程度的逻辑独立性,4,视图能够对机密数据提供安全保护,5,适当的利用视图可以更清晰的表达查询。
*数据库系统可能发生的主要故障有:
事务故障、系统故障和存储介质故障
(1)事务的原子性指的是,事务中包含的程序作为数据库的逻辑工作单位,它所做的对数据修改操作要么全部执行,要么完全不执行,这种特性称为原子性。
(2)事务的一致性指的是在一个事务执行之前和执行之后数据库都必须处于一致性状态,这种特性称为事务的一致性。
(3)分离性指并发的事务是相互隔离的。
即一个事务内部的操作及正在操作的数据必须封锁起来,不被其它企图进行修改的事务看到。
(4)持久性意味着当系统或介质发生故障时,确保已提交事务的更新不能丢失。
即一旦一个事务提交,DBMS保证它对数据库中数据的改变应该是永久性的,耐得住任何系统故障。
*数据库管理系统在事务日志中记录的主要信息有:
事务标识;事务运行的关键时间,如开始时间、提交时间等;对数据库的更新操作类型(增加、删除、修改