999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

淺析數據庫的完整性

2008-12-31 00:00:00白鐘鋼
跨世紀 2008年12期

【摘要】 本文從數據庫完整性的角度出發,分析數據庫完整性約束的分類以及實現完整性約束的方法,從而實現對數據庫的保護。

【關鍵詞】 數據庫;完整性;函數依賴;約束條件

【中圖號】G250.74 【文獻標示碼】 A 【文章編號】 1005-1074(2008)12-0162-01

1 前言

數據庫系統中的數據是由DBMS統一管理和控制的,為了適應數據共享環境,DBMS必須提供數據的安全性、完整性、并發控制和數據庫恢復等數據保護的能力,以保證數據庫中數據的安全可靠和正確有效。

2 數據庫的完整性

數據庫的完整性是指數據的正確性和相容性。它反映了現行世界中實體的本來面貌。數據庫是否具備完整性關系到數據庫系統能否真實地反映現實世界,因此,維護數據庫的完整性非常重要。為了維護數據庫的完整性,DBMS須提供一種機制來檢查數據庫中的數據,看它們是否滿足完整性約束條件。完整性約束條件是完整控制機制的核心,根據作用對象的不同,可以分為列級、元組級和關系級三種粒度(即對象的大小)。其中對列的約束主要指取值類型、范圍、精度、排序等約束條件。如:學生的年齡必須是整數,性別只能是男或女,學生的學號一定是惟一的。對元組的約束是指對記錄中各個字段間的聯系的約束。

3 完整性的約束

完整性約束主要有實體完整性約束、參照完整性約束、函數依賴約束、統計約束四類。

3.1 實體完整性 實體完整性是指一個關系中所有主屬性(即主碼的屬性)不能取空值。所謂“空值”就是“不知道”或“無意義”的值。如主屬性取空值,就說明某個不可標識的實體,這與現實世界的應用環境相矛盾,因此這個實體一定不是完整的實體。

3.2 參照完整性約束 參照完整性約束是指參照關系中外碼的取值或者是空值(外碼的每個屬性均為空值)或者是取被參照關系中某個元組的主碼值。下面舉例說明。現有兩個關系模式:學生(學號,姓名,性別,專業號,年齡)和專業(專業號,專業名)。在實現參照完整性時要注意以下幾個問題:①外碼是否可以接受空值。因為外碼能否為空是依賴于應用環境的,如有兩個關系模式分別為選修(學號,課程好,成績)學生(學號,姓名,性別,年齡,所在系),選修關系中的外碼“學號”不能為空,如果為空,說明某個不知學號的學生選修了某門課程,這與學校的應用環境不符。②刪除被參照關系的原組時的考慮。有時需要刪除被參照關系的某個原組,而參照關系中又有若干原組的外碼值與被刪除的被參照關系中的主碼值相對應,這時要進行級聯刪除,即將參照關系中的所有外碼值與被參照關系中要刪除元組主碼值相對應的元組一起刪除,如果參照關系同時又是另一個關系的被參照關系則這種級聯刪除應該級聯刪除應該級聯下去。③修改被參照關系中主碼時的考慮。遇到這種情況時,做法同刪除被參照關系的元組類似,要做級聯修改,既修改被參照關系中主碼值的同時,用相同的方法修改參照關系中相應的外碼值。

3.3 函數依賴約束 大部分函數依賴約束都是隱含在關系模式結構中,特別是規范化程度較高的關系模式(如3NF或BCNS)都由模式來保持函數依賴。在實際應用中,為了不使信息過于分離,一般不能過分地追求規范化。這樣在關系的字段間就可以存在一些函數要顯式地表示出來。

3.4 系統約束 即某個字段值與一個關系多個元組的統計值之間的約束關系。如,本部門經理的工資不得高于本部門職工的平均工資的5倍。其中職工的平均工資值是一個統計計算值。在許多場合,統計數據往往可以公開,而個別數據卻是保密的,但是個別數據值可以從統計數據推斷出來,所以要采取一定的防范措施防止數據泄密。

4 完整性約束的實施

實現完整性約束的方法依類別不同而不同。完整性約束可以分為兩大類:靜態約束和動態約束。

4.1 靜態約束 靜態約束是對數據庫狀態的約束,有可分為固定約束、隱含約束和顯示約束。

4.1.1 固定約束 是數據模型固有的約束,如關系的屬性是原子的,即滿足INF的約束。固有約束在DBMS實現時已經考慮。

4.1.2 隱含約束 指隱含于數據模式中的約束,一般用數據定義語言(DDL)語句說明,并存于數據目錄中。例如,域完整性約束、實體完整性以及參照完整性約束,都由相應的DDL語句說明。

4.1.3 顯示約束 固有約束、隱含約束是最基本的約束,但概括不了所有的約束。數據完整性是多種多樣的,且依賴于數據的語義與應用,這些約束只有顯式地說明,故稱顯式約束。顯式約束的說明一般有三種方法:①用過程說明約束。這種方法不約束的說明和檢驗交給應用程序,應用程序中可以插入一些過程,以檢驗數據哭更新是否違反給頂的約束,如果違反約束,則回滾事務。檢驗約束的過程一般用通用高級程序語言編寫,可以表達各式各樣的約束。這是一種普遍方法。②用語言說明約束。斷言指數據庫狀態必須滿足的邏輯條件。數據庫完整性約束可以看成一系列斷言的集合。為了表示約束,DBMS須提供斷言說明語言。③用觸發子表示約束。觸發子是一個軟件機制,其功能相當于WHENEVER<條件>THEN<動作>,即一旦給定條件成立,系統就引發相應的動作。利用觸發子可以表示約束,以違反約束作為條件,以違反約束的處理作為動作。動作不限于回滾事務,也可以給用戶一個消息或過程。在系統中定義一批觸發子后,就會監督數據庫狀態,一旦出現違反約束的更新,就會引發相應的動作。

4.2 動態約束 動態約束不是對數據庫狀態的約束,而是數據庫從一個狀態變為另一個狀態時應遵守的約束,例如在更新職工表時,工資、工齡這些屬性值一般只會增加,不會減少。動態約束一般也是顯式說明的。在上述約束中,固有約束必然實施,隱含約束在大部分現代DBMS中基本實施或部分實施,顯式和動態約束只在個別DBMS中實施。

主站蜘蛛池模板: 亚洲成人高清无码| 国产极品美女在线| 欧美一区国产| 91在线无码精品秘九色APP | 欧美精品亚洲日韩a| 91亚瑟视频| 国语少妇高潮| 91在线日韩在线播放| 亚洲精品自产拍在线观看APP| 在线无码私拍| 国产一级在线观看www色| 国产成人精品午夜视频'| 在线视频精品一区| a色毛片免费视频| 国产一级做美女做受视频| 亚洲男人的天堂久久香蕉| 国产粉嫩粉嫩的18在线播放91 | 久热99这里只有精品视频6| 男女猛烈无遮挡午夜视频| 国产高清在线精品一区二区三区| 国产呦视频免费视频在线观看| 无码电影在线观看| 亚洲区视频在线观看| 2021国产乱人伦在线播放| 亚洲婷婷六月| 人与鲁专区| 天天综合色网| 91无码国产视频| 成人综合久久综合| 热久久国产| 老司机午夜精品网站在线观看| 免费亚洲成人| a毛片免费在线观看| 国产精品无码久久久久AV| 色综合综合网| 国产精品免费入口视频| 亚洲精品视频免费| 久久青草精品一区二区三区| 欧美啪啪网| 国产永久无码观看在线| 成人精品午夜福利在线播放| 国产69精品久久| 国产欧美在线观看精品一区污| 国产97视频在线观看| 极品国产一区二区三区| 久久综合九九亚洲一区| 美女被狂躁www在线观看| 青青青草国产| 成人看片欧美一区二区| 国产成人精品一区二区不卡| 91九色国产porny| 亚洲第一黄片大全| 99精品在线看| 日韩国产一区二区三区无码| 57pao国产成视频免费播放| 91区国产福利在线观看午夜| 日韩毛片视频| 亚洲无码91视频| 国产中文在线亚洲精品官网| 97精品久久久大香线焦| 日韩国产综合精选| 精品撒尿视频一区二区三区| 夜夜高潮夜夜爽国产伦精品| 欧美人与牲动交a欧美精品| 伊人久久综在合线亚洲91| 国产成人h在线观看网站站| 毛片视频网址| 免费无遮挡AV| 欧美国产菊爆免费观看| 日韩毛片在线视频| 日韩高清在线观看不卡一区二区| 久久亚洲国产一区二区| 天天综合天天综合| 免费又爽又刺激高潮网址| 98精品全国免费观看视频| 欧美色图久久| 伊人蕉久影院| 国产在线专区| 国产色爱av资源综合区| 狠狠色丁香婷婷| 日韩毛片在线播放| 国产精品精品视频|