数据库系统概论期末复习大纲
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
数据库系统概论期末复习重点
重点在一到七章,考试内容三大类:基本概念,SQL语言和数据库的设计与应用第一章.绪论
(一)数据、数据库、数据库管理系统和数据库系统相关概念:
1.数据(Data):描述事物的符号记录。
数据与其语义密不可分。
(P4)
2.数据库(DataBase,简称DB):数据库是长期存储在计算机内、有组织、可共享的大量数据的集合。
因此,永久存储、有组织、可共享是数据库的三个基本特点。
(P4)
3.数据库管理系统(DataBase Management System,简称DBMS):数据库管理系统是位于用户与操作系统之间的一层数据管理软件,其任务是科学、高效地管理数据库中的数据。
(P5)数据库管理系统的主要功能有:
1)数据定义功能
2)数据操纵功能
3)数据组织、存储和管理
4)数据库的事务管理和运行管理
5)数据库的简历和维护功能
6)其他功能:如DBMS与网络中其他软件系统的通信功能、异构数据库之间的互访和互操作功能、多个DBMS之间的数据转换功能等。
4.数据库系统(DataBase System,DBS):在计算机系统中引入数据库后的系统,由数据库、数据库管理系统(及其开发工具)、应用系统、数据库管理员(DataBase Administrator,DBA)构成。
(二)数据管理技术的发展:(P7)
1.人工管理阶段:主要出现于20世纪50年代中期以前,数据处理方式为批处理。
其特点为:
1)数据不保存
2)应用程序管理数据
3)数据不共享
4)数据不具有独立性
2.文件系统阶段:20世纪50年代后期到60年代中期,其特点是:
1)数据可以长期保存
2)由专门的软件系统(文件系统)管理数据
但文件系统仍然存在以下不足:数据共享性差、冗余度大、数据独立性差
3.数据库系统阶段:20世纪60年代至今。
其特点是:
1)数据结构化
2)数据的共享性高,冗余度低,易扩充
3)数据的独立性高
4)数据由DBMS同一管理和控制
二、数据模型:(概念)
(一)两类数据模型:第一类是概念模型,第二类是逻辑模型和物理模型。
(P12)
(二)数据模型的三大组成要素:(P13)
1.数据结构
2.数据操作
3.数据完整性约束条件
(三)三大类(逻辑)数据模型:
层次模型、网状模型、关系模型是常用的三大逻辑数据模型(P18)。
三、概念模型的表示方法:E-R图。
(一)相关概念:(P14)
1.实体(Entity):客观存在并可相互区别的事物。
在E-R图中,实体用码(码的定义见下)来区分。
2.属性(Attribute):实体所具有的某一特性。
3.码(Key):唯一标识实体的属性集。
4.域(Domain):一组具有相同数据类型的值的集合。
如性别的域为(男,女)。
5.实体型(Entity Type):用实体名及其属性名集合来抽象和刻画同类实体,称为实体型。
如学生(学号,姓名,性别,出生年月,所在院系)就是一个实体型。
6.实体集(Entity Set):同一类型实体的集合。
如全体学生就是一个实体集。
7.联系(Relationship):在现实世界中,事物内部以及事物之间是有联系的,这些联系在信息世界中反映为实体(型)内部的联系和实体(型)之间的联系。
联系包括1:1联系、1:n联系(一对多)、m:n联系(多对多)。
(二)E-R图的表示方法:
四、数据库系统结构:
(一)数据库系统的三级模式:
1.模式(Schema):数据库中全体数据的逻辑结构和特征的描述。
(P31)
2.三级模式:外模式、模式、内模式。
(二)数据库系统的二级映像:(P34)
1.外模式/模式映像
2.模式/内模式映像
3.二级映像的意义
第二章.关系数据库
一、基本概念:(P43)
1.笛卡尔积、关系、属性、候选码、主码、外码(P50)、主属性、非主属性、全码
2.关系的三种类型:
1)基本表:实际存在的表,它是实际存储数据的逻辑表示。
如用SQL语句“CREATE TABLE”创建的就是基本表。
2)查询表:查询结果对应的表。
如SQL语句中“SELECT”执行结果就是一个查询表。
3)视图表:由基本表或其他视图表导出的表,是虚表,不对应实际存储的数据。
如SQL语句中“CREATE VIEW”创建的就是视图表。
3.关系的性质
1)列是同质的,即每一列中的分量来自同一个域(即数据类型相同);
2)不同的列可出自同一个域,但必须为它们附加一个不同的属性名来区分;
3)列的顺序无所谓;
4)任意两个元组的候选码不能相同;
5)行的顺序无所谓;
6)分量必须取原子值;(这是关系模型规范化条件中最基本的一条)
注:在许多实际关系数据库产品中,基本表并不一定完全具有这6条性质。
12.关系模式(P46)
二、关系模型:
1.数据结构:关系模型的数据结构很简单,就是关系。
2.数据操作(关系操作):(P47)
1)基本关系操作:
查询(Query):选择(select)、投影(Project)、连接(Join)、除(Divide)、并(Union)、差(Except)、交(Intersection)、笛卡尔积等。
其中,选择、投影、差、并、笛卡尔积是五种基本操作,其他操作可由基本操作导出。
更新:插入(Insert)、删除(Delete)、修改(Update)。
2)关系数据语言:
关系代数:用对关系的运算来表达查询要求。
关系演算:用谓词表达查询要求。
SQL:介于关系代数和关系演算之间的结构化查询语言,集数据查询、数据操纵、数据控制、数据定义功能于一体,是关系数据库的标准语言。
详见第三章“关系数据库标准语言SQL”。
3.完整性约束:关系模型中有三类完整性约束,即实体完整性、参照完整性、用户定义的完整性。
其中,前两个是关系模型必须满足的完整性约束条件,被称作关系的两个不变性。
1)实体完整性(Entity Integrity)(P49)
2)参照完整性(Referential Integrity)(P51)
3)用户定义的完整性(User-defined Integrity)(P52)
三、关系代数:关于这方面的知识建议看课本会更全面些
第三章、关系数据库标准语言SQL
一、SQL语言的特点:(P79)
(一)综合统一
(二)高度非过程化
(三)面向集合的操作方式
(四)以同一种语法结构提供多种使用方式
(五)语言简洁,易学易懂
二、数据定义、数据查询、数据更新(重点,建议从头到尾仔细看看)
第四章.数据库安全性
一、计算机安全性概述。
二、安全机制设计目标:使得那些试图破坏安全的人所花费的代价远远超过他们所得到的利益。
(P147)
三、数据库安全性控制:
(一)用户标识与鉴别:系统提供的最外层安全保护措施。
其方法是由系统提供一定的方式让用户标识自己的名字或身份,常用的方法如用户名和口令形式。
(P135)
(二)存取控制:其作用是确保只授权给有资格的用户访问数据库的权限,同时令所有未被授权的人员无法接近数据。
1.存取控制的内容:(P136)
1)定义用户权限,并将用户权限登记到数据字典中
2)合法权限检查
2.存取控制的两种实现方式:
1)自主存取控制(DAC)P142。
2)强制存取控制(MAC)(P144)
(三)视图机制:为不同的用户定义不同的视图,把数据对象限制在一定的范围内。
通过视图机制可以把要保密的数据对无权存取的用户隐藏起来。
在数据库中可以通过SQL语句中的CREATE VIEW创建视图。
(四)审计(P145)
1.用户级审计
2.系统级审计
(五)数据加密:替换方法和置换方法。
四、统计数据库特殊的安全性问题:见课本P147。
第五章.数据库完整性
一、RDBMS的完整性控制包括三个方面:(P151)
(一)提供定义完整性约束条件的机制
(二)提供完整性检查的方法
(三)违约处理
二、实体完整性:
(一)完整性定义:详见课本P151。
(二)检查和违约处理:用PRIMARY KEY定义了主码后,当用户程序对基本表插入一条记录或对主码将进行更新操作时,RDBMS将进行以下检查:
1.检查主码值是否唯一,如果不唯一则拒绝插入或修改;
2.检查主码的各个属性是否为空,只要有一个为空就拒绝插入或修改。
注:为了避免检查主码时进行全表扫描(全表扫描十分费时),RDBMS会自动在主码上建立一个索引,以提高检查效率。
三、参照完整性:(P154)
(一)完整性定义详见课本P154。
(二)检查和违约处理
四、用户定义的完整性:
(一)完整性定义,详细用法请参照课本P157。
(二)检查和违约处理
五、完整性约束命名子句,详见课本P158。
第六章.关系数据理论
一、规范化:一个低一级范式的关系模式,通过模式分解可以转换为若干个高一级范式的关系模式的集合,这个过程就叫做规范化。
(P174)
(一)规范化要解决的问题:数据冗余、插入异常、删除异常、更新异常。
详细解释请参照课本P171。
(二)函数依赖的类型:(P173)
1.平凡函数依赖
2.非平凡函数依赖
3.完全函数依赖
4.部分函数依赖
5.传递函数依赖
(三)范式:
1.第一范式(1NF):满足条件“每一个分量必须是不可分的数据项”的关系模式属于第一范式。
(P170)
2.第二范式(2NF):若R∈1NF,且每一个非主属性完全函数依赖于码,则R∈2NF(P175)。
第二范式在第一范式基础上消除关系模式中非主属性对码的部分函数依赖。
3.第三范式(3NF):关系模式R<U,F>中若不存在这样的码X,属性组Y及非主属性Z(Z Y)使得X→Y,Y→Z成立(Y X),则称R<U,F>∈3NF。
第三范式在第二范式基础上消除关系模式中非主属性对码的传递函数依赖。
(P176)
4.BCNF:关系模式R<U,F>∈1NF。
若X→Y且Y X时X必有码,则R<U,F>∈BCNF。
也就是说,关系模式R<U,F>中,若每一个决定因素都包含码,则R<U,F>∈BCNF。
BCNF在第三范式基础上消除关系模式中主属性对码的部分和传递函数依赖。
一个满足BCNF的关系模式满足:(P177)
1)所有非主属性对每一个码都是完全函数依赖;
2)所有的主属性对每一个不包含它的码,也是完全函数依赖;
3)没有任何属性完全函数依赖于非码的任何一组属性。
5.多值依赖:参见课本P179。
6.第四范式(4NF):参见课本P181。
二、函数依赖的公理系统和模式分解。
第七章.数据库设计(多做些相关题目比较好)
一、数据库设计概述:
(一)数据库设计:对于一个给定的应用环境,构造(设计)优化的数据库逻辑模式和物理模式,并据此建立数据库及其应用系统,使之能够有效地存储和管理数据,满足各种用户的应用需求,包括信息管理要求和数据操作要求。
(P198)
(二)数据库设计的特点:(P199)
1.数据库建设的基本规律:三分技术,七分管理,十二分基础数据。
2.结构(数据)设计和行为(处理)设计相结合:在整个设计过程中,要把数据库结构设计和应用系统的设计结合起来。
(三)数据库设计的基本步骤:需求分析、概念结构设计、逻辑结构设计、物理结构设计、数据库实施、数据库运行和维护。
(P201)
二、数据库的运行和维护:数据库在运行阶段,对数据库的维护主要由DBA完成,其任务包括:
(一)数据库的转储和恢复
(二)数据库的安全性、完整性控制
(三)数据库性能的监督、分析和改造
(四)数据库的重组织与重构造
第八章.数据库编程(不是重点故省略)
第九章.关系查询处理和查询优化
9.2.1查询优化过程
第十章.数据库恢复技术(概念)
一、事务的基本概念:
(一)事务:事务是用户定义的一个数据库操作序列,这些操作要么全做,要么全不做,是一个不可分割的工作单位。
在关系数据库中,一个事务可以是一条SQL 语句、一组SQL语句或整个程序。
(P278)
(二)事务的特性(ACID特性):(P279)
1.原子性:事务是数据库的逻辑工作单位,事务中包括的诸操作要么全都做,要么全不做。
2.一致性:事务执行的结果必须是使数据库从一个一致性状态变到另一个一致性状态。
3.隔离性:一个事务的执行不能被其他事务干扰。
4.持续性:一个事务一旦提交,它对数据库中数据的改变就应是永久性的。
接下来的其他操作或故障不应对其执行结果有任何影响。
(三)事务的ACID特性可能遭到破坏的因素(这也是DBMS恢复机制和并发机制要处理的问题):
1.多个事务并行运行时,不同事务的操作交叉执行;
2.事务在运行过程中被强行停止。
二、故障的种类:
(一)事务的内部故障(二)系统故障(三)介质故障(四)计算机病毒
三、数据库恢复技术:
(一)数据转储:DBA定期地将整个数据库复制到磁带或另一个磁盘上保存起来的过程。
转储是十分耗费时间和资源的,不能频繁进行。
DBA应根据数据库使用情况确定一个适当的转储周期。
转储可分为静态转储和动态转储。
(P282)
转储还分为海量转储和增量转储:
(二)登记日志文件(P283)
(三)日志文件的作用
(四)登记日志文件时必须遵循的两条原则:
1.登记次序严格按并发事务执行的时间次序;
2.必须先写日志文件,后写数据库。
四、恢复策略:
(一)事务故障的恢复(系统自动完成)
(二)系统故障的恢复(系统在重启时自动完成)
(三)介质故障恢复(需要DBA介入)
第十一章.并发控制
一、并发控制:
(一)交叉并发方式(P292)
(二)同时并发方式(P292)
(三)并发操作带来的数据不一致性:(P294)
1.丢失修改
2.不可重复读:包括三种情况
1)事务T1读取某一数据后,事务T2对其做了修改,当事务T1再次读取该数据时,得到与前一次不同的值;
2)事务T1按一定条件从数据库汇总读取了某些数据记录后,事务T2删除了其中部分记录,当T1再次按相同条件读取数据时,发现某些记录神秘地消失了;
3)事务T1按一定条件从数据库汇总读取了某些数据记录后,事务T2插入了一些记录,当T1再次按相同条件读取数据时,发现多了一些记录。
后两种不可重复读又称幻影现象。
3.读“脏”数据
(四)并发控制技术:包括封锁、时间戳、乐观控制法。
商用的DBMS一般都用封锁方法。
二、封锁(Locking):
(一)封锁的基本概念。
(二)锁的类型:(P295)
1.排他锁(简称X锁)。
2.共享锁(简称S锁)
(三)封锁产生的问题:
1.活锁(P296)
2.死锁
1)死锁的预防:(P297)
一次封锁法、顺序封锁法
2)死锁的诊断与解除:(P298)
超时法、等待图法、解除方法
三、并发调度的可串行性:
(一)可串行化调度(P299)
(二)冲突操作分为以下两种情况:
1.事务T1读x,事务T2写x;
2.事务T1写x,事务T2写x。
其他操作是不冲突操作。
不同事务的冲突操作是不能交换的,同一事务的两个操作也是不能交换的。
(P300)
(三)冲突可串行化的调度(P300)
(四)可串行化调度的充分条件(P300)。