亚洲国产日韩欧美在线a乱码,国产精品路线1路线2路线,亚洲视频一区,精品国产自,www狠狠,国产情侣激情在线视频免费看,亚洲成年网站在线观看

數(shù)據(jù)的完整性在數(shù)據(jù)庫應用系統(tǒng)中的設計與實施

時間:2020-08-01 09:55:32 計算機應用畢業(yè)論文 我要投稿

數(shù)據(jù)的完整性在數(shù)據(jù)庫應用系統(tǒng)中的設計與實施

  數(shù)據(jù)庫完整性是數(shù)據(jù)庫應用系統(tǒng)的最基本要求之一,下面是小編為大家搜集整理的一篇關于數(shù)據(jù)庫完整性重要性的論文范文,供大家閱讀借鑒。

  摘要:本文主要介紹了在SQL Server數(shù)據(jù)庫應用系統(tǒng)中,在服務器端和客戶端實現(xiàn)數(shù)據(jù)完整性的設計方法,并結(jié)合醫(yī)院管理信息系統(tǒng)(簡稱JY-HMIS),闡述了實施數(shù)據(jù)完整性的策略。

  關鍵詞:數(shù)據(jù)完整性 數(shù)據(jù)庫 事務處理

  前言

  數(shù)據(jù)完整性是指數(shù)據(jù)的正確性和一致性,它有兩方面的含義:(1)數(shù)據(jù)取值的正確性,即字段列值必須符合數(shù)據(jù)的取值范圍、類型和精度的規(guī)定;(2)相關數(shù)據(jù)的一致性,即相關表的聯(lián)系字段的列值匹配。在數(shù)據(jù)庫應用系統(tǒng)中,保證數(shù)據(jù)完整性是應用系統(tǒng)設計的基本要求;數(shù)據(jù)完整性實施的好壞,關系到數(shù)據(jù)系統(tǒng)的正確性、一致性和可靠性,關系到系統(tǒng)的成敗。JY-HMIS采用C/S模式體系結(jié)構(gòu),其數(shù)據(jù)庫應用系統(tǒng)為:SQL Server 7.0;客戶端的開發(fā)工具為:PowerBuilder 6.5。下面主要從服務器端數(shù)據(jù)庫管理系統(tǒng)及客戶端的應用程序一,兩個方面進行介紹。

  1、服務器端利用SQL Server 7.0數(shù)據(jù)庫實現(xiàn)數(shù)據(jù)的完整性

  在用INSERT、DELETE、UPDATE語句修改數(shù)據(jù)庫內(nèi)容時,數(shù)據(jù)的完整性可能遭到破壞,為了保證存放數(shù)據(jù)的正確性和一致性,SQL Server對數(shù)據(jù)施加了一個或多個數(shù)據(jù)完整性約束。這些約束限制了對數(shù)據(jù)庫的數(shù)據(jù)值,或者限制了數(shù)據(jù)庫修改所產(chǎn)生的數(shù)據(jù)值,或限制了對數(shù)據(jù)庫中某些值的修改。

  在SQL Server關系數(shù)據(jù)庫中,主要有以下3類數(shù)據(jù)完整性:實體完整性(保證表中所有行唯一);參照完整性(主健和外健關系維護,它涉及兩個或兩個以上的表的數(shù)據(jù)的一致性維護);域完整性(某列有效性的集合,是對業(yè)務管理或是對數(shù)據(jù)庫數(shù)據(jù)的限制)。在報務器端有兩種方法實現(xiàn)數(shù)據(jù)完整性:定義Creat Table 完整性約束及定義規(guī)則、缺省、索引和觸發(fā)器。

  1.1 定義 createtable 完整性約束

  此方法是在創(chuàng)建數(shù)據(jù)庫表的命令語句中,加入表級約束或列級來實現(xiàn)數(shù)據(jù)完整性。如在建表語句中加入非空(not null)約束、缺省(default)約束、唯一碼(unique)約束、主鍵碼(primary key)約束、外鍵碼(foreign key)約束、校驗(check)約束等。它的主要特點是:定義簡單、安全可靠、維護方便。

  1.1.1 非空約束、缺省約束和校驗約束

  非空約束限定了列值不能為空值;缺省約束指定當向數(shù)據(jù)庫插入數(shù)據(jù)時,若用戶沒有明確給出某列的值時,SQL Server 自動輸入預定值;校驗約束則用來限定列的值域范圍。

  例如,在創(chuàng)建圖書登記表中,限定登記日期、圖書類別編碼、登記號、中文名等列值不允許為空值;頁數(shù)的缺省值為1;單價的缺省值為0;圖書狀態(tài)只能為:“在館”、“借出”、“丟失”之一。

  1.1.2 主鍵約束和唯一約束

  主鍵約束和唯一約束,均為指定的列建立唯一性索引,即不允許唯一索引的列上有相同的值。主鍵約束更嚴格,不但不允許有重復值,而且也不允許有空值。

  例如,在科室編碼表,對列ksbm創(chuàng)建主鍵約束,對ksmc創(chuàng)建唯一約束。

  1.1.3 外鍵約束

  外鍵約束又稱參照完整性約束,用來限定本表外鍵碼列值與相關表主鍵碼字段列值的匹配,即保證相關數(shù)據(jù)的一致性。

  例如,在創(chuàng)建醫(yī)師編碼表中,醫(yī)生所屬科室 ssks 為外鍵碼,限定它與科室編碼表中的科室編碼 ksbm 列值一致。

  1.2 定義規(guī)則、缺省、索引和觸發(fā)器

  在數(shù)據(jù)庫表的創(chuàng)建命令語句中定義約束的方法,雖然具有簡單、方便、安全等特點,但它只對特定的表有效,不能應用到其他表,并且只能使用 alter table 命令修改或刪除約束,缺乏一定的靈活性。與此相反,在數(shù)據(jù)庫中創(chuàng)建與表相對獨立的規(guī)則、索引和觸發(fā)器對象,也能實現(xiàn)數(shù)據(jù)完整性,而且能實施更復雜、更完善的數(shù)據(jù)完整性約束。它的主要特點是功能強、效率高、維護方便。

  1.2.1 定義規(guī)則

  規(guī)則類似于表定義中的校驗約束,用來限定列的值域范圍。但它不限定于特定表,可以綁定到其他表的列或用戶自定義的數(shù)據(jù)類型中使用。

  例如,在定義藥品的編碼規(guī)則Rul-ypbm,可綁定到其他表中。

  1.2.2 定義缺省

  缺省類似于表定義中的缺省約束,用來設置列的缺省值輸入。它也不限定于特定表,可以綁定到其他表的列或用戶自定義數(shù)據(jù)類型中使用。

  1.2.3 定義索引

  索引類似于表定義中的唯一約束,用來保證列值的唯一性。此外,它還能使用聚簇索引和非聚簇索引選項,來增強數(shù)據(jù)檢索的性能。

  例如,對于門診收費明細帳表,分別建立了按收費日期和收費序號的非聚簇索引,大大提高了數(shù)據(jù)的查詢速度,在未建立索引前,要在20多萬條記錄中查詢滿足條件的記錄,大約需要5分鐘左右,建立索引后,只需要4秒鐘左右。

  1.2.4 定義觸發(fā)器

  觸發(fā)器是一種實施復雜的完整性約束的有效方法,當對它所保護的數(shù)據(jù)進行修改時自動激活,防止對數(shù)據(jù)進行不正確、未授權(quán)或不一致的修改。類似于表定義中參照完整性約束;觸發(fā)器也可用來保證相關數(shù)據(jù)的一致性。它還能完成一些表定義參照完整性的約束不能完成的任務。

  2、客戶端利用PB開發(fā)的應用程序?qū)崿F(xiàn)數(shù)據(jù)的完整性

  2.1 用PB的控件來確保數(shù)據(jù)的完整性

  在以PB開發(fā)工具編寫的應用程序中,可使用數(shù)據(jù)窗口對象的.列校驗屬性來檢查輸入數(shù)據(jù)的正確性;在窗口輸入界面中還可以采用下拉列表、復選框、單選按鈕等控件,實現(xiàn)固定值選取輸入來確保數(shù)據(jù)的正確;另外,應用程序本身也可以對輸入數(shù)據(jù)進行有效檢查來確保數(shù)據(jù)的完整性。

  2.2 利用事務的特點來保證數(shù)據(jù)的一致性

  因PB的每一操作都是基于控件中的事件,所以一個完整的事務處理要集中在一個事件或一個操作單元中。例如,門診劃價收費中的付款處理;同一個收費序號下的數(shù)據(jù),經(jīng)過處理后要記入明細帳、一級明細帳、總帳,同時還要更新收費序號登記表等;所有這些處理算是一個完整的任務,必須等所有的語句都執(zhí)行成功后,才能對數(shù)據(jù)庫進行提交;如果有一條語句未執(zhí)行成功,就要撤消該事務的一切操作,回退到事務開始的狀態(tài),這樣才能保證數(shù)據(jù)的一致。利用客戶端應用程序?qū)崿F(xiàn)數(shù)據(jù)完整性的方法,其主要特點是:交互性好、功能強,但編程偏大、維護困難、可靠性差。

  3、實現(xiàn)數(shù)據(jù)完整性的策略

  由上述可見,在SQL Server數(shù)據(jù)庫應用系統(tǒng)中,實現(xiàn)數(shù)據(jù)完整性的方法各有其特點。對具體應用系統(tǒng),可根據(jù)需要采用其中一種或多種方法來建立數(shù)據(jù)完整性的機制,其策略為:

  (1) 對于通過窗口操作輸入的數(shù)據(jù),一般采用客戶端應用程序來確保數(shù)據(jù)的完整性。這樣,一方面可把非法數(shù)據(jù)在提交到數(shù)據(jù)庫之前就拒之門外,另一方面可使用戶及時得到操作反饋信息,做出正確的選擇。

  (2) 對于通過其他途徑轉(zhuǎn)入的數(shù)據(jù),一般需要服務器端數(shù)據(jù)庫管理系統(tǒng)來實現(xiàn)數(shù)據(jù)的完整性。

  (3) 對于數(shù)據(jù)一致性的維護,宜于由服務器端數(shù)據(jù)庫的觸發(fā)器或表定義的約束來實現(xiàn)。這樣可降低客戶端應用程序的開發(fā)量,提高應用系統(tǒng)的運行效率、可維護性及可靠性。

  (4) 對于數(shù)據(jù)完整性和安全性要求較高的系統(tǒng),則需要采用多層保護屏障來確保數(shù)據(jù)的完整性和安全性。如:既在客戶端應用系統(tǒng)程序檢查輸入數(shù)據(jù)的有效性,同時又在服務器端數(shù)據(jù)庫中建立表的約束、規(guī)則、缺省和觸發(fā)器等進行數(shù)據(jù)完整性約束。這樣可以提高系統(tǒng)數(shù)據(jù)的可靠性和安全性。

  結(jié)語

  數(shù)據(jù)庫完整性是數(shù)據(jù)庫應用系統(tǒng)的最基本要求之一。在SQL Server數(shù)據(jù)庫應用系統(tǒng)中,可采用服務器端數(shù)據(jù)庫表定義約束和數(shù)據(jù)庫規(guī)則、缺省、索引、觸發(fā)器及客戶端的應用程序等三種方法實施數(shù)據(jù)的完整性。它們各有其特點,在應用系統(tǒng)中,應根據(jù)具體情況,靈活使用。

  參考文獻

  [1] 楊正洪.SQL Server 7.0 關系數(shù)據(jù)庫系統(tǒng)管理與開發(fā)指南.機械工業(yè)部出版社,2000.

  [2] Microsoft SQL Server 7.0 數(shù)據(jù)庫系統(tǒng)管理與應用開發(fā).北京人民郵電出版社,1999.

  [3] 薛華成.管理信息系統(tǒng).清華大學出版社,1995.

【數(shù)據(jù)的完整性在數(shù)據(jù)庫應用系統(tǒng)中的設計與實施】相關文章:

數(shù)據(jù)庫應用系統(tǒng)設計簡歷范文08-26

數(shù)據(jù)庫在管理信息系統(tǒng)中的安全與體現(xiàn)研究論文06-24

數(shù)據(jù)在淘寶開店中的應用06-09

ERP系統(tǒng)中數(shù)據(jù)倉庫的應用11-11

淺析基于數(shù)據(jù)加密的網(wǎng)絡通信系統(tǒng)的設計與應用10-23

XML在GIS數(shù)據(jù)轉(zhuǎn)換中的應用11-09

大數(shù)據(jù)在旅游網(wǎng)站設計中的應用分析論文07-07

ERP系統(tǒng)在會計與財務管理中的應用06-27

淺析數(shù)據(jù)庫技術在海河流域水資源綜合規(guī)劃中的應用09-30