Regla 0: Todo sistema que se defina como sistema de gestión de base de datos relacional, o se anuncie como tal, ha de poder gestionar las bases de datos exclusivamente con sus capacidades relacionales.
Regla fundamental.
Regla 1: Toda la información en una base de datos relacional se representa de forma explícita en el nivel lógico y exactamente de una manera: con valores en tablas.
Regla de la información.
Regla 2: Se garantiza que todos y cada uno de los datos (valor atómico) de una base de datos relacional son accesibles lógicamente mediante una combinación de nombre de tabla, valor de clave primaria y nombre de columna.
Regla del acceso garantizado.
Regla 3: Los sistemas de gestión de base de datos plenamente relacionales admiten los valores nulos (distintos de la cadena vacía, los blancos, los ceros o cualquier otro número) para representar la información desconocida y la inaplicable de manera sistemática e independiente del tipo de dato.
Regla del tratamiento sistemático de valores nulos.
Regla 4: La descripción de la base de datos se representa a nivel lógico igual que los datos comunes, de modo que los usuarios autorizados pueden utilizar el mismo lenguaje relacional en su consulta que el que aplican a los datos comunes.
Catálogo dinámico en línea basado en el modelo relacional.
Regla 5: Un sistema relacional debe permitir varios lenguajes y varios modos de uso terminal. Sin embargo, debe haber al menos un lenguaje con sintaxis bien definida que respalde:
Definición de datos
Definición de vistas
Manipulación de datos
Restricciones de integridad
Límites de transacción (begin, commit y rollback)
Regla del sublenguaje de datos completo.
Regla 6: Todas las vistas que son teóricamente actualizables son también actualizables por el sistema.
Regla de actualización de vistas.
Regla 7: La capacidad de gestionar una relación base o una relación derivada como un solo operando también aplica a inserciones, actualizaciones y eliminaciones.
Inserción, actualización y borrado de alto nivel.
Regla 8: Los programas de aplicación y actividades terminales permanecen inalterados a nivel lógico cuando se realizan cambios en las representaciones de almacenamiento o en los métodos de acceso.
Independencia física de los datos.
Regla 9: Los programas de aplicación y actividades terminales permanecen inalterados a nivel lógico cuando se realizan cambios en las tablas base que preservan la información.
Independencia lógica de los datos.
Regla 10: Las restricciones de integridad específicas deben definirse en el sublenguaje de datos relacional y almacenarse en el catálogo, no en los programas de aplicación.
Independencia de la integridad.
Regla 11: El usuario final no ha de ver que los datos están distribuidos en varias ubicaciones. La distribución debe ser transparente.
Independencia de la distribución.
Regla 12: Si un sistema relacional tiene un lenguaje de bajo nivel, este no puede usarse para subvertir las reglas y restricciones de integridad del lenguaje relacional de alto nivel.
La regla de la no subversión.