Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> SQL

กฎสิบสองข้อของฐานข้อมูลเชิงสัมพันธ์ของ CODD


Edgar F Codd เป็นนักวิทยาศาสตร์คอมพิวเตอร์ที่คิดค้นแบบจำลองเชิงสัมพันธ์สำหรับการจัดการฐานข้อมูล เขายังได้รับเครดิตในการสร้างรากฐานสำหรับฐานข้อมูลเชิงสัมพันธ์ตลอดจนระบบการจัดการฐานข้อมูลเชิงสัมพันธ์

กฎสิบสองข้อของ Codd กำหนดคุณลักษณะที่จำเป็นสำหรับระบบการจัดการฐานข้อมูลเพื่อพิจารณาเชิงสัมพันธ์ เช่น ระบบการจัดการฐานข้อมูลเชิงสัมพันธ์

กฎ 0:กฎพื้นฐาน

สำหรับระบบใดๆ ที่มีคุณสมบัติเป็นระบบจัดการฐานข้อมูลเชิงสัมพันธ์ ระบบควรจัดการข้อมูลโดยใช้ความสามารถเชิงสัมพันธ์

กฎข้อที่ 1:กฎข้อมูล

ข้อมูลทั้งหมด (รวมถึงข้อมูลเมตา) จะแสดงในตารางโดยใช้แถวและคอลัมน์ แถวและคอลัมน์จะต้องไม่เรียงลำดับอย่างเคร่งครัด

กฎข้อ 2:กฎการเข้าถึงที่รับประกัน

ค่าทั้งหมดในฐานข้อมูลควรสามารถเข้าถึงได้โดยใช้ชื่อตาราง คีย์หลัก และชื่อคอลัมน์ร่วมกัน (ความสามารถในการเข้าถึงข้อมูลโดยตรงโดยใช้ปลายแหลมนั้นไม่ถูกต้องตามกฎนี้)

กฎข้อที่ 3:การรักษาค่า Null อย่างเป็นระบบ

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

กฎข้อที่ 4:แคตตาล็อกออนไลน์แบบไดนามิก

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

กฎข้อที่ 5:ภาษาที่มีประสิทธิภาพและมีโครงสร้างที่ดี

ฐานข้อมูลเชิงสัมพันธ์อาจรองรับหลายภาษา อย่างไรก็ตาม ควรมีอย่างน้อยหนึ่งภาษาที่ให้การเข้าถึงข้อมูลทุกประเภท การจัดการข้อมูล ฯลฯ ภาษาดังกล่าวคือ SQL

กฎ 6:ดูกฎการอัปเดต

มุมมองทั้งหมดที่อัปเดตได้ในทางทฤษฎีควรได้รับการอัพเดตโดยระบบด้วย

กฎข้อ 7:การแทรก อัปเดต การลบคุณภาพ

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

กฎข้อที่ 8:ความเป็นอิสระของข้อมูลทางกายภาพ

การเปลี่ยนแปลงทางกายภาพของระบบ เช่น การเปลี่ยนแปลงพื้นที่จัดเก็บ การเปลี่ยนแปลงวิธีการเข้าถึง ฯลฯ ไม่ควรส่งผลกระทบต่อโปรแกรมแอปพลิเคชันและกิจกรรมอื่นๆ ของระบบ

กฎข้อ 9:ความเป็นอิสระของข้อมูลเชิงตรรกะ

มุมมองผู้ใช้ของฐานข้อมูลเชิงสัมพันธ์ควรมีความสอดคล้องกัน แม้ว่าจะมีการเปลี่ยนแปลงโครงสร้างทางลอจิคัลก็ตาม กฎข้อนี้ค่อนข้างยากที่จะตอบสนอง

กฎข้อที่ 10:ความเป็นอิสระในความซื่อสัตย์

ข้อจำกัดด้านความซื่อสัตย์เฉพาะสำหรับฐานข้อมูลเชิงสัมพันธ์ควรกำหนดในภาษาของฐานข้อมูลนั้นและจัดเก็บไว้ในแค็ตตาล็อก กฎนี้หมายความว่า DBMS เชิงสัมพันธ์ไม่ได้อาศัยส่วนหน้า

กฎข้อที่ 11:ความเป็นอิสระในการกระจาย

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

กฎ 12:กฎการไม่โค่นล้ม

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