试论广东省基础水文数据库表结构升级实现技术探讨_第1页
试论广东省基础水文数据库表结构升级实现技术探讨_第2页
试论广东省基础水文数据库表结构升级实现技术探讨_第3页
试论广东省基础水文数据库表结构升级实现技术探讨_第4页
试论广东省基础水文数据库表结构升级实现技术探讨_第5页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、试论广东省根底水文数据库表构造晋级实现技术讨论论文关键词:水文数据库表构造晋级1我省水文数据库现状概述水文资料是水利工程的根底,为了到达准确快速地提供水文资料,资料的科学存储是个关键问题。当前水文资料主要包括:降雨量、蒸发量、水位、流量、含沙量等内容。数据库是现今企业数据存储的主要方式,应用数据库技术来存储水文观测资料就形成了水文数据库。在水文数据库中数据以表的形式存储,这些表的名称、表中每列的名称、数据类型等称为表构造。广东省水文数据库由1991年开场建立,到1998年建成验收,至今每年都加人新的整编数据。水文数据库的建立改变了水文资料以纸介质存储数据的方式,使资料的存储进人磁介质的时代,以

2、电子版本的方式提供数据极大方便了数据的查询和使用,为水情专用数据库、三防指挥系统、流域水信息与管理等许多水利信息化工程提供了方便,在实际消费应用中发挥了重要作用。比拟成熟的版本,历经十年的应用,在水文数据存储的标准化方面做出了重要奉献,但在长期的应用中3.0版本也发现了一些缺乏之处,于是部水文局组织有关专家在3.0的根底上修订形成了4.0版本。从而使我省水文数据库从3,0版本到4.0版本的晋级成为现实需要解决的问题。比照水文数据库表构造3.0主要存在的问题有:时间维的处理不合理;一些表表列数太多;一些有用数据没有建表存储;没有字典表。表构造4.0针对以上缺点做了改善,首先使用时间数据类型(dt

3、类型)统一时间维的表示,如:逐日平均水位表3.0表构造如表1;逐日平均水位表4.0表构造如表2。比照表1、表2可见日平均水位3.0表构造有66列,而4.0表构造只有4列,3.0表构造的时间维中年份、月份、各日在列中表示,4.0表构造中的时间维统一在一列中表示,这样极大方便了sql语句的编写,而且时间集中到一列上表示有利于随后的数据分析工作。其次,一个表包含太多的列时,说明这个表缺乏内聚,它试图存放来自几类实体的数据,使用垂直分割将一些列移到另一个表中,可以减少表的规模,改善性能。如:表构造3.0把月、旬、年的数据放在同一表中,导致一个表中有上百的表列,而4.0把月、旬、年的数据分开到三个表中存

4、放,改善了性能。再次表构造4.0增加和修改了一些表,使得存储的内容得到扩大,存储更加合理高效。如增加了关系线表来存储水位流量关系,修改了实测大断面表等。最后表构造4.0增加了字典表类,这样有利于元数据的描绘和使用。3表构造晋级实现技术3.1表构造晋级转换需要解决的问题表构造的晋级可能会涉及很多问题,主要要解决的问题有:1)新表的建立。新表的建立主要讨论新表构造的合理性,确保新表的设立是正确的。2)数据质量控制,要控制从旧库到新库转移数据时出现的数据转换错误。新库中错误的数据可能来自于旧库中的错误,也可能来自于转换程序的错误或考虑不周。应该确保新库的数据质量比旧库有所进步。3)功能恢复,主要是参

5、照完好性、方法(存储过程、存储函数、触发器)、外部程序的恢复。水文数据库是多应用数据库,有许多外部程序对其进展访问,数据库晋级人员对这些程序几乎是不能控制的,在这种情况下数据库的修改必然对外部访问系统造成影响,解决的方法有二:一是进展功能恢复,晋级人员与应用程序开发者协作,修改应用程序使其能适应新的数据库表构造;二是设立过渡期,在这其间使新老数据库同时运行,原来的应用程序继续使用老库,新应用使用新库。通常会结合使用上述两种方法,即进展部分功能恢复同时设立过渡期。4)数据加载策略,由于水文数据量较大,而且每年都有新增数据,所以数据加载要有增量加载功能。同时,在过渡期间假如数据的增、删、改比拟频繁

6、,应该保持新旧库内容的同步。3.2晋级转换的过程在消费环境中平安的数据库晋级转换流程如图1:验证数据库是否需要晋级转换是综合考虑转化所获得的价值与投人之比,以确定是否需要这样的转换,是否开销过大。水文部门的数据源很多,如根底水文数据库、水情专用数据库等。晋级人员要确定各种数据所放的位置才能引用。数据库的转换是一个重复的过程,每次形成一个新表都要经过建表、编写数据转换加载及同步代码、数据加载、结果测试这样一个过程,只有测试无误了才进人下一个新表的建立,这种采取每次一小步的方法容易降低实现程序的复杂性,容易发现转换错误所在。所有新表测试通过后才可以发布使用。3.3实现方法首先对sl324-2022

7、?根底水文数据库表构造及标识符标准?(即表构造4.0)进展分析以验证转化的必要性,由于存放测验数据的表类是常用的表类,而且测验数据格式比拟固定,表构造比拟完善,所以优先转换该类表,方法如下:使用sqlserver企业管理器创立新表构造,如图2。假如转换过程中有类型转化、数据格式检测等质量控制要求,那么需要用比拟复杂的程序段来完成。如:降雨量摘录表的t一sql转换程序如下:声明变量sled,yr,and,bghrt,edhrt,p,pr存储查询数据声明变量bgdt,eddt存储转换后的时间数据创立游标y_ursrl关联到降雨量摘录表prex通过游标读一条记录到变童sled,yr,and,bghr

8、t,edhrt,p,pr中hilefethstatus=0)begin处理降雨量完毕时间、ifedhrt=2400)begin处理降雨完毕时间为24:00的情况endelseifedhrtbghrt)begin处理摘录时段跨日的情况endelse摘录时段无跨日的情况处理降雨量开场时间、插人数据、insertinthy_prex_bvalues(sled,bgdt,eddt,p,pr)取下一条记录end另外,可使用触发器保持旧表和新表的同步增删,这样当数据加人到旧表或从旧表中删除数据的时候就通过触发器在新表中作相应的修改,如:对3.0中降雨量摘录表写插人触发器,插人相应记录的t一sql程序如下:reatetriggerprexinsertnprexfrinsertas同时写删除触发器,删除相应记录的t一sql程序如下:reatetriggerprex

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论