Semantic Integrity Control
posted on 21 Sep 2009 18:50 by techinnoreview in MITTMaintain Database
ด้วยการสร้างชุดข้อบังคับหรือข้อกำหนดบนฐานข้อมูล
Structural Constraints
มีข้อกำหนดพื้นฐานที่เป็นโครงสร้างหลักๆของฐานข้อมูลเช่น กฏ unique key ใน Relational Model
Behavior Constraint
ข้อกำหนดต่างๆในฐานข้อมูลทั่วๆไปเช่น กฏของ Dependencies ใน Relational Model
Two Components
1. สร้างกฏขึ้นมา
2. บังคับใช้กฏ
Procedural
การสื่อความหมายเพื่อควบคุมภายในแต่ละโปรแกรม
เน้นควบคุมวิธีการตั้งแต่เริ่มแรกจึงมักถูกเรียกว่ากฎแบบฝังตัว
Declarative
การใช้กฏที่สามารถอธิบายความหมายได้เช่น
การอ้างค่าทาคณิตศาสตร์ต่างๆ <50, =110
การกำหนดกฏง่ายๆ เช่น ต้องการ Table1 ที่ Attribute 1 = "อรรถพงศ์"
Constraint Specification Language
Predefined Constraint กฎที่คาดการณ์ไวล่วงหน้า
กฏทั่วไปเช่นพวก
att NOT NULL IN table
(att1,att2) UNIQUE IN table
att IN table1 REFERENCES att IN table2 ---- Foreign key
att1 IN table DETERMINES att2
Precompiled Constraint
กฏที่จะใช้ต่อเมื่อมีการกระทำการ เปลี่ยนแปลงข้อมูลเช่นพวก INSERT, DELETE, MODIFY
จะใช้คำสั่ง CHECK เพื่อตรวจสอบค่าก่อน
CHECK ON db WHEN DELETE (ID = 0)
General Constraints
เป็นข้อกำหนดที่จะต้องเป็นจริงเสมอ
เช่นการเช็คค่า ID 2 ตัวว่าจะต้องเท่ากัน
CHECK ON id1:db, id2:db (id1:name =id2:name IF id1:dbo = id2:dbo)
INTEGRITY ENFORCEMENT
บังคับใช้กฏมี 2 อย่างคือ
Detection การตรวจจับ และ Preventive การป้องกัน
Detection
จะเริ่มกระบวนการเมื่อกระบวนการเมออกนอกกฎโดย เมื่อพบว่ามีการกระทำนอกกฎก็จะทำการ undo
Preventive
จะเริ่มกระบวนการตรวจสอบก่อนเมื่อมีการใช้คำสั่งนั้นๆว่าอยู่นอกเหนือกฏหรือไม่ ถ้าไม่ก็อนุญาติให้ทำ