版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
分布式数据库系统的起源和发展分布式数据库系统的定义和分类分布式数据库系统的体系结构分布式数据库系统与客户机/服务器模式分布式数据库管理系统其他非集中式数据库系统分布式数据库目录系统的主要内容和逻辑结构分布式数据库系统的主要技术分布式数据库系统的主要应用分布式数据库系统的优点和存在的技术问题分布式数据库系统概述第1章1分布式数据库的起源和发展1.1分布式数据库的起源计算机平台环境的改变卫星通信蜂窝通信局域网广域网IntranetInternet信息系统应用需求地域上分散、管理集中的企业越来越多
既要求实现本地数据管理,就要求存取异地的数据
既要有各部门的局部控制和分散管理;又要有整个组织的全局控制和高层次的协同管理1分布式数据库的起源和发展1.2分布式数据库的发展分布式数据库发展阶段20世纪70年代末期——产生20世纪80年代——成长阶段20世纪90年代——商品化应用阶段21世纪——大规模应用阶段分布式数据库系统的12条规则本地自治性不依赖于中心节点可连续操作性位置独立性数据分片独立性数据复制独立性分布式查询处理分布式事务处理硬件独立性操作系统独立性网络独立性数据库管理系统独立性2分布式数据库系统的定义和分类分布式数据库的定义和特点
分布式数据库定义:物理上分散而逻辑上集中的系统,它使用计算机网络将地理位置分散而管理和控制又需要不同程度集中的多个逻辑单位(通常是集中式数据库系统)连接起来,共同组成一个统一的数据库系统。分布式数据库系统可以看成是计算机网络和数据库系统的有机结合。分布式数据库系统的特点物理分布性:数据不是存放在一个站点上逻辑整体性:是与分散式数据库系统的区别站点自治性:是与多处理机系统的区别数据分布透明性集中与自治相结合存在适当的数据冗余度事务管理的分布性2.1分布式数据库的定义和特点2分布式数据库系统的定义和分类DB1DB2DB3全局用户1局部用户1全局用户2局部用户2全局用户3局部用户3网络DDBMSDBMS1DDBMSDBMS2DDBMSDBMS3分布式数据库系统示意图2分布式数据库系统的定义和分类2.2分布式数据库的分类按局部DBMS的数据模型分类同构型DDBS同构同质型同构异质型异构型DDBS按DDBS的全局控制类型分类全局控制集中型DDBS:全局控制机制和全局数据词典位于中心站点
全局控制分散型DDBS:全局控制机制和全局数据词典分散在网络的各个站点上。
全局控制可变型DDBS:也称主从型DDBS。分成两组站点,一组包含全局控制机制和全局控制词典,另外一组不包含。3.1分布式数据库系统的体系结构3分布式数据库系统的体系结构GDBMSLDBMS全局用户局部用户网络CMLDDLDBGDD
GDB全局用户GDD
GDB局部用户GDBMSLDBMSCMLDDLDBGDBMSLDBMSCM全局用户GDD
GDB局部用户LDD
LDB分布式数据库系统的体系结构3分布式数据库系统的体系结构全局概念模式分片模式DBDBDBMS局部分布式数据库特有集中式数据库也有的映象2全局概念模式分片模式分配模式分配模式局部概念模式局部概念模式局部内模式局部内模式DB局部概念模式局部概念模式局部内模式局部内模式DB全局局全
DBMS局DBM部SDBMS集中式数据库也有3.2基于三层模式的分布式数据库系统体系结构全局全外局外模模式
式
全局全外局外模模式
式
全局外全局外模模式式映象映1象1映象3映象3映象分2布式数据库特有映象4映象43.3基于组件模式的分布式数据库系统体系结构3分布式数据库系统的体系结构4.1客户机/服务器模式的含义基于客户机/服务器模式的系统可以看作是真正意义上的分布式系统的一某些站点是客户机站点,而另一些站点是服务器站点;所有的数据都驻留在服务器站点;所有的应用都在客户机站点运行;应用请求是通过客户机请求和服务器响应的协作方式来完成的;一般不提供完全的位置透明性,即“存在接缝”。4分布式数据库系统与客户机/服务器模式4.2
集中式客户机/服务器系统4分布式数据库系统与客户机/服务器模式4.3多客户机/单服务器系统4分布式数据库系统与客户机/服务器模式4.4多客户机/多服务器系统4分布式数据库系统与客户机/服务器模式4.5
服务器-服务器系统4分布式数据库系统与客户机/服务器模式4.6对等客户机/服务器系统4分布式数据库系统与客户机/服务器模式分布式数据库管理系统的功能分布式数据库系统是在集中式数据库系统基础上发展起来的,但不是简单地把集中式数据库系统分散地实现,负责负责实现分布式数据库的建立、查询、更新、复制和维护等功能,同时还包括提供分布透明性,查询优化、协调全局事务的执行,协调各局部DBMS共同完成全局应用,保证数据库的全局一致性,执行并发控制,实现更新同步和全局恢复等功能。它除此之外,还具有自己的性质和特征。数据跟踪分布式查询处理分布式事务管理复制数据的管理安全性分布式目录管理5分布式数据库系统的管理系统5.2分布式数据库管理系统的结构5分布式数据库系统的管理系统用户查询查询分析优化算法查询处理模块调度处理模块CMLDBMSDB可靠性处理模块完整性处理模块系统
DD网络分布策略需要的数据实际的数据数据定位错误对网络的监视信息局部处理命令数据6.1
对等数据库系统P2P模型是一种新型的体系结构模型,面向大范围的多数据资源节点的松散耦合。每个对等计算机地位相同,可直接互连实现各种资源的共享,不需要依赖集中式服务器支持。典型的P2P系统主要有以下三种结构:纯粹分布式P2P系统结构、集中目录P2P系统结构以及混合式P2P系统结构P2P系统的主要特点有:每个节点均可贡献数据,系统资源具有丰富性、多样性;可直接访问数据源中的数据资源,即时得到最新鲜的数据,不同于集中的数据资源库,如数据仓库等;采用自组织原则,具有健壮性;每个节点可随时加入和退出,系统具有分散性、可扩展性;通常以Web上的资源为节点,系统部署简单,不需要复杂的框架部署实现。6
其他非集中式数据库系统6.1
对等数据库系统6
其他非集中式数据库系统(a)纯粹分布式P2P系统结构(b)集中目录分布式P2P系统结构(c)混合式分布式P2P系统结构(a)(b)(c)6.2
多数据库系统多数据库系统(Multi-Database
Systems,MDBS)是多个已存在的、自治的、异构的数据库系统的联合。参与构成多数据库系统的数据库系统称为局部或成员数据库系统(LocalDatabase
System,LDBS)。多数据库系统是在己经存在的数据库系统之上为用户提供一个统一的存取数据的环境。6
其他非集中式数据库系统6
其他非集中式数据库系统6.2
多数据库系统的逻辑结构全局用户多数据库系统局部数据库系统1局部数据
局部库系统2
用户局部用户DB1DB26
其他非集中式数据库系统6.2
多数据库系统的组件结构用户多数据库用户接口查询分析器DBMS查询分析器
DBMS查询处理器查询处理器存储管理器存储管理器恢复管理器恢复管理器全局执行监控器全局执行监控器数据库数据库7.1分布式数据库目录系统的主要内容分布式数据库的目录系统(Catalog
System)是存放与分布式数据库系统有关的对象和各种控制信息的场所。主要功能包括:7
分布式数据库目录系统的主要内容和逻辑结构全局模式描述分片模式描述分布模式描述局部名映射存取方法描述数据库的统计信息一致性错误状态信息数据表述数据命令系统描述7.2分布式数据库目录系统的主要用途分布式数据库目录系统可与分布式数据库系统协同工作,将用户对数据的高级查询转化为相应存储对象的低级操作,而且满足数据独立性要求。验证用户对数据的访问权限,保证合法用户能正确而有效地访问数据库中的数据。主要功能包括:设计应用翻译应用优化处理运行监督系统维护7
分布式数据库目录系统的主要内容和逻辑结构7.3分布式数据库目录系统的组织方式分布式数据库目录系统的组织方式通常有以下三种:独立式利用操作系统提供的文件管理功能来建立和维护目录信息,这时目录系统具有独立的数据定义、装入、查询、修改和报告生成功能。分离式利用DBMS建立和维护目录信息,但它的用户界面与功能均独立于DBMS。嵌入式DBMS与目录系统一体化,即目录系统作为DBMS的子集而存在,在分布式数据库系统中通常采用这种方法。7
分布式数据库目录系统的主要内容和逻辑结构7.3分布式数据库目录系统的组织方式分布式数据库目录系统的组织方式通常有以下三种:独立式利用操作系统提供的文件管理功能来建立和维护目录信息,这时目录系统具有独立的数据定义、装入、查询、修改和报告生成功能。分离式利用DBMS建立和维护目录信息,但它的用户界面与功能均独立于DBMS。嵌入式DBMS与目录系统一体化,即目录系统作为DBMS的子集而存在,在分布式数据库系统中通常采用这种方法。7
分布式数据库目录系统的主要内容和逻辑结构7
分布式数据库目录系统的主要内容和逻辑结构全局外模式目录全局概念模式目录局部外模式目录局部概念模式目录内模式目录局部数据库7.4分布式数据库目录系统的逻辑结构网络目录7.5分布式数据库目录系统的目录结构分布式数据库目录由目录系统进行管理。目录系统在网络操作系统和分布式数据库管理系统的支持下实现对数据目录进行自动管理,并保持其在动态变化过程中数据目录的一致性和有效性。目录系统有以下功能模块组成:目录定义:描述目录信息的逻辑结构和模式表示。目录装入:负责目录信息的装入与存储。目录查询:负责解释用户对目录信息的查询请求,处理各种查询要求。目录更新:用于更新目录信息。目录维护:用于在不破坏目录模式定义的前提下,对目录信息进行分类、归并、重构与链接。报告生成:将目录信息以文本格式输出。7
分布式数据库目录系统的主要内容和逻辑结构7.6分布式数据库目录系统的分布方式集中式目录:全局系统目录采用集中式存放方式全复制式目录:在每个站点上都存放一个完整的全局目录,但目录的更新必须传播到每一个站点。局部式目录:每个站点只为存放在本站点的数据保留一份目录(局部目录),系统的整体目录是所有这些不相交的局部目录的集合。混合式目录:混合式目录是上述三种方式的混合使用,是折中的目录分布方案,包括:集中式目录与局部式目录相混合。
全复制式目录与局部式目录相混合。7
分布式数据库目录系统的主要内容和逻辑结构8.1分布式数据库设计分布式数据库设计方法主要有两种:自顶向下方法自底向上方法前者从头开始设计分布式数据库,而后者则通过集成现有数据库来设计分布式数据库。8
分布式数据库目录系统的主要技术8.2分布式查询和优化分布式环境下影响查询效率的因素有很多除了集中式查询下的CPU和I/O代价外,数据在网络站点之间的传输、数据的冗余和分布都会对查询的效率产生很大的影响。分布式查询优化的准则是使通信费用最低和响应时间最短,即以最小的总代价、在最短的响应时间内获得需要的数据。最基本的查询优化方法是基于关系代数等价变换的查询优化方法。此外,考虑局部代价和传输代价的不同情况,还有多种查询优化方法:基于半连接算法的查询优化处理方法
基于直接连接算法的查询优化处理方法分布式INGRES算法R*算法和SDD-1算法等8
分布式数据库目录系统的主要技术8.3分布式事务管理和恢复分布式DBMS系统中的分布式事务管理程序必须即保证本地事务的ACID特性又保证分布式事务的ACID特性事务管理程序的本地事务管理程序负责保证本地事务的ACID特性,而分布式事务的ACID特性则由两阶段提交协议来保证。当发生故障时,要使得分布式数据库恢复到一个正确的、一致的状态。恢复的基本原理是数据冗余,即利用冗余存储在别处的信息和数据,部分或全部重建数据库。8
分布式数据库目录系统的主要技术8.4分布式并发控制分布式数据库中的并发控制是以集中式数据库中的并发控制技术为基础的,主要解决多个分布式事务对数据并发执行的正确性。分布式数据库系统并发控制的主要内容包括:分布式数据库系统并发控制的封锁技术分布式数据库系统中的死锁处理分布式数据库系统并发控制的时标技术
分布式数据库系统并发控制的多版本技术分布式数据库系统并发控制的乐观方法等8
分布式数据库目录系统的主要技术8.5
分布式数据库的可靠性分布式数据库的可靠性是指分布式数据库在一个给定的时间间隔内不产生任何失败的概率。它强调分布式数据库的正确性,要求分布式数据库在符合某种要求情况下正确地运行。一个可靠性高的系统要求故障少、容易修复或者修复得快。分布式数据库失败的主要原因有错误的设计、不稳定或临界的组件、不稳定的外部环境和操作者的过失等。分布式数据库的可靠性协议可以保证在分布式数据库上执行的分布式事务的原子性和持久性。8
分布式数据库目录系统的主要技术8.6
分布式数据库的安全性分布式数据库面临的安全问题主要有:单站点故障、网络故障、各类管理制度的不完善、人为攻击(黑客攻击)、内部人员泄露密码数据、程序内嵌的不安全因素等引起的安全问题等。分布式数据库的安全性的的内容主要包括:保证数据库安全的措施主要有建立安全数据模型、设定有效的访问控制机制、建立多级安全数据库、数据加密等。8
分布式数据库目录系统的主要技术移动分布式数据库系统连锁超市分布式数据库系统
火车订票分布式数据库系统GSP药品管理分布式数据库系统银行管理分布式数据库系统9
分布式数据库系统的主要应用分布式数据库系统的优点良好的可靠性和可用性提高系统效率,降低通信费用较大的灵活性和可伸缩性经济性和保护投资适应组织的分布式管理和控制数据分布具有透明性和站点具有较好的自治性10
分布式数据库系统的优点和存在的技术问题分布式数据库系统中存在的技术问题最重要的问题是通信网络速度问题如何控制数据的分片、分布与冗余度如何实现异构数据库的互联如何优化分布式数据库的查询处理如何更好地实现分布式数据库的更新处理如何实现分布式数据库的并发控制机制如何实现分布式数据库的恢复控制机制如何实现目录管理10
分布式数据库系统的优点和存在的技术问题总 结结分布式数据库系统概论分布式数据库系统的定义与分类分布式数据库系统的体系结构分布式数据库系统与客户机/服务器模式分布式数据库管理系统其他非集中数据库系统分布式数据库目录系统的主要内容和逻辑结构分布式数据库系统的主要技术分布式数据库系统的主要应用分布式数据库系统的优点和存在的技术问题数据库技术回顾计算机网络技术回顾第2章
基础知识回顾数据库(DB:DataBase)长期储存在计算机内的有组织的、可共享的相关数据的集合。数据库管理系统(DBMS:DataBaseManagementSystem)DBMS是介于用户与操作系统之间的一层数据管理软件。为用户或应用程序提供访问DB的方法,包括DB的建立、查询、更新及各种数据控制。DBMS基于某种数据模型。数据库系统(DBS:DataBaseSystem)数据库系统(DBS)通常是指带有数据库的计算机应用系统。
包括数据库、相应的硬件、软件和各类人员。数据库技术作硬件系统S软M件应用用B应 D
操程序包数据库系统软硬件层次关系数据库技术是研究数据库的结构、存储、设计、管理和使用的一门软件学科;是一门综合性较强的学科。基本概念数据库系统知识回顾11.11
数据库系统知识回顾1.2数据库系统的模式结构视图抽象——外模式概念抽象——概念模式物理抽象——内模式概念模式内模式现实世界视图抽象概念抽象物理抽象外模式视图1
视图2视图3…
数据库系统知识回顾关系数据模型(Data
Model)11.3数据结构●数据操作●完整性约束数据模型的三要素数据结构:用于描述系统的静态特性;是所研究的对象类型(Object
type)的集合,包括:数据的类型、内容和性质的对象(事物);数据之间联系的对象(联系)。数据操作(Data
Manipulation):用于描述系统的动态特性,是对数据库中的各种对象的实例(值)允许执行的操作的集合。主要有查询和更新(插入、删除、修改)两类操作。完整性约束(Integrity
Constraint):是一组完整性规则(条件)的集合。给出数据及其联系所具有的制约、依赖和存储规则,用于限定数据库的状态和状态变化,保证数据库中的数据的正确、有效、完全和相容。1.
数据库系统知识回顾实体联系模型1.4实体联系类型一对一的联系,记为1﹕1一对多的联系,记为1﹕n多对多的联系,记为m﹕n实体内部联系实体之间的联系同一实体型的实体之间的联系不同实体型的实体之间的联系1.
数据库系统知识回顾1.5SQL语言SQL是结构化查询语言(Structured
Query
Language)的英文缩写,它起源于IBM公司San
Jose研究中心为其关系数据库管理系统System
R开发的一种查询语言——SQUARE语言。
SQL语言之所以成为国际标准,被广大用户接收和使用,是因为它是一个综合的、功能强大的、简单易学的语言。它主要有以下几个特点:综合统一高度非过程化面向集合的操作方式灵活的使用方式语言简洁,易学易用,功能强大1.
数据库系统知识回顾1.5.1SQL语言基本组成数据定义语言操作对象操作方式SQL语句模式创建CREATE
SCHEMA<模式名>AUTHORIZATION<用户名>;删除DROP
SCHEMA<模式名>[CASCADE|RESTRICT];基本创建CREATE
TABLE<表名>(<列名><数据类型>[<列级完整性约束条件>][,<列名><数据类型>[列级完整性约束条件]]…[,<表级完整性约束条件>]);表删除DROP
TABLE<表名>[CASCADE|RESTRICT];修改ALTER
TABLE<表名>[ADD
COLUMN<新列名><数据类型>[完整性约束]][MODIFY
COLUMN<列名><数据类型>][DROP
COLUMN<列名>[CASCADE|RESTRICT]];视图创建CREATE
VIEW<视图名>[(<列名>[,<列名>]…)]AS<子查询>[WITH
CHECK
OPTION];删除DROP
VIEW<视图名>[CASCADE];索引创建CREATE
[UNIQUE][CLUSTER]INDEX<索引名>ON<表名>(<列名>[<次序>][,<列名>[<次序>]]…);1.
数据库系统知识回顾1.5.1SQL语言基本组成数据定义语言(续)域创建CREATE
DOMAIN<域名>AS<数据类型>[DEFAULT<默认值>][CHECK<约束条件>];删除DROP
DOMAIN<域名>;存储过程创建CREATE
PROCEDURE<存储过程名>[<参数1><数据类型>[,<参数2><数据类型>[,...]]AS
SQL语句;修改ALTER
PROCEDURE<>[<参数1><数据类型>[,<参数2><数据类型>[,...]]AS
SQL语句;删除DROP
PROCEDURE<存储过程名>;触发器创建CREATE
TRIGGER
[owner.]<触发器名>ON
[owner.]表名[WITH
ENCRYPTION]{FOR|AFTER|INSTEADOF}{INSERT|UPDATE|DELETE}
AS[IF
UPDATE(列名)][{AND|OR}UPDATE(列名)]SQL语句;修改ALTER
TRIGGER
[owner.]<触发器名>ON
[owner.]表名[WITH
ENCRYPTION]{FOR|AFTER|INSTEADOF}{INSERT|UPDATE|DELETE}
AS[IF
UPDATE(列名)][{AND|OR}UPDATE(列名)]SQL语句;1.
数据库系统知识回顾SQL语言基本组成1.5.22.
数据操作语言操作对象操作方式SQL语句基本表查询SELECT
[ALL|DISTINCT]<目标列表达式>[,<目标列表达式>]…FROM<表名>[,<表名>]…[WHERE<条件表达式>][GROUP
BY<列名1>[HAVING<条件表达式>]][ORDER
BY<列名2>[ASC|DESC]];插入INSERT
INTO<表名>[(<属性列1>[,<属性列2>…)]VALUES(<常量1>[,<常量2>]…);更新UPDATE<表名>SET<列名>=<表达式>[,<列名>=<表达式>]…[WHERE<条件>];删除DELETE
FROM<表名>[WHERE<条件>];1.
数据库系统知识回顾SQL语言基本组成1.5.22.
数据操作语言(续)视图查询SELECT
[ALL|DISTINCT]<目标列表达式>[,<目标列表达式>]…FROM<视图名>[,<视图名>]…[WHERE<条件表达式>][GROUP
BY<列名1>[HAVING<条件表达式>]][ORDER
BY<列名2>[ASC|DESC]];插入INSERT
INTO<视图名>[(<属性列1>[,<属性列2>…)]VALUES(<常量1>[,<常量2>]…);更新UPDATE<视图名>SET<列名>=<表达式>[,<列名>=<表达式>]…[WHERE<条件>];删除DELETE
FROM<视图名>[WHERE<条件>];1.
数据库系统知识回顾SQL语言基本组成1.5.23.
数据控制语言操作对象操作方式SQL语句权限授权GRANT<权限>[,<权限>]...[ON<对象类型><对象名>]TO<用户>[,<用户>]...[WITH
OPTION];收权REVOKE<权限>[,<权限>]...[ON<对象类型><对象名>]FROM<用户>[,<用户>]...;1.
数据库系统知识回顾关系代数与关系数据库的查询优化1.6.11.
关系代数语言是非过程化的语言,即:存取数据不必给出路径,存取多个记录不必借助于循环或递归来实现。2.
关系代数操作符主要有传统的集合操作符、专门的关系操作符、比较操作符和逻辑操作符四大类,如下图所示传统的集合操作符:专门的关系操作符:,,,,,,,,,比较操作符:逻辑操作符:
,,,,,,,a
b
cc
b
db
g
ad
a
fd
a
fR∩Sc
b
da
b
c关系代数传统的集合运算R并运算差运算交运算广义笛卡尔积R∪SR-SABCSDEFabcbgadafdafcbdR
x
SABC
DEFabc
bgaabc
dafdaf
bgadaf
dafcbd
bgacbd
daf1数据库系统知识回顾在关系R中选择满足给定条件的元组,记做:σF
(R)={r
|
r∈R
Λ
F(r)=‘真’}F是一个公式,表示形式为由逻辑运算符(∧,∨,)连接各算术表达式组成。算术表达式的基本形式为:XθY.θ
={>,≥,<,≤,=,≠}.X,Y是属性名或常量或简单函数。选择运算是从关系中选取使公式为真的元组。这是从行的角度进行的运算。例1求计算机科学系CS的学生σ
SD=‘CS’
(S)学号
学生姓名
所属系名学生年龄S#
SN
SD
SA(a)(S)S1ACS20S1ACS20S2BCS21S2BCS21S3CMA19S6FCS22S4DCI19S5EMA20S6FCS22σ
SD=‘CS’
(S)(S’)S#
SN
SD
SA1.选择运算πSN,SD
(S)学号学生姓名所属系名学生年龄S4S5S6DEFCIMACS192022(a)(S)CIMACS关系R上的投影是从R中选择若干•属投性影组运A组算成新的关系。记做:πA
(R)
={
r[A]
|
r
∈R}投影之后不仅取消了某些列,还可能取消某些元组。
这是从列的角度进行的运算。例2
πSN,SD
(S)
即求得学生关系S在学生姓名和所在系这两个属性上的投影结果。πSA
(S)S#SNSDSASNSDSAS1ACS20ACS20S2BCS21BCS21S3CMA19CMA19连接运算是从两个关系的笛卡尔积中选取属性间满足一定条件的元组。记做:
R S.
其中,F是条件表达式,连它接涉运及算到对两个关系中的属性的比较。∞F如果F仅仅是一个相等条件,即等值连接。b3
2b5
2b3
10b2
7B
Eb1
3例3设关系R、S如下图:SA
B
Ca1
b1
5a1
b2
6a2
b3
8a2
b4
12RR
∞SC<EAR.BCS.BEa1b15b27a1b15b310a1b26b27a1b26b310a2b38b310R
∞SA
B
C
Ea1
b1
5
3a1
b2
6
7a2
b3
8
10a2
b3
8
211.6.3
关系数据库的查询优化数据库系统知识回顾最优策略:查询代价最小,考虑三个方面查询优化策略一般策略:只考虑查询策略存储介质存储技术查询策略11.7关系数据库的设计理论数据库系统知识回顾关系数据库设计理论主要包括数据依赖、模式分解和规范化理论三个方面。三者之间的关系是:以数据依赖为核心,指导/评价模式设计,包括消除更新、删除和插入异常,并根据实际需求的需要,保持合理的冗余。数据依赖:对属性之间值的相关性约束函数依赖多值依赖连接依赖模式分解:模式分解的样式是多种多样的,但是要遵循等价原则等价性的含义有三种不同的定义分解具有无损连接性分解要保持函数依赖分解既要保持函数依赖,又要具有无损连接性11.7关系数据库的设计理论数据库系统知识回顾规范化(Normalization)过程是指通过对关系模式进行一系列的检验,以“验证”一个关系模式是否满足某些特定的范式(Normalization
Form,NF)。这个过程按照各范式的相应标准对每个关系模式进行评估,并根据需要分解原有的关系模式。规范化过程被认为是基于分析的关系设计。1NF2NF3NFBCNF4NF消除非主属性对键的部分函数依赖消除非主属性对键的传递函数依赖消除主属性对键的部分和传递函数依赖消除非平凡且非函数依赖关系模式的每一个属性都是不可分解的每个非键属性都完全函数依赖于主键没有一个非键属性是传递函数依赖于主键没有一个键属性是部分函数依赖或传递函数依赖于主键没有非平凡且非函数依赖的多值依赖规范化过程数据库系统知识回顾数据库建设是硬件、软件和干件(技术与管理的界面称为干件)的结合。“三分技术,七分管理,十二分基础数据”是数据库建设的基本规律结构(数据)设计应该和行为(处理)设计密切结合,也就是说,整个设计过程中要把数据库结构设计和对数据的处理设计(应用系统功能设计)密切结合起来。1数据库设计应用系统设计现实世界数据分析概念模型设计逻辑数据库设计物理数据库设计子模式设计建立数据功能分析功能模型功能说明事务设计程序说明应用程序设计程序编码调试结构和行为分离的设计1.8
数据库设计11.8.1
数据库设计方法数据库系统知识回顾手工试凑法手工与经验相结合的方法。设计的质量往往与设计人员的经验与水平有直接关系。该方法缺乏科学理论和工程方法的支持,工程的质量难以保证。数据库运行一段时间后通常会发现各种问题,增加了维护代
价。规范设计法规范设计法有以下4种典型方法:新奥尔良法:将数据库设计分成若干阶段和步骤,并采用一些辅助手段实现每一过程。基于E-R模型的数据库设计方法:该方法用E-R模型来设计数据库的概念模型,是数据库概念设计阶段广泛采用的方法。3)3NF设计方法:以关系数据理论为指导来设计数据库的逻辑模型。4)ODL(Object
Definition
Language)方法:该方法是面向对象的数据库设计方法。该方法用面向对象的概念和术语来定义数据库结构。11.8.2
数据库设计步骤数据库系统知识回顾数据库系统知识回顾11.8.3
数据库建模工具工具名称所属公司简要介绍PowerDesignerSybasePowerDesigner是Sybase公司开发的CASE工具集,它几乎包括了数据库模型设计的全过程,可用来制作数据流程图、概念数据模型、物理数据模型等,其中支持数据建模的模块是DataArchitect。截止到2011年6月,
PowerDesigner的版本为15.3。ERWinComputerAssociatesERWin是Computer
Associates公司开发的数据建模工具,全称是AllFuusinERwin
Data
Modeler。通过它构建的数据模型支持各种主流的数据库管理系
统。截止到2011年6月,ERWin的版本为8.0。ER/StudioEmbarcaderoER/Studio是Embarcadero
Technologies公司为企业提供的专业级的数据库工具,用于设计、开发、管理数据库以及其中的数据,是一套模型驱动的数据结构管理和数据库设计产品。截止到2011年6月,ER/Studio的版本为9.0。VisioMicrosoftVisio是Microsoft公司提供的画图和建模工具,可以通过其中的框图模板构建ER图,也可以用其中的数据库模型模板构建数据模型。Visio的数据库建模功能相对较弱。截止到2011年6月,Visio的版本为2010。RationalIBMIBM公司提供的一种面向对象的UML可视化建模工具,主要用于可视化建模和公司级软件应用的组件构造,在后续的版本中加入了数据建模工具
Rose
Data
Modeler。截止到2011年6月,Rational
Rose的版本为7.0。11.9.1
数据库管理系统数据库系统知识回顾DBMS的基本功能序号主要功能功能描述1数据库的定义和创建在关系数据库中主要是建立数据库(或Schema)、表、视图、索引等。另外还有创建用户、安全保密定义(如用户口
令、级别、角色、存取权限)、数据库的完整性定义。这些定义存储在数据字典中,是DBMS运行的基本依据。2数据组织、存储和管理DBMS要分类组织、存储和管理各种数据,包括数据字典、用户数据、存取路径等。要确定以何种文件结构和存取方式在存储器上组织这些数据,如何实现数据之间的联系。3数据操作提供用户对数据的操作功能,实现对数据库数据的检索、插入、修改和删除。4数据库事务管理和运行管理包括多用户环境下的事务管理功能和安全性、完整性控制功能。包括数据库恢复、并发控制和死锁检测(或死锁防止)、安全性检查和存取控制、完整性检查和执行、运行日志的组织管理等。5数据库的建立和维护包括数据库的初始建立、数据的转换、数据库的转储和恢复、数据库的重组织和重构造以及性能检测分析等功能。6其他功能包括DBMS与网络中其他软件系统的通信功能,一个DBMS与另一个DBMS或文件系统的数据转换功能,异构数据库之间数据库系统知识回顾11.9.2
数据库管理系统DBMS的数据库访问过程数据库系统知识回顾11.9.2
数据库管理系统DBMS产品的发展过程阶段时间成果第一阶段:理论研究和原型开发阶段20世纪70年代初期奠定了关系数据模型的理论基础,给出了关系数据模型的规范说明;研究开发了关系数据库语言;研制了大量的关系DBMS原型,如System
R、Ingres等。第二阶段:实用阶段20世纪70年代后期从理论上攻克了关系DBMS的一系列关键技术问题,如查询优化、并发控制、完整性机制等,从而使数据库走向实用化和商业化;开发了大量商业关系DBMS产品,主要有Oracle、DB2
等,不仅丰富了数据库理论和实现技术,更重要的是促进了关系DBMS产品的发展。第三阶段成熟和发展阶段20世纪80年代开始随着微机性价比的提高和网络技术的实用化,使数据库系统的运行环境由单机、集中式环境转到网络、分布式环境;使数据库的应用由简单数据处理到联机事务处理,再到联机分析处理。基于客户机/服务器结构的关系DBMS的使用,使数据
库技术广泛地应用到各行各业、各个领域,成为实现和优化信息系统的基本技术。数据库系统知识回顾11.9.2
数据库管理系统典型的数据库管理系统数据库管理系统简介OracleOracle公司研制的一种关系型数据库管理系统,是一个协调服务器和用于支持任务决定型应用程序的开放型
DBMS。它可以支持多种不同的硬件和操作系统平台,从台式机到大型机和超级计算机,为各种硬件结构提供高度的可伸缩性,支持对称多处理器、群集多处理器、大规模处理器等,并提供广泛的国际语言支持。Oracle是一个多用户系统,能自动从批处理或在线环境的系统故障中恢复运行。Oracle属于大型数据库系统,主要适用于大、中型应用系统,或作为客户机/服务器系统中服务器端的数据库管理系统。截止到2011年6月,Oracle的版本为。DB2IBM公司研制的一种关系型数据库管理系统。DB2主要应用于大型应用系统,具有较好的可伸缩性,可支持从大型机到单用户环境,应用于OS/2、Windows等平台。DB2提供了高层次的数据利用性、完整性、安全性、可恢复性,以及小规模到大规模应用程序的执行能力,具有与平台无关的基本功能和SQL命令。它以拥有一个非常完备的查询优化器而著称,其外部连接改善了查询性能,并支持多任务并行查询。DB2具有很好的网络支持能力,每个子系统可以连接十几万个分布式用户,可同时激活上千个活动线程,对大型分布式应用系统尤为适用。截止到2011年6月,DB2的版本为9.7。SQL
ServerMicrosoft公司研制的一种关系型数据库管理系统。SQL
Server是一个可扩展的、高性能的、为分布式客户机/服务器计算所设计的数据库管理系统,实现了与Windows
NT的有机结合,提供了基于事务的企业级信息管理系统方案。其主要特点有:(1)高性能,可充分利用Windows的优势;(2)系统管理先进,支持Windows图形化管理工
具,支持本地和远程的系统管理和配置;(3)强壮的事务处理功能,采用各种方法保证数据的完整性;(4)支持对称多处理器结构、存储过程、ODBC,并具有自主的SQL语言。截止到2011年6月,SQL
Server的版本为2008。Sybase
Adaptive
ServerEnterprise
(Sybase
ASE)Sybase公司研制的一种关系型数据库管理系统,现已被SAP公司收购。Sybase是一种典型的UNIX或Windows平
台上客户机/服务器环境下的大型数据库管理系统。Sybase提供了一套应用程序编程接口和库,可以与非Sybase数据源及服务器集成,允许在多个数据库之间复制数据,适于创建多层应用。系统具有完备的触发器、存储过程、规则以及完整性定义,支持优化查询,具有较好的数据安全性。截止到2011年6月,Sybase
ASE的版本为15.5。MySQLMySQL是一个开源的小型关系型数据库管理系统,开发者为瑞典MySQL
AB公司。在2008年1月被Sun公司收
购,而2009年,SUN公司又被Oracle公司收购。目前,MySQL被广泛地应用在中小型网站中。由于其体积小、速度快、成本低,尤其是开放源码这一特点,受到广大用户的欢迎。但是,与其他大型商业数据库,例如Oracle、DB2、SQL
Server等相比,MySQL有它的不足之处,如规模小、功能有限等,但是这丝毫也没有减少它受欢迎的程度。目
前Internet上流行的网站构架方式LAMP(Linux+Apache+MySQL+PHP),即使用Linux作为操作系统,Apache作为Web服务器,MySQL作为数据库,PHP作为服务器端脚本解释器,非常流行。截止到2011年6月,MySQL的版本为。11.10
数据库的安全性及其实现方法数据库系统知识回顾数据库的安全性是指数据库具有防范不合法的访问所造成对数据库数据的泄露、更改或破坏的能力,并能对数据库变化作跟踪记录,以防止否认对数据库的安全责任。数据库安全性包括:物理安全性,包括自然灾害、偷盗、物理环境破坏等。逻辑安全性,这里主要指政府规定的政策法规、管理制度等。技术安全性,这里主要指在计算机系统中采用一定安全性的网络硬件、通信设备、DBMS和操作系统来实现对计算机系统及其存储数据的安全保护11.10.1
数据库安全的评估标准数据库系统知识回顾安全等级主要特征1D最低保护等级D最小安全保护2C自主保护等级C1自主安全保护自主存取控制,审计功能C2可控存取保护比C1级更强的自主存取控制,审计功能3B强制保护等级B1标记安全保护强制存取控制,敏感度标记B2结构化保护形式化模型,隐蔽通道约束B3安全域保护安全内核,高抗渗透能力4A验证保护等级A1可验证保护形式化安全验证,隐蔽通道分析11.10.2
数据库安全的特点数据库系统知识回顾身份认证:系统提供一定的方式让用户表示自己的名字或身份,主要使用用户名或口令的方式,这种方式简单易行,但容易被人窃取。基于角色的管理:对不同用户设定不同的身份,不同身份的用户在使用数据库时会根据身份的不同而有不同的使用权限。自主存取控制方法:同一用户对不同的数据对象有不同的存取权限,不同的用户对同一对象也有不同的权限。另外,用户还可将其拥有的存取权限转授给其他用户。通常使用GRANT/REVOKE语句来建立数据库用户对数据库对象的访问权限。
4)审计:启用一个专用的审计日志可以将用户对数据库的所有操作记录在上面,
DBA可以利用审计日志中的追踪信息找出非法存取数据的人,另外,C2以上安全级别的DBMS必须具有审计功能。5)使用视图、存储过程和触发器等数据库对象。11.10.3
数据库完整性数据库系统知识回顾数据库的完整性是指数据的正确性和相容性实体完整性参照完整性用户定义的完整性数据库完整性实现方法声明完整性创建其他数据库对象,如UNIQUE
INDEX、DEFAULT、RULE和TRIGGER等创建表与其他数据库对象的联系。11.10.4
数据库一致性数据库系统知识回顾数据库一致性是指数据库中的任何数据在同一时刻,不同用户对同一数据的读出值是相同的。保证数据库一致性是指当事务完成时,必须使所有数据都具有一致性状态。数据库完整性实现方法:DBMS在实现数据库一致性时通常采用一致性访问控制机制(事务管理)以及语义约束(完整性)来联合保证。事务管理主要包括两方面的内容:事务控制:对数据库操作/恢复的工作以原子单位执行。并发控制:使有冲突的操作能正确执行,如加锁技术。11.10.5
数据库可恢复性数据库系统知识回顾数据库可恢复性是指当数据库遇到任何一种故障时,具有恢复数据库完整性和一致性的能力。实现方法:使用数据库的备份和恢复使用事务日志使用磁盘镜像2计算机网络知识回顾2.1基本概念计算机网络:定义为相互联接、彼此独立的计算机系统的集合。相互联接指两台或多台计算机通过信道互连,从而可进行通信;彼此独立则强调在网络中,计算机之间不存在明显的主从关系,即网络中的计算机不具备控制其他计算机的能力,每台计算机都具有独立的操作系统。计算机网络的组成:通信子网和资源子网计算机网络的功能:数据通信传输文件使用电子邮件(E-mail)
2.资源共享共享硬件资源共享软件资源共享数据资源。提高计算机系统的可靠性和可用性易于进行分布处理2计算机网络知识回顾2.2计算机网络分类一、按地理范围分类局域网(Local
Area
Network)特点:(1)采用的传输介质类型相对较少。数据传输速率快。传输延迟小,且误码率较低。组网比较灵活、方便、成本较低。城域网(Metropolitan
Area
Network一般不超过几十公里) 特点:(1)采用的传输介质相对要复杂。数据传输速率次于局域网。数据传输距离相对局域网要长,信号容易受到干扰。组网比较复杂,成本较高。广域网(Wide
Area
Network,最常见的就是Internet)特点:(1)传输介质复杂数据传输速率较低采用的技术比较复杂是一个公共的网络,即不属于一个机构或国家。2.2计算机网络分类2计算机网络知识回顾线形式来传输数据的网络,即网络中的节点之间没有线缆的连接。优点:高移动性;保密性强;抗干扰性好;(4)架设与维护容易;二.按通信介质分1.有线网络:网络中的通信介质全部为有线介质的网络,常见的介质有同轴电缆、双绞线、光缆、电话线等。其特点是:技术成熟;产品较多;实施方便;成本较低;受气候环境的影响较小。缺点:2.无线网络:采用无线电(波1)、技卫术星发、展微较波慢、;红外线、激光等无费用较高;易受环境因素的影响;安装实施要求的技术高。三.其他分类方法按使用网络的对象来分公用网络,是为全社会所有的人提供服务的网络。专用网络,只为拥有者提供服务,一般不向本系统以外的人提供服务。按网络的连接方式来分全连通型网络全连通型网络是指所有节点之间的相互通信均可通过相邻的节点实现,可靠性最好。交换型网络交换型网络两个端节点之间可以通过中间节点(即转接节点)实现连接。广播型网络。按照通信子网的交换方式按照通信子网的交换方式不同,网络可分为公用电路交换网、报文交换网、分组交换网、ATM交换网等。2.2计算机网络分类2计算机网络知识回顾2计算机网络知识回顾2.3计算机网络拓扑结构1.星型结构星型拓扑结构即任何两节点之间的通信都要通过中心节点进行转发,中心节点通常是集线器。特点:(1)结构简单、便于集中控制和管理
(2)网络易于扩展(3)故障检测和隔离方便
(4)延迟时间小(5)传输误码率低⑹中心节点负担重⑺网络脆弱总线型结构总线型网络是将若干个节点平等地连接到一条高速公用总线上的网络。特点:结构简单灵活,便于扩充。可靠性高网络节点响应速度快易于布线,成本较低。实时性差⑹物理安全性差⑺故障诊断困难2.3计算机网络拓扑结构2计算机网络知识回顾3环型结构环型结构的网络指网络中的每个节点均与下一个节点连接,最后一个节点与第一个节点连接,构成一个闭合的环路特点:网络结构简单路径选择的控制得到简化扩充不方便环上节点过多时,传输效率严重下降。当环中某一节点出现故障时整个网络将瘫痪,查找2.3计算机网络拓扑结构2计算机网络知识回顾树型结构树形结构是由星型结构演变而来的。其实质是星型结构的层次堆叠特点:扩展方便。故障隔离容易。高层节点性能要求高。2.3计算机网络拓扑结构2计算机网络知识回顾2.3计算机网络拓扑结构5.网状结构网状结构是由星型、总线型、环型演变而来的,是前三种基本拓扑混合应用的结果。2计算机网络知识回顾2.4网络协议协议是用来描述进程之间信息交换数据时的规则术语网络协议至少包括三个要素语法:用来规定信息格式,包括数据及控制信息的格式、编码及信号电平等。语义:用来说明通信双方应该怎么做,需要发出何种控制信息,以及完成的动作与做出的响应。同步:规定通信事件发生的顺序并详细说明。2计算机网络知识回顾2.4网络协议OSI网络模型2计算机网络知识回顾7应用层6表示层5会话层4运输层3网络层2数据链路层1物理层应用层:应用层是体系结构中的最高层表示层:应用程序和网络之间的翻译官会话层:负责在网络中的两节点之间建立、维持和终止通信。运输层:运输层的任务就是负责向两个主机进程之间的通信提供服务。网络层:网络层负责为分组交换网上的不同主机提供通信服务。数据链路层:在两个相邻节点传送数据时,数据链路层将网络层传递下来的IP数据报组装成帧(Frame),在两个相邻节点的链路上“透明”地传送帧中的数据。物理层:在物理层上所传送数据的单位是比特(Bit)。2.5
InternetInternet是由那些使用公共语言相互通信的计算机连接而成的全球网络,中文正式译名为因特网。Internet起源于美国,现已发展成为世界上最大的国际性计算机网络。Internet的起源和发展第一个阶段是从单个网络ARPANet向互联网发展的过程。第二阶段是建成了三级结构的Internet。第三阶段是逐渐形成了多层次ISP结构的Internet2计算机网络知识回顾2计算机网络知识回顾应用层表示层会话层传输层网络层数据链路层物理层传输层(主机和主机间的通信)应用层应用层
Internet层网络层2.5Internet基本原理1.TCP/IP协议:TCP/IP(Transmission
Control
Protocol/Internet
Protocol)协议是Internet使用的事实标准协议2计算机网络知识回顾2.5Internet基本原理2.IP地址和域名系统TCP/IP协议规定了Internet上的每一台计算机主机都必须有唯一的“地址”,以保证Internet上所有的计算机和网络能够互相传送信息而不被混淆。TCP/IP规定,IP地址一般用32位的二进制表示为便于使用和管理,Internet建立了域名管理系统(Domain
NameSystem,DNS),即用一组英文字符串来替代难以记忆的数字,称为域名(Domain
Name)2计算机网络知识回顾2.5Internet基本原理3.基于Internet的主要应用新闻门户电子商务搜索引擎即时通讯社会网络系统网上银行总
结数据库技术回顾计算机网络回顾分布式数据库系统设计的目标分布式数据库系统设计的内容分布式数据库的设计方法数据分片设计数据分布设计DATAID-D方法分布式数据库系统中数据的独立性与分布透明性实例研究:飞机订票系统分布式数据库系统设计第3章1分布式数据库设计目标DDBS设计目标控制数据适当冗余尽量减少通信次数和通信量,90/10准则本地性或近地性分片和分布方案(本地和远程访问次数)择优冗余增加了可靠性、可用性,提高了效率维护数据一致性开销增加各站点可以分担整个工作任务工作负荷分布本地性降低存储能力和费用2分布式数据库设计内容DDBS设计应用设计相关应用需求各个应用在每个站点的激活频率各个应用对要求访问数据对象的访问次数、类型和统计分布全局模式设计分片和分布局部数据库设计DDB设计各个应用的原发站点3.1
DDBS设计方法3分布式数据库设计方法DDBS设计方法自顶向下方法(重构法)混合方法自底向上方法(组合法)3分布式数据库设计方法DDBS设计方法3.1组合法
剖析网络功能剖析原有数据库系统解决数据的一致性、完整性和可靠性难度较大通常是异构或者同构异质DDBS用户1用户2用户n分布式协调管理系统DBMS1DBMS2DBMSm网络3分布式数据库设计方法DDBS设计方法3.1重构法
根据实现环境和用户需求
按照DDBS的设计思想和方法
从总体设计做起,包括
LDBS,重新建立一个DDBS
可有效解决数据一致性、完整性和可靠性问题。通常是同构异质或同构同质DDBS用户1用户2用户n分布式数据库管理系统网络3.2自顶向下设计DDB步骤和内容3
分布式数据库设计方法需求分析概念设计视图设计分布设计观察与监视系统需求全局概念模式访问模式外部模式定义局部概念模式物理设计物理模式用户输入视图集成用户输入反馈反馈自顶向下设计过程分布式数据库设计方法自底向上设计方法自底向上设计方法要解决的问题将现有的各种不同的数据库模式集成为全局模式.三个问题选择公用数据库模型来描述数据库的全局模式把每个站点上的本地模式翻译成公用数据模型把各站点上的本地数据模式集成为一公用的全局模式3
分布式数据库设计方法3.3自底向上设计方法构造全局模式问题和解决方法自底向上方法主要问题是构造一个全局模式(超视图).把各站点上的数据库模式看成是全局模式的一个视图这个问题就可看作是视图综合问题概括分层结构支持视图综合经典方法就是生成三个实体:一个具有共同属性(超类型),两个具有不相交属性(子类型)视图综合次序一次把一个视图和全局模式进行综合,逐步构造起全局视图通常,最好首先综合最大的或最重要的视图,然后班机日期可用座位座位图延期班机机号日期可用座位机型座位图班机班机1班机2机号日期可用座位座位图出入口延期机型3.3自底向上设计方法机号
出入口3
分布式数据库设计方法3.3自底向上设计方法3
分布式数据库设计方法识别相似性模式命名相似性模式结构相似性不同Site上有相似应用,使用各自DB的数据副本,则这两Site之间有某些相似点.识别冲突命名冲突:同物异名(EMP,EMPLOYEE),异物同名域差异定标差异:计量单位不同(天、小时、分钟、秒)结构差异:同一对象有的用实体描述,有的用属性描述.处理操作期间不一致的数据策略(5种,p64-4
数据分片设计分片设计的基本目的在自顶向下的数据分布设计中,必须要解决的第一个问题是数据的分片设计。在数据分片设计时,是从分配的观点来看,根据具有“相同性质”的元组(在水平分片的情况下)或属性(在垂直分片的情况下)进行分组,使具有“相同性质(例如访问频率相同)”的元组或属性划分在一个组中,每组就构成一个片段分片设计的基本目的是产生一个对全局数据合适的划分方案,将使用这种方案得到的数据片段作为分布式数据库中数据的分配和存储单位时,不但能够减少应用中的操作量,而且对于应用具有最大可能的本地性但是,不是所有的全局数据都必须进行分片,应考虑到有可能一个全局关系根本不需要分片。假若有全局关系R被分片为子关系(片段)集合R={R1,R2,…,Rn},则R满足完整性?x
R,
Ri
R
必有
x
Ri
,i=1,2,…,n–
可重构性存在函数g使得R=g(R1,R2,…,Rn)即,R=∪Ri
(水平分片),R=∞Ri
(垂直分片)–不相交性Ri
∩Rj
=空集,i≠j,i,j=1,2,…,n(水平分片)Ri
∩Rj
=主键属性,i,j=1,2,…,n(垂直分片)4
数据分片设计分片原则–4.3数据分片的基本类型和方法分片方法1.•水平分片2.垂直分片查询:Qa:
select
*from
Ewhere
loc=SaQb:
select
*from
Ewhereloc=Sband
...and…两个站点:Sa,
SbQaQbSaSb4
数据分片设计4.3数据分片的基本类型和方法举例职工关系E
(e#,name,loc,sal,…)5e#JoeNMSaLoc
Sal10007ESallySb25008TomSa500e#
NMLoc
Sale#
NM
Loc
Sal......5JoeSa10007SallySb
25008TomSa500..F站点Sa站点Sb4
数据分片设计4.3数据分片的基本类型和方法举例loc=SaR1
=
(E)R2
=loc=Sb(E)数据分片设计数据的分片设计基本水平分片基本水平分片以关系自身的属性性质为基础,执行“选择”操作,将关系分割成若干个不相交的片段。R
=
{
R1,
R2
}R
使得t–
完整性
对于每一个元组t
R,
RiRi–不相交性对t
Ri,
Rj
使得
t
Rj,
i
j–可重构性操作是∪(可以忽略,因为完整性就蕴含着)R
=
∪{R1,
R2,
…,
Rn}P={p1,p2,…,pn}是一简单谓词集合,为保证分片的正确性,P必须是:完整的:同一分片中的任意两个元组被应用同样概率访问。最小的:集合P中的所有谓词与应用密切相关。具有完整性和最小性不是必要条件,但是对于简化数据分片设计数据的分片设计基本水平分片若R={R1,R2,…,Rn},则4
数据分片设计4.4数据的分片设计基本水平分片例子EMP
(
E#,
NAME,
DEPT,
JOB,
SAL,
TEL,
…)DEPT={1,2}
JOB={‘P’,
‘-P’}假定,应用经常查询的内容是属于部门1且是程序员的职员。则可能有的水平分段限定P={DEPT=1}(不是完整的)P={DEPT=1,JOB=‘P’}(是完整的、最小的)P={DEPT=1,JOB=‘P’,SAL>500}(完整的,不是最小的)loc=‘Sa’
E
;
R2
=“手工”检查!e.g.,
R1
=loc=‘Sb’
E生成具有满足分段原则的限定谓词4
数据分片设计4.4数据的分片设计如何保证分片原则基本水平分片4
数据分片设计4.4数据的分片设计谓词生成举例设有关系E
(e#,name,Loc,sal,A,…),
查询使用的简单谓词(Ai
Value)是:A<10,
A>5,
Loc
=
Sa,
Loc
=
Sb下一步: -
生成“小项”
谓词-消除无用谓词给定简单谓词集Pr={p1,p2,..pn
},则“小项”谓词(minterm
predicate)形式:p1*
p2*
…
pn*这里pk*是pk
或是¬pk(1)
A<10Loc=SBA>5Loc=SA(2)
A<10(Loc=SB)A>5Loc=SA¬(3)
A<10Loc=SBA>5¬(Loc=SA)(4)
A<10(Loc=SB)A>5¬(Loc=SA)¬(5)
A<10Loc=SB¬(A>5)Loc=SA(6)
A<10¬(A>5)Loc=SA¬4
数据分片设计4.4数据的分片设计小项谓词选择(9)
¬(A<10)Loc=SBA>5Loc=SA(10)
¬(A<10)(Loc=SB)A>5Loc=SA¬(11)
¬(A<10)Loc=SBA>5¬(Loc=SA)(12)
¬(A<10)(Loc=SB)A>5¬(Loc=SA)¬(13)
¬(A<10)Loc=SB¬(A>5)Loc=SA(14)
¬(A<10)¬(A>5)Loc=SA¬4
数据分片设计4.4数据的分片设计小项谓词选择R2:R3:5
<
A
<
105
<
A
<
10Loc=SALoc=SBR6:A5Loc=SAR7:A5Loc=SBR10:A10Loc=SAR11:A10Loc=SB4.4数据的分片设计分片结果4
数据分片设计注:无用段的消除依赖于应用的语义e.g.:如果LOC可以是段集合应该加上R4:5
<A
<10SA,
SB,则最终分Loc
SA
LocSBR8:LocASB5LocSAR12:A10LocSALocSB4
数据分片设计4.4数据的分片设计数据分片设计数据的分片设计分片数量信息小项选择率(minterm
selectivity)
对某一给定小项谓词用户查询可能选择到的元组数访问频率(Access
frequency)用户应用访问数据的频率–小项访问频率可以通过用户查询频率获得Qb:
select
*from
Ewhere例子E(#,
NM,
LOC,
SAL,…)有查询应用Qa:select
*from
E
where
LOC=SaLOC=Sband
…and
...4
数据分片设计4.4数据的分片设计如何选择小项谓词举例R2={loc=Sa
E,
loc=Sb
E
}(3)
Pr
=
{LOC=Sa,
LOC=Sb,
Sal<1000}R
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年朔州职业技术学院单招职业倾向性测试题库带答案详解
- 2026年山西省朔州市单招职业倾向性测试题库及答案详解一套
- 2026年通化医药健康职业学院单招职业技能测试题库带答案详解
- 西城社工面试题目及答案
- 护理医生面试题目及答案
- 公司搬迁员工补偿协议书范本
- 2025年湖北文旅资本控股有限公司招聘备考题库及参考答案详解
- 2025年江西省适航技术服务中心有限公司劳务派遣招聘备考题库附答案详解
- 2025年西安市灞桥区中医医院脑病科康复治疗师招聘备考题库参考答案详解
- 2025年厦门实验中学招聘顶岗教师的备考题库及一套答案详解
- 2025鄂尔多斯达拉特旗第二批事业单位引进28名高层次、急需紧缺人才考试笔试模拟试题及答案解析
- 甲状腺癌放射性碘抵抗机制研究
- 门窗的代理合同范本
- 集装箱装卸协议合同
- 2025河北交通职业技术学院第二次招聘47人参考笔试试题及答案解析
- 2025年秋国家开放大学《思想道德与法治》终考大作业试卷一附答案【供参考】
- 20252025年(完整版)三级安全教育真题试卷含答案
- 人教版2025-2026学年八年级上册数学期末考试模拟试卷
- 2025商洛市直机关事业单位遴选(选调)(59人)(公共基础知识)测试题附答案解析
- 会计从业人员职业道德规范培训课件
- 2026春季学期学校工作计划
评论
0/150
提交评论