lunes, 13 de enero de 2014

Las 12 reglas de Codd

Una base de datos es un “almacén” que nos permite guardar grandes cantidades de información de forma organizada para que luego podamos encontrar y utilizar fácilmente. A continuación te presentamos una guía que te explicará el concepto y características de las bases de datos.

El término de bases de datos fue escuchado por primera vez en 1963, en un simposio celebrado en California, USA. Una base de datos se puede definir como un conjunto de información relacionada que se encuentra agrupada o estructurada.

Los sistemas relacionales son simplemente sistemas que utilizan tablas para almacenar la información, no disponiendo de elementos como claves primarias, etc.

En 1984 Codd publicó 12 reglas que un verdadero sistema relacional debería de cumplir. 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.

REGLA  0
Para que un sistema se denomine sistema de gestión de bases de datos relacionales, este sistema debe usar (exclusivamente) sus capacidades relacionales para gestionar la base de datos.
  
REGLA 1: REGLA DE LA INFORMACIÓN
Toda la información en una base de datos relacional se representa explícitamente en el nivel lógico exactamente de una manera: con valores en tablas.

 REGLA 2: REGLA DEL ACCESO GARANTIZADO
Para todos y cada uno de los datos (valores atómicos) de una BDR se garantiza que son accesibles a nivel lógico utilizando una combinación de nombre de tabla, valor de clave primaria y nombre de columna.

REGLA 3: TRATAMIENTO SISTEMÁTICO DE VALORES NULOS
Los valores nulos (que son distintos de la cadena vacía, blancos, 0, ...) se soportan en los SGBD totalmente relacionales para representar información desconocida o no aplicable de manera sistemática, independientemente del tipo de datos.

 REGLA 4: CATÁLOGO DINÁMICO EN LÍNEA BASADO EN EL MODELO RELACIONAL
La descripción de la base de datos se representa a nivel lógico de la misma manera que los datos normales, de modo que los usuarios autorizados pueden aplicar el mismo lenguaje relacional a su consulta, igual que lo aplican a los datos normales.

REGLA 5: REGLA DEL SUBLENGUAJE DE DATOS COMPLETO
Un sistema relacional debe soportar varios lenguajes y varios modos de uso de terminal (ej: rellenar formularios, etc.). Sin embargo, debe existir al menos un lenguaje cuyas sentencias sean expresables, mediante una sintaxis bien definida, como cadenas de caracteres y que sea completo, soportando:

            - Definición de datos
            - Definición de vistas
            - Manipulación de datos (interactiva y por programa)
            - Limitantes de integridad
            - Limitantes de transacción (iniciar, realizar, deshacer) (Begin, commit, rollback).

REGLA 6: REGLA DE ACTUALIZACIÓN DE VISTAS
Todas las vistas que son teóricamente actualizables se pueden actualizar por el sistema.

REGLA 7: INSERCIÓN, ACTUALIZACIÓN Y BORRADO DE ALTO NIVEL
La capacidad de manejar una relación base o derivada como un solo operando se aplica no sólo a la recuperación de los datos (consultas), si no también a la inserción, actualización y borrado de datos.
  
REGLA 8: INDEPENDENCIA FÍSICA DE DATOS
Los programas de aplicación y actividades del terminal permanecen inalterados a nivel lógico cuandoquiera que se realicen cambios en las representaciones de almacenamiento o métodos de acceso.

REGLA 9: INDEPENDENCIA LÓGICA DE DATOS
Los programas de aplicación y actividades del terminal permanecen inalterados a nivel lógico cuandoquiera que se realicen cambios a las tablas base que preserven la información.
  
REGLA 10: INDEPENDENCIA DE INTEGRIDAD
Los limitantes de integridad específicos para una determinada base de datos relacional deben poder ser definidos en el sublenguaje de datos relacional, y almacenables en el catálogo, no en los programas de aplicación.

REGLA 11: INDEPENDENCIA DE DISTRIBUCIÓN
Una BDR tiene independencia de distribución.


REGLA 12: REGLA DE LA NO SUBVERSIÓN
Si un sistema relacional tiene un lenguaje de bajo nivel (un registro de cada vez), ese bajo nivel no puede ser usado para saltarse (subvertir) las reglas de integridad y los limitantes expresados en los lenguajes relacionales de más alto nivel (una relación (conjunto de registros) de cada vez).