Download presentation
Presentation is loading. Please wait.
1
Advanced Database Management System
探討主題:完整性問題 A Matter of Integrity 報告人: 蘇俊豪 學號: 指導老師:黃士銘老師 2001/11/ 中正大學資管所-高等資料庫
2
Outline 簡介(Introduction) 完整性規則(Integrity Rules) 相關慨念(Related Concepts)
分類綱要(A Classification Scheme) 結語(Concluding Remarks) 2001/11/ 中正大學資管所-高等資料庫
3
Overview 完整性條件(Integrity Rules)是用來規範關聯資料表中的存放、刪除或更改等動作
防止使用者誤將錯誤或不合法的資料存在資料庫中,避免引發將來日後不可收拾的錯誤情況發生 2001/11/ 中正大學資管所-高等資料庫
4
Overview 關聯式資料模型包含數個限制型態,以便維護資料庫中資料的正確性及完整性 定義域限制(Domain Constraints)
實體完整性(Entity Integrity) 參考完整性(Referential Integrity) 作業限制(Operational Constraints) 2001/11/ 中正大學資管所-高等資料庫
5
定義域限制(Domain Constraints)
定義域限制是可以結合一個或多個屬性資料值的特徵描述 關聯性欄位上的所有資料必定屬於同一個定義域 定義域限制通常指一些特徵,如資料型別、長度與可接受值得範圍 例如:名稱:Person_Name 名稱:Semesters 資料類型:字元 資料類型:字元 最大長度: 格式:pppp(期間)yyyy(年) 可接受值(p):Fall, Sprg, Summ 2001/11/ 中正大學資管所-高等資料庫
6
實體完整性(Entity Integrity)
實體完整性法則是指確保每個關聯性都 有一主鍵(Primary Key) 主鍵的值都必須有資料,不可以為空值 2001/11/ 中正大學資管所-高等資料庫
7
參考完整性(Referential Integrity)
關聯式資料模型中,使用外來鑑定一表格間的結合,維護兩關聯性橫列間的一致性 資料庫中不能有違法的外來鍵值 若表格B的外鍵FK與表格A的主鍵PK相配合,則FK的值必須等於表格A裡某筆記錄的PK值,或者FK 的每個成分欄位都為虛值。 當表格B裡某筆記錄其外鍵不為虛值,可是在表格 A 裡卻沒有任何記錄的主鍵 PK 值相等於此FK鍵值,我們稱此 FK 鍵值為未定義。 2001/11/ 中正大學資管所-高等資料庫
8
參考完整性(Referential Integrity)
2001/11/ 中正大學資管所-高等資料庫
9
作業限制(Operational Constraints)
作業限制是限制組織所進行作業的企業規範 例如:凡是持有季票的人,只要買一次票,就可以看全部的比賽 2001/11/ 中正大學資管所-高等資料庫
10
Outline 簡介(Introduction) 完整性規則(Integrity Rules) 相關慨念(Related Concepts)
分類綱要(A Classification Scheme) 結語(Concluding Remarks) 2001/11/ 中正大學資管所-高等資料庫
11
Declarative vs. Procedural
宣告式完整性(Declarative Integrity) 事先將規範陳述後,儲存在一個限制庫中 當資料庫異動時,會在限制庫中存去適用的規範,將限制套用在受影響的異動 程序式完整性(Procedural Integrity) 透過預儲程序或觸發程序來做規範限制 2001/11/ 中正大學資管所-高等資料庫
12
完整性規則 實例: CREATE INTEGRITY RULE ER3 FORALL EMP ( EMP.SAL>0 )
ON ATTEMPTED VIOLATION REJECT; (員工的薪水要為正值 ) 名稱(Name,本例子中為ER3):這個規則會以這個名子在系統目錄中註冊 條件限制(Constraint):意指一個真值式,一般是多變複雜的 違反回應(Violation Response):告訴系統當違反限制評估時要作什麼事 2001/11/ 中正大學資管所-高等資料庫
13
Outline 簡介(Introduction) 完整性規則(Integrity Rules) 相關慨念(Related Concepts)
分類綱要(A Classification Scheme) 結語(Concluding Remarks) 2001/11/ 中正大學資管所-高等資料庫
14
混淆的相關概念問題 完整性(Integrity) 回復(Recovery) 一致性(Concurrency) 安全性(Security)
2001/11/ 中正大學資管所-高等資料庫
15
完整性(Integrity) 嚴格地說,資料庫在完整性狀態下的意思是指,資料庫是正確的,也就是說沒有違反任何已知的完整性限制
2001/11/ 中正大學資管所-高等資料庫
16
回復(Recovery) 在錯誤(例如硬體或軟體的錯誤)造成資料損毀或至少使得現狀出現疑問的情況發生時,將資料庫復原到先前正確的狀態
已回復狀態將只是系統所自認的“正確” 2001/11/ 中正大學資管所-高等資料庫
17
一致性(Concurrency) 一致性是指當多個交易在執行時能夠平行處理的能力
系統不會注重他們自己個體上交易的正確性問題,而只是保證他們不會造成執行平行交易上的錯誤 2001/11/ 中正大學資管所-高等資料庫
18
安全性(Security) 安全性指的是去保護資料對抗未經認證的揭發、改變或破壞
安全性是保護資料庫對抗未經認證的使用者,完整性是對抗通過認證的使用者 2001/11/ 中正大學資管所-高等資料庫
19
Outline 簡介(Introduction) 完整性規則(Integrity Rules) 相關慨念(Related Concepts)
分類綱要(A Classification Scheme) 結語(Concluding Remarks) 2001/11/ 中正大學資管所-高等資料庫
20
定義域完整性 vs. 表格完整性 定義域完整性 表格完整性 Single- vs. Multi-Row Rules
State vs. Transition Rules Immediate vs. Deferred Rules 2001/11/ 中正大學資管所-高等資料庫
21
Single- vs. Multi-Row Rules
單列規則(Single-Row Rules) 是一個能夠套用數值在給定表格中的單獨一列 CREATE INTEGRITY RULE ER7 IF EMP.JOB=“Pgmr” THEN EMP.SAL < 50000; (“程式設計師必定賺少於五萬”) 單數規則(Single-Scalar Rules) 單欄規則(Single-Column Rules) 2001/11/ 中正大學資管所-高等資料庫
22
Single- vs. Multi-Row Rules
多列規則是一個套用於結合列數與表格數的規則 例子1: CREATE INTEGRITY RULE DE20 IF DEPT.BUDGET < AND DEPT.DEPT# = EMP.DEPT# THEN EMP.SAL <= ; (“沒有部門在預算小於1,000,000元之下有員工薪水可大於100,000元”) 2001/11/ 中正大學資管所-高等資料庫
23
Single- vs. Multi-Row Rules
以下是另一個例子 例子2: CREATE INTEGRITY RULE EE2 IF EMP2.MGR_EMP# = EMP1.EMP# THEN EMP2.SAL <= EMP1.SAL; (“沒有員工允許賺錢比他的經理還多”) 2001/11/ 中正大學資管所-高等資料庫
24
State vs. Transition Rules
某些狀況必須要將表格的狀態作轉換 例如: CREATE INTEGRITY RULE E26 IF EMP`. E# = EMP.E# THEN EMP`.SAL <= EMP.SAL; (員工的薪水必定不會減少) 先做更新查詢(Update)動作 2001/11/ 中正大學資管所-高等資料庫
25
Immediate vs. Deferred Rules
某些狀況無法及時做檢查,所以會有所謂的延遲的情況 例如: CREATE INTEGRITY RULE DEN AT COMMIT EXISTS EMP ( EMP.DEPT# = DEPT.DEPT# ) ON ATTEMPTED VIOLATION ROLLBACK ; (“每一個部門至少有一個員工”) 2001/11/ 中正大學資管所-高等資料庫
26
Outline 簡介(Introduction) 完整性規則(Integrity Rules) 相關慨念(Related Concepts)
分類綱要(A Classification Scheme) 結語(Concluding Remarks) 2001/11/ 中正大學資管所-高等資料庫
27
結論 腦力激盪 一個等腰三角形ABC,角A=20度,角B=角C=80度劃一條線從B到AC上的一點D(在AC之間),CBD=50度‧劃一條線從C到AB上的一點E(在AB之間),BCE=60度,劃一條線連結D和E,求DEC的角度是幾度? 2001/11/ 中正大學資管所-高等資料庫
28
結論 A 20 E ? D 求角DEC多少度? 60 50 B C 2001/11/ 中正大學資管所-高等資料庫
29
The END ~Thanks for Your Attention~
謝謝各位,請多指教 2001/11/ 中正大學資管所-高等資料庫
Similar presentations