Back to Home

DataBase System

Lesson123456791112131415

Lesson 10 : Data Integrity



Lesson Plan
Section No.
Section 1
Section 2
Section 3
Section 4
Test
PDF file
PPT File


<<Prev pageCourse MapNext page>>

Print content of this page
Save content of this page

 

กฏเกณฑ์ของข้อมูล และวิธีจัดการกับข้อมูลเพื่อให้เป็นไปตามกฏเกณฑ์

กฎเกณฑ์ของข้อมูล คือ กฎเกณฑ์ที่ใช้ในการรักษาความถูกต้องของข้อมูล มีจุดประสงค์หลัก คือ

    • ป้องกันความผิดพลาดที่เกิดจากการเพิ่มข้อมูลลงในฐานข้อมูล
    • รักษาความถูกต้องของข้อมูลเมื่อมีการเปลี่ยนแปลงข้อมูลในฐานข้อมูล
    • ทำให้ข้อมูลต่างๆ ในฐานข้อมูลมีความถูกต้องตรงกัน
    • ทำให้ระบบจัดการฐานข้อมูลสามารถตัดสินใจได้ว่า จะจัดการกับข้อมูล ณ ตำแหน่งต่างๆ ในฐานข้อมูลอย่างไร เช่น เลือกตำแหน่งในการเก็บข้อมูล

กฎเกณฑ์ในการคงบูรณภาพของข้อมูลสามารถแบ่งได้ 3 ประเภท ได้แก่

  1. กฏเกณฑ์เกี่ยวกับชนิดของข้อมูล (Type constraint)
  2. กฏเกณฑ์เกี่ยวกับแอททริบิวของข้อมูล (Attribute constraint)
  3. กฏเกณฑ์เกี่ยวกับฐานข้อมูล (Database constraint)

1 กฎเกณฑ์เกี่ยวกับชนิดของข้อมูล (Type constraint)

ข้อมูลแต่ละชนิดในฐานข้อมูลมีลักษณะการเก็บในฐานข้อมูลและการนำไปใช้งานต่างกัน เพื่อให้ข้อมูลเหล่านี้มีความถูกต้องก่อนการนำไปใช้งานจึงต้องมีการตรวจสอบชนิดและค่าของข้อมูลชนิดนั้นว่าถูกต้องหรือไม่ ตัวอย่าง เช่น ในฐานข้อมูลนักศึกษา ชื่อนักศึกษา (student-name) และ ชื่อธนาคาร (bank-name) อาจจะเป็นข้อมูลประเภทเดียวกัน คือ ข้อความ แต่ขอบเขตของ (domain) ข้อมูลต่างกัน ตัวอย่างในการกำหนดขอบเขตสำหรับข้อมูล ชื่อนักศึกษา และ ชื่อธนาคาร โดยใช้ SQL-92 แสดงได้ในบรรทัดต่อไปนี้

create domain student-name char(40)

constraint student-name-constraint check ( value not null )

ประโยค create domain ใช้ในการระบุของข้อมูล student-name ให้เป็นชนิด char ซึ่งมีขนาด 40 ตัวอักษร และกำหนดให้ข้อมูลต้องมีค่าอยู่เสมอ ไม่สามารถเป็นค่าว่าง (Null) ได้ โดยใช้ประโยค constraint ตามด้วยการกำหนดขอบเขตของข้อมูลโดยใช้ check

create domain bank-name char(20)

constraint bank-name-constraint check ( value in ( “Siam Commercial Bank”, “Krung Thai Bank”, “Thai Farmer Bank”) )

จากตัวอย่างทั้งสอง จะเห็นได้ว่าข้อมูลประเภทเดียวกัน ไม่จำเป็นต้องมีขอบเขตเหมือนกัน ทั้งนี้เพื่อประโยชน์ในการตรวจสอบข้อมูลก่อนการเก็บลงในฐานข้อมูล ดังนั้นการปล่อยให้ข้อมูลชื่อนักศึกษาว่างไว้ แต่มีข้อมูลอื่นสำหรับชื่อที่ว่างไว้นี้ หรือ การใส่ชื่อธนาคารเป็นชื่ออื่น นอกจาก “Siam Commercial Bank”, “Krung Thai Bank” หรือ “Thai Farmer Bank” เป็นการละเมิดกฎเกณฑ์และขอบเขตที่ตั้งขึ้นสำหรับข้อมูลชื่อนักศึกษา และชื่อธนาคาร เมื่อไม่เป็นไปตามกฎเกณฑ์ข้อมูลที่เกิดจากความผิดพลาดนี้จะไม่ถูกนำไปเก็บยังฐานข้อมูล และระบบจัดการฐานข้อมูลจะแสดงข้อผิดพลาดนี้ออกมาในชื่อของกฎเกณฑ์ที่ตั้งขึ้นในตอนแรก

2 กฎเกณฑ์เกี่ยวกับแอททริบิวของข้อมูล (Attribute constraint)

แอททริบิวของข้อมูล (attribute) คือ ข้อมูลย่อยที่ประกอบกันเป็นข้อมูลของสิ่งๆ หนึ่งในฐานข้อมูล เช่น ในฐานข้อมูลนักศึกษาประกอบไปด้วย ตารางประวัตินักศึกษา ตารางการลงทะเบียน และภายในตาราง ก็มีแอททริบิวของตารางนั้นอยู่ เช่น ตารางประวัตินักศึกษา ประกอบไปด้วยแอททริบิว 6 อย่าง คือ รหัสนักศึกษา, ชื่อ, ที่อยู่, วันเกิด, เบอร์โทรศัพท์ และ เลขประจำตัวบัตรประชาชน ส่วนตารางการลงทะเบียน ประกอบไปด้วยแอททริบิว 4 อย่าง คือ รหัสนักศึกษา, ภาคการศึกษา, รหัสวิชา และ เกรด

กฎเกณฑ์ที่ใช้ในการกำหนดความถูกต้องของแอททริบิวข้อมูลสามารถแยกได้ 3 ประเภท ตามชนิดของแอท ทริบิว คือ

    1. บูรณภาพของคีย์ (Key integrity) กล่าวถึง การที่ค่าของคีย์จะต้องเป็นค่าที่มีเอกลักษณ์ ไม่ซ้ำกับข้อมูลใดในแถวอื่น
    2. บูรณภาพของเอ็นทิตี้ (Entity integrity) กล่าวถึง การที่ค่าของแอททริบิวที่เป็นคีย์หลักไม่สามารถเป็นค่าว่างได้
    3. บูรณภาพของการอ้างอิงแอททริบิว (Referential integrity) กล่าวถึง การอ้างอิงถึงแอททริบิวจากความสัมพันธ์หนึ่งในความสัมพันธ์ใด จะต้องเป็นการอ้างอิงถึงแอททริบิวที่มีอยู่จริงในความสัมพันธ์นั้น การอ้างอิงถึงแอททริบิวที่ไม่มีอยู่จริงจะทำให้ไม่สามารถรักษาบูรณภาพของข้อมูลไว้ได้

บูรณภาพของคีย์

คีย์

สมมติให้ D ตารางในฐานข้อมูลเชิงสัมพันธ์ที่ประกอบไปด้วยกลุ่มของแอททริบิวทั้งหมด A = (A1,A2,..,An) กล่าวได้จะกลุ่มของแอททริบิวทั้งหมด A ที่ประกอบขึ้นเป็นความสัมพันธ์หนึ่งจะมีความเป็นเอกลักษณ์ (uniqueness property) คือ ไม่ซ้ำกับความสัมพันธ์ (tuple) ใดใน D เมื่อกลุ่มของแอททริบิวทั้งหมดมีความเป็นเอกลักษณ์แล้วกล่าวได้ว่า กลุ่มย่อย (subset) K ของแอททริบิว A จะมีความเป็นเอกลักษณ์ด้วย กลุ่มย่อยของแอททริบิวนี้เรียกว่า ซุปเปอร์คีย์ ซึ่งประกอบด้วยคีย์รองหลายๆตัวมารวมกัน และจะไม่มีกลุ่มย่อยของคีย์รองใดใน K ที่มีเอกลักษณ์อีก

คีย์หลัก

ในหนึ่งตารางของความสัมพันธ์ประกอบไปด้วยกลุ่มของแอททริบิว (attribute) และแอททริบิวบางตัวทำหน้าที่เป็นคีย์ ในกลุ่มคีย์นี้จะมีคีย์อยู่ตัวหนึ่งที่เป็นคีย์หลัก และคีย์ที่เหลือจะทำหน้าที่เป็นคีย์รอง

คีย์นอก

คีย์นอก คือ คีย์ที่ค่าของมันอ้างอิงถึงค่าของแอททริบิวที่ตรงกันในความสัมพันธ์อื่น(ตาราง) ปัญหาที่เกิดขึ้นในฐานข้อมูลเชิงสัมพันธ์จากการใช้คีย์นอกก็คือ บูรณภาพของการอ้างอิงแอทริบิว (Referential integrity) ซึ่งจะถูกกล่าวถึงต่อไปในหัวข้อ บูรณภาพของการอ้างอิงแอทริบิว

บูรณภาพของเอ็นทิตี้

บูรณภาพของเอ็นทิตี้ คือ การกำหนดค่าที่ถูกต้องและอยู่ในขอบเขตให้กับคีย์หลัก นั่นคือ คีย์หลักไม่สามารถเป็นค่าว่าง (Null) ได้ เช่น รหัสนักศึกษา จะต้องถูกกำหนดค่าที่ถูกต้องตามหลักการกำหนดค่าทุกครั้งที่มีการเพิ่มนักศึกษาคนใหม่เข้ามาในฐานข้อมูล มิฉะนั้นจะทำให้ผิดกฎเกณฑ์ของบูรณภาพไป

บูรณภาพของการอ้างอิงแอททริบิว

การอ้างอิงถึงแอททริบิวจากความสัมพันธ์อื่น ระบบจัดการฐานข้อมูลจะต้องตรวจสอบให้แน่ใจว่า แอททริบิวมีค่าอยู่จริงในความสัมพันธ์นั้น มิฉะนั้นจะทำให้เกิดการอ้างอิงที่ไม่มีอยู่จริง ตัวอย่างเช่น ในความสัมพันธ์ “บัญชีธนาคาร” มีการอ้างอิงถึงธนาคารสาขา “สุเทพ” แต่ในความสัมพันธ์ “สาขาธนาคาร” ไม่ปรากฏว่ามีธนาคารสาขา “สุเทพ” นี้อยู่จริง ดังนั้นระบบจัดการฐานข้อมูลที่ดีจะต้องสามารถตรวจสอบได้ว่าการอ้างอิงแอททริบิวจากความสัมพันธ์อื่นดังเช่นในตัวอย่างนี้ถูกต้องหรือไม่ และหาวิธีในการจัดการที่เหมาะสมต่อไป เช่น รายงานให้ผู้ใช้ฐานข้อมูลทราบถึงความผิดพลาดที่เกิดขึ้น

3 กฎเกณฑ์เกี่ยวกับฐานข้อมูล (Database constraint)

การประมวลผลที่เกิดขึ้นภายในฐานข้อมูล อันได้แก่ การอ่านข้อมูลและการเขียนข้อมูล มีผลโดยตรงต่อบูรณภาพของข้อมูล ผลลัพธ์จากการทำงานบางอย่างของฐานข้อมูลจะทำให้เกิดความเสียหายกับข้อมูลได้ หรืออาจจะทำให้ระบบล้ม ซึ่งจะมีผลให้ฐานข้อมูลอยู่ในสถานะที่ไม่มั่นคง (Unconsistency) ดังนั้นระบบจัดการฐานข้อมูลจึงจำเป็นต้องรักษากฏเกณฑ์ที่เกี่ยวกับการทำงานในฐานข้อมูลเอาไว้ เพื่อป้องกันความเสียหายที่อาจจะเกิดขึ้นได้เหล่านี้ กฏเกณฑ์ที่จำเป็นสำหรับฐานข้อมูลได้แก่

    1. คุณสมบัติที่จำเป็นสำหรับรายการเปลี่ยนแปลง

    2. รายการเปลี่ยนแปลงที่เกิดขึ้นกับฐานข้อมูลจะต้องมีคุณสมบัติครบถ้วน เพื่อรักษาบูรณภาพของฐานข้อมูลเอาไว้ ระบบจัดการฐานข้อมูลจะไม่อนุญาติให้รายการเปลี่ยนแปลงที่ขาดคุณสมบัติเข้าสู่การประมวลผล

    3. การจัดลำดับการประมวลผลรายการเปลี่ยนแปลง

    4. ลำดับการทำงานของรายการเปลี่ยนแปลงมีผลต่อสถานภาพของข้อมูลโดยตรง ระบบจัดการฐานข้อมูลจะอนุญาติให้มีการประมวลผลเฉพาะลำดับรายการเปลี่ยนแปลงที่ถูกต้องเท่านั้น รายละเอียดอยู่ในตอนต่อไปในเรื่องการจัดลำดับการทำงานของรายการเปลี่ยนแปลง

    5. การยกเลิกการประมวลผลรายการเปลี่ยนแปลง

ความเสียหายอันเนื่องมาจากสาเหตุใดสาเหตุหนึ่งกับฐานข้อมูลจะต้องถูกตรวจพบ และรายการเปลี่ยนแปลงที่ยังไม่ผ่านจุดสมบูรณ์ ณ เวลานั้นจะต้องถูกยกเลิก เพื่อให้ข้อมูลกลับมาอยู่ในสถานะที่มั่นคงดังเดิม รวมถึงลำดับการเปลี่ยนแปลงอื่นที่เกี่ยวข้องกันด้วย

 

 

Last Updated: 12/13/2001 11:20:20 AM
© โครงการเครือข่ายสารสนเทศเพื่อพัฒนาการศึกษา ทบวงมหาวิทยาลัย