分布式数据库系统1PPT

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

1.数据库系统基础和原理1.1发展历史回顾1.2数据、数据库、数据库系统和数据库管理系统1.3数据模型和关系数据模型1.4SQL语言1.5数据库系统的存储和存取管理1.6数据库的可靠性和系统审计1.7并发控制和数据封锁1.8数据库系统性能评测1.9练习1.1发展历史回顾•从源头看,数据库技术的起源最早可以追溯到20世纪50年代后期。随着计算机的发展,计算机的应用从科学计算和过程控制逐步推广到了数据处理领域。从而产生了对数据库的原始需求。从科学计算/过程控制到数据处理•问题起由:–数据冗余–数据过时-由于数据副本很多,数据难于及时得到修改。–数据与应用程序互相依赖数据管理要求:1.顾及所有处理过程,避免数据冗余。2.提高应用程序相对于数据的独立性。3.集中检查数据完整性。数据管理•指如何对数据分类、组织、编码、存储、检索和维护,是数据处理的中心问题。1:程序员自行编写输入输出子程序,直接把数据存贮在外存贮器上;2:OS提供的存取方法如SAM、ISAM将I/O和存贮分配标准化,使应用程序摆脱了对存贮结构参数的依赖性。3:专门的文件管理系统,承担数据的修改、排序和准备,提供报告生成程序(RPG)。程序员不再与数据存贮格式和类型打交道,从而达到了一定的数据独立性。4:出现了公用的数据库系统,如IMS以及按DBTG报告实现的系统,还出现了一批描述数据(DDL)和应用程序员用于处理数据(DML)的语言。5:建立在关系模型或实体集合(entityset)模型基础上的。6:语义数据模型,诞生了演绎数据库,数据库技术的语义化(智能化)。另一个发展是数据库技术的多媒体化。多媒体数据库也成了目前数据库技术发展的一个热点。网络化(分布化)是数据库技术发展的又一个重要方向。历程1.人工管理阶段2.文件系统阶段3.数据库系统阶段1.2数据、数据库、数据库系统和数据库管理系统•数据(data)-数据指描述事物的符号记录。文字、图形、图像、声音、学生的档案记录、货物的运输情况等都是数据。•数据库(database,简称DB)-数据库指长期存储在计算机内有组织的、可共享的数据集合。数据库中的数据按一定的数据模型组织、描述和存储,具有较小的冗余度,较高的数据独立性和易扩展性,并可为各种用户共享。•数据库管理系统(databasemanagementsystem,简称DBMS)-数据库管理系统指位于用户与操作系统之间的一层数据管理软件。数据库在建立、运用和维护时由数据库管理系统统一管理、统一控制。数据库管理系统使用户能方便地定义数据和操纵数据,并能够保证数据的安全性、完整性、多用户对数据的并发使用及发生故障后的系统恢复。•数据库系统(databasesystem,简称DBS)-数据库系统指在计算机系统中引入数据库后构成的系统,一般由数据库、数据库管理系统(及其开发工具)、应用系统、数据库管理员和用户构成。1.3数据模型和关系数据模型•数据模型由三个要素组成:–数据结构–数据操作–完整性约束数据模型三个要素:1.数据结构-数据结构用于描述系统的静态特性,是所研究的对象类型的集合。数据模型按其数据结构分为层次模型、网状模型和关系模型。2.数据操作-数据操作用于描述系统的动态特性,是指对数据库中各种对象的实例允许执行的操作的集合,包括操作及有关的操作集合。3.数据的约束条件数据模型主要有三类:1.关系数据模型。2.层次数据模型。3.网状模型。关系模型三个基本概念•属性的域(Domain),它说明属性所有合理的取值。•规范化的关系(Relation),用它来定义所有合理的数据记录。•键(Key),它用于保持关系的集合特征。•关系模式由关系名、属性名的有穷集合(A1,A2,…,An)(在一个关系模式内,属性名是一义性的)和属性名集合在域集合上的函数映射FRN构成。若属性名A对应域D=F(A),则A的所有属性值都属于D。一个域可以与多个属性名对应。•保持关系R中元组一义性的属性或属性组被称为候选键。•从R的所有候选键中挑选一个作为主键。•如果某关系的一个属性(或属性组)与另外一个关系的某个候选键同域,则称之为外键.•定义1域(Domain)是一组具有相同数据类型的值的集合。例如,整数、实数、字符串、{男,女},大于0小于等于100的正整数等都可以是域。定义2给定一组域Dl,D2,…,Dn,则Dl,D2,…,Dn的笛卡尔积为:Dl×D2×…×Dn={(d1,d2,…,dn)|di∈Dj,j=1,2,…,n}其中每一个元素(d1,d2,…,dn)叫作一个元组,元素中的每一个值di叫作一个分量。定义3Dl×D2×…×Dn的子集叫做在域Dl,D2,…,Dn上的关系,用R(Dl,D2,…,Dn)来表示。这里R表示关系的名字。4.关系的性质(1)列是同质的,即每一列中的分量是同一类型的数据,来自同一个域。(2)不同的列可出自同一个域,称其中的每一列为一个属性,不同的属性要给予不同的属性名。(3)列的顺序无所谓,即列的次序可以任意交换。(4)任意两个元组不能完全相同。(5)行的顺序无所谓,即行的次序可以任意交换。(6)分量必须取原子值,即每一个分量都必须是不可分的数据项。1.3关系代数1.并关系R与关系S的并由属于R或属于S的元组组成,其结果关系仍为n目关系。记作R∪S。2.交关系R与关系S的交由既属于R又属于S的元组组成,其结果关系仍为n目关系。记作R∩S。3.差关系R与关系S的差由属于R而不属于S的所有元组组成。其结果关系仍为n目关系。记作R-S。4.广义笛卡尔积•选择•投影•连接•除一些规则•规则2.1实体完整性规则:若属性A是基本关系R的主属性,则属性A不能取空值。•规则2.2参照完整性规则:若属性(或属性组)F是关系R的外键,它与关系S的主键Ks相对应(基本关系R和S不一定是不同的关系),则对于R中每个元组在F上的值为取空值(F的每个属性值均为空值),或者等于S中某个元组的主键值。1.3.1函数依赖定义1.3令R(U)为一个关系模式,U是R的属性集合,XU和YU是U的子集。对于R(U)的任意一个可能的关系r,如果r中不存在两个元组,它们在X上的属性值相同,而在Y上的属性值不同,则称“X函数确定Y”或“Y函数依赖于X”,记作XfY(有时简化为XY)。1.3.2完全函数依赖与部分函数依赖定义1.4在关系模式R(U)中,如果XY,并且对于X的任何一个真子集X',都有X'Y,则称Y完全函数依赖于X,记作XcY。若XY,但Y不完全函数依赖于X,称Y部分函数依赖于X,记作XpY。1.3.3传递函数依赖•定义1.5在关系模式R(U)中,如果XY,YX,YZ,则称Z传递函数依赖于X。1.3.4规范化的方法•通常把某一关系模式R为第n范式简记为R∈nNF。1NF2NF3NF...1.1NF定义如果一个关系模式的所有属性都是不可分的基本数据项,则R∈1NF。任何一个关系模式都是1NF,不满足第一范式的数据库模式不能称为关系数据库。2.2NF定义若关系模式R∈lNF,并且每一个非主属性都完全函数依赖于R的键,则R∈2NF。2NF就是不允许关系模式的属性之间有这样的函数依赖X→Y,其中X是键的真子集,Y是非主属性。显然,键只包含一个属性的关系模式如果属于1NF,那么它一定属于2NF。3.3NF定义如果关系模式RU,F中不存在候选键X、属性组Y以及非主属性Z(ZY),使得X→Y,Y→Z,Y→X成立,则R∈3NF。各类关系系统按照E.F.Codd的思想,依据关系系统支持关系模型的程度不同,可以把关系系统分为四类,如图2-1所示。SIMSIMSIMSIM(a)表式系统(b)(最小)关系系统(c)关系完备系统(d)全关系系统图2-1关系系统分类1.4数据库高级接口的特征和SQL语言1.4.1数据定义CREATETABLE表名(列名数据类型[列级完整件约束条件][,列名数据类型[列级完整性约束条件]…][,表级完整性约束条件])1.4.1.1定义表CREATETABLE表名(列名数据类型[列级完整件约束条件][,列名数据类型[列级完整性约束条件]…][,表级完整性约束条件])1.4.1.2修改表•ALTERTABLE表名[ADD新列名数据类型[完整性约束条件]][DROP完整性约束名][MODIFY列名数据类型];1.4.1.3删除表•DROPTABLE表名;1.4.1.4建立索引CREATEUNIQUECLUSTERINDEX索引名ON表名(列名[次序][,列名[次序]]…);•UNIQUE表示此索引的每一个索引值只对应惟一的数据记录。•CLUSTER表示要建立的索引是聚簇索引。1.4.2数据查询•SELECT[ALL|DISTINCT]目标列表达式[,目标列表达式]…•FROM表名或视图名[,表名或视图名]…•[WHERE条件表达式]•[GROUPBY列名]•[HAVING条件表达式][ORDERBY列名[ASC|DESC]]1.4.3数据更新1.4.3.1插入数据•INSERTINTO表名[(列名1[,列名2]…)]VALUES(常量1[,常量2]…);•INSERETINTO表名[(列名1[,列名2]…)]查询子句;1.4.3.2修改数据•UPDATE表名•SET列名=表达式[,列名=表达式]…•[WHERE条件];1.4.3.3删除数据•DELETE•FROM表名•[WHERE条件];1.4.4数据控制•授权•收回权限•GRANT权限[,权限]…•[ON对象类型对象名]•TO用户[,用户]…•[WITHGRANTOPTION];•REVOKE权限[,权限]…•[ON对象类型对象名]•FROM用户[,用户]…;1.4.5嵌入宿主语言1.5数据库系统体系结构•数据库系统的多级模型•应用程序的束缚时间•系统实现的要点数据库系统的多级模型•Senko等人提出的数据独立存取模型(DIAM):1.逻辑数据结构(实体集合模型entitysetmode1)。2.逻辑存取路径(串模型stringmodel)。3.存贮结构(编码模型encodingmode1)。4.存贮器分配结构(物理设备模型physicaldevicemodel)。束缚时间1.在编写源程序时通过数据定义束缚。2.在编译时引入外部数据说明束缚。3.目标程序与预编译出的数据说明表格和子程序束缚。4.在应用程序打开数据库时束缚。5.在真正存取数据库时束缚(全解释)。束缚时间愈靠后,变化和修改的自由度愈高,当然,束缚之前的解释花费也愈大。如果单纯从经济角度来考虑,束缚时间应尽量靠前。这样一来,就需要在较早地束缚与较高的数据独立性之间尽可能寻找某种适当的途径。•束缚时间愈靠后,变化和修改的自由度愈高,当然,束缚之前的解释花费也愈大。如果单纯从经济角度来考虑,束缚时间应尽量靠前。这样一来,就需要在较早地束缚与较高的数据独立性之间尽可能寻找某种适当的途径。1.6数据库系统的基础层-存贮管理1.7存贮结构和存取路径•记录在数据页面上的映射•记录编址–TID法–分配表间接地址法–间接编址的指针法数据库系统中的存取路径结构•主键的存取路径–随机存贮结构–多叉树•存取页面次数的极小化•页内查找策略•数据记录集合的存取路径结构–数据记录集合的连接方法–存贮选择•存取路径的实现技术–辅键存取路径1.8簿记功能数据的物理一致性与逻辑一致性逻辑一致性的单位-事务1.8.3簿记成分的任务•故障分类•处理故障的原因•故障处理措施–事务逐步退出–磁盘式恢复法–磁带式恢复法•支持监视功能(audittrail)•性能测试的工具•磁盘式安全模式的实现•关于安全区间长度的注记1.9并发控制和数据‘封锁’1.9.1失控存取造成的错误•丢失修改•不一致分析•发生幻象•游标法的副作用(当前值混乱)•未释放修改造成的连锁退出1.9.2事务的封锁协议•欲存取的数据先封锁;•对事务已经占有的封锁,不得重复申请;•一个事务必须注意到其他事务所作的封锁;•每个事务分作两段:发育期和蜕缩期。发育期中申请封锁,蜕缩期解除封锁,在蜕缩期不允许申请新封锁。•事务结

1 / 64
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功