1. REGLA 2: REGLA DEL ACCESO GARANTIZADO
1.1. Para todos y cada uno de los datos (valores atómicos) de una base de datos relacional 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.
1.1.1. Cualquier dato almacenado en una base de datos relacionales tiene que poder ser direccionado unívocamente. Para ello hay que indicar en qué tabla está, cuál es la columna y cuál es la fila primaria.
2. REGLA 1: REGLA DE LA INFORMACIÓN
2.1. Toda la información en una base de datos relacionales se muestra explícitamente en el nivel lógico mediante tablas y solo mediante tablas.
2.1.1. Por tanto, los metadatos (diccionario, catálogo) se representan y manipulan exactamente igual que los datos de usuario, usando quizás el mismo lenguaje (ejemplo SQL)
3. REGLA 3: TRATAMIENTO SISTEMÁTICO DE VALORES NULOS
3.1. Se debe disponer de valores nulos (distintos de la cadena vacía, blancos, 0, etc.) para representar información desconocida o no aplicable de manera sistemática, independientemente del tipo de datos
3.1.1. Se reconoce la necesidad de la existencia del valor nulo, el cual puede servir para representar, o bien, una información desconocida (ejemplo, no se sabe la dirección de un empleado)
4. REGLA 4: CATÁLOGO DINÁMICO EN LÍNEA BASADO EN EL MODELO RELACIONAL
4.1. 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.
4.1.1. Los metadatos se almacenan y se manejan usando el modelo relacional, con todas las consecuencias.
5. REGLA 5: REGLA DEL SUB-LENGUAJE DE DATOS COMPLETO
5.1. Un sistema relacional debe soportar varios lenguajes y varios modos de uso de terminal (ejemplo: 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:
5.1.1. Además, debe tener una interfaz de usuario para hacer consultas, etc. Siempre debe haber una manera de hacerlo todo de manera textual, que es tanto como decir que puede ser incorporado en un programa tradicional. Un lenguaje que cumple esto en gran medida es SQL.
6. REGLA 6: REGLA DE ACTUALIZACIÓN DE VISTAS
6.1. Todas las vistas que son teóricamente actualizables se deben poder actualizar también por el sistema.
6.1.1. -El problema está determinado en las vistas teóricamente actualizables, ya que no está muy claro. -Cada sistema puede hacer las suposiciones particulares sobre las vistas que son actualizables.
7. REGLA 7: INSERT, UPDATE Y DELETE DE ALTO NIVEL
7.1. 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), sino también a la inserción, actualización y borrado de datos.
7.1.1. Esto es, el lenguaje de manejo de datos también debe ser de alto nivel. Algunos sistemas de la cuenta se modifican en las filas de una tabla de una vez.
8. REGLA 8: INDEPENDENCIA DE LA REPRESENTACIÓN FÍSICA DE DATOS
8.1. Los programas de aplicación y actividades del terminal permanecen inalterados a nivel lógico cualesquiera sean los cambios efectuados, tanto en la representación del almacenamiento, como en los métodos de acceso.
8.1.1. El modelo relacional es un modelo lógico de datos, y oculta las características de su representación física.
9. REGLA 9: INDEPENDENCIA DE MODIFICACIONES LÓGICAS DE DATOS
9.1. Los programas de aplicación y actividades del terminal permanecen inalterados a nivel lógico cualesquiera sean los cambios que se realicen a las tablas base que preserven la información.
9.1.1. Cuando se modifica el esquema lógico preservando información, no se necesita modificar nada en niveles superiores.
10. REGLA 10: Independencia de las restricciones de integridad
10.1. Las restricciones de integridad para una determinada base de datos relacionales pueden ser definidos en el lenguaje de datos relacionales, y almacenables en el catálogo, no en los programas de aplicación.
10.1.1. Como parte de las restricciones inherentes al modelo relacional (parte de su definición) están: - Integridad de Entidad: Toda tabla debe tener una clave primaria. -Integridad de Dominio: Toda columna de una tabla contendrá valores exclusivamente de un determinado dominio (conjunto de valores válidos) -Integridad Referencial: Toda clave foránea no nula debe existir en la relación donde es clave primaria.
11. REGLA 11:: Independencia distribuida
11.1. Una Base de Datos Relacional es independiente de la distribución.
11.1.1. -Las mismas tareas y programas se ejecutan igual en una base de datos centralizada que en una distribuida. -Las bases de datos son fácilmente distribuibles.
12. REGLA 12: REGLA DE LA NO SUBVERSIÓN
12.1. Si un sistema relacional tiene un lenguaje de bajo nivel, el nivel bajo no puede ser usado para subvertir (saltarse) las reglas de integridad y las restricciones expresadas en los lenguajes relacionales de más alto nivel a la vez).
12.1.1. • Algunos problemas no se pueden solucionar directamente con el lenguaje de alto nivel. • Normalmente se usa SQL incorporado en un lenguaje anfitrión para solucionar estos problemas. Se utiliza el concepto de cursor para tratar individualmente las filas de una tabla. En cualquier caso no debe ser posible saltarse las restricciones de integridad impuestos al tratar las filas a ese nivel.