Las 12 reglas de Codd son un sistema de reglas propuestas por Edgar F. Codd, del modelo relacional para las bases de datos, diseñado para definir qué requiere un sistema de administración de base de datos.1
Codd se percató de que existían bases de datos en el mercado las cuales decían ser relacionales, pero lo único que hacían era guardar la información en las tablas, sin estar estas tablas literalmente normalizadas; entonces éste publicó 12 reglas que un verdadero sistema relacional debería tener aunque en la práctica algunas de ellas son difíciles de realizar. Un sistema podrá considerarse "más relacional" cuanto más siga estas reglas.
1. Regla de la información
Incluir la información del diseño de la BD (metadatos) como tablas y registros
2. Regla del acceso garantizado
Uso de clave primaria: una determinada tabla, un determinado campo y un determinado valor de clave primaria de esa tabla debería devolver un único valor.
3. Regla del Tratamiento sistemático de Valores Nulos
Una columna que pudiera albergar valores desconocicos, debería de poder almacenar valores nulos (mejor nulo que desconocido)
4. Regla de al descripción de la base de datos
La descripción de la BD es almacenada en tablas y columnas igual que los datos ordinarios y debe ser accesible por usuarios autorizados
5. Regla del sub-lenguaje integral
Debe haber un lenguaje que sea integral para definir y manipular datos (ej. SQL)
6. Regla de actualización de vistas
Todas las vistas que son actualizables, deberían serlo por el propio sistema
7. Regla de insertar y actualizar
La capacidad de consultar datos mediante una operación simple, debería estar también disponible para insertar, actualizar y borrar datos. (Ej. UPDATE, DELETE, INSERT en SQL)
8. Regla de independencia física
El acceso de usuarios a BD mediante aplicaciones o terminados debe permanecer consistente lógicamente cuando quiera que haya cambios en los datos almacenados metodos de acceso a datos
9. Regla de independencia lógica
La independencia lógica de los datos especifica que los programas de aplicación y las actividades de terminal deben ser independientes de la estructura lógica, por lo tanto los cambios en la estructura lógica no deben alterar o modificar estos programas de aplicación
10. Regla de independencia de la entidad
Todas las restricciones de integridad deben ser definibles en los datos, y almacenables en el catalogo, no en el programa de aplicación (PK no nula; Para cada valor de FK, debe existir una PK concordante)
11. Regla de distribución
El sistema debe poseer un lenguaje de datos que pueda soportar que la base de datos esté distribuida físicamente en distintos lugares sin que esto afecte o altere a los programas de aplicación
12. Regla de no-subversión
Si el sistema tiene lenguajes de bajo nivel, estos lenguajes de ninguna manera pueden ser usados para violar la integridad de las reglas y restricciones expresadas en un lenguaje de alto nivel (como SQL).
No hay comentarios:
Publicar un comentario