Oracle維護(hù)數(shù)據(jù)完整性.ppt

Oracle維護(hù)數(shù)據(jù)完整性.ppt

ID:48088462

大?。?90.50 KB

頁數(shù):34頁

時(shí)間:2020-01-14

Oracle維護(hù)數(shù)據(jù)完整性.ppt_第1頁
Oracle維護(hù)數(shù)據(jù)完整性.ppt_第2頁
Oracle維護(hù)數(shù)據(jù)完整性.ppt_第3頁
Oracle維護(hù)數(shù)據(jù)完整性.ppt_第4頁
Oracle維護(hù)數(shù)據(jù)完整性.ppt_第5頁
資源描述:

《Oracle維護(hù)數(shù)據(jù)完整性.ppt》由會員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫

1、維護(hù)數(shù)據(jù)完整性目標(biāo)完成這一課的學(xué)習(xí)后,您應(yīng)該能達(dá)到下列目標(biāo):實(shí)施數(shù)據(jù)完整性約束維護(hù)完整性約束從數(shù)據(jù)字典獲取約束信息數(shù)據(jù)完整性應(yīng)用程序代碼表數(shù)據(jù)完整性約束數(shù)據(jù)庫觸發(fā)器約束的類型約束NOTNULLUNIQUEPRIMARYKEYFOREIGNKEYCHECK說明指示出列不能包含空值指示一個列或列的組合是唯一的指示一個列或列的組合作為表的主鍵指示一個列或列的組合在引用完整性 約束中作為外鍵指定表中的每一行必須滿足的條件約束的狀態(tài)ENABLE NOVALIDATE現(xiàn)有數(shù)據(jù)新數(shù)據(jù)DISABLE NOVALIDATEDISABLE VA

2、LIDATE==ENABLE VALIDATE約束的狀態(tài)轉(zhuǎn)換規(guī)則除非指定NOVALIDATE,否則ENABLE表示VALIDATE。除非指定VALIDATE,否則DISABLE表示NOVALIDATE。VALIDATE和NOVALIDATE沒有缺省的ENABLE和DISABLE狀態(tài)。當(dāng)唯一鍵或主鍵從DISABLE狀態(tài)轉(zhuǎn)為ENABLE狀態(tài)且沒有現(xiàn)有索引時(shí),將自動創(chuàng)建唯一索引。(如果索引可延遲,則將存在異常。)與此類似,當(dāng)唯一鍵或主鍵從ENABLE轉(zhuǎn)為DISABLE且是使用唯一索引啟用時(shí),則刪除該唯一索引。當(dāng)任何約束從NOVAL

3、IDATE狀態(tài)轉(zhuǎn)為VALIDATE狀態(tài)時(shí),必須檢查所有的數(shù)據(jù)。但是,從VALIDATE轉(zhuǎn)為NOVALIDATE時(shí),將忽略數(shù)據(jù)已經(jīng)過檢查這一事實(shí)。將單個約束從ENABLENOVALIDATE狀態(tài)轉(zhuǎn)為ENABLEVALIDATE狀態(tài)時(shí),并不禁止使用讀取、寫入或其它DDL語句。約束檢查DML語句檢查不可延遲 的約束COMMIT檢查可延遲 的約束查看約束信息SELECTCONSTRAINT_NAME,CONSTRAINT_TYPE,TABLE_NAME,STATUS,DEFERRABLE,DEFERRED,VALIDATEDFROM

4、USER_CONSTRAINTS;將約束定義為立即或延遲使用SETCONSTRAINTS:SETCONSTRAINT

5、CONSTRAINTS{constraint

6、ALL}{IMMEDIATE

7、DEFERRED}ALTERSESSION語句還包含將約束設(shè)置為DEFERRED或IMMEDIATE的子句SETCONSTRAINTS。ALTERSESSIONSETCONSTRAINT[S]={IMMEDIATE

8、DEFERRED

9、DEFAULT}約束定義原則主約束和唯一性約束:將索引放在單獨(dú)的表空間中。如果經(jīng)常使用批量加載,請使用

10、非唯一索引。自引用外鍵:在初始加載后定義或啟用外鍵。延遲約束檢查。外鍵注意事項(xiàng)相應(yīng)解決方法目標(biāo)操作刪除父表級聯(lián)約束截?cái)喔副碓谧颖砩蠄?zhí)行DML操作確保包含父鍵的表空間聯(lián)機(jī)使用CASCADECONSTRAINTS子句刪除包含父表的表空間禁用或刪除外鍵約束的定義在創(chuàng)建表的時(shí)候定義在修改表的時(shí)候定義約束的結(jié)構(gòu)columndatatype[CONSTRAINTconstraint]{[NOT]NULL

11、UNIQUE[USINGINDEXindex_clause]

12、PRIMARYKEY[USINGINDEXindex_clause]

13、R

14、EFERENCES[schema.]table[(column)][ONDELETECASCADE]

15、CHECK(condition)}constraint_state:==[NOTDEFERRABLE

16、DEFERRABLE[INITIALLY{IMMEDIATE

17、DEFERRED}]][DISABLE

18、ENABLE[VALIDATE

19、NOVALIDATE]]創(chuàng)建表時(shí)定義約束createtablecreate_table_cons(id1char(10)constraintcts_id_pkprimarykeyDeferra

20、bleInitiallydeferredusingindextablespaceind1_00001,id2varchar2(20))tablespaceusers;修改表時(shí)定義約束altertablecreate_table_consaddconstraintcts_id2_ukunique(id2)deferrableinitiallyimmediateusingindextablespaceind1_00001;啟用約束對于當(dāng)前已有索引的PRIMARYKEY和UNIQUE約束,啟用NOVALIDATE約束比啟用VALI

21、DATE約束要快得多,這是因?yàn)?,如果約束是可延遲的,則不檢查現(xiàn)有數(shù)據(jù)是否違反約束。不要求鎖定表。ENABLE NOVALIDATEaltertablecreate_table_consenablenovalidateconstraintcts_id_pk;啟用ENABLENOVALIDAT

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文

此文檔下載收益歸作者所有

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學(xué)公式或PPT動畫的文件,查看預(yù)覽時(shí)可能會顯示錯亂或異常,文件下載后無此問題,請放心下載。
2. 本文檔由用戶上傳,版權(quán)歸屬用戶,天天文庫負(fù)責(zé)整理代發(fā)布。如果您對本文檔版權(quán)有爭議請及時(shí)聯(lián)系客服。
3. 下載前請仔細(xì)閱讀文檔內(nèi)容,確認(rèn)文檔內(nèi)容符合您的需求后進(jìn)行下載,若出現(xiàn)內(nèi)容與標(biāo)題不符可向本站投訴處理。
4. 下載文檔時(shí)可能由于網(wǎng)絡(luò)波動等原因無法下載或下載錯誤,付費(fèi)完成后未能成功下載的用戶請聯(lián)系客服處理。