12 Codd 12 szabálya – 13 szabály (ebben az esetben a számítás 0-ról indul), amelyeknek minden relációs adatbázis-kezelő rendszernek (RDBMS) meg kell felelnie [1] .
Edgar Codd angol matematikus javasolta 1985 - ben a ComputerWorld cikkeiben [2] [3] .
Valójában a szabályok annyira szigorúak, hogy az összes népszerű, úgynevezett RDBMS nem teljesíti sok kritériumot.
0. szabály: Alapozási szabály :
Az RDBMS-ként hirdetett vagy elhelyezett rendszernek képesnek kell lennie arra, hogy az adatbázisokat kizárólag a relációs képességeit használva kezelje.1. szabály : Tájékoztatási szabály :
A relációs adatbázisban lévő összes információt logikai szinten explicit módon kell megjeleníteni: a táblázatokban szereplő értékekkel .2. szabály: Garantált hozzáférési szabály :
Egy relációs adatbázisban minden egyes (atomi) adatértéknek logikailag elérhetőnek kell lennie a táblanév, az oszlopnév és az elsődleges kulcs értékének kombinációjával .3. szabály: Null értékek szisztematikus kezelése :
Az ismert értékeken kívüli ismeretlen vagy hiányzó NULL értékeket minden adattípushoz támogatni kell minden műveletben. Például numerikus adatok esetén az ismeretlen értékeket nem szabad nullákként kezelni, karakteres adatok esetén pedig üres karakterláncokként.4. szabály: Az adatszótár elérése a relációs modell alapján ( A relációs modellen alapuló aktív online katalógus ):
Az adatszótárt relációs táblák formájában kell tárolni, és a DBMS-nek támogatnia kell a hozzáférést szabványos nyelvi eszközökkel, ugyanazokkal, mint a felhasználói adatokat tartalmazó relációs táblákkal.5. szabály: Átfogó adatok alnyelvi szabálya :
A relációs adatbázis-kezelő rendszernek támogatnia kell legalább egy olyan relációs nyelvet a) lineáris szintaxisa van , b) interaktívan és alkalmazási programokban egyaránt használhatók, (c) támogatja az adatdefiníciót, a nézetdefiníciót, az adatok manipulálását ( interaktív és programozott), az integritási korlátozásokat, a hozzáférés-vezérlést és a tranzakciókezelési műveleteket ( kezdés, véglegesítés és visszaállítás ).6. szabály: Nézetváltás lehetősége ( Frissítési szabály megtekintése ):
Minden nézetnek támogatnia kell a relációs táblák által támogatott összes adatkezelési műveletet: lekérési, beszúrási, frissítési és törlési műveleteket.7. szabály: Magas szintű adatkezelési műveletek jelenléte ( magas szintű beszúrás, frissítés és törlés ):
A beszúrási, frissítési és törlési műveleteket nem csak egy relációs tábla egyetlen sorában kell támogatni, hanem a sorok bármelyikén is.8. szabály: Fizikai adatok függetlensége :
Az alkalmazások nem függhetnek az adatok adathordozón való tárolására használt módszerektől, illetve azon számítógépek hardverétől, amelyeken a relációs adatbázis található.9. szabály: Logikai adatok függetlensége :
Az adatok megjelenítése egy alkalmazásban nem függhet a relációs táblák szerkezetétől. Ha a normalizálási folyamat egy relációs táblát két részre oszt, a nézetnek biztosítania kell, hogy az adatok össze legyenek vonva, hogy a relációs táblák szerkezetében bekövetkezett változások ne legyenek hatással az alkalmazásokra.10. szabály: Az integritás függetlensége :
Az integritás fenntartásához szükséges összes információnak az adatszótárban kell lennie. Az adatnyelvnek végre kell hajtania a bemeneti ellenőrzést, és automatikusan meg kell őriznie az adatok integritását.11. szabály: A terjesztés függetlensége :
Az adatbázis terjeszthető, több számítógépen is elhelyezhető, és ez nem érintheti az alkalmazásokat. Az adatbázisok másik számítógépre történő átvitele nem érinti az alkalmazásokat.12. szabály: A felforgatás tilalma :
Ha alacsony szintű adathozzáférési nyelvet használ, az nem írhatja felül a magasabb szintű nyelv által támogatott biztonsági és integritási szabályokat.