已阅读5页,还剩28页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
大庆石油学院本科生毕业设计(论文) I 摘 要 基于 XML 的灵活性以及与平台无关的特点,本课题设计了一个通用的录入 程序。针对不同的 Excel 表采用不同的 XML 文档进行描述,将从最基层采集来 的数据录入到数据采集表中,然后通过采集处理程序根据不同处理规则将采集表 中的数据加载到现场数据库中。录入界面的设计规则,完全可以根据用户的需求 来设计,灵活性和可操作性非常强。 本系统主要实现了数据录入、数据维护和数据加载等功能。数据录入主要是 将现场采集的数据录入到 Excel 表格中。数据维护是指对 Excel 表格中的数据进 行修改、插入、删除等操作。数据加载是指将现场数据通过 XML 映射文件加载 到现场数据库中。 该方案具有通用性,可以较大程度地提高信息采集的效率,同时较好地降低 了数据采集系统的维护成本。 关键词:XML;Delphi;Excel;DBF 数据库 大庆石油学院本科生毕业设计(论文) II Abstract Based on the flexibility of XML as well as the characteristic of irrespective to platform,this subject designed a generic input process.With the different Excel forms,it describes with different XML forms,put data which collected from the most grass-roots into data collection forms.Then through acquisition and processing procedures loads the data from collection forms into the site database according to different rules.The rules of inputting interface can totally designed by users demand.So its flexibility and maneuverability are very strong. This System has realized functions such as data record enter,data upkeep and data loading mainly.The data record enter is mainly put site collection data into Excel table. Data upkeep is to revise, insert and delete the data in Excel table. Data loading refers to load site data into the site database through the XML mapping document. This program has general availability.It improves information collection more efficiently, at the same time, reduces the costs of the data collection system upkeep. Key words: XML;Delphi;Excel;DBF Database 大庆石油学院本科生毕业设计(论文) III 前 言 随着信息技术的发展,信息集成与应用需求的产生和变化越来越快,用户需 要具有可个性化定制能力的平台软件。在油田方面,信息技术通过企业信息门户 的推广,已能满足用户的个性化要求,但数据描述、数据存储仍使用多年前制定 的数据库结构,不能适应油田信息发展的需求。 现在油田开发进入了中后阶段,特别是油田可持续发展理论提出之后,作为 具体实践,企业的生产管理正逐步实现精细化深入化,与之相关的,油田开发中 的各种科学决策将更加依托于以数据分析为主要手段的信息技术平台,即所谓信 息支持决策,这也是企业信息化建设的本质工作。在企业整个的基础信息群集中, 本文重点要讨论的是其中的现场信息采集技术。目前来说,这种现场信息在企业 应用中应该是一个既不可或缺又相对独立的部分。 说它不可或缺,是因为油田开发的精细化发展正在对这部分信息产生越来越 多的需求,包括目前已经应用的(例如: 机采井示功图采集、动液面采集、电机参 数采集、电流曲线采集、水井分层流量采集、分层压力采集等等) 和应用到各种 现场数据采集的其他技术,可以说越来越多的此类现场信息将会是企业信息平台 和数据资产的一个重要组成部分;说它相对独立,是由于目前这部分信息的处理 和使用,并没有纳入到一个标准化的数据管理体系中,众多数据采集设备的众多 生产厂家,他们各自定义的数据承载与处理机制,各种格式的文件式数据载体, 缺乏一个统一的规范。 本文提出一种基于 XML 的数据采集技术,即通过 XML 将数据导入到数据 库中。本文按照解决方案的模块来组织章节,整篇论文共分为五章。第一章主要 分为本课题的简介、相近课题的研究特点和优缺点分析以及本课题的研究意义。 第二章系统分析,首先论述了系统的需求分析,然后画出系统的数据流图,最后 分析了系统的实现过程。第三章系统设计,包括数据库设计、系统功能模块的设 计和系统流程图的设计。第四章系统的实现,包括系统的开发技术、开发工具介 绍、系统功能模块的实现、数据加载过程。第五章主要介绍系统测试。 大庆石油学院本科生毕业设计(论文) IV 目 录 第 1 章 概述1 1.1 课题简介 1 1.2 相近研究课题的特点及优缺点分析 1 1.3 本课题的研究意义 2 第第 2 2 章章 系统分析4 2.1 需求分析 4 2.2 数据流图 4 2.3 系统实现过程分析6 第 3 章 系统设计7 3.1 数据库设计 7 3.2 功能模块图 9 3.3 系统流程图 11 第 4 章 系统实现12 4.1 开发技术简介12 4.2 开发工具简介16 4.3 系统模块的实现 18 第 5 章 系统测试24 结 论25 参考文献26 致 谢27 附 录28 大庆石油学院本科生毕业设计(论文) 1 第 1 章 概述 1.1 课题简介 石油开采工作的核心,就是充分利用已有的钻井、录井、测井、测试和 分析化验等各类资料,反复进行分析研究,得出正确的认识和结论,为系统 开发决策提供依据。这种对各类数据反反复复地进行采集、查找、统计、分 析处理、对比研究的过程占据了大量的宝贵时间,而且随着油田勘探工作的 不断深入,资料数量呈直线上升。为了从资料采集中解放出来,需要建立数 据采集的数据库,为今后油田数据库的应用打下了坚实的基础。 综合油田数据库源数据集成的特点,采用 XML 对目标数据进行描述和 转换是一种比较合适的方式。XML 是 W3C 发布的一种可扩展标记语言,用 于描述和组织 WEB 环境下的数据。而与 XML 配合使用的 XSLT 则专门用 来描述 XML 与其它文档之间的转换。XML 以其简洁的数据组织结构、强大 的数据描述能力和可扩展的特性,成为 WEB 环境下表示各种数据的事实标 准。现在几乎所有的系统环境、软件开发环境和数据库产品都支持 XML。POSC 组织发布了系列基于 XML 的数据交换标准,对 XML 的研究和 应用受到广泛关注。XML 的开放性、可扩展性及 XSLT 对数据格式转换功能, 正是集成油田复杂数据源所需要的特点。 本次毕业设计主要是基于 XML 的数据采集技术的研究,该应用系统的 设计原则是:整个系统的设计在现有基础信息数据库的通用、成熟技术的基 础上进行:整个系统保持了一个完整简洁、清晰的逻辑结构,系统中数据文 档的传递、交换和存储具有统一的数据交换标准,系统的各个部分保持了足 够的开放性和可扩充性。应用软件在统一的环境下开发,以保证软件的稳定 性,同时应用界面应保持一直的风格,便于应用人员尽快掌握使用。 1.2 相近研究课题的特点及优缺点分析 随着信息资源在国民经济中发挥着越来越重要的作用,信息的分析和挖 掘已成为各个行业领域进行决策的重要依据,而信息的质量和及时性是决定决 策支持系统能否有效地发挥作用的关键。因而为了保障信息能够及时准确地 反映在各个领域的中心数据库中,数据采集的方法显得尤为重要。通过对各 个不同领域,特别是相关政府部门结构设置的研究,认为行业中心数据库中的 数据来源基本上是来自于下属各个分支机构。我国不同领域的信息构成基本 都是以下的模式:下级的数据逐层汇总,最后存储于中心数据库中,因而如何 大庆石油学院本科生毕业设计(论文) 2 把分散的信息加以汇总,即采用的数据采集方式,是建立中心数据库的关键 步骤。 有效的数据采集方式应具备以下特点: (1) 满足决策支持系统对于数据的需要;(2) 符合下级数据源的填报习惯, 最大限度地减少下级部门的工作量;(3)能有效地对数据进行校验,保障数据 的质量;(4)满足采集标准不断变化的需要;(5)传输量较小,减轻网络负载。 现有的数据采集多采用如下两种方式进行: (1) 建立互联网采集平台 下级机构可以通过互联网连接到总部网站上,并登录到信息采集平台进 行数据报送。填录好的数据提交后经系统验证无误后将会被提交到数据库中, 总部内部则可以在该数据的基础上进行各项操作,从而支持日常办公、统计 报表和决策支持的需要。 优势:该类上报模式具有适应性强、易于修改维护、对用户培训工作量 小和数据更新速度快等特点,其数据规范要求可直接在网上定义,是现阶段 比较流行的上报方式。 缺陷:浏览器功能相对较弱,无法完成复杂操作,网络安全性有隐患。 (2) 通过文件进行数据导入 数据采集的另一种方式是通过将用户上报的数据文件,利用上级部门定 制的采集软件,将其中数据导入数据库中。下级数据源将所要上报的数据做 成上级部门要求的数据文件,该文件可以为 Excel 、MDB 或其他常用格式, 但其数据规范应由上级部门统一给出。为了规范数据标准上级部门应统一下 发上报软件或数据模板。 优势:该类方法具有较好的数据安全性,而且由于下发客户端,因而可 实现复杂的验证功能,可将该类系统与机构自身的办公系统结合。 缺陷:采集标准的更新需要修改每个客户端,工作量很大,需要人工参 与,及时性准确性难以保证。 1.3 本课题的研究意义 数据采集技术是一种新兴技术,首先设计的是计算机系统。因为计算机 是数据采集技术的物质基础,是否能成功开发数据采集系统采集数据信息的 关键,要统筹全局,合理配置,以保证数据采集系统的各项功能得以实现。 生产管理人员在组织生产、管理生产的工作中,为了得到可靠的生产信 息,首先要从信息收集做起。由于生产工艺的连续性,且生产过程复杂、工 艺参数变化大、分布广泛,所以依靠传统方式管理、收集全厂生产动态实时 数据信息就变得比较困难了。应用计算机进行数据采集,可以解决生产中的 生产动态实时数据的收集与处理,且数据准确、效率非常高。 大庆石油学院本科生毕业设计(论文) 3 计算机应用技术解决了生产控制中实时数据信息的收集,解放了生产力、 提高了生产效率,为生产管理人员精细管理、提高生产装置运转率,使生产 装置安全、稳定、长周期、满负荷生产提供了可靠的科学依据。 将计算机应用技术引入到油田生产管理中,对主要的工艺参数、关键设 备实行连续实时状态监测,为生产管理人员的决策,及时掌握生产动态提供 了全面的生产信息,使高层决策者有可能及时掌握企业生产动态中的全貌。 其数据采集系统提供的信息不仅准确,而且速度很快,是高层决策人员获得 生产信息的主要途径。总之,经过运行实践,已经证明数据采集技术对优化 生产、稳定生产装置、节能降耗、提高经营决策、提高生产装置运转效率等 方面显示除了巨大的优越性,解决了一些生产中的实际问题,初步表明了数 据采集技术在油田生产管理中的重要作用。 大庆石油学院本科生毕业设计(论文) 4 第 2 章 系统分析 2.1 需求分析 需求分析是整个设计工作的基础,是设计应用程序的起点,需求分析的 结果是否准确反映了用户的实际要求,将直接影响到后面各个阶段的设计。 做好需求分析是系统设计取得成功的重要前提,需求分析的任务是通过 详细调查现实世界要处理的对象,充分了解原系统工作概况,明确用户的各 种需求,然后在此基础上确定新系统的功能。 需求分析的重点是调查、搜集和分析用户在数据管理中的信息要求、处 理要求、安全性要求与完整性要求。需求分析的任务是系统必须完成的工作, 也就是对目标系统提出完整、准确、清晰、具体的要求。在经过多方了解和 调查后,基本清楚了数据采集系统的功能需求。 本次毕业设计主要是针对目前油田现场数据采集效率不高的问题,提出 一种基于 XML 的数据采集技术。油田的勘探开发是一个复杂的综合性系统, 从大局上分,它由决策层、管理层和执行层组成,从工作类型上分,有钻井、 录井、测井等。录井工作的价值在于把分散的多井信息集合起来以解决勘探 的大局问题,现场信息的采集,不但提高了信息传递的及时性和准确度,同 时,也规范了录井信息的传递内容,有了标准化和统一性,避免了一些重复 性工作,达到了提高工作实效的目的。目前油田已经开发的数据库的内容基 本上包括了现场录井的所有数据信息,现场采集的录井数据可以及时处理成 DBF 关系数据库,接入内部勘探开发数据库,形成档案资料。 在分析了录井专业数据库和油田其他专业数据库数据采集特点的基础上, 设计了基于 XML 的数据采集技术。数据库管理人员可以通过该系统平台将 现场数据录入到 Excel 表格中,定期将采集的数据加载到数据库中,供应用 使用。在加载过程中可以对数据进行整理,以满足应用需求。以下是数据采 集系统所必需具备的功能: 数据录入功能:将现场采集的数据录入到 Excel 表格中。 数据维护功能:指对 Excel 表格中的数据进行修改、插入、删除等操作。 数据加载功能:指将现场数据通过 XML 加载到现场数据库中。 2.2 数据流图 通过对系统进行详细具体的分析之后,并且明确系统的总体要求以及系 大庆石油学院本科生毕业设计(论文) 5 统要实现的基本功能。但是要想使用户及有关的系统开发人员更能形象的了 解这个系统的功能及其简单处理过程,需要一个良好的来描述系统的逻辑结 构,让用户及其它人员形象的了解系统要完成的基本功能。 数据流图是一个很好的工具,它是描绘物理系统的传统工具,它也是描 绘系统的逻辑模型,同时,数据流图只是描绘信息在系统中流动和处理的情 况。即使不是计算机专业的人员也容易理解。它是对系统的一次大大的压缩 和简化,只考虑其中最主要的框架而不涉及具体的物理元素;只描述数据在 系统各部分之间的流动和数据处理过程而不涉及系统功能的具体实现。出于 数据流图是逻辑系统的图形,它只是描述系统必须完成的基本逻辑功能,它 完全不考虑如何具体的实现这些功能,因此它是软件设计的很好的出发点5。 经过分析,画出了本系统的数据流图,如图 2.1 所示。 图 2.1 数据流图 数据流图辅助物理系统的设计时,以图中不同的处理定时要求为指南, 能够在数据流图上画出许多自动化边界每组自动化边界可能意味着一个不同 的物理系统,因此可以根据系统的逻辑模型考虑系统的物理实现。 2.3 系统实现过程分析 对油田开发数据库中的多个数据表而言,大多数表的录入方式除了约束 机制不一样以外,其余的设计机理都是一致的。因此,基于 XML 的灵活性 及与平台无关的特点,本课题设计了一个通用的录入程序,针对不同的表采 用不同的 XML 文档进行描述,将从最基层采集来的数据加入到采集表中, 然后通过采集处理程序根据不同处理规则将采集表中的数据加入到标准数据 操作 人 员 1 登录 2 数据录入 3 数据维护 4 数据加载 3.1 修改数据 3.2 插入数据 3.3 删除数据 Excel 表格 Excel 表格 现场数据库 大庆石油学院本科生毕业设计(论文) 6 表中的处理程序也是一组以 XML 文档为基础的通用处理程序。录入界面的 设计规则,完全可以根据用户的需求来设计,灵活性和可操作性非常强。 实现功能模块时,采用先模块化后集成化的方式。即对系统各个功能模 块分别独立设计和调试,在创建完系统主窗体后,再将各个功能模块通过连 续编译将系统集成到一起,最后进行系统整体设计调试。 在访问数据库时,采用通用数据模块存放访问数据库需要的对象。该模 块在各个功能模块中被直接调用,避免对数据库的反复连接,并可减少代码 编写,从而提高了系统开发效率。 由于采用了框架结构,使得该系统的可扩展性极强,并且为和油田的其 他应用系统的结合打下了良好的基础,也为实现系统的长远目标作了准备。 另外在各个基本框架应用模块中,开发使用的是面向对象的技术,采用基于 抽象的应用模式对象开发各个模块,在细节中又应用 XML 标记技术,使得 在模块级别上的可扩展性也变得非常强大。 大庆石油学院本科生毕业设计(论文) 7 第 3 章 系统设计 系统设计的任务是在系统分析的基础上,按照逻辑模型的要求,科学合 理地进行系统的总体设计和详细设计(即具体的物理设计) ,为下一阶段实施 提供必要的技术资料。 另外,系统设计中还应尽量满足以下要求: (1) 系统性。系统是作为同意的一个整体而存在的,因此整个系统的代 码要统一,设计规范要标准,传递语言要尽量一致,并使一次输入得到多次利 用。 (2) 灵活性。系统应灵活,对环境的变化有很强的适应性。这就要求提 高各部分的独立性,尽量减少各子系统之间的数据依赖性。这样,既便于修 改,又容易增加新内容。此外,设计方案中应尽量避免不必要的复杂性,以 便缩短处理流程,减少出库费用。 (3) 可靠性。这是指系统受外界干扰时的抵御能力和恢复能力。 (4) 经济性。在满足以上要求的基础上,尽量经济。 详细设计阶段的任务不是具体地编写程序,而是要设计出程序的“蓝图”。 详细设计的目标不仅仅是逻辑上正确地实现每个模块的功能,更重要的是设 计出的处理过程应该尽可能简明易懂。详细设计的根本目标是确定应该怎样 具体地实现所要求的系统,也就是说经过这个阶段的设计工作,应该得出对 目标系统的精确描述,从而在编码阶段可以把这个描述直接译成用程序设计 语言书写的程序。 总体设计阶段内容包括划分子系统、代码设计、设计规范制定、系统流 程图设计、功能模块图设计等。 3.1 数据库设计 在需求分析阶段已经完成该系统的所有的数据分析。根据该阶段所建立 的概念模型,已经得出几个关系描述,该阶段的主要工作就是把前一阶段的 成果转化为具体的数据库。 数据库设计应满足下列原则: 一致性原则:对信息进行统一、系统的分析与设计、协调好各数据源, 做到“数出一门”、 “算法统一”、 “度量一直”。保证系统数据的一致性和有效性。 完整性原则:数据库的完整性是指数据的正确性和相容性。要防止合法 用户使用数据库时向数据库加入不规范的数据。对输入到数据库中的数据要 大庆石油学院本科生毕业设计(论文) 8 有审核和约束机制。 安全性原则:数据库的安全性是指保护数据,防止非法用户使用数据库 或合法用户非法使用数据库造成数据泄露好、更改或破坏。 可伸缩性原则:数据库结构的设计应充分考虑发展的需要、移植的需要, 具有良好的扩展性、伸缩性和适度冗余。 规范化数据库的设计:应遵循规范化理论,规范化程度过低,可能会存 在插入、删除异常、修改复杂、数据冗余等问题,解决的方法就是对关系模 式进行分解或和并(规范化) ,转换成高级范式。 一般把数据库的设计分为数据库的逻辑设计和数据库的物理设计两个步 骤。 数据库的逻辑设计,根据需求分析阶段给出的系统的概念模型就可以进 行数据库的逻辑设计。数据库的逻辑设计即把得到的满足第三范式的关系转 化为特定的数据库管理系统下的数据表1。 数据库的物理设计,在完成数据库的逻辑设计后,即可进行数据库的物 理设计。基于以上数据库的逻辑设计,考虑程序设计的简易性,同时考虑作 为毕业设计的题目及时间,本系统的数据库决定采用 DBF 数据库,并在其下 创建 3 个数据表,其结构分别见表 3-1(Yxzs 表) 、表 3-2(Nymdfx 表) 、表 3-3(Ljzltjb 表) 。 表 3-1 Yxzs 表 字段名称类型字段宽度 Jh字符型16 Qsjs数值型7 Zzjs数值型7 Cw字符型16 Zssxjs数值型7 Zsxxjs数值型7 Yxzs备注型4 Tbr字符型20 Shr字符型20 大庆石油学院本科生毕业设计(论文) 9 表 3-2 Nymdfx 表 字段名称类型字段宽度 Jh字符型16 Cw字符型20 Js数值型8 Yxmc字符型30 L1数值型5 L2数值型5 Md数值型5 Clr字符型8 表 3-3 Ljzltjb 表 字段名称类型字段宽度 Jh字符型16 Zllx字符型10 Djsdl数值型8 Djsd2数值型8 Jg数值型7 Sl数值型8 Bz备注型4 3.2 功能模块图 模块化就是把程序划分成若干个模块,每个模块完成一个子功能,把这 些模块合起来组成一个整体,可以完成指定的功能,来满足问题的要求。 采用模块化原理可以使软件结构清晰,不仅容易设计也容易阅读和理解。 因为程序错误通常局限在有关的模块及它们之间的接口中,所以模块化使软 件容易调试和测试,因而有助于提高软件的可靠性。因为变动往往只涉及少 数几个模块,所以模块化能提高软件的可修改性。 采用模块化应尽量做到模块独立,即希望设计这样的结构,使得每个模 块完成一个相对独立的特定子功能,并且和其它模块之间的关系尽量简单。 模块独立是设计的关键,而设计又是决定软件质量的关键环节5。 大庆石油学院本科生毕业设计(论文) 10 人们在开发计算机软件的长期实践中积累了丰富的经验,总结这些经验 得出了一些启发式规则,主要包括以下几个方面: (1) 改进软件结构提高模块独立性; (2) 模块规模应该适中; (3) 深度,宽度,扇出和扇入都应适当; (4) 模块的作用域应该在控制域之内; (5) 力争降低模块接口的复杂程度; (6) 设计单入口单出口的模块; (7) 模块功能应该可以预测。 为了符合以上要求以及根据需求分析阶段得到的数据流图,采用软件工 程的概念和原理,在保证系统基本功能要求的前提下,结合系统的业务流程 确定了系统必须具备的所有功能,由此给出了数据采集技术的功能模块图, 如图 3.1 所示。 主窗体模块 数据录入模块数据维护模块 创建新井 选择井号 录入数据 选择表的类型 打开模板 填写井号 数据加载模块 节点显示 表类型选择 表模板选择 井号输入 图 3.1 系统功能模块图 该功能模块图详尽地描述了整个系统的各个模块以及各个模块所具有的 不同功能。 主窗体模块:包括了数据录入和数据维护两个功能。 数据录入模块:创建新井,选择需要编辑的井号,将现场数据录入到 Excel 表格中。 数据维护模块:将录好的现场数据通过 XML 加载到现场数据库中。 大庆石油学院本科生毕业设计(论文) 11 3.3 系统流程图 系统流程图又叫事务流程图,是描绘物理系统的传统工具。系统流程图 是在计算机事务处理应用进行系统分析时常用的一种描述方法(另一个是数 据流图) ,它描述了计算机事务处理中从数据输入开始到获得输出为止,各个 处理工序的逻辑过程。 它的基本思想是用图形符号以黑盒子形式描绘系统里面的每个部件(程 序,文件,数据库,表格,人工过程等等) 。系统流程图表达的是信息在系统 各部件之间流动的情况,而不是对信息进行加工处理的控制过程。本系统流 程图如图 3.2 所示: 事务 录入现场数据Excel 表格 XML 映射文件 现场数据库 结果信息 图 3.2 系统流程图 该流程图表示了从建立 Excel 表格、XML 映射 Excel 表格中的数据,现 场采集数据录入到 Excel 表格中,到将录好的数据加载到现场数据库这个过 程。 大庆石油学院本科生毕业设计(论文) 12 第 4 章 系统实现 4.1 开发技术简介 4.1.1 XML 概述 XML 即可扩展标记语言(Extensible Markup Language) 。标记是指计算 机所能理解的信息符号,通过此种标记,计算机之间可以处理包含各种信息 的文章等。如何定义这些标记,这就是语言的可扩展性。 XML 是一种类似于 HTML 的标记语言;XML 是用来描述数据的;XML 的标记不是在 XML 中预定义的,你必须定义自己的标记;XML 使用文档类 型定义(DTD)或者模式(Schema)来描述数据;XML 使用 DTD 或者 Schema 后 就是自描述的语言。但是这里有几个容易混淆的概念要提醒大家: 1) XML 并不是标记语言。它只是用来创造标记语言(比如 HTML)的元语 言。只要知道一点:XML 和 HTML 是不一样的,它的用途比 HTML 广泛得 多,其他将在后面介绍; 2) XML 并不是 HTML 的替代产品。XML 不是 HTML 的升级,它只是 HTML 的补充,为 HTML 扩展更多功能。我们仍将在较长的一段时间里继续 使用 HTML; 3) 不能用 XML 来直接写网页。即便是包含了 XML 数据,依然要转换 成 HTML 格式才能在浏览器上显示17。 XML 的先进特性: 首先是 XML 继承了 SGML 的许多特性,首先是可扩展性。XML 允许使 用者创建和使用他们自己的标记而不是 HTML 的有限词汇表。 其次是灵活性。XML 提供了一种结构化的数据表示方式,使得用户界面 分离于结构化数据。所以,Web 用户所追求的许多先进功能在 XML 环境下 更容易实现。 再次是自描述性。XML 文档通常包含一个文档类型声明,因而 XML 文 档是自描述的。XML 表示数据的方式真正做到了独立于应用系统,并且数据 能够重用。XML 文档被看作是文档的数据库化和数据的文档化。 数据传递面临的技术困难是数据库之间的结构不同以及数据库所处平台 (操作系统)的不同使得数据传递不能直接进行,必须使用一种中间媒介进 行过度。对这种媒介的基本要求是:不受操作系统和数据库系统的限制,即 独立与平台。XML 以其优良的性能成为这种中间媒介的首选。XML 的各种 数据解析过程如下图所示13。 大庆石油学院本科生毕业设计(论文) 13 XML 文件XML 解析器 物体模型 浏览器 应用程序 数据库 图 4.1 XML 数据解析过程 尽管简单得令人难以置信,XML 确实正在彻底改变我们创建和使用软 件的方式。 Web 彻底改变了用户与应用程序的交互方式。通过提供一种能 使数据更容易适配或更容易转换成为的通用数据格式,XML 正在彻底改变 应用程序间的交互方式或者更广义地说是计算机之间的交互方式。 4.1.2 数据库与文档之间的映射 XML 可以分为 3 层结构:数据表现层、数据组织层和数据交换层。从整 体上讲,XML 定义的实际上是应用间传递数据的结构,而且这种结构的描述 不是基于二进制的、只能由程序去判断的代码,而是一种简单的、能够用通 用编辑器读取的文本。利用这种机制,程序员可以制定底层数据交换的规范, 然后在此基础上开发整个系统的各个模块,而各模块之间传输的数据将是符 合既定规则的数据。另外,XML 还允许为特定的应用制定特殊的数据格式, 并且非常适合于在服务器与服务器之间传送结构化数据。 XML 文档与数据库之间的转换软件是通过文档与数据库之间的映射来完 成的,这种映射分为两种:模板驱动和模型驱动。 在模板驱动的映射中,文档和数据库之间没有预先的映射,而是在数据 转换软件处理的模板中嵌入说明命令。例如,下图所示的模板文件中以 元素的形式嵌入了 SELECT 语句。 大庆石油学院本科生毕业设计(论文) 14 The following flights have available seats: SELECT Airline,FltNumber,Depart,Arrive FROM Flights We hope one of these meets your needs 图 4.2 数据库与文档映射模板 当数据转换软件处理时,每个 SELECT 语句用数据库的查询结果来替换, 形成 XML 文档,如下图所示。模板驱动映射专用于从关系数据库到 XML 文 档的转换,该方法灵活方便。 图 4.3 从模板文件映射得到的 XML 数据文档 在模型驱动映射中,XML 文档中的数据根据预先定义的模型,明确或隐 含地映射到数据库中。在 XML 文档中的数据有两个公共的模型,即表模型 和对象模型。 表模型是基于表的映射,许多中间件产品都使用表映射在 XML 文档和 关系数据库之间转换数据。在该模型中,将 XML 文档作为一个单表或表集, XML 文档的结构如图 4.4 所示: The following flights have available seats: ACME Dec 6,2007 10:00 Dec 7,2007 8:00 We hope one of these meets your needs 大庆石油学院本科生毕业设计(论文) 15 图 4.4 基于表的映射 基于表的映射最突出的优点是简单性,特别适合两个关系数据库之间的 数据转换。但这种转换有一定的局限性,它只适用于小规模的 XML 文档, 并且没有保留文档的物理结构(如字符和实体引用、CDATA 部分或字符编 码) 、文档信息(如文档类型或 DTD) 、注释信息和处理指令等。另外,如果 XML 数据文档与上面的格式不符,则不能使用表映射模型。 对象模型是基于对象-关系的映射,它用于支持 XML 的关系数据库和一 些在 XML 文档和关系数据库之间转换数据的中间件产品中。在这个模型中, 将 XML 文档中的数据作为一个对象树,把具有属性的元素类型、元素内容 或混合内容(复杂数据类型)作为类进行建模,把仅具有 PCDATA 内容的元 素类型(简单数据类型) 、属性和 PCDATA 作为分级属性进行建模,然后使 用传统的对象关系映射技术或 SQL3 视图将这个模型映射到关系数据库,其 中类被映射成一个表,分级属性映射成表中的字段列, 对象值的属性被映射 成主键/外键对。在 XML 文档、对象和数据库表之间有着明显的对应关系, 如图 4.5 所示。 XML 文档元素 A 对象 A Object A B=”bbb” C=”ccc” D=”ddd” bbb ccc ddd 数据库表 A B C D bbbcccddd 图 4.5 对象模型的映射 大庆石油学院本科生毕业设计(论文) 16 一个 XML 文档按照模型映射后,就成为一个有方向,标记和顺序的图。 图中的节点代表数据元素,图中的边代表元素和它的子元素之间的关系。每 一个代表复杂类型数据元素的节点含有标记和由属性名和基本值对构成的序 列。代表基本类型数据元素的节点只含有字符串类型的值。图中的边有两种 类型,一种是代表普通父/子元素关系的边,由这条边的目的子元素的标记来 表示,另一种是代表交叉连接关系的边,由引入这种连接关系的属性的名称 来表示。而且,图的表示方式和数据模型表示方式是等效的。 4.1.3 XML 数据管理的发展方向 对于大量的应用来说,专门设计用来存储 XML 数据库系统能提供给它 们许多胜过传统数据存储机制的地方,比如简化开发过程,提供良好的性能 等。尽管已经有不少这样的系统已经应用的实践中,然而由于缺少一个统一 的标准,造成了用户在学习系统时的不便,以及系统间的互操作性差,妨碍 了在市场上的推广。为了解决这一问题,由 SMB Gmbh,dbXML Group 和 OpenHealth 联合发起的 XML:DB 组织正在试图开发 XML 数据库的标准以 及数据操作的技术。该组织已经制定了一些草案。当然,这离成为真正的标 准还有相当的距离。但是,毫无疑问,这代表着 XML 技术的一个重要的发 展方向。 XML:DB 正在进行的两项工作分别是:XML Database API 和 XUpdate。 XML Database API 工作的目标是制定通用的针对 XML 数据库的应用编 程接口。目前最新的版本是 2001 年 5 月 7 日发布的。XML Database API 是 按功能模块划分的,它一共包括了 3 个模块 API Base,Resource,Services。API Base 模块提供了基本的框架,Resources 模块提供了访问 XML 数据和二进制 数据的功能,Services 模块提供了对文档集合的查询以及事务的功能。凡是支 持这一标准的系统都需要实现前两个模块,也就是 Core Level 0,为了得到最 高的互操作性,系统需要实现全部三个模块,也就是 Core Level 1。 4.2 开发工具简介 4.2.1 开发工具 Delphi7.0 简介简介 Delphi 是一种功能强大的全新的可视化编程环境,为我们提供了一种方 便、快捷的 Windows 应用程序开发工具。它使用了 Microsoft Windows 图形 用户界面的许多先进特性和设计思想,采用了弹性可重复利用的完整的面向 对象程序语言(Object-Oriented Language)、当今世界上最快的编辑器、最为领 先的数据库技术。对于广大的程序开发人员来讲,使用 Delphi 开发应用软件, 无疑会大大地提高编程效率,而且随着应用的深入,您将会发现编程不再是 枯燥无味的工作。有人说:“真正的程序员用 VC;聪明的程序员用 Delphi。 ” 大庆石油学院本科生毕业设计(论文) 17 这句话也说明了 Delphi 的某些特点。面向对象的程序设计(Object-Oriented Programming,简记为 OOP)是 Delphi 诞生的基础。OOP 立意于创建软件重用 代码,具备更好地模拟现实世界环境的能力,这使它被公认为是自上而下编 程的优胜者。它通过给程序中加入扩展语句,把函数“封装”进 Windows 编程 所必需的“对象”中。面向对象的编程语言使得复杂的工作条理清晰、编写容 易。说它是一场革命,不是对对象本身而言,而是对它们处理工作的能力而 言。对象并不与传统程序设计和编程方法兼容,只是部分面向对象反而会使 情形更糟。除非整个开发环境都是面向对象的,否则对象产生的好处还没有 带来的麻烦多。而 Delphi 是完全面向对象的,这就使得 Delphi 成为一种触手 可及的促进软件重用的开发工具,从而具有强大的吸引力1。 Delphi 7.0 由三种不同的版本:标准(Standard)版、专业(Professional)版和 企业(Enterprise)版。 标准版主要面向刚入门和不常使用 Delphi 的编程人员。标准版中提供了 Delphi 的基本功能配置和基本的辅助工具。 专业版面向专业程序员。它不仅包括标准版中提供的功能,而且提供扩 展的数据库编程支持,部分 Internet 支持一些外部工具。 企业版是功能最强的版本。它面向开发大型应用程序的程序开发人员。 它在专业版的基础上扩展了对 Web 服务器、Corba、ADO、多级数据库的支 持。同时提供了一些附加的辅助工具,如 SQL、Builder、Team Source 等6。 根据以上 Delphi 各版本的特点,结合毕业设计的实际要求,我选用 Delphi 7.0 专业版作为开发工具。 4.2.2 Miscrosoft Visual Foxpro 6.0 简介 Visual FoxPro 是一个数据库管理系统软件。Visual FoxPro 是为数据库结 构和应用程序开发而设计的功能强大的面向对象的环境。第一次启动 Visual FoxPro 时,项目管理器将创建一个新的空项目。使用项目管理器可使你 很快熟悉 Visual FoxPro。项目管理器提供简易、可见的方式,组织处理表、 表单、数据库、报表、查询和其他文件,用于管理表和数据库或创建应用程 序。 FoxPro 数据类型有:数值型 N-存放数字;字符型 C-存放文字;日期 型 D-存放日期;逻辑型 L-存放真假;备注型 M-存放说明文字。FoxPro 的表达式相关术语有:常量-不变化的数据;变量-可变化的数据;数组- 一组变量;函数-可以完成某些操作;操作符。FoxPro 的命令格式:命令动 词 参数 。FoxPro 的文件类型有:数据库文件 dbc;数据表文件 dbf;备 注文件 dct;索引文件 dcx;表单文件 scx;程序文件 prg。 Microsoft Visual FoxPro 6.0 关系数据库系统是新一代小型数据库管理系 统的杰出代表,它以强大的性能、完整而又丰富的工具、极高的处理速度、 大庆石油学院本科生毕业设计(论文) 18 友好的界面以及完备的兼容性等特点,备受广大用户的欢迎。 Visual FoxPro 6.0 及其中文版,是可运行于 Windows 95 和 Windows NT 平台的 32 位数据库开发系统,它不仅可以简化数据库管理,而且能使应用程 序的开发流程更为合理。Visual FoxPro 6.0 使组织数据、定义数据
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025-2026学年湖南省岳阳市汨罗市七年级上学期期末生物试卷(无答案)
- 五年级上册数学试卷及答案
- 卫生监督试题及答案
- 王者猜题目及答案
- 关于母亲节演讲稿合集4篇
- 钢结构吊装技术安全要点
- 电机控制技术方法
- 2026届山东省烟台市高三上学期期末考试历史试题(含答案)
- 收银员考试多选题及答案
- 社区治理考试试题及答案
- 2025年广东省生态环境厅下属事业单位考试真题附答案
- 2026年安徽省公务员考试招录7195名备考题库完整参考答案详解
- 【地理】期末模拟测试卷-2025-2026学年七年级地理上学期(人教版2024)
- 统筹发展与安全课件
- 化工厂班组安全培训课件
- 2025四川成都农商银行招聘10人笔试备考题库及答案解析
- 营业执照借用协议合同
- 2025年秋苏教版(新教材)初中生物八年级上册期末知识点复习卷及答案(共三套)
- 弱电项目实施管理方案
- 2025年小升初学校家长面试题库及答案
- 2025年山西省公务员考试《申论》试题及答案解析(县乡卷)
评论
0/150
提交评论