• 美文
  • 文章
  • 散文
  • 日记
  • 诗歌
  • 小说
  • 故事
  • 句子
  • 作文
  • 签名
  • 祝福语
  • 情书
  • 范文
  • 读后感
  • 文学百科
  • 当前位置: 柠檬阅读网 > 范文 > 正文

    气象水文数据库 时态数据库技术在水文信息服务中的应用研究

    时间:2019-04-20 03:16:01 来源:柠檬阅读网 本文已影响 柠檬阅读网手机站

      摘要:水文信息中存在着大量的历史数据和随时间变化的实时数据,时态特性显著。该文结合水文信息服务的实际应用特点,在关系数据库基础上,设计基于视图的水文时态数据模型;为时态数据模型的实现设计了时态处理中间层,把前端的时态SQL语句的解析成底层关系数据库系统能够识别的标准SQL语句,从而实现水文数据的各种时态处理。重点对水文时态查询、水文时态聚集方面进行了深入研究,并给出了实例测试,实现了水文时态数据库的应用。
      关键词:时态数据库;水文时态模型;时态中间层;时态查询
      中图分类号:TP317.1文献标识码:A文章编号:1009-3044(2012)13-2982-03
      Research and Application of Temporal Database in Hydrological Information Service
      ZHANG Ai-hua
      (Education Technology Center ,Huzhou Education College ,Huzhou 31300,China)
      Abstract:There are a lot of history data and time-varying real data in hydrological information, the temporal characteristics are very significant. Combing with specific application of hydrological, the paper proposes hydrologic temporal data management program and hydrologic temporal model basing on relation database system. Design the middle layer to achieve the hydrologic temporal model. It can parse temporal SQL to standard SQL that the relational database can identify and process. It especially considers achieving the temporal query, temporal aggregation and gives specific examples. It achieves hydrological applications of temporal database.
      Key words: temporal database; hydrological temporal model; temporal middle layer;temporal query
      1研究背景与意义
      时态数据库是具有时态处理机制的数据库,对时态数据的表达清晰易懂,能够真正地在语义上解释用户自定义时间、有效时间和事务时间以及它们相互间的关系,它可以提供任何时刻和时间段的数据。但迄今为止,在实践中还没有真正实现一个完整的时态数据库系统,也没有出现过能够进行时态处理的商业数据库管理系统[1]。
      水文信息包括水文历史信息、实时水雨情信息。而水文历史数据库数据量庞大,有历年的各种水文数据,包括基本信息类、摘录类、日类、旬类、月类、年类、实测调查表等。大多数表都是存储随时间变化的信息,包括时点水文实时信息、时段统计信息、时段历史信息等。水文信息实际上应用到的是随着这些时间变化的时变信息,所以在查询应用这些时变信息时首先要处理时间值。时态数据库能更高效直接的处理水文特征值,通过时态聚集方法统计计算水文时态信息的均值、极值等特征值。水文时态数据库为动态监测和分析提供了丰富的时态数据,它可以为分析提供横向的现实和纵向的历史数据,对历史、当前和将来进行对比、分析、监测和预测预报。因此研究把时态数据库的相关概念、模型、技术应用到水文信息领域有很大的研究应用价值:研究适合水文数据的时态数据模型,进一步丰富了时态数据库的模型建立,推进时态数据库模型发展。在时态信息查询方面,主要是扩展传统的关系数据库查询语言SQL或Quel,在时态数据库中增加一些运算,如时态关系after、before和overlaps等;扩展SQL操作,如时态查询、时态聚集、时态选择,时态投影、时态连接等[2] [3]。
      2方案设计
      由于目前还没有真正的时态数据库系统,水文时态数据的管理模型是在分层扩展模式基础上进行研究,设计符合水文应用的水文时态数据模型以及模型的时态处理。由于与水文信息服务应用密切相关,基础水文数据库已经确定,所以这里在不改变底层水文数据模型基础上增加时态特性建立水文时态数据模型,即不需要改变水文数据原先的数据库结构,再在此模型基础上建立一个时态中间层解析时态语句,这个中间层只是建立在传统的DBMS上的一个前端应用层,支持建立在SQL上的时态查询语言、时态修改声明、时态视图、时态完整性约束等,实现基本的时态数据管理功能。
      水文时态数据管理层示意图如图1所示。
      从图1的结构可以看出,要实现水文数据的时态应用,必须解决:时态SQL语句与标准SQL语句之间的映射问题;时态数据与原水文数据之间的映射问题。
      
      图1水文时态数据管理方案
      解决这两个问题实现这个管理主要从以下两个方面考虑:
      (1)水文时态数据的存储:这里水文时态数据还是存储在底层关系数据库中,在基础数据库之上建立一个时态视图,所有的时态操作都是在这个时态视图上进行的。
      (2)时态操作的实现:时态操作包括时态定义、时态插入、时态删除、时态查询等,我们提出了加入时态处理中间层的解决策略,从而能以较小的代价实现时态数据的存取、更新等操作。时态中间层是用户和传统查询语言之间起沟通作用的桥梁,通过这个中间模块可以将时刻、时间区间、时间间隔等时态类型以及一些谓词转换成底层数据库能够识别的类型,再结合传统的SQL语句,便可以实现时态操作。   水文时态数据用1NF范式表示如下:
      TR=(A1,…,An,Ts,Te,Vts,Vte)
      Ts—事务开始时间,Te—事务结束时
      间,Vts—有效时间开始,Vte—有效时间结束。这里主要讨论有效时间,定义一个时态视图tview,将字段分为传统的数据字段(非时态数据字段)和时态数据字段(时态数据类型)两组,视图中的非时态字段仍然为基表的非时态数据字段,不需要改变,时态字段根据每个表的时态信息进行定义转化。用户所有的时态操作都是基于时态试图来进行[4] [5]。
      3方案实现
      对水文时态数据的管理是通过一个时态中间处理模块来实现,这个时态处理模块能够在非时态性的DBMS上支持时态功能,通过把时态性的SQL语言翻译成为标准SQL语言来实现时态处理。不仅非时态的SQL声明能够在其中继续使用,而且可以进行时态查询、时态聚集查询、时态插入、时态修改等,通过在SQL声明前添加时态关键词validtime和(或)transactiontime,表明需要执行哪个时间维的时态处理。
      查询实现,定义扩展SQL语句为:
      [validtime][period][timepoint1,timepoint2] select field1,(field2,….) from table1,(table2,…) [where condition];
      如果SQL语句中包含validtime关键词,则说明要进行时态数据选择,要额外提取有关的时态信息;否则按照一般的SQL语句处理。关键词period用于对一段时间的查找[7~9]。
      查询测站点(测站代码为62724050)从1999到2000年的降水量情况,TSQL语句S如下:
      S=validtime period[1999,2000] select * from HY_PREX_Bwhere STCD=‘62724050’;
      
      解析出来标准SQL语句如下:
      
      从时态查询结果和时态SQL语句解析结果可以看出,时态中间层可以实现任意时点、时间区间、时间段的水文时态信息查询,能把时态SQL语句正确翻译成标准SQL语句实现时态数据在传统关系数据库系统上的管理。
      在时态处理模块中聚集函数主要有:avg()、sum()、max()、min()。各个聚集函数除了功能有所不同之外,在使用时方法是一样的。但要注意,在使用having或者group by字句来对聚集函数的结果进行筛选或者聚集分组运算时,having字句中的属性除聚集函数外,都要在group by字句中列出,但在group by字句中不允许聚集函数的出现[2]。
      水文时态聚集函数主要用来求水文信息中的特征值。要指定时态分组则必须扩展基本的时态查询语句,这里用关键词using指定按哪种时间粒度进行时态分组[6]。
      扩展后的时态聚集查询语句如下:
      [validtime][period][timepoint1,timepoint2]
      select field1,(field2,….)avg(),sum(),….
      from table1,(table2,…) [where condition] group by [(valid)table.column]
      using [instant/partition expression];
      对于时态语句:
      Validtime period[1999-06-07,1999-06-23] select STCD , avg(p) from HY_PREX_B group by STCD using 1 day;
      解析后结果如下所示:
      
      解析出来的标准SQL语句:
      
      从结果中可以看出时态聚集查询能够按照水文时态分组划分的要求正确地进行时态分组划分,进而统计计算各类出水文时态信息,并给出每个时态分组的统计信息和起止时间区间。
      4结束语
      时态数据的处理实现了查询、更新维护、相对时态关系等基本时态功能,时态功能还不完善,时态关系比较操作等只实现了部分时态功能,没有对原始数据库时态数据冗余大的缺陷进行较深入的研究,由于采用分层结构,无法充分利用众所周知的时态数据库实现技术。下一步工作将完善。
      参考文献:
      [1]汤庸,汤娜,叶小平.时态信息处理技术研究综述[J].中山大学学报:自然科学版,2003,42(4):4-8.
      [2]石浩磊,汤庸.时态数据库导论[M].北京:北京大学出版社,2004.
      [3] Nina Edelweiss,Patricia N Hubler,Mirella M.Moro.A Temporal Database Management System Implemented on Top of a Conventional Database.IEEE transactionv on knowledge and data engineering,2009,7(4):513-532.
      [4]王昱,邵立凤,姚春龙.基于ATSQL2时间点与时间段时态操作扩充[J].大连工业大学学报,2009(4).
      [5]蔡启先.数据的时态性及其在非时态DBMS上的处理[J].计算机应用, 2002 (12):23-24.
      [6]代健武.时态聚集算法研究[J].计算机与信息技术,2008(3).
      [7]姜晓轶,蒋雪中,周云轩.时态数据库研究进展[J].计算机工程与应用,2005,41(24):26-30.
      [8] Eun Bae Lee,Keun Ho Ryu.TempIS:Interfacing System for Graphical Display of Temporal Database.IEEE transactionv on knowledge and data engineering,January/February.2003:425-430.
      [9] Nina Edelweiss,Patricia N.Hubler,Mirella M.Moro.A Temporal Database Management System Implemented on Top of a Conventional Database.IEEE transactionv on knowledge and data engineering,2009,7(4):513-532.

    相关热词搜索: 时态 水文 信息服务 数据库技术

    • 文学百科
    • 故事大全
    • 优美句子
    • 范文
    • 美文
    • 散文
    • 小说文章