关系数据库系统.docx
- 文档编号:27069111
- 上传时间:2023-06-26
- 格式:DOCX
- 页数:9
- 大小:19.17KB
关系数据库系统.docx
《关系数据库系统.docx》由会员分享,可在线阅读,更多相关《关系数据库系统.docx(9页珍藏版)》请在冰豆网上搜索。
关系数据库系统
关系数据库系统
数据库管理系统是数据库系统的核心
数据库系统是在文件系统的基础上发展而来的
数据库最大的特点是“数据的三级抽象和二级独立”
数据库是存储在计算机内有结构的数据集合
数据库应用系统包括数据库和数据库应用程序
关系数据库系统:
是支持关系模型的数据库系统
数据模型的三要素是:
数据结构、数据操作和数据完整性
关系模型的组成
1.关系数据结构
2.关系操作集合
3.关系完整性约束
关系模型中常用的关系操作:
选择、投影、并、差、笛卡尔积是5种基本操作
关系操作的特点:
集合操作方式,即操作的对象和结果都是集合
关系代数
是一种抽象的查询语言
用对关系的运算来表达查询
关系代数运算的三个要素
运算对象:
关系
运算结果:
关系
运算符:
四类关系代数运算符
关系运算的分类:
分为传统的集合运算和专门的关系运算
SQL的功能特点
数据查询
数据定义(DDL)
数据操纵(DML)
数据控制(DCL)
约束条件类型
⏹PRIMARYKEY(主键约束)
⏹UNIQUE(惟一约束)
⏹NOTNULL(非空约束)
⏹FOREIGNKEY(外键约束)
⏹CHECK(检查约束)
建立索引的目的:
基本表上建立一个或多个索引,以提供多种存取路径,加快查找速度。
数据库异常问题
1.冗余太大
2.插入异常
3.删除异常
4.修改异常
数据依赖:
是一个关系内部属性与属性之间的一种约束关系,是语义的体现。
分为函数依赖和多值依赖。
泛关系模式:
就是最初设计的关系模式,或者说是存在异常问题的关系模式。
数据库模式:
根据范式理论,将不符合用户需求的泛关系模式分解成一系列的关系集合。
若R∈1NF,且R中的每一个非主属性都完全函数依赖于R的任一候选码,则R∈2NF。
⏹如果关系模式R∈BCNF,必定有R∈3NF
⏹如果R∈3NF,且R只有一个候选码,则R必属于BCNF。
任何的二元关系必定是BCNF
⏹查询优化:
从查询的多个执行策略中进行合理选择的过程。
⏹查询优化的分类:
代数优化和物理优化
数据保护也叫数据控制,主要包括:
●数据库恢复
●并发控制
●数据的安全性
●数据的完整性
事务(Transaction)
是用户定义的一个数据库操作序列,这些操作要么全做,要么全不做,是一个不可分割的工作单位。
⏹事务可以是一组SQL语句、一条SQL语句或整个程序,在通常情况下,一个应用程序里包含多个事务。
⏹事务生成:
⏹用户显式地定义事务
⏹由DBMS按缺省自动划分事务
事务的特性
1.原子性(Atomicity)
一个事务中对数据库的操作,是一个不可分割的整体。
2.一致性(Consistency)
数据不会因事务的执行而遭受破坏。
3.隔离性(Isolation)
在多个事务并发执行时,系统应保证与这些事务先后单独执行时的结果一样。
4.持久性(Durability)
一个事务一旦完成全部操作,它对数据库的所有更新应永久地反映在数据库中。
事务是数据库恢复和并发控制的基本单位
数据库故障恢复的基本单位是事务,因此在数据恢复时主要使用事务撤销(UNDO)与事务重做(REDO)两个操作。
⏹1.事务级故障
⏹事务内部执行所产生的逻辑错误与系统错误,它由诸如数据输入错误、数据溢出、资源不足以及死锁等引起,使得事务尚未运行到终点即告夭折。
⏹2.系统级故障
⏹指造成系统停止运转的任何事件,使得系统要重新启动,通常称为软故障。
⏹3.介质级故障
⏹也称为硬故障(HardCrash),如磁盘损坏、磁头碰撞、瞬时强磁场干扰等。
这类故障将破坏数据库或部分数据库。
数据转储的概念
转储即DBA定期地将整个数据库复制到磁带或另一个磁盘上保存起来的过程。
这些备用的数据文本称为后备副本(backup)或后援副本。
(1)静态转储:
是在系统中无运行事务时进行的转储操作。
静态转储得到的一定是一个数据一致性的副本。
(2)动态转储:
是指转储期间允许对数据库进行存取或修改。
即转储和用户事务可以并发执行。
3、海量转储和增量转储
(1)海量转储:
每次转储全部数据库。
(2)增量转储:
每次只转储上一次转储后更新过的数据
日志文件(logfile)—用来记录事务对数据库的更新操作的文件。
日志文件的作用
进行事务故障、系统故障恢复,并协助后备副本进行介质故障恢复。
系统故障的恢复:
恢复操作:
要撤销故障发生时未完成的事务(撤销队列进行UNDO)
重做已完成的事务(重做队列进行REDO)
介质故障的恢复需要DBA介入。
动态维护日志文件的方法是周期性地执行:
建立检查点,保存数据库状态
⏹具体步骤:
①将当前所有日志记录写入磁盘日志文件上;
②在日志文件中写入一个检查点记录;
③将当前所有数据记录写入磁盘的数据库中;
④把检查点记录在日志文件中的地址写入一个重新开始文件。
⏹在数据库系统中,为了提高性能,多个事务并发执行是必要的。
●提高CPU和硬盘的使用效率,从而增加事务的吞吐率。
●减少事务的平均响应时间(即等待CPU的时间),短时间事务无需等待长时间事务。
并发操作—在多用户共享系统中,多个用户同时存取同一数据的情形称为并发操作。
⏹并发操作可能带来的问题:
(1)破坏数据库的一致性
(2)破坏事务的隔离性
⏹并发控制的主要技术有封锁(Locking)、时间戳(Timestamp)和乐观控制法,商用的DBMS一般都采用封锁方法。
封锁:
指事务T在对某个数据对象操作之前,对其加锁。
在T未释放锁之前,其他的事务不能更新此数据对象。
封锁协议:
对数据对象加锁时,约定的规则。
⏹常用的封锁协议:
三级封锁协议
活锁:
使某个事务永远处于等待状态,而得不到执行的现象称为活锁。
(实际上是有可能被激活的)
避免活锁的方法:
先来先服务(FCFS)
死锁:
若干个事务都处于等待状态,相互等待对方解除封锁,而造成这些事务都无法运行,均处于对锁的循环等待。
⏹调度:
事务的执行次序。
⏹调度方式:
(1)串行调度:
多个事务依次执行的调度。
(2)并行调度:
利用分时的方法处理多个事务的调度。
⏹串行调度是正确的;
⏹可串行化调度:
如果一个并发调度执行的结果等价于某一个串行调度的结果,称这种调度策略为可串行化的调度。
⏹一组事务并发调度的正确性准则:
可串行化调度。
冲突操作是指不同的事务对同一个数据的读写操作和写写操作
一个调度是冲突可串行化,一定是可串行化的调度。
⏹保证并发调度的可串行性的方法有三种
⏹封锁方法:
两段锁协议(目前DBMS普遍采用的)
⏹时标方法
⏹乐观方法
⏹所谓两段锁协议(Two-PhaseLocking,简称2PL)是指所有事务必须分两个阶段对数据项提出加锁和解锁申请
⏹封锁粒度:
封锁对象的大小。
⏹封锁对象:
属性、元组、关系、数据库
⏹封锁粒度与系统的并发度和并发控制的开销密切相关:
⏹封锁的粒度越大,并发度越小,系统开销越小;
⏹封锁的粒度越小,并发度越高,系统开销越大。
⏹多粒度封锁:
一个系统中同时支持多种封锁粒度供不同的事务选择的封锁方法。
⏹封锁粒度选择原则:
(1)需处理大量元组的事务以关系为封锁粒度;
(2)需处理多个关系的大量元组的事务以数据库为封锁粒度;
(3)只处理少量元组的事务以元组为封锁粒度。
多粒度封锁方式:
显式封锁和隐式封锁
显式封锁是应事务的要求直接加到数据对象上的封锁;
隐式封锁是该数据对象没有独立加锁,是由于其上级结点加锁而使该数据对象加上了锁
⏹意向锁加锁原则:
如果对一个结点加意向锁,则说明该结点的下层结点正在被加锁;对任一结点加锁时,必须先对它的上层结点加意向锁。
锁的强度是指它对其他锁的排斥程度
⏹具有意向锁的多粒度封锁方法的调用步骤
⏹任意事务T要对一个数据对象加锁,必须先对它的上层结点加意向锁
⏹申请封锁时应该按自上而下的次序进行
⏹释放封锁时则应该按自下而上的次序进行
⏹恢复的实现技术
⏹1.数据转储
⏹2.日志文件----具有检查点的恢复技术
⏹3.数据库镜像--远程备份
⏹恢复策略
⏹1.事务故障的恢复
⏹2.系统故障的恢复
⏹3.介质故障的恢复(计算机病毒)
⏹并发控制
⏹并发控制可能产生的数据不一致
⏹封锁的类型(X锁和S锁)及三级封锁协议
⏹并发调度的可串行性
⏹两段锁协议(获得封锁及释放封锁)
⏹封锁粒度(多粒度封锁、意向锁)
在数据库设计中,表示用户业务流程的常用方法是DFD
授权定义经过编译后存储在数据字典中
事务工作完成的标志是事物的“提交标志”已经安全的存入相关的日志文件
数据库系统中的死锁属于事务故障
DBA的职责是什么?
1.决定数据库中的信息内容和结构。
2.决定数据库的存储结构和存储策略。
3.定义数据的安全性要求和完整性约束。
4.监控数据库的使用和运行。
5.数据库的改进和重组重构。
什么事数据库的数据独立性?
1.物理独立性:
物理独立性是指用户的应用程序与存储在磁盘上的数据库中的数据是相互独立的。
2.逻辑独立性:
逻辑独立性是指用户的应用程序与数据库的逻辑结构是相互独立的。
冲突主要有:
属性冲突,命名冲突,结构冲突
数据库设计的六个步骤:
需求分析,概念设计,逻辑设计,物理设计,数据库实施,数据库运行和维护。
1.什么是数据库?
答:
数据库是长期存储在计算机内、有组织的、可共享的数据集合。
数据库是按某种数据模型进行组织的、存放在外存储器上,且可被多个用户同时使用。
因此,数据库具有较小的冗余度,较高的数据独立性和易扩展性。
2.什么是数据库的数据独立性?
答:
数据独立性表示应用程序与数据库中存储的数据不存在依赖关系,包括逻辑数据独立性和物理数据独立性。
3.什么是数据库管理系统?
答:
数据库管理系统(DBMS)是操纵和管理数据库的一组软件,自的DBMS,而不同的DBMS各支持一种数据库模型,虽然它们的功能强弱不同,但大多数DBMS的构成相同,功能相似。
一般说来,DBMS具有定义、建立、维护和使用数据库的功能,它通常由三部分构成:
数据描述语言及其翻译程序、数据操纵语言及其处理程序和数据库管理的例行程序。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 关系 数据库 系统