版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、数据库复习数据管理的几个阶段及其对比by Tqun人工管理阶段卩文件系统阶段4数据库系统阶段卩dSt 冃*+J景*时间程20世纪50年代中期 以前祕50年代后期到60年 代中期260年代末70年代初以 来2应用背景卩科学计算袒科学计算.管理2大规模管理卩硬件背景心无直接存取存储设备4磁盘磁鼓2大容壘磁盘2软件背景4没有操作系统4有文件系统卩有数据库管理系统相处理方式卫批处理P联机实时处理、批处 理4联机实时处理,分布处 理,批处理戏护特卩+J点Q数据的管理苕卫用户(程序员)亠文件系统卩数据库管理系统卩数据而向的对象4棊一应用程序e基本上还是面向应用整个组织、系统(一个 组织包括许多应用)4数据
2、的共享程度心无共辜,冗余度极大心共辜性差,冗余度大2共辜性高,冗余度小卩数据的独立性4不独立,完全依赖于 程序誤有一定的独立性,但 独立性差农具有高度的物理独立性 和一定的逹辑独立性*数据结构化4无结构心记录內有结构,整体 无结构黒整体结构化,用数据模 型描述卩数据控制能力4应用程序自己控制d(数据不保存)3应用程序自己控制4 (数据可以长期卩保存),由数据库管理系统提供 数据安全性,完整性. 并发控制和恢复能力中数据库三级模式:模式,内模式,外模式物理数据独立性用户的应用程序与存储在磁盘上的数据库中数据是相互独立的,the ability to modify theP hysical sch
3、ema without cha nging the logical schema 。逻辑数据独立性用户的 应用程序与数据库的 逻辑结构是相互独立的,the ability to modify the logical schema without caus ing app licati on p rograms to be writte n.DB:长期储存在计算机中的、有组织的、可共享的数据的集合特点:按照数据模型组织;较小的冗余度;独立性、易扩展性;可共享。DBMS 种操纵和管理数据库的大型软件,用于建立、使用和维护数据库。DBS带有数据库并利用 数据库技术进行数据管理的计算机系统。DBMS的
4、功能1.数据定义2.数据操作3.数据库的运行管理4.数据组织、存储与管理5.数据库 的保护 6.数据库 的维护 7.通信(httP://view/68446.htm#1)数据库管理系统的组成 按功能划分,数据库管理系统大致可分为6个部分:(1)模式翻译:提供数据定义语言(ddl)。用它书写的数据库模式被翻译为内部表示。 数 据库的逻辑结构、完整性约束和物理储存结构保存在内部的 数据字典中。数据库的各种数据 操作(如查找、修改、插入和删除等 )和数据库的维护管理都是以数据库模式为依据的。(2)应用程序的编译:把包含着访问数据库语句的应用程序,编译成在dbms支持下可
5、运行的目标程序。(3)交互式查询:提供易使用的交互式查询语言,如sql。dbms负责执行查询命令,并将查询结果显示在屏幕上。(4)数据的组织与存取:提供数据在外围储存设备上的物理组织与存取方法。事务运行管理:提供事务运行管理及运行日志,事务运行的安全性监控和 数据完整性检查,事务的 并发控制 及系统恢复等功能。(6)数据库的维护:为 数据库管理员 提供软件支持,包括 数据安全控制、完整性保障、 数据库备份、数据库重组以及性能监控等维护工具。数据库管理系统主要模块:存储管理和事务处理DBA及其作用负责管理和维护数据库服务器数据模型(概念模型、结构模型)数据模型所描述的内容包括三个部分:数据结构、
6、 数据操作、数据约束。常用的逻辑数据模型:层次模型,网状模型,关系模型,面向对象模型,对象关系模型。关系模式关系的描述超码、候选码、主码超码 一个或多个属性的集合,能在一个实体集中唯一地标识一个实体 一个实体集中可能有多个超码 候选码 其任意真子集都不为超码的超码一个实体集中可能有多个候选码主码从候选码中选取的一个,一个实体集中只有一个主码 E/R图中只能表示主码:主码属性名加上下划线强实体、弱实体及其区别如果一个实体集的所有属性都不足以形成主码,则称这样的实体集为弱实体集 为什么使用弱实体集?通过为弱实体集加上合适的属性,可转变为强实体集,为什么还要使用弱实体集 避免数据冗余(强实体集码重复
7、) ,以及因此带来的数据的不一致性 弱实体集反映了一个实体对其它实体依赖的逻辑结构 弱实体集可以随它们的强实体集的删除而自动删除 弱实体集可以物理地随它们的强实体集存储关系代数的主要运算基本运算:元运算 选择(select)、投影(Projection)、更名(rename)多元运算 笛卡儿积(Cartesian product、并(union)、集合差(set differenee)其它运算集合交(set-intersection)、自然连接(natural-join)、除(division)、赋值(assig nment)扩展运算 广义投影(ge neralized p rojecti o
8、n)、外连接(outer jo in)、聚集(aggregate fun cti ons)修改操作 插入(insertion)、删除(deletion)、更新(updation)自然连接、外连接及其适用场合natural出现在结果关系中的两个连接关系的元组在公共属性上取值相等,公共属性只出现一次Inner join舍弃不匹配的元组Left outer join内连接+左边关系中失配的元组(缺少的右边关系属性值用null示)Right outer join内连接+右边关系中失配的元组(缺少的左边关系属性值用null示)Full outer join内连接+左边关系中失配的元组(缺少的右边关系属性
9、值用null示)+右边关系中失配的兀组(缺少的左边关系属性值用null表示)视图及其作用P rovide a mecha nism to hide certa in data from the view of certa in users. 提供一种机制来隐藏某些特定用户的数据视图。利用视图的优点 个性化服务 简化了用户观点,使不同用户可以从不同角度观察同一数据 安全性“知必所需”,限制用户数据的访问范围 逻辑独立性 视图作为基本表与外模式之间的映象 适当的利用视图可以更清晰的表达查询SQL标准的发展 有关标准SQL-86“数据库语言SQL”SQL-89“具有完整性增强的数据库语言 SQL”,
10、增加了对完整性约束的支持SQL-92“数据库语言SQL”,是SQL-89的超集,增加了许多新特性,如新 的数据类型,更丰富的数据操作,更强的完整性、安全性支持等。SQL-3(99 年) 新的标准,增加对面向对象模型的支持DDL、DML、DCLSQL功能操作符数据查询SELECT ( DML)数据定义CREATE,ALTER,DROP (DDL)数据操纵INSERT,UPDATE,DELETE ( DML)数据控制GRANT , REVOKE (DCL)嵌入式SQL、宿主语言嵌入式 SQL(英文:Embedded SQL)是一种将 SQL语句直接写入 C 语言,COBOL,FORTRAN, Ad
11、a等编程语言的源代码中的方法。借此方法,可使得应用程序拥有了访问汀= 据以及处理数据的能力。在这一方法中,将 SQL文嵌入的目标源码的语言称为 宿主语言。ODBC、JDBCODBC应用程序包括的内容:请求连接数据库;向数据源发送SQL语句;为SQL语句执行结果分配存储空间,定义所读取的数据格式;获取数据库操作结果,或处理错误;进行数据处理并向用户提交处理结果;请求事务的提交和回滚操作;断开与数据源的连接。数据库完整性及其主要措施什么是数据库的完整性数据的正确性和相容性防止不合语义的数据进入数据库。How to ensure integrity ?Integrity constraints(完整
12、性约束)Not null (非空约束)Primary Key (主码约束)Check (检查约束)Unique (唯一性约束)Referential integrity (参照完整性约束)Assert ions (断言)Triggers (触发器)触发器及其功能触发器是一条语句,当对数据库做修改时,它自动被系统执行触发器的定义:指明什么条件下触发器被执行指明触发器执行的动作是什么触发器的作用:更好地维护企业的业务规则示警满足特定条件时自动执行某项任务触发器事件:In sert、delete up date数据库安全性及其主要措施Security - protection from malici
13、ous (恶意的)attempts to steal ormodify data.主要措施Database system levelAuthentication(安全论证)and authorization (授权)mechanisms toallow sp ecific users access only to required dataOp erati ng system levelNetwork levelPhysical levelHuma n level范式、各范式之间的关系1NF: A relati onal schema R is in first no rmal form(第一
14、范式)if the doma ins of all attributes of R are atomic第 一范式就是无重复的列2NF第二范式就是非主属性非部分依赖于主关键字。3NF:第三范式就是属性不依赖于其它非主属性。BCNF设关系模式R 1NF,如果对于R的每个函数依赖Xt丫,若丫不属于X , 则X必含有候选码,那么 R BCNF 。函数依赖:完全依赖、部分依赖、传递依赖、多值依赖如果XT Y ,但Y不包含于X,则称其为非平凡的函数依赖,否则称为平凡的函数依赖完全函数依赖(Full functional dependency)如果XTY,且对于任意X的真子集X ,都有则称丫对X完全函数依
15、赖,记作X f YX 不能决定Y?否则称为Y对X部分函数依赖P artial fun ctio nal depen de ncy记作x_pY规范化的主要目的:消除冗余无损连接分解、保持依赖分解 索弓丨:对数据库表中一列或多列的值进行排序的一种结构,建立索引的优缺点建立索引的优点1. 大大加快数据的检索速度2. 创建唯一性索引,保证数据库表中每一行数据的唯一性3. 加速表和表之间的连接4. 在使用分组和排序子句进行数据检索时,可以显著减少查询中分组和排序的时间缺点:1.索引需要占物理空间。2.当对表中的数据进行增加、删除和修改的时候,索引也要动态的维护,降低了数据的 维护速度。主索引、辅助索引
16、主索引:该索引中键值的逻辑顺序决定了表中相应行的物理顺序。辅助索引:稠密索引、稀疏索引查询处理B+树索引的优点:具有动态平衡的优点, 查询处理的一般过程:1.Parsing and translation语法分析和翻译)2. Query Optimization(查询优化)查询优化:对于给定的查询选择代价最小的操作序列,使查询过程既省时间,具有较高的效率,这就是所谓的查询优化。查询优化目的:选择最有效的查询执行计划。事务:由一系列操作序列构成的程序执行单元,这些操作要么都做,要么都不做,是一个不可分割的工作单位。事务的ACID性质:原子性(Atomicity):事务中包含的所有操作要么全做,要
17、么全不 做,原子性由恢复机制实现。致性(Co nsiste ncy):事务的隔离执行必须保证数据库的一致性。事务开始前,数据库处于一致性的状态;事务结束后,数据库必须仍 处于一致性状态。数据库的一致性状态由用户来负责,由并发控制机 制实现。隔离性(Isolation):系统必须保证事务不受其它并发执行事务的影 响。对任何一对事务T1,T2,在T1看来,T2要么在T1开始之前已 经结束,要么在T1完成之后再开始执行。隔离性通过并发控制机制 实现。持久性(Durability): 一个事务一旦提交之后,它对数据库的影响 必须是永久的。系统发生故障不能改变事务的持久性。持久性通过恢 复机制实现。Tr
18、ansaction State (事务的状态):广7初始状态(中止状态)缽无法继 I续正常执行/活动状态_ _提亂d提交状态気后二倣功誠孑 旬被执行卮S写入薮据匍失败状态尊务回滚,数据库愎 彥到事务开始前状态1;事务调度:事务的执行顺序称为一个调度,表示事务的指令在系 统中执行的时间顺序。俎事务的调度驰须保证-包舍了所有事务的操作指令.一个事务中指令的顺序必须椽特不变串行调度.観串行谓皮中,厲于同一事务的希令紧挨&一起对于有n个事务的事务俎,可以有n!个有放调度 并行调嵐蛊并行调度中,来自不同事务的指令可以交叉执行-当并行调袞等价于某个串行调度时,则称它是止确的并行调度有可能引起的问题:丢失修
19、改:两个事务T1和T2读入同一数据并修改,T2提交的结果破坏了 T1提交的结果,导致T1的修改丢失。 It read(A); A:=A-50;T2A=1000B=200t) “ A=900Y I B=2000read(A);temp A*0.1 A ;= A - temp; write(A);read(B);诵束状态:A=900B-2150Y&hB=3O5O 壬7write(A); read(B);B :=B + 50; write(B);h A=900J B-2050YB ;= B + temp; write (B);读脏数据:事务T2修改某一数据,并将其写回磁盘,事务 T1读取同一数据后,
20、T2由于某种原因被撤消,这时 T2已修改过的数据恢复原值,T1读到的数据与数据库中数据不一致,则T1读到的数据就是脏数据。T2A=1000read(A);R=2OCtf)read(A);Al = A; read(B);Bl :=B;Al + Bl -2950;A 】=A 50; write (A);A二950、J B=2000 “read(B);B := B + 50; write(B);不能重复读:事务T1读取某一数据后,事务T2对其做了修改,当T1再次读取该数据时,得到与前次不同的值。T1T2read(A); Al :=AA=1000read(A);A := A - 50; write(A
21、); read(B);B :=B + 50; write(B);read(B);Bl ;=BAl+B 1=3050A=950B=2050V_X可串行化:每个事务中,语句的顺序在各种调度中始终保持一致。在 这个前提下,如果一个并发调度的执行结果与某一串行调度的执行结 果等价,则称该并发调度为“可串行化调度”,否则称为“不可串行 化调度”。封锁:锁是一种用来控制并发访问数据项的机制。并发控制的主要技术是封锁(Locking)。两种锁:(1)排他锁(X锁或WLOCK)某事务对数据加上排他锁,该事务可读写数据,其他事务不能再对数据加任何 类型的锁,也就不能读写该数据,只有等待开锁(2)共享锁(S锁或R
22、LOCK)1. 允许其他事务对同一数据进行检索,但不得对同一数据进行修改操作2. 若事务T对数据对象A加上S锁,则事务可以T读A但不能修改A,其它事务 只能再对A加S锁,而不能加X锁,直到T释放A上的S锁。这就保证了其它事 务可以读A,但在T释放A上的S锁之前不能对A做任何修改。Deadllock(死锁两个事务处于相互等待状态,永远不能 结束0例:甲事务打开了A表,同时乙事务打开了B表接着甲事 务希望打开B表,而乙事务希望打开A表形成两事务都 在同时等待对方释放自己希望加锁的表口解决方法:撤消不重要的事务Starvation死)(活锁):某一事务的请求可能永远得不到, 该事务一直处于等待状态。
23、-例:如果事务T2对数据R加了S锁,事务T1又请求对R加X 锁,于是TI等待.T3也请求对R加S锁,当T2释放了R上 的封锁之后系统首先批准了T3的请求,T1仍然等待,然 后T4吴请求R的S锁,当T3释放了R上的封锁之后系统又 批准了T4的请求T1有可能永远等待,这就是活 锁的情形解决方法:先来先服务策略。死锁解决办法:一次封锁法:一次封锁法要求每个事务必须一次将所有要使用的数据全部加锁,否则就不能继续执行。顺序封锁法:顺序封锁法是预先对数据对象规定一个封锁顺序,所有事务都按这个顺序实行封锁。两段锁协议:保证并行调度可串行性的封锁协议。两段锁协议的要点:(1) 在对任何数据进行读写操作之前,事务首先要获得对该数据的封锁。(2)在释放一个封锁之后,事务不再获得任何其他封锁。结论(1)若并行执行的所有事务均遵守两段锁协议,则对这些事务的所有并行调度策略都是可以串行化的(2) 所有遵守两段锁协议的事务,其并行执行的结果一定是正确的(3) 但可串行化的调度中,不一定所有事务都必须符合两段锁协议数据库的恢复:数据库管理系统(恢复子系统)必须具有把数据库从 错误状
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 大学生毕业登记表自我鉴定(5篇)
- 石河子大学《历史教学技能实训》2022-2023学年第一学期期末试卷
- 石河子大学《工业药物分析综合实验》2022-2023学年第一学期期末试卷
- 石河子大学《教师语言与行为艺术》2022-2023学年第一学期期末试卷
- 沈阳理工大学《数字信号处理》2021-2022学年第一学期期末试卷
- 沈阳理工大学《美国文学史》2022-2023学年第一学期期末试卷
- 沈阳理工大学《机械工程材料》2021-2022学年第一学期期末试卷
- 沈阳理工大学《翻译工作坊》2023-2024学年第一学期期末试卷
- 合同法81条对应民法典
- 高空作业合同安全责任书模版
- DB50-T 771-2017 地下管线探测技术规范
- 2024年PMP项目管理师考试试卷及答案指导
- 宪法是根本法教案-2.宪法是根本法-六年级上册道德与法治(新版)
- 商家入驻进场协议书范本
- 2024年全国职业院校技能大赛中职组(婴幼儿保育赛项)考试题库-下(多选、判断题)
- 争做“四有好老师”-当好“四个引路人”
- 4.19北朝政治和北方民族大交融 课件-2024-2025学年统编版(2024)七年级历史上册
- 机动车商业保险条款(2020版)
- 2024年江西省“振兴杯”职业技能品酒师竞赛考试题库(含答案)
- DLT 572-2021 电力变压器运行规程
- DL∕T 1764-2017 电力用户有序用电价值评估技术导则
评论
0/150
提交评论