Enumeración de las reglas de Codd para un sistema relacional
Las reglas establecidas por Codd permiten verificar y garantizar que el diseño de una base de datos cumpla con los principios del modelo relacional. Esto asegura que el diseño resultante sea eficiente y pueda cumplir con las normas del álgebre relacional una vez que se implemente.
A continuación, se detallan las doce reglas definidas por Codd en 1984 las cuales deben cumplirse al desarrollar un sistema relacional. Aunque resulta difícil que un sistema relacional llegue a efectuar algunas de estas normas, a continuación, se detallaran las reglas de Codd:
Regla 1: Se debe representar toda la información de la base de datos en el esquema lógico, es decir que todos los datos están en las tablas.
Regla 2: Regla del acceso garantizado: Todos los datos de una base de datos relacional deben ser accesibles al nivel lógico usando el nombre de tabla, valor de la clave principal y nombre de columna.
Regla 3: Tratamiento sistemático de valores nulos: A través de los valores nulos es posible representar información inédita o no aplicable, independientemente del tipo de datos.
Regla 4: Catálogo dinámico en línea basado en el modelo relacional: Solo los usuarios autorizados pueden realizar consultar y modificar datos. Así mismo los usuarios pueden tener acceso a la estructura de la base de datos.
Regla 5: Regla del sublenguaje de datos completo: Debe por lo menos haber un lenguaje con una sintaxis bien definida que permita la administración de la base de datos.
Regla 6: Regla de actualización de vistas: Aquellas vistas que se pueden modificar deben también permitir la modificación por parte del sistema.
Regla 7: Inserción, modificación y eliminación de alto nivel: En el momento en que se realice una inserción, modificación o eliminación el sistema deberá ser capaz de proporcionar datos. El lenguaje de manejo de datos puede ser de declaración, es decir, debe permitir, por ejemplo, cambiar algunas filas de una tabla de forma conjunta.
Regla 8: Independencia física de datos: No interviene el usuario y está enfocada a que las modificaciones que se realicen en la base de datos no alteren el método de acceso. Por ejemplo, organización de archivos para mejorar el rendimiento (“separación física de aplicaciones y estructura de almacenamiento”).
Regla 9: Independencia lógica de datos: Las aplicaciones no deben verse afectadas por las modificaciones que se realizan en las tablas de la base de datos, ya que ambas funcionan diferente. Ejemplo: Eclipse – Mysql.
Regla 10: Independencia de integridad: Se debe especificar las limitaciones de integridad para una base de datos relacional por separado de los programas de aplicación y almacenar en la base de datos.
Regla 11: Independencia de distribución: La distribución de una base de datos es independiente, ya sea cuando se trabaja con una base de datos compartida en diferentes ordenadores o cuando se trabaje con una base de datos centralizada.
Regla 12: Regla de la no subversión: Si en un sistema relacional cuenta con un lenguaje de bajo nivel, esto le impide que pueda saltarse las normas de integridad y las limitaciones mencionadas en los lenguajes relacionales de más alto nivel. Ejemplo: búsqueda del apellido de un empleado, resultado el número de teléfono.