Tema 8 : Sistemas relacionales Resumen Sobre el modelo relacional Elementos del modelo en 1972: Estructura de datos: Dominios Relaciones: atributos y tuplas Llaves primarias, llaves exteriores Integridad de los datos: Los valores de la llave primaria han de ser no nulos Los valores de las llaves exteriores han de concordar con los de las llaves primarias que referncian o ( en su caso) ser nulos Manipulación de los datos: Operaciones del Algebra relacional: Unión, intersección, diferencia, producto cartesiano, selección, proyección reunión y división. Asignación relacional Su equivalente en Cálculo relacional Tema 8: Sistemas relacionales Sistemas relacionales y totalmente relacionales Sistema Relacional: Sistema de gestión de bases de datos que utiliza el modelo relacional como modelo de datos Problema: ¿Cuando puede considerarse que un SGBD es relacional? Existen niveles Las restricciones han cambiado con el tiempo Imposiciones y clasificación en 1980: Un sistema es relacional en grado mínimo si: El usuario percibe la información a través de tablas y solo a través de tablas Permite las operaciones de selección, proyección y reunión tema 8: Sistemas relacionales Sistemas relacionales y totalmente relacionales Justificación: Las tres operaciones anteriores son las más útiles Manejar tablas sin consultar de acuerdo con la filosofía relacional no es eficaz Si la posibilidad de consulta depende de algún elemento físico (índices, dirección física etc..) se pierde independencia. Clasificación de los sistemas: Tabular Minimamente Relacional Dbase3, Acces(1 version) Relacional Completo Dbase4,Acces Oracle 5,6 Ingres DB2 Totalmente Relacional Ultimas versiones de los grqndes sistemas tema 8: Sistemas relacionales Sistemas relacionales y totalmente relacionales Imposiciones en 1986 Ampliación del Algebra relacional: Division generalizada. Permite la división entre dos relaciones cuyos esquemas no está incluidos el uno en el otro. Si tenemos R(X,Y) y S(Y,Z), T=SR tiene como esquema T(X,Z). Unión externa Permite la unión entre dos relaciones que no son compatibles. Si tenemosR(X,Y) y S(Y,Z), T=SZ tiene como esquema T(X,Y,Z), en cada tupla se rellena a nulos los atributos no comunes Reunión externa: Realiza la reunión natural, incluyendo las tuplas de una relación que no tienen igual los correspondientes atributos en la otra, los atributos añadidos en esas tuplas rellenan a nulos. Alumnos external join Matricula Devuelve los alumnos con sus matriculas asociadas y para aquellos alumnos que no estén matriculados de ninguna asignatura, una tupla con sus datos y el resto relleno a nulos tema 8: Sistemas relacionales Sistemas relacionales y totalmente relacionales Imposiciones en 1986 Ampliación del Algebra relacional: Operaciones “quizás” (maybe): La idea básica consiste en considerar el valor nulo como desconocido y trabajar con expresiones lógicas que den verdadero cuando comparamos con este valor nulo. Tenemos: “May be” selección. Selecciona aquellas filas que hacen el valor de un atributo nulo “May be” Reunión “May be” Reunión externa “May be” División tema 8: Sistemas relacionales Sistemas relacionales y totalmente relacionales Imposiciones en 1986 Ampliación del Algebra relacional: Operaciones con anulación de la verificación de dominio: La idea básica consiste en eliminar la restricción de igual dominio cuando se comparan dos atributos de dos relaciones distintas. Tenemos: Selección con anulación de verificación de dominio Reunión con anulación de verificación de dominio Reunión externa con anulación de verificación de dominio División con anulación de verificación de dominio tema 8: Sistemas relacionales Sistemas relacionales y completamente relacionales Elementos del modelo en 1986: Estructura de datos: Dominios Relaciones: atributos y tuplas Tipos de tablas: base, consulta, vistas, temporales Llaves primarias, llaves exteriores Integridad de los datos: Integridad de entidad e Integridad relacional Integridad definida por el usuario Manipulación de los datos: Operaciones del Algebra relacional: Unión, intersección, diferencia, producto cartesiano, selección, proyección reunión y división. Asignación relacional Operaciones externas: union reunion y division Operaciones “may be”: reunion. division, reunion externa Operaciones con anulación de verificación de dominio: reunion. division, reunion externa Su equivalente en Cálculo relacional tema 8: Sistemas relacionales Las 12 reglas de Codd 1.- Regla de Información Toda la información se presenta mediante tablas y sólo mediante tablas 2.- Regla de acceso garantizado: Se accede sólo por nombre de columna y valor de llave candidata 3.- Manejo sistemático de valores nulos Se debe disponer de una representación de valores desconocidos y no aplicables diferente de los valores normales 4.- Catálogo activo en línea basado en el modelo relacional Debe estar a disposición de los usuarios con el mismo lenguaje de consulta que la base de datos. 5.- Sublenguaje de datos completo: Lenguaje relacional que tenga: Sintaxis lineal Utilización interactiva y mediante lenguajes de programación Definición de datos, manipulación completa de datos, Restricciones de seguridad, integridad y manejo de transacciones tema 8: Sistemas relacionales Las 12 reglas de Codd 6.-Actualización de vistas Se deben poder actualizar todas las vistas que en teoría se puedan actualizar 7.- Inserción, modificación y borrado de alto nivel: Se debe modificar, insertar y borrar todo un conjunto de tuplas a la vez 8.- Independencia física de los datos 9.- Independencia lógica de los datos 10.- Independencia de integridad La integridad no forma parte de los programas de aplicación sino del esquema conceptual 11.- Independencia a la distribución 12.- No subversión Si el sistema ofrece una interfaz de acceso a bajo nivel, dicho acceso no se podrá usar para salvar restricciones de integridad o seguridad