数据库结构

数据库结构,第1张

新一轮油气资源评价数据库是建立在国家层面上的数据库,数据库设计首先立足于国家能源政策和战略制定的宏观要求,还要结合油气资源评价的工作特征和各个评价项目及资源的具体情况。使用当前最流行和最成熟的数据库技术进行数据库的总体结构设计。

数据库的设计以《石油工业数据库设计规范》为指导标准,以《石油勘探开发数据》为设计基础,借鉴前人的优秀设计理念和思路,参考国内外优秀的资源评价数据库和油气资源数据库的设计技术优势,结合本轮资源评价的具体特点,按照面向对象的设计和面向过程的设计相结合的设计方法,进行数据库的数据划分设计。

油气资源评价数据库要满足新一轮全国油气资源评价工作的常规油气资源评价、煤层气资源评价、油砂资源评价、油页岩资源评价四个油气资源评价的数据需求。进行数据库具体数据内容设计。

并且,数据库的设计要为油气资源评价的快速、动态评价和远程评价工作的需求保留足够数据扩展接口,数据库具有良好开放性、兼容性和可扩充性。

(一)数据划分

数据库内存放的数据将支持资源评价的整个过程。为了能更好地管理库中数据,需要对整个过程中将用到的数据进行分类管理。具体分类方式如下(图4-11):

图4-11 数据分类示意图

1.按照应用类型划分

按照数据在资源评价过程中的应用类型划分,可以划分为基础数据、参数数据和评价结果数据。

基础数据是指从勘探生产活动及认识中直接获取的原始数据,这些数据一般没有经过复杂的处理和计算过程。如分析化验数据、钻井地质数据、盆地基础数据等。这些数据是整个评价工作的基础。

参数数据是指在评价过程中各种评价方法和软件直接使用的参数数据。

评价结果数据是指资源评价中产生的各种评价结果数据,如资源量结果数据、地质评价结果数据等。

2.按照评价对象划分

本次评价共分为大区、评价单元、计算单元三个层次,在研究中又使用了盆地、一级构造单元,在评价对象总体考虑中按照评价对象将数据划分为大区、评价单元、计算单元等类型。

3.按照获取方式划分

按照获取方式可以将数据分为直接获取、研究获取、间接获取几类。

4.按照存储类型划分

按照存储类型可以将数据划分为结构化数据和非结构化数据。

结构化数据是指能够用现有的关系数据库系统直接管理的数据,进一步又可以分为定量数据和定性数据两类。

非结构化数据是指不能用现有的关系数据库系统直接管理和 *** 作的数据,它必须借助于另外的工具管理和 *** 作。如图件数据、文档数据等。

库中数据类型的划分共分六个层次逐次划分,包括:数据存储类型→资源类型→评价对象→应用→获取方式→数据特征。

对于结构化存储的数据在应用层分为三类:基础数据、中间数据和结果数据,基础数据中包含用于类比的基础数据、用于统计分析的基础数据和直接用于公式运算的基础数据;结构化存储的数据在获取方式上可以继续划分,其中,用于公式运算的数据可以细化为专家直接录入、由地质类比获取、通过生产过程获取、通过地质研究过程获取及其他方式。中间数据可以从以下方式获取:标准、统计、类比、参数的关联。结果数据的获取有两种方式:公式运算结果和通过钻井、地质、综合研究等提交的文字报告。

对于非结构化存储的数据在应用层分为两类:图形数据和文档数据。

图形数据在获取方式上可以继续划分成四种方式:通过工程测量数据获取(如地理图件、井位坐标数据等)、通过地质研究过程获取(如沉积相图、构造区划图等)、由综合研究获取(如综合评价图等)、其他方式。

图形数据在表现方式上又可以进一步分为有坐标意义的图形(如构造单元划分图、地理图、井位图等)、数值图(如产烃率曲线图、酐洛根热降解图等)和无坐标含义图(如剖面图)等。

文档数据是指评价过程中产生的各种报告、项目运行记录等。

(二)数据库结构

从业务需求上,根据数据用途、数据类型和数据来源,可将本次的油气资源评价数据库分为三级:基础库、参数库、成果库(图4-12)。其结构如下:

图4-12 数据库结构示意图

1.基础库

基础库是油气资源评价工作的最基础的原始数据,有实测数据(物探数据、测井数据、钻井数据、开发数据等)、实验数据和经验数据等。

确定基础数据实际上是一项涉及油田勘探、开发等领域的多学科的复杂工作,是油气资源评价工作的研究过程和研究成果在数据库中的具体表现方式。在设计数据库的过程中,需要与参数研究专家经过多次反复,才能最终确定基础数据库,确保基础数据库能满足目前所有评价工作中计算的需要。

2.参数库

参数库用于存储油气资源评价工作所用到的参数数据,评价软件,直接从参数库中提取参数数据,用于计算。参数数据由基础数据汇总而来,也可以由专家根据经验直接得到。

本次评价中所涉及的参数大致可以分为以下几类:①直接应用的参数;②通过标准或类比借用的参数;③通过研究过程或复杂的预处理得到的参数。

3.成果库

成果库用于存储资源评价结果,包括各种计算结果、各种文档、电子表格、图片、图册等数据。

数据库的体系结构采用分布式多层数据库结构,包括三个组成部分:应用服务层、应用逻辑层和数据服务层。

数据库体系结构如图4-13所示。

图4-13 体系结构结构图

(1)应用服务层:应用服务层包含复杂的事务处理逻辑,应用服务层主要由中间件组件构成。中间件是位于上层应用和下层服务之间的一个软件层,提供更简单、可靠和增值服务。并且能够实现跨库检索的关键技术。它能够使应用软件相对独立于计算机硬件和 *** 作系统平台,把分散的数据库系统有机地组合在一起,为应用软件系统的集成提供技术基础,中间件具有标准程序接口和协议,可以实现不同硬件和 *** 作系统平台上的数据共享和应用互 *** 作。而在具体实现上,中间件是一个用API定义的分布式软件管理框架,具有潜在的通信能力和良好的可扩展性能。中间件包含系统功能处理逻辑,位于应用服务器端。它的任务是接受用户的请求,以特定的方式向应用服务器提出数据处理申请,通过执行相应的扩展应用程序与应用服务层进行连接,当得到应用服务器返回的处理结果后提交给应用服务器,再由应用服务器传送回客户端。根据国内各大石油公司具体的需求开发相应的地质、油藏、生产等应用软件功能程序模块和各种算法模块。

(2)应用逻辑层:逻辑数据层是扩展数据服务层逻辑处理层,针对当前的底层数据库的数据结构,根据具体的需求,应用各种数据库技术,包括临时表、视图、存储过程、游标、复制和快照等技术手段从底层数据库中提取相关的数据,构建面向具体应用的逻辑数据库或者形成一个虚拟的数据库平台。逻辑数据层包含底层数据库的部分或全部数据处理逻辑,并处理来自应用服务层的数据请求和访问,将处理结果返回给逻辑数据层。

形成一个虚拟的数据库平台我们可以应用数据库系统中的多个技术来实现。如果系统中的一个节点中的场地或分片数据能够满足当前虚拟数据库,可以在应用服务层中使用大量的查询,生成一个以数据集结果为主的虚拟数据库平台,并且由数据集附带部分数据库的管理应用策略。或者对节点上的数据库进行复制方法进行虚拟数据库的建立。对与需要对多个节点上的数据库进行综合筛选,则要对各个节点上的数据库进行复制,合并各个复制形成一个应用逻辑层,从而建立一个虚拟数据平台。

(3)数据服务层:即数据库服务器层,其中包含系统的数据处理逻辑,位于不同的 *** 作系统平台上,不同数据库平台(异构数据库),具体完成数据的存储、数据的完整性约束。也可以直接处理来自应用服务层的数据请求和访问,将处理结果返回给逻辑数据层或根据逻辑数据层通过提交的请求,返回数据信息和数据处理逻辑方法。

(三)数据建设标准

1.评价数据标准

系统数据库中的数据格式、大小、类型遵从国家及行业标准,参考的标准如表4-23。

表4-23 数据库设计参考标准

续表

系统中数据的格式及单位参考《常规油气资源评价实施方案》、《煤层气资源评价实施方案》、《油砂资源评价实施方案》、《油页岩资源评价实施方案》及数据字典。

2.图形图件标准

对于地质研究来说,地质类图件是比较重要的。各种地质评价图形遵循以下标准(表4-24)。

表4-24 系统图形遵循的相关标准

系统对图形的要求为必须为带有地理坐标意义的、满足上述标准体系要求的矢量图形,且采用统一的地理底图。图形格式采用:MapGIS图形交换格式、GeoInfo图形格式、ArcInfo图形交换格式、MapInfo图形交换格式和GeoMap图形交换格式。

图件的比例尺要求:

全国性图件:1∶400万或1:600万

大区图件:1:200万

盆地图件:1:40万或1:50万

评价单元图件:1:10万或1:20万

图件的内容要求符合《常规油气资源评价实施方案》、《煤层气资源评价实施方案》、《油砂资源评价实施方案》和《油页岩资源评价实施方案》的规定。

(四)数据内容

数据库中存储的数据包括常规油气相关数据、煤层气相关数据、油砂相关数据和油页岩相关数据;还有可采系数研究涉及的数据,包括研究所需基础数据和研究成果数据;以及趋势预测相关数据。

sqlserver的话,右键数据库,选择任务,里面就有生成脚本功能

按提示就可以生成数据库整个表,甚至所有对象的结构创建脚本

对于单独结构,可以右键到具体表,也有create功能,可以生成创建脚本

模型的转换 E-R图如何转换为关系模型呢?我们先看一个例子。

图2.1是学生和班级的E-R图,学生与班级构成多对一的联系。根据实际应用,我们可以做出这个简单例子的关系模式:

学生(学号,姓名,班级)

班级(编号,名称)

“学生.班级”为外键,参照“班级.编号”取值。

这个例子我们是凭经验转换的,那么里面有什么规律呢?在2.2节,我们将这些经验总结成一些规则,以供转换使用。 (1)一个实体型转换为一个关系模式

一般E-R图中的一个实体转换为一个关系模式,实体的属性就是关系的属性,实体的码就是关系的码。

(2)一个1:1联系可以转换为一个独立的关系模式,也可以与任意一端对应的关系模式合并。

图2.2是一个一对一联系的例子。根据规则(2),有三种转换方式。

(i) 联系单独作为一个关系模式

此时联系本身的属性,以及与该联系相连的实体的码均作为关系的属性,可以选择与该联系相连的任一实体的码属性作为该关系的码。结果如下:

职工(工号,姓名)

产品(产品号,产品名)

负责(工号,产品号)

其中“负责”这个关系的码可以是工号,也可以是产品号。

(ii) 与职工端合并

职工(工号,姓名,产品号)

产品(产品号,产品名)

其中“职工.产品号”为外码。

(iii) 与产品端合并

职工(工号,姓名)

产品(产品号,产品名,负责人工号)

其中“产品.负责人工号”为外码。

(3)一个1:n联系可以转换为一个独立的关系模式,也可以与n端对应的关系模式合并。

(i) 若单独作为一个关系模式

此时该单独的关系模式的属性包括其自身的属性,以及与该联系相连的实体的码。该关系的码为n端实体的主属性。

顾客(顾客号,姓名)

订单(订单号,……)

订货(顾客号,订单号)

(ii) 与n端合并

顾客(顾客号,姓名)

订单(订单号,……,顾客号)

(4)一个m:n联系可以转换为一个独立的关系模式。

该关系的属性包括联系自身的属性,以及与联系相连的实体的属性。各实体的码组成关系码或关系码的一部分。

教师(教师号,姓名)

学生(学号,姓名)

教授(教师号,学号)

(5)一个多元联系可以转换为一个独立的关系模式。

与该多元联系相连的各实体的码,以及联系本身的属性均转换为关系的属性,各实体的码组成关系的码或关系码的一部分。

(6)具有相同码的关系模式可以合并。

(7)有些1:n的联系,将属性合并到n端后,该属性也作为主码的一部分

这类问题多出现在聚集类的联系中,且部分实体的码只能在某一个整体中作为码,而在全部整体中不能作为码的情况下才出现(其它情况本人还没碰到,呵呵,欢迎指教)。

比如上篇文章介绍的管理信息系统中订单与订单细节的联系。

关于什么是聚集,2.3节介绍。 这部分本应在概念设计中介绍的,用到了才想起来,这里补充一下。

关于现实世界的抽象,一般分为三类:

(1) 分类:即对象值与型之间的联系,可以用“is member of”判定。如张英、王平都是学生,他们与“学生”之间构成分类关系。

(2) 聚集:定义某一类型的组成成分,是“is part of”的联系。如学生与学号、姓名等属性的联系。

(3) 概括:定义类型间的一种子集联系,是“is subset of”的联系。如研究生和本科生都是学生,而且都是集合,因此它们之间是概括的联系。

例:猫和动物之间是概括的联系,《Tom and Jerry》中那只名叫Tom的猫与猫之间是分类的联系,Tom的毛色和Tom之间是聚集的联系。

订单细节和订单之间,订单细节肯定不是一个订单,因此不是概括或分类。订单细节是订单的一部分,因此是聚集。 有了关系模型,可以进一步优化,方法为:

(1) 确定数据依赖。

(2) 对数据依赖进行极小化处理,消除冗余联系(参看范式理论)。

(3) 确定范式级别,根据应用环境,对某些模式进行合并或分解。

以上工作理论性比较强,主要目的是设计一个数据冗余尽量少的关系模式。下面这步则是考虑效率问题了:

(4) 对关系模式进行必要的分解。

如果一个关系模式的属性特别多,就应该考虑是否可以对这个关系进行垂直分解。如果有些属性是经常访问的,而有些属性是很少访问的,则应该把它们分解为两个关系模式。

如果一个关系的数据量特别大,就应该考 虑是否可以进行水平分解。如一个论坛中,如果设计时把会员发的主贴和跟贴设计为一个关系,则在帖子量非常大的情况下,这一步就应该考虑把它们分开了。因为 显示的主贴是经常查询的,而跟贴则是在打开某个主贴的情况下才查询。又如手机号管理软件,可以考虑按省份或其它方式进行水平分解。 这部分主要是考虑使用方便性和效率问题,主要借助视图手段实现,包括:

(1) 建立视图,使用更符合用户习惯的别名。

(2)对不同级别的用户定义不同的视图,以保证系统的安全性。

(3)对复杂的查询 *** 作,可以定义视图,简化用户对系统的使用。

物理设计主要工作是选择存取方法(索引),以及确定数据库的存储结构,这里就不说明了。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9899069.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-03
下一篇 2023-05-03

发表评论

登录后才能评论

评论列表(0条)

保存