试论广东省基础水文数据库表结构升级实现技术探讨的论文.docVIP

  • 3
  • 0
  • 约3.25千字
  • 约 4页
  • 2017-04-28 发布于广东
  • 举报

试论广东省基础水文数据库表结构升级实现技术探讨的论文.doc

试论广东省基础水文数据库表结构升级实现技术探讨的论文.doc

  试论广东省基础水文数据库表结构升级实现技术探讨的论文    论文 关键词:水文数据库表结构升级   论文摘要:该文概述了广东省水文数据库现状,讨论了水文数据库表结构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主要存在的问题有:①时间维的处理不合理;②一些表表列数太多;③一些有用数据没有建表存储;④没有字典表。 表结构4.0针对以上缺点做了改善,首先使用时间数据类型(dt类型)统一时间维的表示,如:逐日平均水位表3.0表结构如表1;逐日平均水位表4.0表结构如表2。   对比表1、表2可见日平均水位3.0表结构有66列,而4.0表结构只有4列,3.0表结构的时间维中年份、月份、各日在列中表示,4.0表结构中的时间维统一在一列中表示,这样极大方便了sql语句的编写,而且时间集中到一列上表示有利于随后的数据分析工作。其次,一个表包含太多的列时,说明这个表缺乏内聚,它试图存放来自几类实体的数据,使用垂直分割将一些列移到另一个表中,可以减少表的规模,改善性能。如:表结构3.0把月、旬、年的数据放在同一表中,导致一个表中有上百的表列,而4.0把月、旬、年的数据分开到三个表中存放,改善了性能。再次表结构4.0增加和修改了一些表,使得存储的内容得到扩充,存储更加合理高效。如增加了关系线表来存储水位流量关系,修改了实测大断面表等。最后表结构4.0增加了字典表类,这样有利于元数据的描述和使用。   3表结构升级实现技术   3.1表结构升级转换需要解决的问题 表结构的升级可能会涉及很多问题,主要要解决的问题有: 1)新表的建立。新表的建立主要讨论新表结构的合理性,确保新表的设立是正确的。 2)数据质量控制,要控制从旧库到新库转移数据时出现的数据转换错误。新库中错误的数据可能来自于旧库中的错误,也可能来自于转换程序的错误或考虑不周。应该确保新库的数据质量比旧库有所提高。 3)功能恢复,主要是参照完整性、方法(存储过程、存储函数、触发器)、外部程序的恢复。水文数据库是多应用数据库,有许多外部程序对其进行访问,数据库升级人员对这些程序几乎是不能控制的,在这种情况下数据库的修改必然对外部访问系统造成影响,解决的方法有二:一是进行功能恢复,升级人员与应用程序开发者协作,修改应用程序使其能适应新的数据库表结构;二是设立过渡期,在这其间使新老数据库同时运行,原来的应用程序继续使用老库,新应用使用新库。通常会结合使用上述两种方法,即进行部分功能恢复同时设立过渡期。 4)数据加载策略,由于水文数据量较大,而且每年都有新增数据,所以数据加载要有增量加载功能。同时,在过渡期间如果数据的增、删、改比较频繁,应该保持新旧库内容的同步。   3.2升级转换的过程 在生产环境中安全的数据库升级转换流程如图1: 验证数据库是否需要升级转换是综合考虑转化所获得的价值与投人之比,以确定是否需要这样的转换,是否开销过大。水文部门的数据源很多,如基础水文数据库、水情专用数据库等。升级人员要确定各种数据所放的位置才能引用。数据库的转换是一个重复的过程,每次形成一个新表都要经过建表、编写数据转换加载及同步代码、数据加载、结果测试这样一个过程,只有测试无误了才进人

文档评论(0)

1亿VIP精品文档

相关文档