分布式数据库1.docx
- 文档编号:8252227
- 上传时间:2023-01-30
- 格式:DOCX
- 页数:23
- 大小:155.28KB
分布式数据库1.docx
《分布式数据库1.docx》由会员分享,可在线阅读,更多相关《分布式数据库1.docx(23页珍藏版)》请在冰豆网上搜索。
分布式数据库1
第一篇分布式数据库2
第一章前言2
第二章分布式数据库系统(DDBS)概述2
2.1DDBS简介2
2.2DDBS分类2
第三章DDBS的特点和优缺点2
3.1DDBS的特点2
3.2DDBS的优缺点2
3.2.1DDBS的优点2
3.2.2DDBS的缺点3
第四章数据分片3
第五章体系结构3
第六章DDBS的安全性保证4
6.1数据库安全性问题包括两个部分4
6.2安全性策略4
第七章分布式数据更新4
第八章分布式查询5
参考文献5
第二篇集团旅行社财务系统5
第一章业务概述5
1、系统功能5
1.1功能结构图5
2.2功能描述6
2.3数据库设计的步骤7
第三章系统概念模式设计7
3.1总部基础设置E-R图7
3.2流水管理子系统E-R图7
第四章逻辑数据库设计8
第五章用DBMS实现9
第一篇分布式数据库
第一章前言
随着传统的数据库技术日趋成熟、计算机网络技术的飞速发展和应用范围的扩充,数据库应用已经普遍建立于计算机网络之上。
这时集中式数据库系统表现出它的不足:
数据按实际需要已在网络上分布存储,再采用集中式处理,势必造成通信开销大;应用程序集中在一台计算机上运行,一旦该计算机发生故障,则整个系统受到影响,可靠性不高;集中式处理引起系统的规模和配置都不够灵活,系统的可扩充性差。
在这种形势下,集中式DB的“集中计算”概念向“分布计算”概念发展。
分布计算主要体现在客户机/服务器模式和分布式数据库体系结构两个方面。
本章将分别介绍这两种技术。
第二章分布式数据库系统(DDBS)概述
2.1DDBS简介
分布式数据库技术是分布式技术与数据库技术的结合,对它的研究已有多年的历史。
从概念上讲,分布式数据库(DistributeDatabase)是指物理上分散在计算机网络的各个结点上,而逻辑上属于同一个系统的数据集合,它具有数据的分布性和数据库间的协调性两大特点,强调结点的自治性而不强调系统的集中控制,且系统应保持数据的分布透明性,从而使应用程序编写时可完全不考虑数据的分布情况【1】。
2.2DDBS分类
(1)同构同质型DDBS:
各个场地都采用同一类型的数据模型(譬如都是关系型),并且是同一型号的DBMS。
(2)同构异质型DDBS:
各个场地采用同一类型的数据模型,但是DBMS的型号不同,譬如DB2、ORACLE、SYBASE、SQLServer等。
(3)异构型DDBS:
各个场地的数据模型的型号不同,甚至类型也不同。
随着计算机网络技术的发展,异种机联网问题已经得到较好的解决,此时依靠异构型DDBS就能存取全网中各种异构局部库中的数据。
第三章DDBS的特点和优缺点
3.1DDBS的特点
3.1.1DDBS的基本特点
(1)物理分布性:
数据不是存储在一个场地上,而是存储在计算机网络的多个场地上。
逻辑整体性:
数据物理分布在各个场地,但逻辑上是一个整体,它们被所有用户(全局用户)共享,并由一个DDBMS统一管理。
(2)场地自治性:
各场地上的数据由本地的DBMS管理,具有自治处理能力,完成本场地的应用(局部应用)。
(3)场地之间协作性:
各场地虽然具有高度的自治性,但是又相互协作构成一个整体。
3.1.2DDBS的其他特点
(1)数据独立性
(2)集中与自治相结合的控制机制
(3)适当增加数据冗余度
(4)事务管理的分布性
3.2DDBS的优缺点
3.2.1DDBS的优点
(1)具有灵活的体系结构
(2)适应分布式的管理和控制机构
(3)经济性能优越
(4)系统的可靠性高、可用性好
(5)局部应用的响应速度快
(6)可扩展性好,易于集成现有的系统
3.2.2DDBS的缺点
(1)系统开销较大,主要花在通信部分。
(2)复杂的存取结构(如辅助索引、文件的链接技术),在集中式DBS中是有效存取数据的重要技术,但在分布式系统中不一定有效。
(3)数据的安全性和保密性较难处理。
第四章数据分片
数据分片的类型:
(1)水平分片:
按一定的条件把全局关系的所有元组划分成若干不相交的子集,每个子集为关系的一个片段。
(2)垂直分片:
把一个全局关系的属性集分成若干子集,并在这些子集上作投影运算,每个投影称为垂直分片。
(3)导出分片:
又称为导出水平分片,即水平分片的条件不是本关系属性的条件,而是其他关系属性的条件。
(4)混合分片:
以上三种方法的混合。
可以先水平分片再垂直分片,或先垂直分片再水平分片,或其他形式,但他们的结果是不相同的。
数据分片的条件:
(1)完备性条件:
必须把全局关系的所有数据映射到片段中,决不允许有属于全局关系的数据却不属于它的任何一个片段。
(2)可重构条件:
必须保证能够由同一个全局关系的各个片段来重建该全局关系。
对于水平分片可用并操作重构全局关系;对于垂直分片可用联接操作重构全局关系。
(3)不相交条件:
要求一个全局关系被分割后所得的各个数据片段互不重叠(对垂直分片的主键除外)。
第五章体系结构
分布式数据库管理系统D-DBMS(DistributedDatabaseManagementSystem)是建立管理和维护分布式数据库的一组软件,其DDBMS的结构如图1所示。
图1
图1中,LDBMS(LocalDatabaseManagementSystem)是局部场地上的数据库管理系统,其功能是建立和管理局部数据库,提供场地自治能力,执行局部应用及全局查询的子查询;GDBMS(GlobalDatabaseManagementSystem)是全局数据库管理系统,主要功能是提供分布透明性,协调全局事务的执行,协调各局部DBMS以完成全局应用,保证数据库的全局一致性,执行并发控制,实现更新同步,提供全局恢复功能;全局数据字典存放全局概念模式,分片模式,分布模式的定义以及各模式之间映像的定义,存放有关用户存取权限的定义,以保证全局用户的合法权限和数据库的安全性,存放数据完整性约束条件定义,其功能与集中式数据库的数据字典类似;通信管理CM(CommunicationManagement)用于在分布数据库各场地之间传送消息和数据,完成通信功能。
第六章DDBS的安全性保证
6.1数据库安全性问题包括两个部分
1、数据库数据的安全:
它应能确保在数据库系统运行时数据存储媒体被破坏以及当数据库用户误操作时。
数据库数据信息不至于丢失
2、数据库系统不被非法用户侵入:
它应尽可能地堵住潜在的各种漏洞,防止非法用户利用它们侵入数据库系统。
对于数据安全问题,数据库管理员可以备份和恢复数据库的资料。
6.2安全性策略
(1)系统安全性策略:
数据库帐户是访问数据库信息的途径,因此,应该很好地维护管理数据库帐户的安全性,按照数据库系统的大小和管理数据库帐户所需的工作量,数据库安全性管理者只是数据库管理员,或者是拥有这些权限的一组用户。
数据库用户可以通过操作系统,网络服务,或数据库进行身份确认,通过主机操作系统进行用户身份认证的优点有,用户能更快更方便地联入数据库。
(2)数据的安全性策略:
数据的安全性考虑应基于数据的重要性,如果数据不是很重要,那么数据的安全性策略可以稍稍放松一些。
然而,如果数据很重要,那么应该有一谨慎的安全性策略,用它来维护对数据对象访问的有效控制
(3)用户安全性策略:
密码的安全性,如果用户是通过数据库进行用户身份的确认,那么建议使用密码加密的方式与数据库进行连接。
第七章分布式数据更新
数据库系统中的数据更新,是指数据库系统发生插入、修改、删除等操作。
和文件系统不同,数据库的操作都是发生在事务中的。
数据库系统中一般都有多个事务并发执行,由此带来了一系列的问题。
在做更新操作时,必须保证事务的正确性。
事务的ACID特性是指原子性、一致性、隔离性和持久性。
在分布式数据库系统中,以增加数据副本为代价来平衡服务器之间的负载,获得高查询速度和高可靠性。
但由于数据复制在多个节点上,一旦要对有多个副本的数据进行更新时,为保证数据库的一致性,就必须对这些数据的所有复制版本同时作同样的更新。
1、主副本更新法:
对有多副本的数据(关系|片段),指定其中一个为主副本,其他为辅副本。
不同数据的主副本一般在不同的站点上,对数据的更新,开始只对其主副本进行更新,由主副本站点及时发送给各辅副本站点进行更新。
各辅副本可并行更新。
如有与主副本未连通的辅副本,在连通后按记录的更新顺序逐一进行更新。
2、移动主副本法:
对一个数据的更新,开始仍然只发生在其主副本上。
如果主副本所在站点此时尚未连通,则另选一个辅站点中的辅副本为该数据的主副本进行修改。
当原主副本站点连通时,系统将自动把它改为辅副本,并按记录要求执行修改。
3、快照法:
快照类似于视图,定义为一个或多个主副本的部分拷贝或全部拷贝。
快照的数据实际上是存放在数据库中,是对其中数据的瞬时映像,快照既可以定期刷新,也可在必要时强制刷新。
快照方法不考虑数据的辅副本,只关心每一数据的主副本和在这些主副本上定义的任意多个快照。
采用快照方法可以完成复杂的查询,而又不阻止更新,因为其中数据不受更新操作的影响,所以不会妨碍其他事务对有关数据的更新操作。
第八章分布式查询
在DDBS中有三类查询:
局部查询、远程查询和全局查询。
局部查询和远程查询都只涉及到单个节点上的数据;全局查询涉及多个节点的数据,查询要复杂得多。
DDBS在接收用户的查询后,主要经过如下阶段的处理:
①将全局查询分解成对局部数据库的子查询;②对分布在不同站点上的局部查询结果进行缩减,以减少通信开销;③将各站点上的中间结果送往查询站点形成最终查询结果。
参考文献
[1]郑振相,于戈,郭敏.分布式数据库[M].北京:
科学出版社,1999.
[2]萨师煊,王珊.数据库系统概论(第三版).北京:
高等教育出版社,2000.
[3]李昭原.数据库技术新进展[M].北京:
清华大学出版社,1997.
[4]KROENEKED.数据库处理--基础、设计与实现EMI.施伯乐,顾宁,刘国华,等,译.北京:
电子工业出版社,2001.
第二篇集团旅行社财务系统
第一章业务概述
1、系统功能
1.1功能结构图
如图2所示
图2
2.2功能描述
系统功能主要为以下三大模块:
1)基础设置
基础设置主要是公司基础数据,如:
机构(公司部门、办事处)、员工、往来单位(组团社、酒店、景点、导游等),以及账户设置、期初余额设置等。
这里设置的数据可以供业务管理部分进行使用选择,或者是可以影响业务管理的数据和业务流程。
2)业务管理
业务管理主要是对日常发生的业务数据进行录入维护,对业务数据进行查询统计,以便更好地进行收益分析、成本控制以及了解现金流量情况,以便进行科学决策、规范管理。
主要包括团队管理、流水管理以及期末进行结账,账簿查询、报表查询统计分析等。
3)系统管理
系统管理主要是对整个系统进行管理,这个一般不影响业务数据。
在这里,可以进行一些系统级的设置,增减系统用户和角色,并对用户角色的权限进行必要管理。
基本操作流程图3所示:
图3
创建账套:
一个单位可以创建一个或多个财务账套,如:
可以一年创建一个账套,创建多个练习账套。
一般情况下,一个单位必须有一个正式的账套,在第一次启用软件进行财务核算时就创建一个按照【账套名称+启用年份(4位)】规则命名的财务账套。
以后在每年最后一个月结账之后系统会自动创建下一年的账套。
2.3数据库设计的步骤
分布式数据库设计的基本步骤是,首先确定数据的物理位置。
在分布式数据库环境中,对于每个数据表都要确定其最佳的存放位置,从而使数据库的分布更加合理。
其次再确定数据库及其对象。
对每个独立场点都要建立一个数据库,不同的应用,同一场点也可以建立多个数据库。
每个数据库中还要根据实际需求建立有关的数据库对象。
最后确定数据存取机制。
分布式数据库的一个重要特点是数据访问的透明性。
在分布式数据库设计时要确定如何访问和存取其他数据库的数据,如何实现不同数据库中数据表的链接等规则。
在本集团旅行社财务系统中,管理员表、员工表、组织机构、往来单位、团队计划表、账户表、账簿表等保存到全局中心数据库中,中心场地可以对全局数据库进行添加、删除、更改等操作,同时不同的场地可以共享其中的部分数据资源。
而需要分散处理的数据分布在各个不同的场地,如流水管理所需要的数据,涉及到的表有费用表、费用详细表、付款单、付款类型表、付款详细表、收款单、收款类型表、收款详细表、收入单、收入详细表等,实现了分布式处理,体现了分布式数据库的自治特点。
第三章系统概念模式设计
3.1总部基础设置E-R图
如图4所示,涉及到的实体有:
管理员、员工、组织机构、团队计划、往来单位、账户,其中管理员表、组织机构表、团队计划表、账户表、往来单位存放在全局数据库中,以便集中管理,团队计划主要是用来处理游客团队数量较大、旅游景点较多时,总部统一来分配工作和有效的安排调度。
图4
3.2流水管理子系统E-R图
涉及到的实体有:
旅行社(组织机构)、办事处(组织机构)、收银员(员工)、收款单、费用单、费用详细表、收款单、收款详细表、付款单、付款详细单、收入单、收入详细表、转账单。
图5
第四章逻辑数据库设计
把概念结构设计阶段设计的E-R图转换为与RDBMS所支持的数据模型相符合的逻辑结构。
具体将上述实体型转换为相应的关系模式。
关系的码用下横线标出。
管理员表(序号,管理员名称,密码)
账户表(序号,账户编号,账户名称,备注,数量单位,账户类型)
往来单位表(序号,往来单位编号,单位名称,备注,联系电话)
账簿表(序号,账户编号,账单序列号,账单类型,账单创建日期,摘要,所在组织机构编号,往来单位Id号,账单金额)
账簿详细表(序号,账号编号,年月,账单创建日期,办事处编号,往来单位Id号,团队计划Id号,期初余额,期末余额)
编号规则表(序号,表的名称,字段名,规则)
组织机构表(序号,组织机构编号,组织机构名称,备注)
员工表(序号,员工编号,员工姓名,所在组织编号,登录时所用的账号,备注)
团队计划表(序号,团队编号,计划人数,车队号,导游号,所属办事处,创建时间,经手人序列号,计划日期,备注)
团队计划所住酒店表(序号,团队计划序列号,房间号,备注)
团队计划详细表(序号,团队计划序列号,所属办事处,人的类型号,价格,调整的价格幅度,团队总费用,航班到来时间,航班起飞时间)
人类型表(序号,类型名称)
付款类型表(序号,付款类型名称,付款类型所对应的账户编号)
付款单(序号,付款单编号,付款日期,摘要,经手人Id号,付款账号Id号,付款金额,备注,付款单创建时间,创建人Id号,是否已经记账,记账时间,记账人Id号,付款类型)
付款单详细表(序号,收款单位Id,付款金额,办事处Id号,备注)
收款类型表(序号,收款类型名称,收款类型对应的账户编号)
收款单(序号,收款单编号,收款日期,摘要,经手人Id号,收款账号Id,收款金额,备注,收款单创建时间,创建人Id号,是否已经记账,记账时间,记账人Id号,收款类型)
付款单详细表(序号,付款单位Id,收款金额,办事处Id号,备注,收款账号Id)
转账单(序号,转账单编号,转账日期,摘要,经手人Id号,转出账号Id,转入账号Id,转账金额,备注,转账单创建时间,创建人Id号,是否已经记账,记账时间,记账人Id号)
收入单(序号,收入单编号,收入日期,摘要,经手人Id号,收入总金额,已收金额,备注,收入单创建时间,创建人Id号,是否已经记账,记账时间,记账人Id号)
收入单详细表(序号,收入单Id号,数量,单价,调整的价格幅度,收入总金额,已收金额,办事处Id号,付款单位Id号,账户号Id)
费用单(序号,费用单编号,费用日期,摘要,经手人Id号,花费总金额,已付金额,备注,费用单创建时间,创建人Id号,是否已经记账,记账时间,记账人Id号)
费用单详细表(序号,费用类型,费用单Id号,数量,单价,调整的价格幅度,花费总金额,已收金额,办事处Id号,付款账户号Id)
第五章用DBMS实现
用SQLServer2005实现
管理员表Admin
编号
字段名称
数据类型
说明
1
ID
Int
序号
2
Name
VarChar
管理员名称
3
Password
VarChar
密码
账户表Account
编号
字段名称
数据类型
说明
1
ID
Int
序号
2
Code
Int
账户编号
3
Name
VarChar
账户名称
4
Memo
VarChar
备注
5
QuantityUnit
VarChar
数量单位
6
Type
VarChar
账户类型
往来单位表Associate
编号
字段名称
数据类型
说明
1
ID
Int
序号
2
Code
Int
往来单位编号
3
Name
VarChar
单位名称
4
Memo
VarChar
备注
5
Tel
VarChar
联系电话
账簿表Book
编号
字段名称
数据类型
说明
1
ID
Int
序号
2
AccountCode
VarChar
账号编号
3
BillId
Int
账单序列号
4
BillType
VarChar
账单类型(如费用单、付款单、收入单等)
5
BillDate
DateTime
账单创建日期
6
Summary
VarChar
摘要
7
OrgId
Int
所在组织机构编号
8
AssId
Int
往来单位Id号
9
Sum
Money
账单金额
账簿详细表BookDetail
编号
字段名称
数据类型
说明
1
ID
Int
序号
2
AccountCode
VarChar
账号编号
3
YearMonth
VarChar
年月
4
BillDate
DateTime
账单创建日期
5
OrgId
Int
办事处编号
6
AssId
Int
往来单位Id号
7
TeamPlanId
Int
团队计划Id号
8
BeginBalance
Money
期初余额
9
TotalAmount
Money
期末余额
编号规则表CodeRule
编号
字段名称
数据类型
说明
1
ID
Int
序号
2
TableName
VarChar
表的名称
3
FieldName
VarChar
字段名
4
Rules
VarChar
规则(如:
4-2-2-2表示字段共有10位,即顶级编号4位,二级编号2位,上级编号2位,再加上本级编号2位)
组织机构表Organization
编号
字段名称
数据类型
说明
1
ID
Int
序号
2
Code
VarChar
组织机构编号
3
Name
VarChar
组织机构名称
4
Memo
VarChar
备注
员工表Employee
编号
字段名称
数据类型
说明
1
ID
Int
序号
2
Code
VarChar
员工编号
3
Name
VarChar
员工姓名
4
OrgId
Int
所在组织机构编号
5
LogonAccountId
VarChar
登录时所用的账号
6
Memo
VarChar
备注
团队计划表TeamPlay
编号
字段名称
数据类型
说明
1
ID
Int
序号
2
Code
VarChar
团队编号
3
PersonsPlaned
Int
计划人数
4
CarGroupId
Int
车队号
5
GuiderId
Int
导游号
6
OrgId
Int
所属办事处(即组织机构)
7
CreateTime
DateTime
创建时间
8
Handler_EmpId
Int
经手人序列号
9
PlanDate
DateTime
计划日期
10
Memo
VarChar
备注
团队计划所住酒店表TeamPlayHotel
编号
字段名称
数据类型
说明
1
ID
Int
序号
2
TeamPlayId
Int
团队计划序列号
3
Hotel
Int
酒店序列号
4
Rooms
VarChar
房间号
5
Memo
VarChar
备注
团队计划详细表TeamPlayDetail
编号
字段名称
数据类型
说明
1
ID
Int
序号
2
TeamPlayId
Int
团队计划序列号
3
OrgId
Int
所属办事处(即组织机构)
4
PersonTypeId
Int
人的类型号(如类型可以是成人、小孩、老人等)
5
PersonsActual
Int
实到人数
6
Price
Money
价格(每人次)
7
Adjust
Money
调整的价格幅度
8
Sum
Money
团队总费用
9
FlightCame
DateTime
航班到来时间
10
FlightWent
DateTime
航班起飞时间
人的类型表PersonType
编号
字段名称
数据类型
说明
1
ID
Int
序号
2
Name
VarChar
类型名称(如:
大人、小孩)
付款类型表PaymentType
编号
字段名称
数据类型
说明
1
TypeID
Int
序号
2
TypeName
VarChar
付款类型名称
3
PaymentAccount
VarChar
付款类型所对应的账户编号
付款单Payment
编号
字段名称
数据类型
说明
1
ID
Int
序号
2
Code
VarChar
付款单编号
3
PaymentDate
DateTime
付款日期
4
Summary
VarChar
摘要
5
Handler_EmpId
Int
经手人Id号
6
PaymentAccId
Int
付款账号Id
7
PaymentSumTotal
Money
付款金额
8
Memo
VarChar
备注
9
CreateTime
DateTime
付款单创建时间
10
Creator_EmpId
Int
创建人Id号
11
IsBooked
Bit
是否已经记账
12
BookedTime
DateTime
记账时间
13
Booked_EmpId
Int
记账人Id号
14
TypeId
Int
付款类型
其中付款类型包括:
支付应付款、预付款、借出款
付款单详细表PaymentDetail
编号
字段名称
数据类型
说明
1
ID
Int
序号
2
Receiver_AssId
Int
收款单位I
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 分布式 数据库