Edgar F Codd एक कंप्यूटर वैज्ञानिक थे जिन्होंने डेटाबेस प्रबंधन के लिए संबंधपरक मॉडल का आविष्कार किया था। उन्हें रिलेशनल डेटाबेस के साथ-साथ रिलेशनल डेटाबेस मैनेजमेंट सिस्टम की नींव बनाने का श्रेय भी दिया जाता है।
कॉड के बारह नियम एक डेटाबेस प्रबंधन प्रणाली के लिए आवश्यक विशेषताओं को परिभाषित करते हैं जिन्हें रिलेशनल यानी एक रिलेशनल डेटाबेस मैनेजमेंट सिस्टम माना जाता है।
नियम 0:नींव नियम
किसी भी सिस्टम को रिलेशनल डेटाबेस मैनेजमेंट सिस्टम के रूप में योग्य होने के लिए, उसे अपनी रिलेशनल क्षमता का उपयोग करके अपने डेटा का प्रबंधन करना चाहिए।
नियम 1:सूचना नियम
सभी जानकारी (मेटाडेटा सहित) पंक्तियों और स्तंभों का उपयोग करके तालिकाओं में प्रदर्शित की जाती है। पंक्तियों और स्तंभों को सख्ती से अव्यवस्थित होना चाहिए।
नियम 2:गारंटीड एक्सेस नियम
डेटाबेस में सभी मानों को तालिका नाम, प्राथमिक कुंजी और स्तंभ नाम के संयोजन का उपयोग करके एक्सेस किया जाना चाहिए। (इस नियम के अनुसार पॉइंट का उपयोग करके सीधे डेटा तक पहुंचने की क्षमता अमान्य है)।
नियम 3:शून्य मानों का व्यवस्थित उपचार
एक व्यवस्थित तरीके से डेटा की अनुपस्थिति या अमान्य डेटा का प्रतिनिधित्व करने के लिए डेटाबेस में NULL मान पूरी तरह से समर्थित हैं। NULL मान डेटा प्रकारों से स्वतंत्र होते हैं और उन पर किसी भी ऑपरेशन को NULL वापस करना होगा।
नियम 4:डायनामिक ऑनलाइन कैटलॉग
कैटेलॉग एक डेटाबेस का पूरा विवरण है। यह ऑनलाइन स्टोर किया जाता है और डेटाबेस पर अतिरिक्त जानकारी देता है। डेटाबेस पर उपयोग की जाने वाली क्वेरी भाषा का उपयोग कैटलॉग पर भी किया जाता है।
नियम 5:शक्तिशाली और सुव्यवस्थित भाषा
एक रिलेशनल डेटाबेस कई भाषाओं का समर्थन कर सकता है। हालांकि कम से कम एक ऐसी भाषा होनी चाहिए जो सभी प्रकार के डेटा एक्सेस, डेटा मैनिपुलेशन इत्यादि प्रदान करे। ऐसी ही एक भाषा एसक्यूएल है।
नियम 6:अपडेशन नियम देखें
सैद्धांतिक रूप से अद्यतन करने योग्य सभी दृश्य भी सिस्टम द्वारा अद्यतन करने योग्य होने चाहिए।
नियम 7:गुणवत्ता प्रविष्टि, अपडेट, हटाना
एक ही संकार्य के संदर्भ में सम्मिलन, विलोपन और अद्यतन संभव होना चाहिए। यह सुविधा संबंधों के सभी स्तरों पर उपलब्ध होनी चाहिए।
नियम 8:भौतिक डेटा स्वतंत्रता
सिस्टम में भौतिक परिवर्तन, जैसे भंडारण स्थान में परिवर्तन, एक्सेस विधियों में परिवर्तन आदि, एप्लिकेशन प्रोग्राम और सिस्टम की अन्य गतिविधियों को प्रभावित नहीं करना चाहिए।
नियम 9:तार्किक डेटा स्वतंत्रता
रिलेशनल डेटाबेस का उपयोगकर्ता दृश्य सुसंगत रहना चाहिए, भले ही तार्किक संरचना में परिवर्तन हों। इस नियम को पूरा करना काफी कठिन है।
नियम 10:सत्यनिष्ठा स्वतंत्रता
एक संबंधपरक डेटाबेस के लिए विशेष रूप से अखंडता की कमी को उस डेटाबेस की भाषा में परिभाषित किया जाना चाहिए और कैटलॉग में संग्रहीत किया जाना चाहिए। इस नियम का मतलब है कि रिलेशनल डीबीएमएस फ्रंट एंड पर निर्भर नहीं है।
नियम 11:वितरण स्वतंत्रता
भले ही डेटाबेस में डेटा कई स्थानों पर वितरित किया गया हो, अंतिम उपयोगकर्ता को डेटाबेस को एक समान इकाई के रूप में देखना चाहिए। साथ ही, डेटाबेस को पूरे नेटवर्क में वितरित होने पर भी पूरी तरह से काम करना चाहिए।
नियम 12:गैर तोड़फोड़ नियम
यदि रिलेशनल डेटाबेस के लिए निम्न स्तर की पहुंच की अनुमति है, तो यह डेटा को बदलने के लिए अखंडता बाधाओं को दूर करने और सुरक्षा को बायपास करने में सक्षम नहीं होना चाहिए।