1. Regla 2: de la garantía de acceso. Todo valor escalar debería ser accesible a través del nombre de la tabla, el nombre de la columna y la clave primaria de la fila.
2. Regla 1: Regla de la información.Toda la información se debe representar en tablas.
3. Regla 3: Tratamiento sistemático de los valores NULL. Un RDBMS debe tener soporte para valores NULL (desconocidos o que no apliquen), deben ser independientes del tipo y deben implementarse de una forma diferente a cualquier valor válido de cualquier tipo.
4. Regla 4: Catálogo en línea basado en el Modelo Relacional. Una base de datos debe describirse a sí misma mediante un catálogo basado en el Modelo Relacional, accesible para los usuarios autorizados .
5. Regla 5: Lenguaje de datos completo: Un RDBMS debe tener un lenguaje relacional (comoSQL) que soporte DDL, DML, seguridad y restricciones de integridad, y transacciones (commit, rollback).
6. Regla 6: Actualización de vistas. Todas las vistas que sean teóricamente actualizables deben ser actualizables en la práctica (se demostró que esta regla no es decidible: Why Codd's Rule No. 6 Must be Reformulated)
7. Regla 0. Cualquier sistema que se proclame como relación, debe ser capaz de gestionar sus bases de datos enteramente mediante sus capacidades relacionales.
8. Regla 7: INSERT, UPDATE y DELETE de alto nivel Un RDBMS debe soportar operaciones INSERT, UPDATE y DELETE de alto nivel (de conjuntos) para cualquier conjunto recuperable de datos
9. Regla 8: Independencia de la representación física Los usuarios y aplicaciones son inmunes a los cambios realizados en la representación física o métodos de acceso a los datos.
10. Regla 9:Independencia de las modificaciones lógicas. Los usuarios y aplicaciones son inmunes a los cambios en la estructura lógica de la base (agregado de una relación, agregado de un atributo a una relación, modificación del orden de los atributos de una relación).
11. Regla 10: Independencia de las restricciones de integridad. Las restricciones de integridad se deben almacenar en el catálogo, y su modificación no debe afectar a las
12. Regla 11: Independencia distribuida.Las aplicaciones deben seguir funcionando bien cuando: (a) se introduce una versión distribuida del DBMS (b) los datos distribuidos existentes son redistribuidos.
13. Regla 12: No subversión. No debe haber otra forma de modificar la base que a través de un lenguaje de múltiples tuplas como SQL (si la base provee cursores no deben poder usarse para evitar la integridad o seguridad).