网站大量收购闲置独家精品文档,联系QQ:2885784924

土地信息系統数据库分布式设计与实现.doc

土地信息系統数据库分布式设计与实现.doc

  1. 1、本文档共6页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
土地信息系統数据库分布式设计与实现

土地信息系统数据库分布式设计与实现 ? 作者:荣 芳 来源:blogjava.net ? 1 关于土地信息 用关系数据库与空间数据库协同管理土地数据,是近年来土地信息系统的分布式处理的常用方法之一,其分布式实现主要依赖于关系数据库(如Oracle)所提供的分布式功能。 本文将详细阐述土地信息系统中基于Oracle的关系数据库分布式设计及空间数据分布式处理的实现。 2 Oracle系统的分布式设计技术 2.1 分布式Oracle系统构架 分布式Oracle系统是由分布式数据库管理系统(Oracle Rdbms)、支持多种操作系统和通信协议的分布式处理环境软件SQL*NET、以及与非Oracle Rdbms联接的软件SQL*CONNECT组成的一个软件群[2]。其中,Oracle Rdbms的分布式功能主要包括分布式查询、单点事务、多个事务中多点更新及结点自治等;SQL*NET提供不同Oracle数据库间的连接功能;SQL*CONNECT是实现Oracle与其它DBMS转换的一个接口产品。 2.2 SQL*NET SQL*NET是Oracle分布式处理的基础,其体系结构如图1所示。通过SQL*NET,一个应用程序可以并行存取本地或远程的多个数据库。当存取远程数据库时,在客户端,SQL*NET将来自用户程序接口(UPI)层的子程序调用(SQL语句)组装成信息报文,经过异种机环境所需要的数据转换后,通过网络将报文发送给远程计算机;在服务器端,SQL*NET接受报文,作必要的数据转换,并将子程序调用参数传送到适当的Oracle核心入口点,在相反方向上服务器端驱动SQL*NET传送的是数据和返回码信息[1]。   图1 SQL*NET体系结构 2.3 各类数据库对象 Oracle中与分布式处理有关的数据库对象主要有:数据库链路、视图、快照、同义词等。其中,数据库链路用于连接本地结点和远程结点之间的数据库;数据快照是Oracle系统提供的一种对数据表的异步复制,它有以下两种作用:数据快照是远程数据表在本地的复制,通过它可以实现对远程数据的快速查询;在系统或网络出现故障时,可以通过数据快照恢复数据。 同义词用来简化一些繁琐的表名或视图名等。对于远程操作,用户也可以为远程数据库的表名或视图名等建立相应的同义词,以后访问这些远程数据库的表或视图就可以直接写同义词名,也就是说用户在访问数据时无须指明数据所在结点的名字,这就达到了透明访问。例如,在某一结点访问另一结点的数据表时需要命令:  SELECT*FROM SUPDBA.EMPLOYEE@SUP—HQ;  如果建立如下同义词:  CREATE PUBLIC SYNONYM EMPLOYEE FOR SUPDBA.EMPLOYEE@SUP—HQ;  再访问该远程表时就只需要命令:  SELECT * FROM EMPLOYEE; 2.4 分布式操作 在数据库链路定义以后,远程操作就变得非常简单和方便。用户访问远程数据库的表或视图时,只要在表名或视图名后面附上数据库链路名即可通过SELECT或INSERT、UPDATE、DELETE等语句对数据进行操作。其形式为: SELECT 列表达式[,列表达式,...] FROM 表名@数据库链路名[,表名@数据库链路名,...] [WHERE 逻辑表达式]; 在访问数据时,如果要访问的数据来自同一个数据表,根据需要直接访问该表或基于该表的视图或快照;如果所要访问的数据来自不同的数据表,可通过连接(JOIN)操作或相应的视图来实现,视图中各数据项的来源有以下几种情况: 来自同一数据库中的一个表或多个表; 来自同一结点不同数据库中的两个表或多个表; 来自不同结点上数据库中的两个表或多个表。 如果事先建立了有关视图,用户就可以直接访问这些视图以实现一些对数据的复杂访问。 3 数据库分布式设计的基本步骤 3.1 确定数据的物理位置 在分布式数据库环境中,对每一数据表都要首先确定其最佳的存放位置,从而使整体数据的分布更加合理。在这一过程中,需要考虑的因素主要有以下几点:每一结点需传递的事务量;每一结点使用的数据量;网络的性能与可靠性;各结点速度、磁盘容量;若结点间连接不通后的访问规则;表间联系对数据完整性的影响等。 3.2 确定数据库及其对象 对每一存放数据的独立结点都要建立至少一个数据库,对于不同的应用,在同一地点也可以建立多个数据库。在每一数据库中还要根据实际需求建立有关的数据库对象,如Oracle中有关数据库对象有Table、View、Snapshot、Synonym、DatabaseLink等。 3.3 确定数据存取机制 分布式数据库的一大重要特点是数据访问的透明性。在应用系统中,不同的功能会需要访问不同数据库中的数据。为了达到数据访

文档评论(0)

s4as2gs2cI + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档