• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      1主從結(jié)構(gòu)的雙時態(tài)數(shù)據(jù)模型的設(shè)計應(yīng)用

      2015-04-29 00:44:03黃雄波
      智能計算機與應(yīng)用 2015年2期

      摘 要:針對醫(yī)院信息管理系統(tǒng)(HIS)中的時態(tài)信息處理需求,提出了一種具有主從結(jié)構(gòu)的雙時態(tài)數(shù)據(jù)模型,進一步,對該模型的時態(tài)實體完整性、時態(tài)參照完整性以及用戶定義的時態(tài)完整性進行了分析和設(shè)計。實際應(yīng)用表明,新模型不僅具有良好的數(shù)據(jù)完整性約束機制,而且還易于實現(xiàn)時態(tài)數(shù)據(jù)的分段儲存。

      關(guān)鍵詞:主從結(jié)構(gòu);雙時態(tài)數(shù)據(jù)模型;數(shù)據(jù)完整性

      中圖分類號:TP311.11 文獻標(biāo)識碼:A 文章編號:2095-2163(2015)02-

      Design Application of Master-Slave Structures Bi-temporal Data Model

      HUANG Xiongbo

      (Department of Electronic and Information Engineering, Foshan Professional Technical Collegee, Foshan Guangdong 528137, China)

      Abstract: In view of the hospital?information management system?(HIS)?of temporal?information processing demand,?proposes a?bi-temporal?data model with?master-slave?structure,?on the basis of this,?the temporal?integrity?of the model is?the temporal entity?integrity,?referential integrity?and?temporal?user defined?analysis and design.?The actual application shows that,?the new model not only has?data integrity constraint?mechanism,?but also?easy to?realize sectional?storage?of temporal data.

      Keywords: Master/Slave Structures; Bi-temporal Data Model; Data Integrity

      0 引 言

      自然界的各種事物總是伴隨著時間的流逝而不停地在演變和進化,相應(yīng)地,事物的數(shù)據(jù)屬性也在不斷地變化。一般地說,傳統(tǒng)的關(guān)系數(shù)據(jù)庫管理系統(tǒng)(RDBMS)是屬于快照數(shù)據(jù)庫,即只保存事物在某一時刻的狀態(tài),據(jù)此,為了更好地記載并處理事物在發(fā)展過程中的各個狀態(tài),時態(tài)數(shù)據(jù)庫技術(shù)便應(yīng)運而生[1-3]。由于當(dāng)前尚沒有形成商品化的時態(tài)數(shù)據(jù)庫系統(tǒng)(TDBMS),各種領(lǐng)域的時態(tài)信息處理系統(tǒng)只能在RDBMS上進行構(gòu)建,故諸如時態(tài)數(shù)據(jù)的冗余優(yōu)化儲存、時態(tài)索引及時態(tài)數(shù)據(jù)的完整性約束等一系列的問題均需要開發(fā)人員自行處理[4]。

      在醫(yī)院信息管理系統(tǒng)(HIS,Hospital information system)的電子病歷中,其數(shù)據(jù)屬性具有明顯的時態(tài)特征,例如,患者的各種檢查記錄、診斷記錄及治療記錄等屬性均隨著時間的推移而不斷在變化[5]。針對電子病歷時態(tài)信息的數(shù)據(jù)特征,設(shè)計實現(xiàn)了一種具有主從結(jié)構(gòu)的雙時態(tài)數(shù)據(jù)模型,在此基礎(chǔ)上,就該模型的數(shù)據(jù)完整性作了深入的分析和設(shè)計。

      1 相關(guān)基礎(chǔ)知識

      1.1 雙時態(tài)數(shù)據(jù)模型

      定義1 有效時間(Vail Time):是指事物在現(xiàn)實世界中保持在某一狀態(tài)的那段時期。

      有效時間通??捎脮r間區(qū)間來表示,其中,為有效時間的起始時間,而為有效時間的結(jié)束時間。在實際應(yīng)用中,常用變量來表示有效時間的結(jié)束時間一直有效并保持到現(xiàn)在或延伸至將來。

      定義2 事務(wù)時間(Transaction Time):是指某個數(shù)據(jù)庫事實被記載至計算機系統(tǒng)中的整個時期,即對應(yīng)著數(shù)據(jù)庫本身的增加、刪除及修改等操作的發(fā)生時間。

      類似地,事務(wù)時間通??捎脮r間區(qū)間來表示,其中,為事務(wù)時間的起始時間,而為事務(wù)時間的結(jié)束時間。事務(wù)時間反映了事物在計算機系統(tǒng)中的變遷歷史,由于該時間是從計算機的系統(tǒng)時鐘處導(dǎo)出,因而具有應(yīng)用上的不可操縱性。在事務(wù)時間中,常用變量來表示數(shù)據(jù)庫的某一元組直至目前為止還沒有發(fā)生變更(刪除或修改)操作。

      定義3 雙時態(tài)數(shù)據(jù)庫(Bi-temporal DataBase):是指同時支持有效時間和事務(wù)時間的數(shù)據(jù)庫系統(tǒng)。

      雙時態(tài)數(shù)據(jù)庫不僅保存了事物在現(xiàn)實世界中各個時期的狀態(tài),而且也保存了事物在計算機系統(tǒng)中的記載變更過程,因而才是真正意義上的時態(tài)數(shù)據(jù)庫。

      事實上,在保存事物的歷史變化及其在計算機系統(tǒng)的記載變更過程中,雙時態(tài)數(shù)據(jù)庫花費了海量的儲存代價,為了有效地減少數(shù)據(jù)的冗余儲存,目前較為成熟的做法是將事物的常量屬性和時態(tài)屬性分開存儲[6]。在電子病歷中,可以把患者的姓名、性別、出生年月、血型等不隨時間變化而變化的屬性保存在常量關(guān)系中,而諸如診斷記錄、主管醫(yī)生等與時間有關(guān)的屬性則保存在各個時態(tài)關(guān)系中,如圖1所示。

      圖1 電子病歷中患者信息的時態(tài)E-R模型

      Fig.1 Temporal E-R?model?patient information?in electronic medical records

      對圖1的各個關(guān)系的屬性定義如下(帶#的屬性為該關(guān)系的主鍵):

      患者基本信息:{身份證號#,姓名,性別,血型,…};

      診斷記錄時態(tài)信息:{住院號#,疾病代碼#,疾病開始時間,疾病痊愈時間,事務(wù)錄入時間#,事務(wù)變更時間};

      主管醫(yī)生時態(tài)信息:{住院號#,醫(yī)生工號#,有效開始時間,有效時間,事務(wù)錄入時間#,事務(wù)變更時間};

      ……

      1.2 雙時態(tài)數(shù)據(jù)的完整性

      數(shù)據(jù)庫的完整性就是指通過一定的語義約束來確保各屬性取值的正確性、一致性及相容性[7-8],以患者信息的常量關(guān)系為例,各個患者的身份證號必須是唯一的,且其血型只能是A型、B型、AB型及O型中的一種。相對常量屬性而言,時態(tài)關(guān)系的完整性約束就顯得尤為復(fù)雜,特別是在傳統(tǒng)的RDBMS上進行時態(tài)信息處理時,其時態(tài)完整性的約束檢查機制更多的是由開發(fā)人員自行構(gòu)建。下面將結(jié)合電子病歷的患者信息對時態(tài)實體完整性、時態(tài)參照完整性及用戶定義的時態(tài)完整性進行分析和討論。

      (1)時態(tài)實體完整性

      時態(tài)實體完整性就是指元組在鍵上的時態(tài)取值不可重復(fù),且不能為空值。如表1的患者診斷記錄雙時態(tài)數(shù)據(jù)表中,其聯(lián)合主鍵為住院號、疾病代碼和事務(wù)錄入時間,不難發(fā)現(xiàn) ,由于#1和#2記錄均在[2014/12/08, 2014/12/15]期間內(nèi)對同一患者的同一病情進行了記載,因而這兩條記錄是不滿足時態(tài)實體完整性約束要求的。但由于這兩條記錄在三個聯(lián)合主鍵上的取值不完全相同且也不為空值,因而傳統(tǒng)的RDBMS就無法對該種重復(fù)進行檢查和約束。

      表1 電子病歷中患者診斷記錄的雙時態(tài)儲存

      Tab.1 Bi-temporal storage of patient?diagnosis?recorded?in the electronic medical record??

      Rec-

      No

      住院號#

      疾病

      代碼#

      疾病

      開始時間

      疾病

      痊愈時間

      事務(wù)

      錄入時間#

      事務(wù)

      更改時間

      #1

      14120201

      52031

      2014/12/05

      2014/12/18

      2014/12/05

      UC

      #2

      14120201

      52031

      2014/12/08

      2014/12/15

      2014/12/08

      UC

      #3

      14101822

      08528

      2014/10/12

      2014/11/16

      014/10/12

      UC

      #4

      14101822

      34420

      2014/10/22

      2014/11/08

      2014/10/22

      UC

      (2)時態(tài)參照完整性

      時態(tài)參照完整性是指多個時態(tài)關(guān)系上的約束,包含外鍵上的約束及各個時態(tài)關(guān)系上時間區(qū)間的歸屬約束兩種。

      ?設(shè)屬性集是時態(tài)關(guān)系上的外鍵,屬性集是時態(tài)關(guān)系上的外鍵,則外鍵上的約束要求為:上的元組在屬性上的取值必須取空值或等于時態(tài)關(guān)系中某元組在上的值。

      ?設(shè)

      分別是時態(tài)關(guān)系上關(guān)于同一外鍵的各元組有效時間的并集,而為該外鍵的實際有效時間區(qū)間,則各個時態(tài)關(guān)系上時間區(qū)間的歸屬約束要求為:。以 “14101822”住院號為例,若患者在[2014/10/12,2014/11/16]期間入院接受治療,在表1中,由于[2014/10/12,2014/11/16]和 [2014/10/22,2014/11/08]} 均包含于( ) [2014/10/12,2014/11/16],故表1的#3、#4元組均滿足時態(tài)參照完整性中時間區(qū)間的歸屬約束;而表2中,由于[2014/12/12,2014/12/17] [2014/10/12,2014/11/16],故表2的#1元組不滿足時態(tài)參照完整性中時間區(qū)間的歸屬約束。

      表2 電子病歷中患者的主管醫(yī)生的雙時態(tài)儲存示例

      Tab.2 Bi-temporal storage of the doctor in charge?recorded?in the electronic medical record

      Rec-

      No

      住院號#

      醫(yī)生

      工號#

      有效

      開始時間

      有效

      結(jié)束時間

      事務(wù)

      錄入時間#

      事務(wù)

      更改時間

      #1

      14101822

      2001

      2014/12/12

      2014/12/17

      2014/12/12

      UC

      ?用戶定義的時態(tài)完整性

      用戶定義的時態(tài)完整性是指用戶針對某一實際應(yīng)用需求自行添加一些特殊的約束以便使數(shù)據(jù)滿足一定的時態(tài)語義要求。以多值時態(tài)數(shù)據(jù)為例,由于存在并發(fā)癥的原因,因而表1應(yīng)允許同一患者在相同的時間區(qū)間里記載2種或以上的疾?。ㄈ绫?中的#3和#4記錄所示);與表1不同,患者在同一時間區(qū)間里只能有1名主管醫(yī)生,因而表2應(yīng)約束為單值時態(tài)數(shù)據(jù)。可見,不同的時態(tài)關(guān)系有著不同的時態(tài)語義約束要求。

      2 主從結(jié)構(gòu)的雙時態(tài)數(shù)據(jù)模型的設(shè)計與實現(xiàn)

      2.1 主從結(jié)構(gòu)的雙時態(tài)數(shù)據(jù)模型的設(shè)計

      從圖1中可知,各個時態(tài)屬性均以獨立的時態(tài)關(guān)系進行存儲,故在實施時態(tài)參照完整性約束時因涉及多表連接操作必然引發(fā)效率低下等問題,為此,設(shè)計了一種具有主從結(jié)構(gòu)的雙時態(tài)數(shù)據(jù)模型,該模型的結(jié)構(gòu)說明如下:

      其中,為常量關(guān)系,為對應(yīng)的常量屬性;為主結(jié)構(gòu)的時態(tài)關(guān)系,為主鍵,每一個的時態(tài)元組其實際有效時間區(qū)間為;為從結(jié)構(gòu)的時態(tài)關(guān)系,為外鍵,引用,和分別為時態(tài)屬性的類型及其相應(yīng)的取值,為各個從結(jié)構(gòu)的時態(tài)元組的有效時間區(qū)間。此外,當(dāng)有成立時,則其對應(yīng)的也成立。

      基于上述模型,對圖1的電子病歷重新設(shè)計,得到如表3和表4所示的主從時態(tài)數(shù)據(jù)表格:

      表3 電子病歷中患者醫(yī)療信息的主結(jié)構(gòu)雙時態(tài)數(shù)據(jù)表

      Tab.3 The master?structure of?information in the electronic medical records?of the?patients with bi-temporal?data table

      Rec

      -No

      住院號#

      入院時間

      出院時間

      事務(wù)

      錄入時間#

      事務(wù)

      更改時間

      #1

      14101822

      2014/10/12

      Now

      2014/10/12

      2014/11/16

      #2

      14101822

      2014/10/12

      2014/11/16

      2014/11/16

      UC

      表4 電子病歷中患者醫(yī)療信息的從結(jié)構(gòu)雙時態(tài)數(shù)據(jù)表

      Tab.4 The slave?structure of?information in the electronic medical records?of the?patients with bi-temporal?data table

      Rec

      -No

      住院號#

      時態(tài)

      屬性#

      時態(tài)

      取值#

      有效

      開始時間

      有效

      結(jié)束時間

      事務(wù)

      錄入時間#

      事務(wù)

      更改時間

      #1

      14101822

      診斷記錄

      08528

      2014/10/12

      Now

      2014/10/12

      2014/11/16

      #2

      14101822

      診斷記錄

      08528

      2014/10/12

      2014/11/16

      2014/11/16

      UC

      #3

      14101822

      主管醫(yī)生

      2001

      2014/10/12

      Now

      2014/10/12

      2014/11/16

      #4

      14101822

      主管醫(yī)生

      2001

      2014/10/12

      2014/11/16

      2014/11/16

      UC

      #5

      14101822

      治療記錄

      02332

      2014/10/12

      2014/10/19

      2014/10/12

      UC

      在表3的主結(jié)構(gòu)雙時態(tài)數(shù)據(jù)表中,#1元組表明了住院號為“14101822”的患者自2014/10/12起開始入院接受治療,系統(tǒng)于當(dāng)天記載了該事件,由于此時尚不確定患者的具體出院時間,故出院時間取值為,同時,事務(wù)更改時間也置為。當(dāng)患者于2014/11/16出院時,按照雙時態(tài)數(shù)據(jù)庫數(shù)據(jù)只增不刪的規(guī)則,首先把#1元組的事務(wù)更改時間從原來的變更為2014/11/16(即從2014/11/16起,#1元組不再有效);同時,添加#2元組記載患者在[2014/10/12,2014/11/16]期間入院接受治療的事實。

      在表4的從結(jié)構(gòu)雙時態(tài)數(shù)據(jù)表中,諸如診斷記錄、主管醫(yī)生及治療記錄等所有時態(tài)屬性均保存在同一數(shù)據(jù)表格中,從結(jié)構(gòu)雙時態(tài)數(shù)據(jù)表的數(shù)據(jù)操作與表3相同。

      2.2 主從結(jié)構(gòu)的雙時態(tài)數(shù)據(jù)模型的完整性約束

      在主從結(jié)構(gòu)的雙時態(tài)數(shù)據(jù)模型中,其數(shù)據(jù)完整性約束應(yīng)在主結(jié)構(gòu)和從結(jié)構(gòu)的雙時態(tài)數(shù)據(jù)表上進行。其中,主結(jié)構(gòu)雙時態(tài)數(shù)據(jù)表應(yīng)進行實體及用戶定義的時態(tài)完整性約束,而從結(jié)構(gòu)雙時態(tài)數(shù)據(jù)表則應(yīng)進行實體、參照及用戶定義共3種時態(tài)完整性約束。不失一般性,這里僅討論從結(jié)構(gòu)雙時態(tài)數(shù)據(jù)表的完整性約束。

      算法 從結(jié)構(gòu)雙時態(tài)數(shù)據(jù)表的完整性約束算法

      輸入:從結(jié)構(gòu)雙時態(tài)數(shù)據(jù)表,執(zhí)行增刪改操作后的待保存元組;

      輸出:若滿足時態(tài)完整性約束的,則;否則;

      begin

      (1)時態(tài)實體完整性約束的檢查

      (1.1)select * from Slave_DA where ( (住院號=var1) and (時態(tài)屬性=var2) and (時態(tài)取值=var3) )→DSAll;

      //在中查找{住院號、時態(tài)屬性、時態(tài)取值}與元組完全相同的數(shù)據(jù),檢索結(jié)果生成一數(shù)據(jù)集;其中動態(tài)參數(shù)分別為元組在{住院號、時態(tài)屬性、時態(tài)取值}屬性上的取值;

      (1.2) 按照文獻[9]對數(shù)據(jù)集DSALL的有效開始時間為Now變量的元組進行綁定,并根據(jù)事務(wù)更改時間選取與temp_record元組有關(guān)的數(shù)據(jù)→DS;

      (1.3)for i:=1 to DS.recordcount do

      //遍歷比對檢索結(jié)果

      begin

      if not((DS.有效開始時間>temp_record.有效結(jié)束時間) or (temp_record.有效開始時間>DS.有效結(jié)束時間)) then

      begin

      flag[0]:=False;

      break;

      //元組在有效時間區(qū)間內(nèi)出現(xiàn)重復(fù)記載,時態(tài)實體完整性約束標(biāo)志置,并提前退出遍歷

      end;

      end;

      (1.4)flag[0]:=True;

      //通過時態(tài)實體完整性約束檢查后,]置

      (2)時態(tài)參照完整性約束的檢查

      (2.1)select * from Master_DA where 住院號=var1→DS;

      (2.2)按照文獻[9]對數(shù)據(jù)集DS 中的有效開始時間為Now變量的元組進行綁定;

      (2.3)if not((temp_record.有效開始時間>= DS.有效開始時間) and (temp_record.有效結(jié)束時間<= DS.有效結(jié)束時間)) then flag[1]:=False

      else flag[1]:=True;

      //元組與主結(jié)構(gòu)雙時態(tài)數(shù)據(jù)表 進行參照完整性約束檢查,并根據(jù)檢查結(jié)果置時態(tài)參照完整性約束標(biāo)志]為或為

      (3)用戶定義的時態(tài)完整性約束的檢查

      (3.1)根據(jù)temp_record元組的類型在用戶定義的時態(tài)完整性約束庫中選取對應(yīng)的約束規(guī)則項→rule[i];

      (3.2)for i:=1 to rulecount do

      begin

      if not(rule[i]_check(temp_record)) then

      flag[i+1]:=False;

      else flag[i+1]:=True;

      end;

      //判別是否滿足用戶自定義的時態(tài)完整性約束,并根據(jù)檢查結(jié)果設(shè)置相應(yīng)的完整性約束標(biāo)志

      (4)時態(tài)完整性約束的處理

      (4.1)若所有的時態(tài)完整性約束標(biāo)志flag[i]均為True,則save(temp_record);

      (4.2)若出現(xiàn)任一時態(tài)完整性約束標(biāo)志flag[i]不為True,則return(error_code);

      end.

      2.3 數(shù)據(jù)的分段存儲

      為了提高主從結(jié)構(gòu)的雙時態(tài)數(shù)據(jù)模型的工作效能,可以對時態(tài)數(shù)據(jù)進行分段存儲[10]。如圖2所示,那些仍在住院接受治療的患者其相關(guān)時態(tài)數(shù)據(jù)儲存在工作庫中,而當(dāng)患者出院后(此時該患者在表中的有效結(jié)束時間小于),便把工作庫中有關(guān)該患者的相關(guān)所有時態(tài)數(shù)據(jù)遷移至歷史庫中。

      圖2 主從結(jié)構(gòu)的雙時態(tài)數(shù)據(jù)模型的分段儲存模型

      Fig.2 Segmented storage?model of double bi-temporal data model?of the?master-slave?structure

      3 結(jié)束語

      在沒有可用的時態(tài)數(shù)據(jù)庫系統(tǒng)的情況下,在相當(dāng)長的一段時期里,開發(fā)人員只能根據(jù)不同時態(tài)應(yīng)用需求在RDBMS上建立各種形式不一的時態(tài)數(shù)據(jù)模型。本文結(jié)合電子病歷中患者的醫(yī)療信息,提出了一種具有主從結(jié)構(gòu)的雙時態(tài)數(shù)據(jù)模型,該模型不僅具有良好的數(shù)據(jù)完整性約束機制,而且還易于實現(xiàn)時態(tài)數(shù)據(jù)的分段儲存。下一步的主要工作有,在此模型的基礎(chǔ)上,設(shè)計具有可視化操作的用戶自定義時態(tài)完整性約束系統(tǒng),并把該模型推廣至其它領(lǐng)域中去。

      參考文獻:

      [1] 湯庸.時態(tài)數(shù)據(jù)庫導(dǎo)論[M].北京:北京大學(xué)出版社,2004:1-121.

      [2] 郝忠孝.時態(tài)數(shù)據(jù)庫設(shè)計理論[M].北京:科學(xué)出版社,2009:1-175.

      [3] 湯庸,湯娜,葉小平.時態(tài)信息處理技術(shù)研究綜述[J].中山大學(xué)學(xué)報(自然科學(xué)版),2003, 42(4):4-8.

      [4] 姜曉軼,周云軒·時態(tài)數(shù)據(jù)庫研究進展[J]·計算機工程與應(yīng)用,2005,41(24):27-30·

      [5] 黃雄波.電子病歷中時態(tài)數(shù)據(jù)庫的分析與設(shè)計[D]. 華南理工大學(xué)自動化科學(xué)與工程學(xué)院,2007.

      [6] 黃雄波·電子病歷中重疊時態(tài)數(shù)據(jù)的分析與消除[J]·計算機技術(shù)與發(fā)展,2009,18(3):235-238·

      [7] 王珊,薩師煊.數(shù)據(jù)庫系統(tǒng)概論(第4版)[M].北京:高等教育出版社,2006:1-40.

      [8] 沈鈞毅. 數(shù)據(jù)庫系統(tǒng)原理[M].西安: 西安交通大學(xué)出版社,2014:16-30.

      [9] 葉小平,湯庸·時態(tài)變量“Now”語義及相應(yīng)時態(tài)關(guān)系運算[J]·軟件學(xué)報,2009,16(5):838-845·

      [10] 唐常杰,于中華,游志勝等·時態(tài)數(shù)據(jù)的變粒度分段存儲策略及其效益分析[J]·軟件學(xué)報,1999,10(10):1085-1090·

      1 基金項目:廣東省科技計劃工業(yè)攻關(guān)項目(2011B010200031);佛山職業(yè)技術(shù)學(xué)院校級重點科研項目(2011KY006)。

      作者簡介:黃雄波(1975-),男,廣東南海人,碩士,副教授,主要研究方向:時間序列分析、數(shù)字圖像處理。

      天气| 广宗县| 北碚区| 额济纳旗| 井研县| 太白县| 山西省| 万安县| 无锡市| 中西区| 麦盖提县| 深水埗区| 彭泽县| 齐齐哈尔市| 屏东市| 桑日县| 奉化市| 肥西县| 绥德县| 金塔县| 阿坝| 昌都县| 沙田区| 土默特左旗| 故城县| 肇庆市| 永昌县| 离岛区| 尚志市| 洛浦县| 昌黎县| 丘北县| 保亭| 昌图县| 罗平县| 文登市| 巍山| 景东| 武定县| 益阳市| 兴和县|