主页 > 玩家风采 >
东森游戏:广东省基础水文数据库表格结构升级实施技术探讨

发布时间:2019-03-07 09:36 作者:李明发 来源:原创

论文关键词:水文数据库表结构升级

论文:本文总结了广东省水文数据库的现状,讨论了水文数据库表格结构3.0和4.0之间的主要差异,并针对水文数据库中表格结构升级解决的问题提出了具体的工作流程和解决方案。表结构3.0经过优化,调整和补充,表结构升级到4.0。

1全省水文数据库现状概述

水文资料是水利工程的基础。为了提供准确和快速的水文数据,数据的科学存储是一个关键问题。目前的水文资料包括:降雨量,蒸发量,水位,流量和沉积物浓度。数据库是当今企业数据存储的主要方式。应用数据库技术存储水文观测数据形成了水文数据库。在水文数据库中,数据以表格的形式存储。这些表的名称,表中每列的名称,数据类型等称为表结构。

广东水文数据库于1991年开始建设,并于1998年完成并被接受。到目前为止,新的综合数据已经增加。水文数据库的建立改变了水文数据存储在纸质媒体中的方式,使数据存储在人类磁媒体时代。以电子版本提供数据极大地方便了数据的查询和使用。许多水利信息项目,如三防指挥系统,流域水资源信息和管理,提供了便利,在实际生产和应用中发挥了重要作用。

水文数据库使用sqlserver2000作为数据库管理系统,表结构经历了从1东森游戏:.0版到3.0版的演变。 3.0版是一个相对成熟的版本。经过十年的应用,它为水文数据存储的标准化做出了巨大的贡献。但是,在长期应用中,3.0版本也发现了一些不足之处,因此水文部组织的专家在3.0的基础上进行了修订,形成了4.0版本。因此,省级水文数据库从3.0版升级到4.0版成为一个亟待解决的实际问题。

2水文数据库表结构3.0和4.0比较

水文数据库表结构3.0的主要问题是: 1时间维处理是不合理的; 2一些表的表格列太多; 3一些有用的数据不是建表存储; 4没有字典表。

表结构4.0因上述缺点而得到改进。首先,时间数据类型(dt类型)用于表示时间维度,例如:。日平均水位表3.0表结构如表1所示。日平均水位表4.0表结构如表2所示。

比较表1和表2,日平均水位3.0表结构有66列,而4.0表结构只有4列。 3.0表结构的时间维度由列中的年,月和日以及4.0表结构中的时间维表示。列中的统一表示,极大地方便了SQL语句的编写,并且列上的时间集中表明它有利于后续的数据分析工作。其次,当一个表包含太多列时,表明该表缺乏内聚力。它尝试存储来自多种类型实体的数据。使用垂直拆分将某些列移动到另一个表可以减小表的大小并提高性能。例如,:表结构3.0将month,tense和year的数据放在同一个表中,在一个表中生成数百个表列,4.0将month,tense和year的数据分成三个表,从而改进。性能。表结构4.0再次添加和修改了一些表,以便扩展存储的内容并使存储更加合理和有效。如果添加关系线表以存储水位流量关系,则修改测量的大截面表。最后,Table Structure 4.0添加了一个字典表类,便于描述和使用元数据。3表结构升级实现技术

3.1表结构升级转换需要解决

表结构的升级可能涉及很多问题,主要问题是:

1)建立新表格。新表的建立主要讨论了新表结构的合理性,并确保新表的建立是正确的。

2)数据质量控制,控制将数据从旧库传输到新库时发生的数据转换错误。新库中的错误数据可能来自旧库中的错误,也可能来自转换过程中的错误或不良考虑因素。应该确保与旧库相比,新库的数据质量得到改善。

3)功能恢复,主要是参照完整性,方法(存储过程,存储功能,触发器),外部程序的恢复。水文数据库是一个多应用程序数据库。有许多外部程序可以访问它。数据库升级人员很难控制这些程序。在这种情况下,数据库的修改将不可避免地影响外部访问系统。解决方案是两个:。首先是执行功能恢复。升级人员与应用程序开发人员合作修改应用程序以适应新的数据库表结构。第二种是建立一个过渡期,其中新旧数据库同时运行,并继续使用原始应用程序。旧库,新应用程序使用新库。通常,组合使用上述两种方法,即,在建立过渡期的同时执行部分功能恢复。

4)数据加载策略,由于大量的水文数据和每年的新数据,数据加载具有增量加载功能。同时,如果在过渡期间频繁添加,删除或更改数据,则应保持新旧库的内容同步。

3.2升级转换过程

生产环境中的安全数据库升级转换过程如图1所示:

验证数据库是否需要升级是转换价值和投资比率的组合,以确定是否需要进行此类转换以及开销是否过大。水文部门有许多数据来源,例如基础水文数据库和水专用数据库。升级程序确定放置各种数据的位置以便引用。数据库转换是一个重复的过程。每次形成新表时,都是构建表,编写数据转换加载和同步代码,数据加载和结果测试的过程。只有在测试正确时,才会创建下一个新表。这种每次采取一小步的方法很容易降低实现程序的复杂性,并且很容易找到转换错误。所有新表格在发布之前都要经过测试。

3.3实施方法

首先,分析sl324-2005《基础水文数据库表结构及标识符标准》(即表结构4.0)以验证转换的必要性。由于用于存储测试数据的表类是常用的表类,并且测试数据格式相对固定,因此表结构相对完整,因此给出了优先级。转换类表如下:

使用sqlserver企业管理器创建一个新的表结构,如图2所示。

使用t-sql语言编写数据转换和加载程序,如:使用语句(insertintohyyrzfselectstcd,yr,yravz,yravr,yrmxz,yrmxr,yrmxmd,yrmnz,yrmnr,yrmnmdfromzmystwhereyr=2007)可用于表3.0水位表月度统计数据2007年的数据逐步加载到4.0的年度水位表中。如果在转换过程中存在质量控制请求,例如类型转换和数据格式检测,则必须使用更复杂的程序段。例如,:降雨记录表t-sql转换程序如下:

声明变量@sled,@ yr,@和@ bghrmt,@ edhrmt,

@ p,@ prm存储查询数据

声明变量@bgdt,@ eddt存储转换后的时间数据

创建与降雨记录prex相关联的游标my_cursorl

通过光标读取记录给孩子@sled,@ yr,@和,@

Bghrmt,@ edhrmt,@ p,@ prm

虽然@@ fetchstatus=0)

开始

处理降雨结束,

如果@ edhrmt=2400)

开始

处理降雨时间结束时为24: 00

结束

其他

@如果edhrmt @ bghrmt)

开始

东森游戏:广东省基础水文数据库表格结构升级实施技术探讨

处理跨日期的情况

结束

其他

记录的时间段内没有跨日情况

处理降雨的开始,

插入数据,

Insertintohy_prex_bvalues(@雪橇,@ bgdt,@ EDDT,@ P,@ PRM)

记录下来

此外,您可以使用触发器来保持旧表和新表的同步添加和删除,以便在将数据添加到旧表或从旧表中删除时,在新表中修改触发器,例如为:。 3.0在降雨记录表中写入一个人工触发器,插入相应的记录t一个sql程序如下:

Createtriggerprexinsertonprexforinsertas

同时写入删除触发器,删除相应的记录t sql程序如下:

Createtriggerprexdeleteonprexfordeleteas

这样可以保持旧表与新表的同步更新。

3.4结果

应用上述技术,完成了广东省水文数据库表格结构从3.0到4.0的转换,并通过触发同步技术实现了每年新数据转换过程的自动化。通过表结构4.0的转换和向用户提供数据,新的表结构使用方便,所提供的数据格式更加科学合理。此外,由于升级转换过程中严格的数据质量控制,旧库中的许多错误得到纠正,数据表达方法统一,从而提高了新库数据的质量。

4。结论

对于大型数据库表结构,数据库升级是必要且常见的,因为不可能完美地设计。企业数据库升级是一个复杂的系统过程,有必要协调各方面的考虑,以便很好地完成任务。水文数据库表结构已从3.0升级到4.0,以提高数据库的性能,为水文数据用户提供更好的服务。

推荐文章

热门文章

东森游戏平台专业提供东森注册开户、相关产品和服务。东森官方注册是行业中极具实力的品牌销售和服务机构。

CopyRight © 版权所有: 东森娱乐科技有限公司 备案号:浙ICB备82719号