Edgar F Codd เป็นนักวิทยาศาสตร์คอมพิวเตอร์ที่คิดค้นโมเดลเชิงสัมพันธ์สำหรับการจัดการฐานข้อมูล เขายังได้รับเครดิตในการสร้างพื้นฐานสำหรับฐานข้อมูลเชิงสัมพันธ์และระบบจัดการฐานข้อมูลเชิงสัมพันธ์
12 กฎของ Codd กำหนดลักษณะที่จำเป็นสำหรับระบบจัดการฐานข้อมูลเพื่อถือว่าเป็นเชิงสัมพันธ์ คือ ระบบจัดการฐานข้อมูลเชิงสัมพันธ์ (RDBMS)
กฎ 0: กฎพื้นฐาน (Foundation rule)
ระบบใดๆ ที่มีคุณสมบัติเป็น RDBMS ควรจัดการข้อมูลของมันโดยใช้ความสามารถเชิงสัมพันธ์ของมัน
กฎ 1: กฎข้อมูล (Information rule)
ข้อมูลทั้งหมด (รวมถึง metadata) ถูกแทนในตารางโดยใช้แถวและคอลัมน์ แถวและคอลัมน์ต้องเป็น unordered อย่างเคร่งครัด
กฎ 2: กฎการเข้าถึงที่รับประกัน (Guaranteed access rule)
ค่าทั้งหมดในฐานข้อมูลควรเข้าถึงได้โดยใช้การผสมผสานของชื่อตาราง คีย์หลัก และชื่อคอลัมน์ (ความสามารถในการเข้าถึงข้อมูลโดยตรงโดยใช้ pointer ไม่ถูกต้องตามกฎนี้)
กฎ 3: การจัดการค่า Null อย่างเป็นระบบ (Systematic treatment of Null values)
ค่า NULL ได้รับการสนับสนุนอย่างเต็มที่ในฐานข้อมูลสำหรับการแทนการขาดหายของข้อมูลหรือข้อมูลที่ไม่ถูกต้องอย่างเป็นระบบ ค่า NULL เป็นอิสระจากชนิดข้อมูล และการดำเนินการใดๆ บนค่า NULL ต้องคืนค่า NULL
กฎ 4: แคตตาล็อกออนไลน์แบบไดนามิก (Dynamic Online Catalog)
แคตตาล็อกคือคำอธิบายครบถ้วนของฐานข้อมูล ถูกจัดเก็บออนไลน์และให้ข้อมูลเพิ่มเติมเกี่ยวกับฐานข้อมูล ภาษาคิวรีที่ใช้กับฐานข้อมูลยังใช้กับแคตตาล็อก
กฎ 5: ภาษาที่ทรงพลังและมีโครงสร้างดี (Powerful and Well-Structured Language)
ฐานข้อมูลเชิงสัมพันธ์อาจรองรับหลายภาษา อย่างไรก็ตาม ควรมีภาษาอย่างน้อยหนึ่งภาษาที่ให้การเข้าถึงข้อมูล การจัดการข้อมูล ฯลฯ ทุกประเภท ภาษาหนึ่งคือ SQL
กฎ 6: กฎการอัปเดตมุมมอง (View Updation rule)
มุมมอง (views) ทั้งหมดที่สามารถอัปเดตได้ในทฤษฎี ควรสามารถอัปเดตได้โดยระบบด้วย
กฎ 7: การแทรก อัปเดต ลบ คุณภาพ (Quality Insertion, Update, Deletion)
ควรมีการแทรก ลบ และอัปเดตได้ในรูปของตัวถูกดำเนินการ (operand) เดียว สิ่งนี้ต้องพร้อมใช้งานในทุกระดับของความสัมพันธ์
กฎ 8: อิสระภาพข้อมูลทางกายภาพ (Physical Data Independence)
การเปลี่ยนแปลงทางกายภาพของระบบ เช่น การเปลี่ยนพื้นที่จัดเก็บ การเปลี่ยนวิธีการเข้าถึง ฯลฯ ไม่ควรส่งผลต่อโปรแกรมประยุกต์และกิจกรรมอื่นๆ ของระบบ
กฎ 9: อิสระภาพข้อมูลทางตรรกะ (Logical Data Independence)
มุมมองของผู้ใช้ต่อฐานข้อมูลเชิงสัมพันธ์ควรคงที่แม้จะมีการเปลี่ยนแปลงโครงสร้างทางตรรกะ กฎนี้ยากที่จะปฏิบัติตาม
กฎ 10: อิสระภาพความสมบูรณ์ (Integrity Independence)
ข้อจำกัดความสมบูรณ์ที่เฉพาะเจาะจงกับฐานข้อมูลเชิงสัมพันธ์ควรถูกกำหนดในภาษาของฐานข้อมูลนั้นและจัดเก็บในแคตตาล็อก กฎนี้หมายความว่า RDBMS ไม่พึ่งพา front end
กฎ 11: อิสระภาพการกระจาย (Distribution Independence)
แม้ข้อมูลในฐานข้อมูลจะกระจายอยู่หลายสถานที่ ผู้ใช้ปลายทางควรเห็นฐานข้อมูลเป็นเอนทิตีเดียวที่สม่ำเสมอ นอกจากนี้ ฐานข้อมูลควรทำงานได้สมบูรณ์แม้จะกระจายอยู่ข้ามเครือข่าย
กฎ 12: กฎไม่ถูกทำลาย (Nonsubversion Rule)
หากอนุญาตการเข้าถึงระดับต่ำสำหรับฐานข้อมูลเชิงสัมพันธ์ มันไม่ควรสามารถทำลายข้อจำกัดความสมบูรณ์และข้ามการรักษาความปลอดภัยเพื่อเปลี่ยนข้อมูลได้