Kara
El Dr. Codd es el fundador del modelo de base de datos relacional. Publicó un artículo de dos partes que enumera 12 reglas (o principios). Estas reglas se conocen como las 12 reglas de Codd. Las reglas del Dr. Codd proporcionan una medida muy útil (patrón) para evaluar un sistema de base de datos relacional. Estas reglas se utilizan para determinar si un DBMS es relacional y en qué medida es relacional. El Dr. Codd también mencionó que de acuerdo con estas reglas, todavía no se dispone de un sistema completamente relacional. Las reglas de Codd se describen a continuación:
0, Regla cero: De acuerdo con esta regla, cualquier sistema que se afirme que es un Sistema de administración de bases de datos relacionales (RDBMS), debe poder administrar los datos de la base de datos a través de sus capacidades relacionales.
1. Representación de la información: Toda la información en una base de datos relacional se representa claramente en forma de filas y columnas. Significa que la información se almacena en tablas.
2. Acceso garantizado: Se garantiza que todos y cada uno de los valores atómicos de una base de datos relacional son lógicamente accesibles al especificar el nombre de la tabla, el valor de la clave principal y el nombre de la columna.
3. Representación de valores nulos: El sistema debe poder representar valores nulos de forma sistemática.
4. Catálogo relacional: El catálogo del sistema que contiene la descripción lógica
de la base de datos debe representarse de la misma forma que los datos ordinarios.
5. Sublenguaje de datos completo: Un sistema relacional puede admitir varios idiomas y varios modos de uso del terminal. Sin embargo, debe haber al menos un lenguaje cuyas declaraciones se puedan expresar en alguna sintaxis bien definida como cadenas de caracteres y que tenga la capacidad de admitir todo lo siguiente:
* definición de datos
* definición de vista
* manipulación de datos
* restricciones de integridad
* límites de transacción
6. Actualización de vistas: el sistema también puede actualizar todas las vistas que son teóricamente actualizables.
7. Operaciones de inserción, actualización y eliminación: el sistema debe tener capacidad para insertar, actualizar y eliminar datos de tablas.
8. Independencia física de los datos: los programas de aplicación y las actividades de la terminal permanecen lógicamente uniformes siempre que se realizan cambios en la representación del almacenamiento o en los métodos de acceso.
9. Independencia lógica de los datos: los programas de aplicación y las actividades de la terminal permanecen lógicamente uniformes cuando cambia la estructura de las tablas de la base de datos.
10. Independencia de integridad: las restricciones de integridad específicas de una base de datos relacional particular deben poder definirse en el sub-lenguaje de datos relacionales y almacenarse en el catálogo, no en los programas de aplicación. Se debe admitir un mínimo de las dos restricciones de integridad siguientes.
Integridad de la entidad: ningún componente de una clave primaria puede tener un valor nulo.
Integridad referencial: si la clave externa se define en una base de datos relacional, entonces cada valor de la clave externa debe tener un valor de clave principal coincidente en otra tabla de la base de datos.
11. Independencia de distribución: Un RDBMS tiene independencia de distribución. Significa que si la base de datos está distribuida, no es necesario cambiar los programas de aplicación y los comandos del usuario.
12. No subversión: si un sistema relacional tiene un lenguaje de bajo nivel (registro único a la vez), ese lenguaje de bajo nivel no se puede utilizar para eludir las reglas de integridad o las restricciones expresadas en el nivel superior (registros múltiples en un tiempo) lenguaje relacional.