




版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
1、第第3章章 時態(tài)數(shù)據(jù)庫技術時態(tài)數(shù)據(jù)庫技術3.1 數(shù)據(jù)庫起源與發(fā)展數(shù)據(jù)庫起源與發(fā)展 時態(tài)信息的需求與技術實際上一直伴隨著數(shù)據(jù)庫技術的發(fā)展而產(chǎn)生和發(fā)展。關于時態(tài)數(shù)據(jù)庫的起源與發(fā)展,國際時態(tài)數(shù)據(jù)庫權威學者Tansel,A.,Clifford,J., Gadia, Jajodia, S., Segev, A.和R.T.Snodgrass等在 “Temporal databases: theory, design, and implementation”收集了此前時態(tài)數(shù)據(jù)庫幾乎所有的重要成果,我國學者唐常杰1999年在時態(tài)數(shù)據(jù)庫的沿革、特色與代表人物時態(tài)數(shù)據(jù)庫二十年回顧之一等文獻中也對時態(tài)數(shù)據(jù)庫技術前2
2、0年的發(fā)展做了系統(tǒng)回顧。我們通過多年的研究,參閱了大量文獻,特別是國內(nèi)外最新研究動態(tài)和應用成果,將時態(tài)信息技術的起源與發(fā)展分為三個時期:開創(chuàng)期(1982年以前)、理論與模型探索階段(1983年至1993年)、應用與發(fā)展階段(1994年以來)。 3.1.1開創(chuàng)與形成時期開創(chuàng)與形成時期 時態(tài)特性是信息的客觀存在,到70年代末,80年代初,數(shù)據(jù)庫技術的日漸成熟和大容量高速存儲設備的發(fā)展為時態(tài)據(jù)庫技術的產(chǎn)生與應用創(chuàng)造了條件。加州大學洛杉磯分校J. BenZvi和紐約大學的J. Clifford在1982年的博士論文是時態(tài)數(shù)據(jù)庫技術開創(chuàng)期的兩個標志性成果。 J. Ben Zvi在1982年完成了博士論文
3、“The Time Relational Model”。其主要貢獻包括:提出了時態(tài)數(shù)據(jù)庫模型,以時間區(qū)間作字段值,提出了N1NF(非1NF) 的TDB,突破了數(shù)據(jù)庫字段值只能是一個數(shù)或串的局限,引入了后來被稱為雙時態(tài)(bi-temporal)的概念,即用有效時間(valid time)表示被管理對象在庫中生命周期,用事務時間(transaction time )表示數(shù)據(jù)庫本身的歷史,引入了時態(tài)索引結構。這些概念和思想一直沿用至今。標志著時態(tài)數(shù)據(jù)庫的形成。 同樣是在1982年,紐約大學的J. Clifford完成了其博士論文“A logical frame work for the Tempor
4、al Semantics and Natural Language Querying of Historical Database ” 。他的主要貢獻是對歷史數(shù)據(jù)庫的做了開創(chuàng)性工作,提出了HRDM (Historical Relational Data Model )模型。他研究了在關系、元組、字段值上加時態(tài)信息的技術細節(jié),引入了歷史關系模型,歷史關系代數(shù),將傳統(tǒng)關系數(shù)據(jù)庫當作歷史數(shù)據(jù)庫的一種特例,即當把區(qū)間縮小為一點Now, Now時的歷史數(shù)據(jù)庫。 可以說時態(tài)數(shù)據(jù)庫是在1982年正式形成。3.1.2 理論與模型探索階段理論與模型探索階段1982年以后,TDB的研究開始走向繁榮時期。此后的十年
5、中,計算機學術界對時態(tài)數(shù)據(jù)庫給予了極大的關注,學術界提出了數(shù)以百計的時態(tài)數(shù)據(jù)庫模型和時態(tài)信息處理方法。此階段,國際上一些重要大學和研究機構涌現(xiàn)出一大批研究學者,形成了一批專門的時態(tài)數(shù)據(jù)庫研究集體。最主要的研究集體集中在美國紐約大學、依阿華州立大學、加州大學伯克利分校、南加利福尼亞大學、亞利桑那大學、HP公司和Bell公司的專業(yè)實驗室等。這個時期標志性成果是A.Tansel, J.Clifford, S.Gadia, S.Jajodia, A.Segev 和 R.T. Snodgrass在1993年共同編輯出版的“Temporal databases: theory, design, and i
6、mplementation” 該書被稱為“世界第一本關于時態(tài)數(shù)據(jù)庫專著”。該書對此前國際時態(tài)數(shù)據(jù)庫技術的研究給出了全面的總結。該書收錄了國際時態(tài)數(shù)據(jù)庫方面重要學者的研究成果和時態(tài)數(shù)據(jù)庫模型。書中列出這13種最有影響的時態(tài)數(shù)據(jù)模型,除了前面提到J. Ben Zvi和J. Clifford的模型外,其他11種如下:TempSQL, Sharshi. K. Gadia & Sunil, S. Nair, 1985.IXRM (Interval-Extended Relational Model ),Nikos A. Lorentzos,1987.TRM 及TSQL (Temporal Ext
7、ensions to the Relational Model ) S. B. Navathe,1987.HSQL ( Historical Query Language ),N. L. Sarda 1987.TQuel,R. Snodgrass , 1985.TRC (Temporal Relational Calculus ),Abdullah Tansel ,1992TEER, (Temporal Query Language for Enhanced Entity Relationship Model ),R. Elmasri , 1985.TDM (Temporal Data Mod
8、el Based On Time Sequeuce),Arie Segev & Arie Shosham, 1988.OODAplex (Object Oriented Aplex),U. Dayal,1989.Object History, S. Ginsburg, Tanaka,CJ Tang, 1983。Temporal Deductive Databases, Marianne Bandinet 等,1989。這段時期重要特征是時態(tài)數(shù)據(jù)庫理論研究和時態(tài)數(shù)據(jù)模型探討,因而模型多,但原型系統(tǒng)少,實際應用少。3.1.3 應用與發(fā)展階段應用與發(fā)展階段經(jīng)過80年代末的“百花齊放”,93年
9、A.Tansel, J.Clifford等人的“Temporal databases: theory, design, and implementation”可以說是劃上了一個“分號”。此后,學術界的觀點和認識逐步趨向“統(tǒng)一”,從早期的基于關系代數(shù),到后來的calculus-based, datalog-based, OO等,現(xiàn)在基本上采用擴充SQL模型,時態(tài)模型沒有新的突破。1994年后人們開始進入“思索”階段,如何將時態(tài)數(shù)據(jù)模型“標準化”和“產(chǎn)品化”是這個時期重要目標,而廣泛應用和實踐則是這個時期重要特征。在“標準化”方面代表性成果是R. Snodgrass 等人1994年提出的雙時態(tài)數(shù)據(jù)
10、模型TSQL2, TSQL2是對SQL-92語言標準的時態(tài)擴充,并提出將TSQL2的相關結構集成到SQL3標準。1996年已將增加有效時間(valid time)和事務時間(transaction time)的SQL/Temporal方案分別于5月和10月提交到ISO和ANSI委員會。美國Christian S. Jensen,Clifford, J., Snodgrass, R.T等2000年合作的“Temporal Database Management”是這階段的重要文獻。在“產(chǎn)品化”方面代表性成果是瑞士TimeConsult公司1998年推出的TimeDB 2.0。TimeDB是一個雙
11、時態(tài)關系數(shù)據(jù)庫系統(tǒng),支持平臺Java,JDBC。它基于SQL查詢語言,支持時態(tài)查詢語言ATSQL2。TimeDB作為商業(yè)數(shù)據(jù)庫Oracle系統(tǒng)的前端運行。 ATSQL2的語句(包括查詢、更新和斷言等)被編譯成標準的SQL-92語句在后臺執(zhí)行。這種方法確保了在不同的平臺和不同的數(shù)據(jù)庫管理系統(tǒng)的兼容性。但是目前TimeDB仍沒有能夠真正“產(chǎn)品化”。這個時期另一個重要特征是“時態(tài)信息的應用”。80年代中后期,由于計算機相關技術的迅速發(fā)展,特別是網(wǎng)絡與多媒體技術等技術的發(fā)展。應用領域的許多新需求得以實現(xiàn),時態(tài)信息的應用就是一個重要方面。主要應用領域包括:地理信息系統(tǒng)、農(nóng)業(yè)信息系統(tǒng),電信信息系統(tǒng),電子商
12、務,電子商務,智能決策支持系統(tǒng),數(shù)據(jù)倉庫與數(shù)據(jù)挖掘等,特別是時空(spatio-temporal)信息技術和多媒體信息技術的時態(tài)應用。但是,由于時態(tài)數(shù)據(jù)庫理論與模型還不夠成熟,這時期的應用大多都是只借助時態(tài)數(shù)據(jù)庫的一些概念,時態(tài)信息的管理與操作的實現(xiàn)還是采用傳統(tǒng)的數(shù)據(jù)庫技術與相關應用領域的技術(GIS, Multimedia等)相結合來完成的。 3.1.4 研究與應用現(xiàn)狀研究與應用現(xiàn)狀 目前,時態(tài)信息技術仍處于研究和發(fā)展階段,現(xiàn)有時態(tài)數(shù)據(jù)庫共性概念、研究方法及不足可以歸納如下。 1、在現(xiàn)有的時態(tài)數(shù)據(jù)模型中,對時間數(shù)據(jù)的描述主要是依照J. Ben Zvi于19791982提出的時間點/時間區(qū)間模
13、型、有效時間(valid time)和事務時間(transaction time )以及雙時態(tài)(Bi-temporal)等概念;時態(tài)數(shù)據(jù)演算主要是基于J.F.Allen于1984年提出的十三種時間區(qū)間演算(或其擴展)。主要不足是:時態(tài)數(shù)據(jù)運算體系不完備,時態(tài)關系演算還沒有系統(tǒng)和有力的數(shù)學理論支持。 2、時態(tài)數(shù)據(jù)模型多,但由于時態(tài)數(shù)據(jù)模型還不夠成熟,還沒有形成較完整的國際標準。各種模型都還存在一些不足。時態(tài)數(shù)據(jù)模型一般都是傳統(tǒng)關系數(shù)據(jù)庫的擴展,并將傳統(tǒng)關系數(shù)據(jù)庫作為特例。主要方法是在TDB中增加一些運算,AFTER、BEFORE和OVERLAP等;擴展一些操作,例如時態(tài)選擇,時態(tài)投影、時態(tài)連接等
14、。目前大部分時態(tài)數(shù)據(jù)查詢語言是通過擴展當前的查詢語言如SQL或者Quel,時態(tài)數(shù)據(jù)查詢功能有限,效率比較低。 3、目前時態(tài)數(shù)據(jù)庫研究取得了相當?shù)倪M展,但是大多研究局限在數(shù)據(jù)庫的時態(tài)屬性,而忽視了其他信息的時態(tài)屬性。時態(tài)數(shù)據(jù)技術目前還停留在“數(shù)據(jù)”處理上,關于時態(tài)邏輯和推理方面的研究,主要優(yōu)點是符號演算和推理能力強,但是信息處理能力弱,與時態(tài)數(shù)據(jù)庫和時態(tài)信息處理研究相脫離。關于時態(tài)知識與邏輯方面主要包括時間區(qū)間邏輯運算的擴充等,沒有涉及時態(tài)知識數(shù)據(jù)庫模型。 4、在應用方面,由于80年代數(shù)據(jù)庫技術迅速發(fā)展,特別是90年代多媒體技術、網(wǎng)絡技術等發(fā)展,時態(tài)信息的應用呈現(xiàn)出勃勃生機。但是,由于還沒有成熟
15、的時態(tài)模型和軟件產(chǎn)品,大部分與時態(tài)相關的應用,只是借鑒當前一些時態(tài)數(shù)據(jù)模型,在實際實現(xiàn)中仍然只能采用傳統(tǒng)的技術,其時態(tài)部分的解釋是由應用程序而非數(shù)據(jù)庫本身來進行。3.2 基本時態(tài)元素基本時態(tài)元素3.2.1時間模型時間模型 基于對時間軸結構的選擇,時間模型可以劃分如下幾種模型。 1連續(xù)模型(連續(xù)模型(Continuous model) 連續(xù)模型把時間看作同構于實數(shù),每一個實數(shù)對應于一個時間點。因此,在時間軸的兩個時間點之間,可以存在其它的時間點。這種模型能夠最精確地為時間建模,但是由于現(xiàn)代計算機基于數(shù)字邏輯的工作方式,所以不可能無失真的記錄時間。在許多實時控制場合,例如工業(yè)控制領域,需要記錄大量
16、隨時間不斷變化的數(shù)據(jù)。在這種情況下,往往采取采樣的方式記錄數(shù)據(jù)變化,對相鄰時間點之間的數(shù)據(jù)采取插值的方法得到。 2步進模型(步進模型(Stepwise model) 步進模型把數(shù)據(jù)的狀態(tài)看成是時間的函數(shù)。當時間點上的數(shù)據(jù)狀態(tài)發(fā)生變化時才記錄狀態(tài)變化,否則保持不變。在這種模型下,時間序列上任一點上數(shù)據(jù)的值對應于上一次數(shù)據(jù)改變時保持的狀態(tài),如果要查詢當前數(shù)據(jù)的取值,需要回溯。例如,圖中采用步進模型登記的某個教師身份變動信息??梢钥吹剑蠲鞯纳矸葑?993年至今發(fā)生了3次變動,采取步進模型只要求記錄三個點的信息。如果查詢目前該人員的身份,雖然沒有登記當前的時間點,但并不是返回一個無效的空值(Null
17、),而是沿著時間軸回溯,找到最近發(fā)生的狀態(tài)變化,得到當前的身份為“副教授”。與連續(xù)模型不同之處在于,任意兩個時間點之間不能通過插值的方法取值。圖2-2 某教師的身份變動信息Figure 2-2 The change status of some teacher李明的身份199319982002助教講師副教授時間軸當前身份? 3離散模型(離散模型(Discrete model) 離散模型把時間和整數(shù)映射起來,在相鄰的兩個時間點之間不存在另一個時間點。任一時間點有前驅和后繼時間點。在實際應用中,該模型適用于記錄那些在關鍵時間點上才有意義的數(shù)據(jù)。例如:考慮某單位的人員工資發(fā)放總額,13月的工資發(fā)放總
18、額分別為19萬元、18萬元和20萬元??梢钥吹竭@組數(shù)據(jù)有如下特點: 1)在相鄰的兩個月份之間不存在另一個月份。如1月和2月。 2)相隔的兩個時間點中間月份的數(shù)據(jù),用插值的方法會得到無效數(shù)據(jù)。通過1月和3月的數(shù)據(jù)無法確定2月數(shù)據(jù)。 3)采取步進模型描述可能得出錯誤信息。假如現(xiàn)在為4月10日,當月的工資尚未發(fā)放,如果回溯,會得出4月工資發(fā)放總額為20萬元的錯誤數(shù)據(jù)。 4恒定模型(恒定模型(Non Temporal model) 有些數(shù)據(jù)是不隨時間變化的,例如:籍貫、出生地等。這些數(shù)據(jù)只有其本身固有的屬性。但是大部分數(shù)據(jù)在一種情況下沒有時態(tài)屬性,但在另一種情況下往往會有時態(tài)屬性。例如:住址、身份、工
19、作單位等。在一般情況下,在建模時通常沒有充分考慮值隨時間變化的情況。如果發(fā)生變化時,就采用最新值進行替換。3.2.2 時間點時間點 基于點的時間,是將時間離散化,事物或事件的時間屬性用時間點表示。用時間點的形式來表示時間元素,這和系統(tǒng)的時間量子及時間粒度的關系較大。 基于點的時間元素(Pointbased),又稱為時間點(time instant),或稱時刻(Time Points)。這種描述方法是把時間看成一個個離散的時間點,這些離散化的時間點的間隔大小適度時,就可以準確地描述現(xiàn)實世界事件發(fā)生及變化的狀況。時間點是時間軸上的一點,它是和時間粒度是相關的。例如1995年3月1日,時間粒度精確到
20、“天”。如果系統(tǒng)使用的最小時間粒度是“秒”,則該時間點在系統(tǒng)內(nèi)的表示必須換算成1995年3月1日0時0分0秒。3.2.3 時間區(qū)間與時間跨度時間區(qū)間與時間跨度基于區(qū)間(Intervalbased)的時間元素中,時間的基本單位為時間段或者時間區(qū)間(time interval)。即通過描述時間段的起始和終止點來描述時間區(qū)間。時間區(qū)間是指一段時間,有固定的起止時間點。時間的區(qū)間的表示方法根據(jù)兩端時間點是否封閉分為4種,如圖所示。利用時間區(qū)間也可以方便地描述時間點。例如:令pipj。在這四種區(qū)間的表達方式中,一般采用前端封閉,尾端開放的形式,主要的是考慮時間區(qū)間兼容時間點的表示方式和時間區(qū)間的比較謂詞
21、的緣故。 四種區(qū)間 區(qū)間含義 圖例 1) jipp , jiptp - 2) ),jipp jiptp - 3) ,(jipp jiptp - 4) (jipp ,) jiptp - pi , pj :分別表示兩個時間點; :分別表示左右閉區(qū)間; ( ) :分布表示左右開區(qū)間。 下表中,在每一個元組后面加上工作的起止時間。這個起止時間值所表示的就是基于區(qū)間的時間。從這張表可知,若某一元組的起止時間屬性值隨時間變化得很快,就會產(chǎn)生許多新的元組,而這些新的元組和原來的元組相比,所不同的就是時變屬性(time-varying attribute),例如“工資”、“職務”項的值,以及對應于時變屬性的時
22、間段。但是,在此除去時間項后所得到結果是不能作為關系數(shù)據(jù)庫的;因為可以作為關鍵字的“工號”項已經(jīng)有重復的值了。這和關系數(shù)據(jù)庫的要求是不符的。可見加上時間屬性后,數(shù)據(jù)庫特性已經(jīng)有了很大的變化。工號姓名職務工資起止時間019504478李小山講師1000200003, 200209019504478李小山副教授1700200210,Now019504479張又寶副教授1800199809,Now019504480王大江教授2100199909,Now 時間跨度(time span)是指持續(xù)的一段時間,表示時間的長度。在數(shù)據(jù)庫系統(tǒng)內(nèi),一般用一個整數(shù)表示時間跨度。與時間區(qū)間類似,時間跨度也是表示一段時
23、間;所不同的是,時間跨度沒有時間起點,也沒有時間終點。3.2.4時間粒度與時間量子時間粒度與時間量子 時間粒度時間粒度(time granularity)是指描述時間數(shù)據(jù)的最小時間單位。表示時間點之間離散化程度的因素就是時間粒度。時間粒度反映了時態(tài)信息系統(tǒng)中時間點描述的最小單位,時間粒度越小,離散的時間點越多,描述的事件的變化信息越精細準確;反之,描述的事件變化的信息越粗糙。 時間粒度的大小,要受到時間量子的約束。系統(tǒng)的時間量子(Chronon)是計算機系統(tǒng)所支持的最小的、不可分割的時間間隔。客觀世界中的時間,離散化的程度可以任意的小,但是計算機系統(tǒng)的離散化程度是受到機器性能制約的??梢?,時間
24、量子是系統(tǒng)記錄時間屬性的精確程度的一個度量。時間量子越小,系統(tǒng)記錄的精確度越高。在PC平臺上,時間量子的范圍可以從0.01秒跨越到1秒,足夠一般的應用需求,但是在一些高精度系統(tǒng),例如實時系統(tǒng),往往要求更精確的時間,這就要求更為細小精確的時間量子。另外,隨著計算機技術的發(fā)展,時間量子的精度會越來越細。時間量子是計算機系統(tǒng)支持的最小時間單位,時間粒度是數(shù)據(jù)庫系統(tǒng)所定義的時間單位。時間粒度的選取是因需要而定的,同時也受傳統(tǒng)習慣、應用條件的影響。在時態(tài)數(shù)據(jù)中對于所有的時態(tài)數(shù)據(jù)都存在一個時態(tài)粒度的屬性。 時態(tài)粒度存在形式 在數(shù)據(jù)庫系統(tǒng)中存在兩種形式的粒度:單一粒度和變粒度。 1單一粒度單一粒度 單一粒度
25、是指數(shù)據(jù)庫系統(tǒng)只支持一種時間粒度。不同的數(shù)據(jù)庫系統(tǒng)可以存在不同的時間粒度,但對某一個數(shù)據(jù)庫系統(tǒng),只認可一個時間粒度。要根據(jù)具體的應用選擇不同的時間粒度。 2多粒度多粒度 多粒度是指數(shù)據(jù)系統(tǒng)中對于不同的屬性,關系可以存在不同的時間粒度。 下表中描述的航空飛機數(shù)據(jù)庫,數(shù)據(jù)庫存在兩個關系表:flight_departures 和 vacations. 表flight_departures 存儲關于飛機起飛時間的信息,這飛機起飛時間用分的時間粒度計算。 Flight-DeparturesFlight#At_time531997-11-20 14:382001997-11-27 14:346531997
26、-11-27 12:386581997-11-30 10:03 表vacation存儲關于假期的信息,時間粒度是天。每個元組記錄一個時間元素用時間期間,而不是一個單獨的一天。這假期表包括了美國傳統(tǒng)假期,例如勞動節(jié),圣誕節(jié),和感恩節(jié)。感恩節(jié)假期是在十一月的第四個星期四,是一個四天的節(jié)日。VacationsVacationFrom-timeTo-timeLabor Day1997-09-011997-09-03Thanksgiving1997-11-241997-11-28Christmas1997-12-241997-12-26 表flight_departures和表vacation所表示的時
27、間粒度是不一樣的,這種不一樣的粒度一方面是和應用系統(tǒng)的實際需要相關的。飛機起飛一般是精確到分鐘,而節(jié)假日當然精確到天即可。 另一方面,系統(tǒng)為了節(jié)約開銷,提供不同的時間粒度是非常有效的手段。一個理想的時態(tài)數(shù)據(jù)庫在處理時態(tài)數(shù)據(jù)時應能根據(jù)具體情況智能地調(diào)整時間粒度,以便在有限的內(nèi)存資源上,處理大范圍時段中的由多種歷法描述的歷史事件。 時間粒度間的運算由于多種粒度的存在,而系統(tǒng)通常只能處理一種粒度,這就要求不同粒度之間能相互轉化。例如,在表2數(shù)據(jù)庫中,一個用戶想在感恩節(jié)坐飛機回家,就查詢數(shù)據(jù)庫決定在感恩節(jié)期間可以乘坐那班航班。檢索可以用公式描述為: select * from vacations, f
28、light_departures where vacation= thanksgiving and flight_departures.at_time overlaps(vacations.from_time, vacations.to_time);在這個檢索中,用戶利用時態(tài)交集操作,用“overlaps” 去決定哪一班飛機在感恩節(jié)期間起飛。參與overlaps操作的時間元素處在不同的時間粒度下。在SQL-92不能處理這混合的時間粒度,對于這種情況,系統(tǒng)返回錯誤提示,顯示操作數(shù)類型不兼容(vacations.from_time、 vacations.to_time 是date類型,F(xiàn)light
29、_departures.at_time 是timestamp類型)問題的發(fā)生,主要是數(shù)據(jù)庫缺乏在兩個不同時間粒度間進行轉化的工具。 粒度之間的轉換粒度之間的轉換 時間值的粒度影響了有關涉及時間值的表達式的語義。例如當比較一個時間粒度是天的時間值和一個時間粒度是分的時間值時,表達式代表什么的語義,如何操作。這時就需要存在轉換函數(shù),實現(xiàn)粒度之間的轉換??梢圆捎孟旅娴膬蓚€函數(shù)實現(xiàn)這個目的: scale和cast函數(shù):cast操作和scale操作是相似的,但是scale操作產(chǎn)生不確定的時間值,而cast操作返回一個確定的時間點。 3.2.5時間元素時間元素NOW與與UC 時間元素NOWNow是一個時間
30、變元,隨著當前時間的變化而變化,記錄了隨時間變化的信息,它的有效值依賴于當前時間。時間變元Now在數(shù)據(jù)庫包括傳統(tǒng)的SQL數(shù)據(jù)庫中都非常有用。例如,在銀行方面的應用,維護顧客帳戶存款額的記錄,具體說假如一個顧客于某年1月17日在銀行開了一個帳戶并存了200元,存款額自開戶日起就開始生效,若沒有新的交易發(fā)生,那么存款額的有效時間就一直延續(xù)到當前時間,因此在16日,存款的有效期是1月15,1月16,在17日,有效期變?yōu)?月15,1月17等等,每天對這些數(shù)據(jù)進行更新來確切地反映有效時間是很不實際的,而用變元Now就能很好的解決這個問題,可以把有效期表示為1月15,Now,暗示存款額從1月15到當前時間
31、一直有效,避免了頻繁更新時間的問題,因此在時態(tài)數(shù)據(jù)庫中應用Now是非常便利和實用的。 例如數(shù)據(jù)庫中記錄了某年王平是中山大學的教員,例如2003年,在這里不考慮年份,表3-3顯示了該大學數(shù)據(jù)庫中相關元組的雇傭情況,有效時間屬性“from”顯示王平于6月1 日被聘為該校助教,屬性“to”值Now顯示他終止該職務的時間,from和to 組成了該元組的有效時間區(qū)間,實際上表3-3(a)表明王平從6月1日至今一直是該校教員,因此,在查詢該校當前教員名單時一定包含王平。隨著時間的流逝,Now的值也跟著改變來準確體現(xiàn)不同的當前時間。 教員姓名職位VALID TIMEFROMTO王平助教6月1日Now 王平助
32、教6月1日Forever王平助教6月1日6月6日王平可能被聘為助教6月6日Now 時間元素UCUtill Changed(簡記UC)主要用于事務時間中的時間變元,表示直到該元組改變的時間,在應用于事務時間中它有比Now更精確的解釋語義,并與有效時間中的時間變元Now相區(qū)別,但與Now 具有類似的含義。事務時間(transaction time)是指記錄邏輯上被存放在數(shù)據(jù)庫中的時間,它反映了記錄被查、刪、改的時間。事務時間與有效時間正交的一個概念,表示了數(shù)據(jù)庫的變化過程。一般有效時間由用戶提供,事務時間由數(shù)據(jù)庫管理員在更新數(shù)據(jù)庫時自動生成,事務時間區(qū)間start,stop中的start表示該事務
33、的起始時間,stop表示該事務的終止時間,當插入一個元組時,將start時間初始化為插入時的當前時間,stop時間記為UC,若刪除一個元組,則將該元組的stop值UC改為當前時間,這個元組在邏輯上刪除。數(shù)據(jù)庫更新集合了插入和刪除兩種操作。 考慮事務時間模型如表4所示,事務時間關系與有效時間關系有不同的解釋,start時間值表示該元組錄入數(shù)據(jù)庫的時間,如6月1日,我們才知道王平是該校助教,stop值UC表明數(shù)據(jù)庫中一直記錄著王平是該校助教,若王平于7 月10日離開該校,要在邏輯上刪除這一元組,只要將“stop”值改為7月10日即可。 教員姓名職務Trans time StartStop 王平助教
34、6月1日UC3.3時態(tài)數(shù)據(jù)庫基本概念時態(tài)數(shù)據(jù)庫基本概念3.3.1三種基本時間三種基本時間 用戶自定義時間 用戶自定義時間(User-defined Time)是指用戶根據(jù)自己的需要或理解定義的時間。這種時間的屬性值一般是時間點,用戶本身會解釋他所給出的時間信息,數(shù)據(jù)庫系統(tǒng)不需要解釋該數(shù)據(jù)的含義,只需將此時間域等同于其他一般的屬性域來理解,對它的操作和對普通的字符串操作幾乎沒有什么差別。 一般傳統(tǒng)數(shù)據(jù)庫系統(tǒng)都支持用戶自定義數(shù)據(jù)類型,允許用戶在原有系統(tǒng)數(shù)據(jù)類型的基礎上建立自己定義的數(shù)據(jù)類型。這些用戶自定義的數(shù)據(jù)類型,在數(shù)據(jù)表建立或結構修改時,和其他標準數(shù)據(jù)類型一樣被用戶使用。和傳統(tǒng)數(shù)據(jù)庫系統(tǒng)一樣,
35、時態(tài)數(shù)據(jù)庫系統(tǒng)不對用戶自定義時間進行任何特殊的處理,不需要專門的語言支持。用戶自定義時間值是完全應用依賴的,由用戶和系統(tǒng)以常規(guī)方式存取。 有效時間有效時間(Valid Time)是指一個對象(事件)在現(xiàn)實世界中發(fā)生并保持的那段時間,或者該對象在現(xiàn)實世界中為真的時間。有效時間既可以反映過去和現(xiàn)在的時間,還可以反映將來的時間。有效時間的含義依賴于具體應用,取值是否有效視具體應用場合而定,對應于實際應用的需要或現(xiàn)實世界變化的歷史。有效時間可以是單一的時間點,單一的時間區(qū)間,或者是時間點的集合,時間區(qū)間的有限集合,或者是整個時間域。也就是說,元組的屬性可以在任意的時間點,任意的時間區(qū)間里取值為真。和用
36、戶定義的時間不同,當查詢語句被檢測到有時態(tài)語義的時候,有效時間是由數(shù)據(jù)庫系統(tǒng)解釋的。而且有效時間可以被更新,有效時間的提供和更新也是由用戶來完成的。通常把只支持有效時間的數(shù)據(jù)庫稱為歷史數(shù)據(jù)庫(Historical Database)。歷史數(shù)據(jù)庫記錄現(xiàn)實世界在有效時間點的事件,或者現(xiàn)實世界的狀態(tài)變化。有效時間對事物的描述比較直觀、容易理解。姓名身份起始有效時間終止有效時間李明助教1993年7月1日1998年5月3日李明講師1998年5月4日2002年7月2日李明副教授2002年7月3日now從表5可以看到李明的身份變動歷史,通過增加起始有效時間(Starting Valid Time)和終止有效
37、時間(Ending Valid Time)2個字段,可以記錄數(shù)據(jù)的有效時間。是否增加了2個字段,就可以從傳統(tǒng)的關系型數(shù)據(jù)管理系統(tǒng)變?yōu)闅v史數(shù)據(jù)管理系統(tǒng)了呢?當然沒有那么簡單。作為一個時態(tài)DBMS,必須支持時態(tài)數(shù)據(jù)定義語言(TDDL) ,時態(tài)數(shù)據(jù)操作語言(TDML) ,時態(tài)查詢語言(Temporal Query Language)和時態(tài)約束(Temporal Constraints)。例如:如果在關系型數(shù)據(jù)管理系統(tǒng)(RDBMS)下實現(xiàn)表5的存儲關系,可以修改第1條記錄的終止有效日期為2000年3月4日 從數(shù)據(jù)存儲的角度來看沒有問題,但是從時態(tài)數(shù)據(jù)的角度觀察,發(fā)現(xiàn)第1條和第2條記錄有時間沖突,在兩個
38、時間區(qū)間的交集1998年9月4日2002年3月4日這段時間,該人員到底是助教還是講師?這就涉及到時態(tài)的約束問題。時態(tài)DBMS自身提供時態(tài)約束管理,而簡單的在關系型DBMS基礎上通過擴充字段來實現(xiàn)歷史數(shù)據(jù)庫,需要用戶編制程序完成約束。有效時間有如下兩個主要特點:有效時間值的含義依賴于具體應用,取值是否有效視具體應用場合而定,即涉及到數(shù)據(jù)約束問題;有效時間可以指過去、現(xiàn)在和未來。姓名身份起始有效時間終止有效時間李明助教1993年7月1日2002年3月4日李明講師1998年5月4日2002年7月2日李明副教授2002年7月3日now 事務時間事務時間(Transaction Time)是指一個數(shù)據(jù)庫
39、對象進行操作的時間,是一個事實存儲在數(shù)據(jù)庫中的時間,它記錄著對數(shù)據(jù)庫修改或更新的各種操作歷史,對應于現(xiàn)有事務或現(xiàn)有數(shù)據(jù)庫狀態(tài)變遷的歷史。有時也稱事務時間為系統(tǒng)時間(system time)。事務時間對應于現(xiàn)有事務或現(xiàn)有數(shù)據(jù)庫的狀態(tài)變遷的歷史。它是應用獨立的,用戶不可以修改事務時間。數(shù)據(jù)庫中的數(shù)據(jù)錄入數(shù)據(jù)庫的時間,修改和刪除的時間是由系統(tǒng)時鐘決定的,而修改后的數(shù)據(jù)也是不能夠改變的。處理事務時間的方法是存儲所有數(shù)據(jù)庫的狀態(tài)。修改只能對最后一個狀態(tài)進行,但是可以查詢?nèi)我庖粋€狀態(tài)。通常把支持事務時間的數(shù)據(jù)庫稱為回滾數(shù)據(jù)庫(Rollback Database)?;貪L數(shù)據(jù)庫記錄數(shù)據(jù)庫的自身變化,沿著事務時
40、間軸記錄數(shù)據(jù)狀態(tài),按照事務時間排序,保留了所有狀態(tài)的演變歷史?;貪L數(shù)據(jù)庫可以被看作是只能追加記錄的數(shù)據(jù)庫,它不記錄未來的數(shù)據(jù)庫狀態(tài)。 事務時間有如下主要特點: 事務時間的值由系統(tǒng)時鐘給出,它獨立于應用,用戶不能修改事務時間; 事務時間不能晚于現(xiàn)在時間,因為它反映著數(shù)據(jù)庫實際操作的時間,不能指未來,而有效時間可以指未來。3.3.2 兩個時間維兩個時間維 傳統(tǒng)的關系數(shù)據(jù)庫有兩維,其一是屬性維,其二是元組維,分別為橫向維和縱向維。時態(tài)數(shù)據(jù)庫在傳統(tǒng)數(shù)據(jù)庫的基礎上增加了時間維概念,時間維指的是有效時間維和事務時間維。于是時態(tài)數(shù)據(jù)庫就變成了四維結構 姓名出生年月職稱工資有效時間李小山196009講師100
41、0(199809,now)張又寶196411副教授1700(199803,now)19981218姓名出生年月職稱工資有效時間李小山196009講師10001300(199809,199903)(199904,now)張又寶196411副教授1700(199803,now) 19990618姓名出生年月職稱工資有效時間李小山196009講師10001300(199809,199903)(199904,now)張又寶196411副教授教授17002100(199803,200003)(200004,now) 20000918姓名出生年月職稱工資有效時間李小山196009講師副教授10001300
42、1800(199809,199903)(199904,200103)(200104,now)張又寶196411副教授系主任17002100(199803,200003)(200004,now) 20020618表中的事務時間體現(xiàn)在什么地方呢?在圖3中有四個表,每個表的左邊都對應一個時間值,分別是1998-12-18、1999-06-18、2000-09-18和2002-06-18,這四個時間點就是我們所說到的事務時間,分別表示相對應數(shù)據(jù)庫表更新操作的時間。我們用一根數(shù)軸來表示事務時間,數(shù)軸是從系統(tǒng)支持的最小的那個時間點開始一直向無限延伸,事務時間的取值就是這個時間軸中的某一點或是某些點。 如果
43、一個元組是在數(shù)據(jù)庫建立之前有效,那么它在數(shù)據(jù)庫中的第一次事務時間,就是建立該數(shù)據(jù)庫的時間,直至此時這個元組的有效性才被體現(xiàn)出來。當元組無效后,倘若數(shù)據(jù)庫沒有進行與事務時間相關的更新操作,元組真正的有效性也是體現(xiàn)不出來的。同樣,該元組倘若要失效的話,必須要有新的事務時間才可能體現(xiàn)出來??梢?,沒有事務時間,元組的有效性是沒有辦法體現(xiàn)的;沒有有效時間,僅有事務時間,數(shù)據(jù)庫的元組僅僅是一個個孤立的快照。 有效時間和事務時間是互不相關的(Orthogonal)。這好比一個人的出生年月在他出生的時候就有效了,而且此時間永遠有效。但是該數(shù)據(jù)何時進入數(shù)據(jù)庫,何時從數(shù)據(jù)庫中被刪除,完全是由系統(tǒng)決定的,它和有效時
44、間完全沒有關系。 另外,在時態(tài)數(shù)據(jù)庫中,更新數(shù)據(jù)的時候,舊的數(shù)據(jù)仍然存在,并且可以訪問和修改。新的數(shù)據(jù)則用作當前值供用戶訪問。 3.3.3快照數(shù)據(jù)庫快照數(shù)據(jù)庫 快照數(shù)據(jù)庫(Snapshot Database)是以在特定的時刻的瞬間快照來建立模型,來考慮現(xiàn)實世界,盡管現(xiàn)實世界是變化的,快照數(shù)據(jù)庫只是反映了某一個瞬間的情況。之所以在這里將快照數(shù)據(jù)庫介紹一下,是因為快照數(shù)據(jù)庫也支持一種時間用戶定義時間。而且對快照數(shù)據(jù)庫的研究,可以看到數(shù)據(jù)庫對時變屬性的支持變化情況。 快照數(shù)據(jù)庫由靜態(tài)的二維關系表組成,分別是屬性維和元組維。數(shù)據(jù)庫的狀態(tài)變遷由事務實現(xiàn)的,一旦事務提交,其狀態(tài)變遷就立即生效,原來的數(shù)據(jù)庫
45、狀態(tài)也就完全被丟失和遺忘,相應的,現(xiàn)實世界的狀態(tài)也一樣被丟失和遺忘。 快照數(shù)據(jù)庫不能夠進行與時間相關的任何工作,不能進行含有時間因素的推理,不能進行以往歷史數(shù)據(jù)的查詢;而且,它更改的歷史數(shù)據(jù)全部丟失。實際上是一種非時態(tài)數(shù)據(jù)庫,它反映的是數(shù)據(jù)的當前狀態(tài),隨著時間的推移,數(shù)據(jù)庫狀態(tài)在不斷的改變,新狀態(tài)將覆蓋舊的狀態(tài)。狀態(tài)之間的轉變是通過更新操作實現(xiàn)的,如insert into、delete和update語句。狀態(tài)之間轉變的確切時刻是發(fā)生在Commit的時刻(邏輯意義上的改變,物理意義上的更新時刻由DBMS具體實現(xiàn),因為分層的體系結構提供了物理獨立性)。這種數(shù)據(jù)庫稱為“快照數(shù)據(jù)庫”,意思是它只把握數(shù)
46、據(jù)庫的當前的一個快照狀態(tài),“快照”狀態(tài)是隨著時間在不斷改變的。這里所說的“快照”和關系數(shù)據(jù)庫中的“快照”的概念是有差別的:關系數(shù)據(jù)庫中的快照是為了處理的需要(比如年底結帳的需要)對某個時刻(12月31日23時59分59秒)數(shù)據(jù)庫中的數(shù)據(jù)進行獨立的數(shù)據(jù)備份。而這里使用的“快照”只是指數(shù)據(jù)庫只保留一個數(shù)據(jù)庫狀態(tài)(通常是當前狀態(tài))的性質(zhì)。 事務時間維 有效時間維 Now Now 從時態(tài)數(shù)據(jù)庫的觀點來看,快照數(shù)據(jù)庫不區(qū)分事務時間和有效時間。它采用這樣的假定:一個存儲在數(shù)據(jù)庫中的元組,一定是真實世界中的有效事實 3.3.4回滾數(shù)據(jù)庫回滾數(shù)據(jù)庫 回滾數(shù)據(jù)庫(Rollback Database)支持事務時間
47、,它按事務時間進行編址,保存了過去每次事務提交,狀態(tài)演變之前的狀態(tài)。 回滾數(shù)據(jù)庫記錄了數(shù)據(jù)庫事務變化歷史,它實現(xiàn)的是事務時間軸。任何一個更新語句的執(zhí)行將產(chǎn)生一個新的數(shù)據(jù)庫狀態(tài)。新狀態(tài)不會覆蓋舊的狀態(tài)。因此沒有數(shù)據(jù)會被物理刪除。通過將一個元組的事務結束時間設為執(zhí)行語句的當時時間,從而實現(xiàn)元組在語義上的“刪除”。事務時間區(qū)間可以看成是該元組在快照數(shù)據(jù)庫中存在的歷史。 事務時間維 Now Now 有效時間維 表7是在回滾數(shù)據(jù)庫中張三的記錄,而在不同歷史時期的快照數(shù)據(jù)庫中張三記錄的情況分別如表8和表9;表8是1998.1-1999.1快照數(shù)據(jù)庫中張三的記錄;表9 是1999.1之后,快照數(shù)據(jù)庫中張三的
48、記錄,它覆蓋了表8的記錄。 IDNAMEBIRTHDAYSALARY100張三1974.1.13000IDNAMEBIRTHDAYSALARY100張三1974.1.15000IDNAMEBIRTHDAYSALARYTTSTTE100張三1974.1.130001998.11999.1100張三1974.1.150001999.1回滾數(shù)據(jù)庫不足之處也很為明顯,主要表現(xiàn)如下:1)回滾數(shù)據(jù)庫因為是按照事務時間編址,記錄的是數(shù)據(jù)庫狀態(tài)變遷的歷史,而不是現(xiàn)實世界變化的歷史,現(xiàn)實世界中元組的屬性在某個時間點(屬性的有效時間)變化了,但是因為數(shù)據(jù)庫在這個時間點沒有執(zhí)行事務,即數(shù)據(jù)庫的事務時間沒有改變,那么
49、此時,元組的時變屬性的改變在數(shù)據(jù)庫中根本沒有體現(xiàn)出來。2) 過去元組的錯誤決不可以更正,而只能查看。當我們發(fā)現(xiàn)元組有錯誤的時候,如果此事務已經(jīng)提交的話,我們就無能為力了,所能做的工作只能是等待下次系統(tǒng)的事務時間進行新的改動。但是,改動的只是提交前的數(shù)據(jù)庫,即最近一個事務時間點的數(shù)據(jù)庫,在此之前的狀態(tài)不能再改變。3)回滾數(shù)據(jù)庫的冗余太多。在前一個事務時間內(nèi)提交的數(shù)據(jù),即使在下一個事務時間沒有數(shù)據(jù)的改變或者改變甚小也需要進行所有的數(shù)據(jù)的重新輸入及儲存,這種冗余是較大的,特別是那種時變較小的情況。 3.3.5歷史數(shù)據(jù)庫歷史數(shù)據(jù)庫 記錄事實的有效時間的數(shù)據(jù)庫稱為歷史數(shù)據(jù)庫。歷史數(shù)據(jù)庫記錄了在有效時間軸
50、上的一系列的數(shù)據(jù)庫狀態(tài),可能是過去、現(xiàn)在或將來。它可以被看作是記錄了事實在真實世界的變化過程 事務時間 有效時間 now now 。歷史數(shù)據(jù)庫上的查詢語言必須具有有效時間演算能力。同時更新語句必須指明修改語句涉及哪些數(shù)據(jù)庫狀態(tài)(也就是只對指明的時間區(qū)間內(nèi)有效的記錄才進行修改)。 歷史數(shù)據(jù)庫無法記錄數(shù)據(jù)庫的修改歷史。因此,在歷史數(shù)據(jù)庫中有效時間的修改歷史也是不能被記錄的。例如某個事實的有效時間有錯誤而進行了更新,新的記錄將覆蓋舊的記錄。 歷史數(shù)據(jù)庫主要特點是支持有效時間,數(shù)據(jù)冗余度小,結構相對簡單。但是也存在一些不知,主要不足之處是:不支持事務時間,不可以象回滾數(shù)據(jù)庫一樣對以前的某一個狀態(tài)進行查
51、詢 3.3.6雙時態(tài)數(shù)據(jù)庫雙時態(tài)數(shù)據(jù)庫 回滾數(shù)據(jù)庫和歷史數(shù)據(jù)庫各具優(yōu)點,通過設計一種數(shù)據(jù)庫,使它既支持事務時間又支持有效時間,這就是雙時態(tài)數(shù)據(jù)庫(Bitemporal Database)。雙時態(tài)數(shù)據(jù)庫集成了前三種類型數(shù)據(jù)庫的功能特性,儲存了數(shù)據(jù)庫和現(xiàn)實世界兩者發(fā)展的歷史。 雙時態(tài)數(shù)據(jù)庫由時態(tài)關系組成,其時態(tài)關系是一個四維結構。其中兩維是屬性和元組,另外兩維是事務時間和有效時間(圖7),一個時態(tài)關系可以看成是一個歷史關系的序列。對時態(tài)關系的一個回滾操作則是選取了一個特定的歷史關系,可對該歷史關系進行查詢。而每一個事務則引起一個新的歷史關系的建立。 事務時間 有效時間 Now now 雙時態(tài)關系的
52、一種實現(xiàn)方法就是組合回滾數(shù)據(jù)庫和歷史數(shù)據(jù)庫成為新的數(shù)據(jù)庫。 t4 t3 t3 t3 t3 t2 t2 t2 t2 t1 t1 t1 t1 t5 T1 T2 T3 T4 有效時間 事務時間 圖8所示的是一個元組的四個歷史數(shù)據(jù)庫中的有效時間片斷組合。我們只是在原來的三維結構的基礎之上加了第四維有效時間維,使得數(shù)據(jù)庫變?yōu)樗膫€維結構,元組維和屬性維與原來無異,故不在此給出。 可以看出,在事務時間軸上,取不同的時間點,就產(chǎn)生不同的歷史數(shù)據(jù)庫,我們可以對上圖中的對應于四個事務時間點T1,T2,T3,T4的歷史數(shù)據(jù)庫進行查詢操作。當然圖中所示的只是一個元組的四個歷史數(shù)據(jù)庫中的有效時間片斷組合,對于其他元組的
53、情況可以類似的進行推理,而后,這些元組組合到一起即形成了四個不同的歷史數(shù)據(jù)庫。 所以,這四個歷史數(shù)據(jù)庫也可以成為是快照歷史數(shù)據(jù)庫,說是快照,是因為這四個數(shù)據(jù)庫是分別是四個事務時間的快照;說是歷史數(shù)據(jù)庫,是因為每個數(shù)據(jù)庫里面的紀錄是歷史數(shù)據(jù)庫屬性的,記載的是現(xiàn)實元組的真實變化的時間,而非數(shù)據(jù)庫狀態(tài)變化的時間,我們可以在這四個數(shù)據(jù)庫里面進行增加、改正、刪除及查詢的工作 雙時態(tài)數(shù)據(jù)庫綜合了回滾數(shù)據(jù)庫和歷史數(shù)據(jù)庫的優(yōu)良特性,它即保存了數(shù)據(jù)庫變遷的歷史,又保存了現(xiàn)實世界的真實的數(shù)據(jù)屬性。 這種數(shù)據(jù)庫,才是真正的對數(shù)據(jù)時態(tài)屬性支持的數(shù)據(jù)庫,以前的回滾數(shù)據(jù)庫很難稱得上是純粹的時態(tài)數(shù)據(jù)庫。 應當注意的是,雙時
54、態(tài)數(shù)據(jù)庫是以犧牲大容量的儲存空間為代價的,對雙時態(tài)數(shù)據(jù)庫的儲存進行優(yōu)化是時態(tài)數(shù)據(jù)庫研究的一個重要工作。3.4時態(tài)關系操作時態(tài)關系操作3.4.1基本概念和術語基本概念和術語 1.時間量子時間量子 時間量子(chronon)被定義為時態(tài)系統(tǒng)所支持的最小的、不可再分解的時間間隔。通常取時間量子為0.01秒至1秒。 2系統(tǒng)時間論域系統(tǒng)時間論域 系統(tǒng)支持的時間起點記為0,系統(tǒng)時間論域為有限、離散、有序的時間量子的集合,記為Sys_T=0,1,2,Now,MaxSysTime。 3時間區(qū)間時間區(qū)間 在Sys_T中,以兩個時間量子為上下限的時間量子的集合。例如t,t+1,t+2,T,簡記為t,T,就是一個時
55、間區(qū)間。 4屬性值的生命周期和元組的生命周期屬性值的生命周期和元組的生命周期在歷史數(shù)據(jù)庫HRDM模型中,有效時間用生命周期表述,生命周期是Sys_T的子集,它所表達的是元組或者屬性的有效時間。作為有效時間,生命周期反映了元組或其屬性在現(xiàn)實世界為真的時間。 另一方面,元組的生命周期是指作為數(shù)據(jù)庫表中記錄的單位元素元組所存在的有效時間,稱為元組的生命周期。數(shù)據(jù)庫中的表的記錄,是以元組的形式進行記錄的,每個表可以說是一個集合,而每個記錄可以說是集合的元素,因而每個記錄是沒有先后順序的,每個記錄也是獨立的。作為記錄中的時變屬性,有其自己的生命周期,而作為記錄的獨立單位元組,它的有效時間,就是元組的生命
56、周期。 5生命周期的集合運算生命周期的集合運算 生命周期是系統(tǒng)時間域Sys_T的子集。作為集合,生命周期經(jīng)過集合運算,如并、交、差和邏輯非等運算后的結果仍然是生命周期。3.4.2 HRDM數(shù)學模型數(shù)學模型 全屬性集是抽象的符號集,記為UA1,A2,An,屬性A的值域記為Dom(A),是含有至少兩個元素的集合,設T為系統(tǒng)時間論域,DiDOM(Ai),D=D1D2Dn,下面利用集合T和D定義時態(tài)映射。記集合TDTD1,TD2,TDn,其中對每個i,Difi|fi:TDi,fi是從時間域到屬性值域D的偏映射,集合TTg|g:TT,其中g是從T到T的偏映射。歷史關系數(shù)據(jù)模型(HRDM)的屬性定義于時態(tài)
57、偏函數(shù)集合上,集合HD(TDTT)=TT,TD1,TD2, TDn是偏映射的集合,這里稱它為時態(tài)映射集。CDfHD|F(x)常量為常數(shù)函數(shù)集合,用符號f|D表示函數(shù)f在D上的限制。 定義定義3-1 :一個HRDM模型的關系模式T是一個有序四元組R。其中: AA1,A2,是T的屬性集。 K是R的關鍵屬性集。 ALS:AR2T是屬性A的生命周期賦值函數(shù)(Assign LifeSpan),其函數(shù)值簡記為ALS(A,R). DOM:AHD從屬性集到歷史函數(shù)集的映射,它滿足兩個條件,I)對所有關鍵字屬性Aj,DOM(Aj)CD(直觀解釋:關鍵字值不隨時間變化);II)Dom(A) ALS(A,R)(直觀
58、解釋:A的取值范圍是生命周期中允許取值范圍)。 定義定義3-2:關系模式R上的一個元組是有序二元組t,其中 t.e是元組的生命周期。 t.v是一個函數(shù),稱為元組的值,對每一個屬性AR,它把A映射到DOM(A)中。 性質(zhì)性質(zhì)3-1:HRDM模型中,關系模式R上的關系r是有限個符合下列條件的元組集合;如果t1和t2屬于r,對每一個ut1.e和vt2.e,t1.v(k)(u)t2.v(k)(v)。也就是說:關系r中不允許任意元組的關鍵字有重復。 性質(zhì)性質(zhì)3-2:HRDM中,關系r的生命周期,記為LS(r);關系r 的生命周期是各個屬性生命周期的并。如果,rt1,t2,tn,則LS(r)t1.et2.
59、etn.e。3.4.3 歷史關系代數(shù)歷史關系代數(shù) 在HRDM中的兩個關系r1和r2必須滿足下面的HRDM可并性條件才能作并、交、差運算。HRDM可并性條件如下: 設關系r1和r2分別是模式R1=和 R2上的兩個關系,如果R1R2,且DOM1DOM2,則稱r1和r2滿足可并性條件。 1并運算并運算 如果關系r1和r2滿足HRDM可并性條件,則它們之間的并運算是將r1和r2中的時態(tài)元素合并到一起,并注意時間區(qū)間的歸并。 兩個關系作并運算后,元組的個數(shù)并不一定是兩個關系元組個數(shù)的和,這是因為在并的過程中關鍵字值相同的元組需要合并,因此它們的生命周期是因子生命周期的并。工號工資生命周期92950228
60、892,95 800 元96,99 1280元00,Now 1900元92,Now92950228993,95 800 元96,99 1400元00,Now 1900元93,Now工號工資生命周期929502288 96,99 1280元 00,02 1900元03,now 2100元96,Now929502289 96,99 1400元 00,02 1900元 03,now,2200元96,Now工號工資生命周期92950228892,95 800 元96,99 1280元00,02 1900元 03,now 2100元92,Now92950228993,95 800 元96,99 1400元00,02 1
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 地鐵上學生做數(shù)學試卷
- 富平縣中考二模數(shù)學試卷
- 肌膚護理流程課件
- 福州中學半期考數(shù)學試卷
- 輔仁高級中學數(shù)學試卷
- 高青一中數(shù)學試卷
- 肉牛養(yǎng)殖技術課件
- 2024年11月河南省內(nèi)黃興福村鎮(zhèn)銀行招考9名工作人員筆試歷年參考題庫附帶答案詳解
- 黔南貴定縣“雁歸興貴?才聚麥溪”人才引進考試真題2024
- 典中點蘇教數(shù)學試卷
- 普通高中生物學課程標準-(2024修訂版)
- 2024年山東濟南初中學業(yè)水平考試生物試卷真題(含答案解析)
- 住院患者心理需要及護理
- 空調(diào)設備吊裝與安裝方案
- 2024年寧夏中考生物真題卷及答案解析
- 公共體育場建設項目可行性研究報告
- 光纖通信系統(tǒng)(第3版) 課件 第1-3章 概述、光纖與光纜、光源和光發(fā)送機
- 貸款車電子合同模板
- 高空作業(yè)車外墻施工方案
- 四年級上冊語文全冊重點知識
- GB/T 150.3-2024壓力容器第3部分:設計
評論
0/150
提交評論