กฎ 12 ข้อของค็อดด์
กฎสิบสองข้อของ Codd [ 1 ]คือชุดกฎสิบสามข้อ ( หมายเลขศูนย์ถึงสิบสอง ) ที่เสนอโดยEdgar F. Coddผู้บุกเบิกแบบจำลองเชิงสัมพันธ์สำหรับฐานข้อมูลซึ่งออกแบบมาเพื่อกำหนดสิ่งที่จำเป็นจากระบบจัดการฐานข้อมูลเพื่อให้ถือว่าเป็นเชิงสัมพันธ์ กล่าว คือระบบจัดการฐานข้อมูลเชิงสัมพันธ์ (RDBMS) [ 2 ] [ 3 ]บางครั้งกฎเหล่านี้ถูกเรียกว่า "บัญญัติสิบสองข้อของ Codd" [ 4 ]
ประวัติศาสตร์
Codd ได้วางกฎเกณฑ์ดังกล่าวไว้ตั้งแต่ปี 1970 และพัฒนาเพิ่มเติมในเอกสารการประชุมในปี 1974 [ 5 ]จุดมุ่งหมายของเขาคือการป้องกันไม่ให้วิสัยทัศน์ของฐานข้อมูลเชิงสัมพันธ์ดั้งเดิมถูกลดทอนลง เนื่องจากผู้จำหน่ายฐานข้อมูลต่างพยายามอย่างหนักในช่วงต้นทศวรรษ 1980 เพื่อบรรจุผลิตภัณฑ์ที่มีอยู่ใหม่โดยใช้รูปแบบเชิงสัมพันธ์กฎข้อที่ 12 ได้รับการออกแบบมาโดยเฉพาะเพื่อต่อต้านการวางตำแหน่งดังกล่าว
ในขณะที่ในปี 1999 ตำราเรียนเล่มหนึ่งระบุว่า "ปัจจุบัน RDBMS ส่วนใหญ่...ผ่านการทดสอบ" [ 5 ]แต่ตำราเรียนอีกเล่มหนึ่งในปี 2007 กลับแนะนำว่า "ไม่มีระบบฐานข้อมูลใดที่ปฏิบัติตามกฎทั้งสิบสองข้อ" [ 6 ] Codd เองก็ยอมรับในหนังสือของเขาเรื่อง "The Relational Model for Database Management: Version 2" ว่าในขณะที่กฎ 12 ข้อดั้งเดิมของเขาสามารถใช้สำหรับการจำแนกแบบหยาบได้ แต่คุณลักษณะ 333 ข้อของ Relational Model Version 2 (RM/V2) ของเขานั้นจำเป็นสำหรับการจำแนกในระดับที่ละเอียดกว่า[ 7 ]
กฎ
กฎข้อที่ 0:กฎพื้นฐาน :
- สำหรับระบบใดก็ตามที่โฆษณาหรืออ้างว่าเป็นระบบจัดการฐานข้อมูลเชิงสัมพันธ์ ระบบนั้นจะต้องสามารถจัดการฐานข้อมูลได้อย่างสมบูรณ์ผ่านความสามารถเชิงสัมพันธ์ของระบบนั้นเอง
กฎข้อที่ 1:กฎ เกี่ยวกับ การให้ข้อมูล :
- ข้อมูลทั้งหมดในฐานข้อมูลเชิงสัมพันธ์จะถูกแสดงอย่างชัดเจนในระดับตรรกะและในรูปแบบเดียวเท่านั้น นั่นคือโดยค่าต่างๆ ในตาราง
กฎข้อที่ 2:กฎการเข้าถึงที่รับประกัน :
- ข้อมูลทุกค่า (ค่าอะตอม) ในฐานข้อมูลเชิงสัมพันธ์นั้นรับประกันได้ว่าจะสามารถเข้าถึงได้ในเชิงตรรกะโดยอาศัยการผสมผสานระหว่างชื่อตาราง ค่า คีย์หลักและชื่อคอลัมน์
กฎข้อที่ 3: การจัดการค่าว่างอย่างเป็นระบบ :
- ค่าว่าง (ซึ่งแตกต่างจากสตริงอักขระว่างเปล่าหรือสตริงอักขระว่าง และแตกต่างจากศูนย์หรือตัวเลขอื่นใด) ได้รับการสนับสนุนในระบบจัดการฐานข้อมูลเชิงสัมพันธ์อย่างสมบูรณ์ เพื่อแสดงข้อมูลที่ขาดหายไปและข้อมูลที่ไม่เกี่ยวข้องอย่างเป็นระบบ โดยไม่ขึ้นอยู่กับชนิดข้อมูล
กฎข้อที่ 4: แคตตาล็อกออนไลน์แบบไดนามิกที่อิงตามแบบจำลองเชิงสัมพันธ์ :
- คำอธิบายฐานข้อมูลถูกแสดงในระดับตรรกะในลักษณะเดียวกับข้อมูลทั่วไป เพื่อให้ผู้ใช้ที่ได้รับอนุญาตสามารถใช้ภาษาเชิงสัมพันธ์เดียวกันในการสอบถามข้อมูลได้เช่นเดียวกับการสอบถามข้อมูลปกติ
กฎข้อที่ 5:กฎเกี่ยวกับภาษาย่อยของข้อมูลที่ครอบคลุม :
- ระบบฐานข้อมูลเชิงสัมพันธ์อาจรองรับหลายภาษาและโหมดการใช้งานเทอร์มินัลที่หลากหลาย (ตัวอย่างเช่น โหมดเติมคำในช่องว่าง) อย่างไรก็ตาม ต้องมีอย่างน้อยหนึ่งภาษาที่สามารถแสดงคำสั่งได้ตามไวยากรณ์ที่กำหนดไว้อย่างดี ในรูปแบบของสตริงอักขระ และต้องครอบคลุมการสนับสนุนรายการต่อไปนี้ทั้งหมด:
- คำจำกัดความของข้อมูล
- ดูคำจำกัดความ
- การจัดการข้อมูล (ทั้งแบบโต้ตอบและโดยโปรแกรม)
- ข้อจำกัดด้านความสมบูรณ์ของข้อมูล
- การอนุญาต
- ขอบเขตของธุรกรรม (เริ่มต้น ยืนยัน และยกเลิก)
กฎข้อที่ 6:กฎการอัปเดตมุมมอง :
- มุมมองทั้งหมดที่สามารถอัปเดตได้ตามทฤษฎี ระบบก็สามารถอัปเดตได้เช่นกัน
กฎข้อที่ 7:กฎการดำเนินการเชิงสัมพันธ์ / สามารถใช้ได้กับการแทรก อัปเดต และลบข้อมูลระดับสูง :
- ความสามารถในการจัดการความสัมพันธ์พื้นฐานหรือความสัมพันธ์ที่ได้มาเป็นตัวดำเนินการเดียว ไม่เพียงแต่ใช้ได้กับการดึงข้อมูลเท่านั้น แต่ยังใช้ได้กับการแทรก การอัปเดต และการลบข้อมูลด้วย
กฎข้อที่ 8: ความเป็นอิสระของข้อมูลทางกายภาพ :
- โปรแกรมแอปพลิเคชันและกิจกรรมบนอุปกรณ์ปลายทางยังคงทำงานได้ตามปกติโดยไม่ได้รับผลกระทบใดๆ แม้ว่าจะมีการเปลี่ยนแปลงเกิดขึ้นในรูปแบบการจัดเก็บข้อมูลหรือวิธีการเข้าถึงก็ตาม
กฎข้อที่ 9: ความเป็นอิสระของข้อมูลเชิงตรรกะ :
- โปรแกรมแอปพลิเคชันและกิจกรรมบนเทอร์มินัลจะยังคงทำงานได้ตามปกติโดยไม่ได้รับผลกระทบทางตรรกะ แม้ว่าจะมีการเปลี่ยนแปลงใดๆ ในตารางฐานข้อมูลที่รักษาข้อมูลไว้ได้ ซึ่งในทางทฤษฎีแล้วจะช่วยให้การทำงานไม่ได้รับผลกระทบก็ตาม
กฎข้อที่ 10: ความซื่อสัตย์และความเป็นอิสระ :
- ข้อจำกัดด้านความสมบูรณ์ของข้อมูลที่เฉพาะเจาะจงสำหรับฐานข้อมูลเชิงสัมพันธ์นั้น จะต้องสามารถกำหนดได้ในภาษาย่อย ของข้อมูลเชิงสัมพันธ์ และจัดเก็บไว้ในแคตตาล็อก ไม่ใช่ในโปรแกรมแอปพลิเคชัน
กฎข้อที่ 11: ความเป็นอิสระของการกระจายตัว :
- ผู้ใช้งานปลายทางต้องไม่เห็นว่าข้อมูลกระจายอยู่ตามสถานที่ต่างๆ ผู้ใช้งานควรได้รับความรู้สึกเสมอว่าข้อมูลนั้นตั้งอยู่ที่ไซต์เดียวเท่านั้น
กฎข้อที่ 12:กฎห้ามบ่อนทำลาย :
- หากระบบฐานข้อมูลเชิงสัมพันธ์มีภาษาในระดับต่ำ (ประมวลผลทีละระเบียน) ภาษาในระดับต่ำนั้นจะไม่สามารถนำมาใช้เพื่อบิดเบือนหรือหลีกเลี่ยงกฎและข้อจำกัดด้านความสมบูรณ์ของข้อมูลที่แสดงอยู่ในภาษาฐานข้อมูลเชิงสัมพันธ์ระดับสูง (ประมวลผลหลายระเบียนพร้อมกัน) ได้
ดูเพิ่มเติม
อ่านเพิ่มเติม
- Codd, Edgar F. (1990). แบบจำลองเชิงสัมพันธ์สำหรับการจัดการฐานข้อมูล: เวอร์ชัน 2. Addison-Wesley. ISBN 9780201141924.
- Harrington, Jan L. (2002). "กฎของ Codd". การออกแบบฐานข้อมูลเชิงสัมพันธ์ที่อธิบายอย่างชัดเจน . ชุดหนังสือ Morgan Kaufmann ในระบบการจัดการข้อมูล ( ฉบับที่ 2). Morgan Kaufmann. ISBN 9781558608207.
- Krishna, S. (1992). "เกณฑ์สำหรับการประเมินระบบฐานข้อมูลเชิงสัมพันธ์". บทนำสู่ระบบฐานข้อมูลและฐานความรู้ . วิทยาการคอมพิวเตอร์. เล่มที่ 28. World Scientific. หน้า 91 เป็นต้นไป. ISBN 9789810206192.