![]() |
|
![]() |
|
![]() |
กฏเกณฑ์ของข้อมูล และวิธีจัดการกับข้อมูลเพื่อให้เป็นไปตามกฏเกณฑ์กฎเกณฑ์ของข้อมูล คือ กฎเกณฑ์ที่ใช้ในการรักษาความถูกต้องของข้อมูล มีจุดประสงค์หลัก คือ
กฎเกณฑ์ในการคงบูรณภาพของข้อมูลสามารถแบ่งได้ 3 ประเภท ได้แก่
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 ประเภท ตามชนิดของแอท ทริบิว คือ
บูรณภาพของคีย์คีย์ สมมติให้ D ตารางในฐานข้อมูลเชิงสัมพันธ์ที่ประกอบไปด้วยกลุ่มของแอททริบิวทั้งหมด A = (A1,A2,..,An) กล่าวได้จะกลุ่มของแอททริบิวทั้งหมด A ที่ประกอบขึ้นเป็นความสัมพันธ์หนึ่งจะมีความเป็นเอกลักษณ์ (uniqueness property) คือ ไม่ซ้ำกับความสัมพันธ์ (tuple) ใดใน D เมื่อกลุ่มของแอททริบิวทั้งหมดมีความเป็นเอกลักษณ์แล้วกล่าวได้ว่า กลุ่มย่อย (subset) K ของแอททริบิว A จะมีความเป็นเอกลักษณ์ด้วย กลุ่มย่อยของแอททริบิวนี้เรียกว่า ซุปเปอร์คีย์ ซึ่งประกอบด้วยคีย์รองหลายๆตัวมารวมกัน และจะไม่มีกลุ่มย่อยของคีย์รองใดใน K ที่มีเอกลักษณ์อีก คีย์หลัก ในหนึ่งตารางของความสัมพันธ์ประกอบไปด้วยกลุ่มของแอททริบิว (attribute) และแอททริบิวบางตัวทำหน้าที่เป็นคีย์ ในกลุ่มคีย์นี้จะมีคีย์อยู่ตัวหนึ่งที่เป็นคีย์หลัก และคีย์ที่เหลือจะทำหน้าที่เป็นคีย์รอง คีย์นอก คีย์นอก คือ คีย์ที่ค่าของมันอ้างอิงถึงค่าของแอททริบิวที่ตรงกันในความสัมพันธ์อื่น(ตาราง) ปัญหาที่เกิดขึ้นในฐานข้อมูลเชิงสัมพันธ์จากการใช้คีย์นอกก็คือ บูรณภาพของการอ้างอิงแอทริบิว (Referential integrity) ซึ่งจะถูกกล่าวถึงต่อไปในหัวข้อ บูรณภาพของการอ้างอิงแอทริบิว บูรณภาพของเอ็นทิตี้บูรณภาพของเอ็นทิตี้ คือ การกำหนดค่าที่ถูกต้องและอยู่ในขอบเขตให้กับคีย์หลัก นั่นคือ คีย์หลักไม่สามารถเป็นค่าว่าง (Null) ได้ เช่น รหัสนักศึกษา จะต้องถูกกำหนดค่าที่ถูกต้องตามหลักการกำหนดค่าทุกครั้งที่มีการเพิ่มนักศึกษาคนใหม่เข้ามาในฐานข้อมูล มิฉะนั้นจะทำให้ผิดกฎเกณฑ์ของบูรณภาพไป บูรณภาพของการอ้างอิงแอททริบิวการอ้างอิงถึงแอททริบิวจากความสัมพันธ์อื่น ระบบจัดการฐานข้อมูลจะต้องตรวจสอบให้แน่ใจว่า แอททริบิวมีค่าอยู่จริงในความสัมพันธ์นั้น มิฉะนั้นจะทำให้เกิดการอ้างอิงที่ไม่มีอยู่จริง ตัวอย่างเช่น ในความสัมพันธ์ บัญชีธนาคาร มีการอ้างอิงถึงธนาคารสาขา สุเทพ แต่ในความสัมพันธ์ สาขาธนาคาร ไม่ปรากฏว่ามีธนาคารสาขา สุเทพ นี้อยู่จริง ดังนั้นระบบจัดการฐานข้อมูลที่ดีจะต้องสามารถตรวจสอบได้ว่าการอ้างอิงแอททริบิวจากความสัมพันธ์อื่นดังเช่นในตัวอย่างนี้ถูกต้องหรือไม่ และหาวิธีในการจัดการที่เหมาะสมต่อไป เช่น รายงานให้ผู้ใช้ฐานข้อมูลทราบถึงความผิดพลาดที่เกิดขึ้น 3 กฎเกณฑ์เกี่ยวกับฐานข้อมูล (Database constraint)การประมวลผลที่เกิดขึ้นภายในฐานข้อมูล อันได้แก่ การอ่านข้อมูลและการเขียนข้อมูล มีผลโดยตรงต่อบูรณภาพของข้อมูล ผลลัพธ์จากการทำงานบางอย่างของฐานข้อมูลจะทำให้เกิดความเสียหายกับข้อมูลได้ หรืออาจจะทำให้ระบบล้ม ซึ่งจะมีผลให้ฐานข้อมูลอยู่ในสถานะที่ไม่มั่นคง (Unconsistency) ดังนั้นระบบจัดการฐานข้อมูลจึงจำเป็นต้องรักษากฏเกณฑ์ที่เกี่ยวกับการทำงานในฐานข้อมูลเอาไว้ เพื่อป้องกันความเสียหายที่อาจจะเกิดขึ้นได้เหล่านี้ กฏเกณฑ์ที่จำเป็นสำหรับฐานข้อมูลได้แก่
รายการเปลี่ยนแปลงที่เกิดขึ้นกับฐานข้อมูลจะต้องมีคุณสมบัติครบถ้วน เพื่อรักษาบูรณภาพของฐานข้อมูลเอาไว้ ระบบจัดการฐานข้อมูลจะไม่อนุญาติให้รายการเปลี่ยนแปลงที่ขาดคุณสมบัติเข้าสู่การประมวลผล ลำดับการทำงานของรายการเปลี่ยนแปลงมีผลต่อสถานภาพของข้อมูลโดยตรง ระบบจัดการฐานข้อมูลจะอนุญาติให้มีการประมวลผลเฉพาะลำดับรายการเปลี่ยนแปลงที่ถูกต้องเท่านั้น รายละเอียดอยู่ในตอนต่อไปในเรื่องการจัดลำดับการทำงานของรายการเปลี่ยนแปลง ความเสียหายอันเนื่องมาจากสาเหตุใดสาเหตุหนึ่งกับฐานข้อมูลจะต้องถูกตรวจพบ และรายการเปลี่ยนแปลงที่ยังไม่ผ่านจุดสมบูรณ์ ณ เวลานั้นจะต้องถูกยกเลิก เพื่อให้ข้อมูลกลับมาอยู่ในสถานะที่มั่นคงดังเดิม รวมถึงลำดับการเปลี่ยนแปลงอื่นที่เกี่ยวข้องกันด้วย |
|
|