仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 1004|回复: 8
打印 上一主题 下一主题

[学习教程] MSSQL网站制作之时态数据库综述

[复制链接]
深爱那片海 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-16 22:28:05 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
但我们知道,若使用statement,并没有上述需要的数据。试想binlog中记录了一句updatetsetf1=3whereid=3。怎么恢复呢?数据|数据库
时态数据库综述



择要:本文是时态数据库的一个综述,提要的先容时态数据库的发生背景,研讨意向,然后先容了时态数据库的分类和现有的对照典范的模子,最初先容了时态办理和时态数据库计划方面的成绩。



l背景

传统的数据库手艺能反应实际天下中的数据,可是它仅仅能表现实际天下中数据确当前形态,只反响了一个工具在某一个时候的形态(快照),不接洽其已往和将来。这就是人们常说得快照数据库(SnapshotDatabase)。古代的信息流包括事务的时态信息(TemporalInformation),个中偶然刻信息(InstantInformation),工夫区间信息(IntervalInformation)和绝对工夫信息(之前、以后、堆叠)等等。

日趋普遍的数据库使用请求了办理被处置事务的汗青性信息,和体系中元事务的时态信息。必要急切办理两个成绩:一是请求办理被处置事务的汗青性信息,如与人事、财政、金融和天然灾祸等有关的汗青材料,从中可看失事物开展的实质纪律;二是请求办理数据库体系中元事务的时态信息,如增查,编削的时候和工夫区间、在多用户体系中对锁定列队及资本合作和谐的时标等,这些数占有助于进步数据库体系的牢靠性和效力。因而引进时态数据库。



l研讨意向

在20世纪70年月初,很多人就入手下手探究在数据库和信息体系中处置工夫信息。

80年月早期,时态数据库研讨入手下手昌盛,在1982-1986年间,一共有80多篇关于时态数据库的论文。到了80年月中期,已提出了近百种时态数据库的计划,经由十多年的开展和互相进修,渐渐兼并为十多种公认的模子。

KahnKetal在1977年在《野生智能》杂志上的文章中研讨了关于“时态常识”的成绩。

J.BenZvi于1979―1982年对时态数据库作了创始性研讨,他的博士论文(加州年夜学洛杉矶分校,1982)总结了他的一系列事情。BenZvi的奉献凸起鄙人列几点∶

(1),他提出了时态数据库模子,引进了工夫距离(TimePeriod),厥后被学术界改称为工夫区间。

(2),在1979―1982这个干系标准型研讨的热门时代,BenZvi冲破头脑禁区,提出并研讨了非1NF的TDB。

(3)以工夫区间作字段值,革新了人们以为数据库字段值只能是一个数或串的看法。

(4)引进了厥后被称为双时态的观点,即用无效工夫暗示被办理工具在库中性命周期,用事件工夫暗示数据库自己的汗青。

(5).引进了时态索引布局。

1982年J.Clifford在纽约年夜学完成了博士论文“AlogicalframeworkfortheTemporalSemanticsandNaturalLanguageQueryingofHistoricalDatabase”及相干的一组文章,对汗青数据库的创始性作了主要奉献。它注重到了被办理工具的性命周期(Lifespan),研讨了在干系、元组、字段值上加时态信息的手艺细节,引进了汗青干系模子,汗青干系代数,研讨了汗青数据库中投影、选择、毗连的特别请求和特别纪律,研讨了汗青干系模子与传统干系模子的兼容性,即当把区间减少为一点〔Now,Now〕时汗青数据库即退步为传统快照数据库,且响应的时态代数运算退步为传统快照干系运算。

美国南加利福尼亚年夜学的S.Ginsburg传授原是情势言语,出格是高低文有关文法研讨的前驱者。他于1983年提出工具汗青模子(ObjectHistory)。



l时态数据库的分类

按Spipada和Snodgrass的定见,时态数据库按功效可分为三类∶

(1)事件数据库。数据库自己被查编削的工夫称为事件工夫(TransactionTime),事件数据库撑持事件工夫,他按事件工夫编址,保留了一切形态演化中已往的形态。事件的干系是一种三维布局,由元组,属性和事件工夫三维组成。

(2)汗青数据库。被办理工具的性命周期称为无效工夫(ValidTime),汗青数据库和事件数据库相似,只是用无效工夫取代了事件工夫,代之以静态形态序列,而是用每一个干系纪录一个汗青的形态。汗青的干系也是一个三维布局,由元组,属性和无效工夫组成。

(3)时态数据库,既能办理工具汗青,又能办理数据库自己的汗青,又叫双时态数据库。他具有前二者的长处,撑持事件工夫和无效工夫。时态干系是一个四维布局,由元组,属性,事件工夫和无效工夫组成。

lDBMS的时态信息四种处置办法

事务经常都伴随时态信息,传统的数据库只经由过程用户界说工夫来纪录时态信息,DBMS没有办理事务时态信息的机制。下表列出了DBMS处置时态信息的四种体例。





l时态办理的成绩

临时以来,在没有利用时态数据库的年月里,企业及构造办理汗青性数据都是把多个快照(即在分歧时候保留的数据库的备份)放在一同,组成了汗青。

(1).取多年夜的工夫距离保留快照?假如距离太年夜,则不敷以包管数据的正确详确,假如距离太小,则数据冗余多,占存贮空间年夜。

(2).传统干系数据库中,一个表的多个快照,不克不及复杂地同古装进内存,不克不及复杂地利用传统的选择、投影、毗连运算举行操纵和查询。由于统一元组统一属性下的值在分歧快照中大概分歧,必需作较庞大的、非通用的编程。

(3).传统数据库中,对数据库自己汗青的保护撑持不敷,一样平常只要供恢复回退用的事件日记(Transactionlog),缺少响应的事件查询命令(比方疾速地查出谁对某一字段作了凌驾十次的修正)。



l现偶然态数据库模子

80年月中期,已提出的近百种时态数据库的计划,经由十多年的开展和互相进修,渐渐兼并为十多种公认的模子,个中有十三种被支出天下第一本关于时态数据库专著《TemporalDatabase―Theory,DesignandImplementation》。

(1).TimeRelationalModel,该模子是BenZvi在1979--1982在博士论文中提出,是TDB范畴的前驱性研讨事情。它创始了对时态数据库、时态查询言语的研讨。

(2).HRDM(HistoricalRelationalDataModel),J.Clifford,1982.

(3).TempSQL,Sharshi.K.Gadia&Sunil,S.Nair,1985.

(4).IXRM(Interval-ExtendedRelationalModel),NikosA.Lorentzos,1987.

(5).TRM及TSQL(TemporalExtensionstotheRelationalModel)K.B.Navathe,1987.

(6).HSQL(HistoricalQueryLanguage),N.L.Sarda1987.

(7).TQuel,R.Snodgrass,1985.

(8).TRC(TemporalRelationalCalculus),AbdullahTansel,1992

(9).TEER,(TemporalQueryLanguageforEnhancedEntityRelationshipModel),R.Elmasri,1985.

(10).TDM(TemporalDataModelBasedOnTimeSequeuce),ArieSegev&ArieShosham,1988.

(11).OODAplex(ObjectOrientedAplex),U.Dayal,1989.

(12).ObjectHistory,S.Ginsburg,Tanaka,唐常杰等,1983。

(13).TemporalDeductiveDatabases,MarianneBandinet等,1989。

上述13个TDB模子从分歧的需求、概念动身,各自自力地创建了一套术语、观点、数学模子,并构成了一套各自自力的实际系统。



l时态数据库在详细完成过程当中的坚苦

(1)数据量年夜。时态数据库旨在办理汗青数据,跟着工夫的流逝,新的数据络绎不绝的进进数据库,为了包管TDB在年夜数据量的时空效力,必需有高效的数据存储构造和时态索引机制。

(2)在实践使用的时态查询中,选择、投影和毗连运算占了次要资本。对时态选择、时态投影和时态毗连的优化成了TDB查询优化的手艺核心。

(3)在索引上,因为到场了时态效应,对传统的Hash和B树、B+树都必要在时态长进行扩大才干满意TDBMS的请求。



l时态数据办理和野生智能

在野生智能范畴,次要研讨时态推理机制。这有两品种型:

(1)次要举行数据及其接洽的注释这类体系可用来撑持包括了工夫成绩的天然言语了解。J.F.Allen的“时区演算”就是代表。

(2)创建将来的举动的企图这类体系可用在工场调剂资本的利用,称为“智能调剂”,其成绩是:在必定的工夫限定内,制订能准确利用资本已办理给定调剂成绩的企图。



l参考文献

《特种数据库手艺》何新贵,唐长杰迷信出书社2000

《时态数据库手艺》黄楠,刘爱琴微机开展2002年第1期
在Windows中MySQL以服务形式存在,在使用前应确保此服务已经启动,未启动可用netstartmysql命令启动。而Linux中启动时可用“/etc/rc.d/init.d/mysqldstart"命令,注意启动者应具有管理员权限。
冷月葬花魂 该用户已被删除
沙发
发表于 2015-1-19 13:40:57 | 只看该作者
而写到本地,我又考虑到效率问题.大家来讨论讨论吧,分数不打紧,就给10分,十全十美,没啥对错,各抒己见,但是要有说服力的哦~
灵魂腐蚀 该用户已被删除
板凳
发表于 2015-1-24 21:05:25 | 只看该作者
比如,MicrosoftSQLServer2008的某一个版本可以满足现在的这个业务的需要,而且价格还比Oracle11g要便宜,那么这一产品就是适合的。
飘飘悠悠 该用户已被删除
地板
发表于 2015-2-2 13:34:20 | 只看该作者
groupby子句可以将查询结果分组,并返回行的汇总信息Oracle按照groupby子句中指定的表达式的值分组查询结果。
小女巫 该用户已被删除
5#
发表于 2015-2-7 21:43:25 | 只看该作者
可以动态传入参数,省却了动态SQL的拼写。
6#
发表于 2015-2-23 12:24:50 | 只看该作者
无法深入到数据库系统层面去了解和探究
再现理想 该用户已被删除
7#
发表于 2015-3-7 08:58:08 | 只看该作者
sqlserver的痛苦之处在于有用文档的匮乏,很多只是表明的东西
小妖女 该用户已被删除
8#
发表于 2015-3-14 16:33:48 | 只看该作者
入门没那么困难,精通没那么容易
admin 该用户已被删除
9#
发表于 2015-3-21 13:15:22 | 只看该作者
连做梦都在想页面结构是怎么样的,绝非虚言
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2025-1-10 05:39

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表