12 Reglas De Codd
Enviado por adc199220 • 3 de Diciembre de 2013 • 2.036 Palabras (9 Páginas) • 519 Visitas
12 REGLAS DE CODD
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.
- Por tanto los metadatos (diccionario, catálogo) se representan exactamente igual que los datos de usuario.
- Y puede usarse el mismo lenguaje (ej. SQL) para acceder a los datos y a los metadatos (regla 4)
- Un valor posible es el valor nulo, con sus dos interpretaciones:
- Valor desconocido (ej. dirección desconocida)
- Valor no aplicable (ej. empleado soltero no tiene esposa).
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.
- Cualquier dato almacenado en una BDR tiene que poder ser direccionado univocamente. Para ello hay que indicar en qué tabla está, cuál es la columna y cuál es la fila (mediante la clave primaria).
- Por tanto se necesita el concepto de clave primaria, que no es soportado en muchas implementaciones. En estos casos, para lograr un efecto similar se puede hacer lo siguiente:
- Hacer que los atributos clave primaria no puedan ser nulos (NOT NULL).
- Crear un índice único sobre la clave primaria.
- No eliminar nunca el índice.
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.
- Se reconoce la necesidad de la existencia de valores nulos, para un tratamiento sistemático de los mismos.
- Hay problemas para soportar los valores nulos en las operaciones relacionales, especialmente en las operaciones lógicas.
Lógica trivaluada. Es una posible solución. Existen tres (no dos) valores de verdad: Verdadero, Falso y Desconocido (null). Se crean tablas de verdad para las operaciones lógicas:
- null Y null = null
- Verdadero Y null = null
- Falso Y null = Falso
- Verdadero O null = Verdadero
- etc.
Un inconveniente es que de cara al usuario el manejo de los lenguajes relacionales se complica pues es más difícil de entender.
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.
- Es una consecuencia de la regla 1 que se destaca por su importancia. Los metadatos se almacenan usando el modelo relacional, con todas las consecuencias.
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).
- Además de poder tener interfaces más amigables para hacer consultas, etc. siempre debe de haber una manera de hacerlo todo de manera textual, que es tanto como decir que pueda ser incorporada en un programa tradicional.
- Un lenguaje que cumple esto en gran medida es SQL.
REGLA 6: REGLA DE ACTUALIZACIÓN DE VISTAS
Todas las vistas que son teóricamente actualizables se pueden actualizar por el sistema.
- El problema es determinar cuáles son las vistas teóricamente actualizables, ya que no está muy
...