Tema 3Modelo
relacional
Bases deDatos I
Objetivos
Bibliografía
Introducción
Estructura
Relaciones
Resumen
Doce reglasde Codd
Lenguajes deconsultas
Tema 3Modelo relacional
Ingeniería Técnica en Informática de Gestión
Esther Gadeschi DíazDepartmento de Lenguajes y Sistemas Informáticos
Universidad de Cádiz
Cádiz, 7 de noviembre de 2011
Tema 3Modelo
relacional
Bases deDatos I
Objetivos
Bibliografía
Introducción
Estructura
Relaciones
Resumen
Doce reglasde Codd
Lenguajes deconsultas
Índice
1 Objetivos
2 Bibliografía
3 Introducción
4 Estructura
5 Relaciones
6 Resumen
7 Doce reglas de Codd
8 Lenguajes de consultas
Tema 3Modelo
relacional
Bases deDatos I
Objetivos
Bibliografía
Introducción
Estructura
Relaciones
Resumen
Doce reglasde Codd
Lenguajes deconsultas
Objetivos
El alumno debe ser capaz de:
Conocimiento
Definir correctamente una relación
Conocer las propiedades de una relación
Comprensión
Reconocer las ventajas de la utilización de un modelo de datos basado enla definición matemática de relación
Diferenciar entre los conceptos de tabla y relación
Distinguir la parte estática de la dinámica del modelo
Aplicación
Aplicar los diferentes conceptos del modelo a cualquier relación
Tema 3Modelo
relacional
Bases deDatos I
Objetivos
Bibliografía
Introducción
Estructura
Relaciones
Resumen
Doce reglasde Codd
Lenguajes deconsultas
Bibliografía
Libros
[Celm03] Celma Giménez, M.; Casamayor Ródenas, J.C. & Mota Herranz, L.Bases de datos relacionalesPrentice Hall, 2003.
[Conn05] Connolly, T. & Begg, C.Sistemas de Bases de DatosAddison-Wesley, 4a edición, 2005.
[Date01] Date, C.J.Introducción a los Sistemas de Bases de DatosPrentice Hall, 7a edición, 2001.
[Demi93] De Miguel, A. & Piattini, M.G.Concepción y Diseño de Bases de Datos: Del modelo E/R al modelorelacionalRa-Ma, 1993.
[Demi99] De Miguel, A. & Piattini, M.G.Fundamentos y modelos de Bases de DatosRa-Ma, 2a edición, 1999.
[Elma07] Elmasri, R. & Navathe, S.B.Fundamentos de sistemas de Bases de DatosAddison-Wesley, 5a edición, 2007.
Tema 3Modelo
relacional
Bases deDatos I
Objetivos
Bibliografía
Introducción
Estructura
Relaciones
Resumen
Doce reglasde Codd
Lenguajes deconsultas
Bibliografía (cont.)
[Rana07] Ramakrishnan, R & Gehrke, J.Sistemas de Gestión de Bases de DatosMcGraw-Hill, 3a edición, 2007.
[Silb06] Silberschatz, A.; Korth, H. & Sudarshan, S.Fundamentos de Bases de DatosMcGraw-Hill, 5a edición, 2006.
Aula virtual de la asignatura
Material docente: transparencias e información
Foros de discusión
Tutorías electrónicas
Tareas
Tema 3Modelo
relacional
Bases deDatos I
Objetivos
Bibliografía
Introducción
Estructura
Relaciones
Resumen
Doce reglasde Codd
Lenguajes deconsultas
Introducción
El modelo relacional es un modelo de datos global,llamados convencionales o lógicos.Es un modelo sencillo y fácil de entender ya que estáformado solamente por el concepto matemático:relación.Una relación se representa como una tablabidimensional donde los datos se muestran utilizandola estructura registro para formar el cuerpo de dichatabla.Este modelo soporta un lenguaje de programaciónllamado SQL (lenguaje de consulta estructurado).Propuesto por Dr. Codd en 1970.
Tema 3Modelo
relacional
Bases deDatos I
Objetivos
Bibliografía
Introducción
Estructura
Relaciones
Resumen
Doce reglasde Codd
Lenguajes deconsultas
Introducción (cont.)
Objetivos:Independencia física: modificación del almacenamientofísico sin modificación de aplicaciones.Independencia lógica: manipulación lógica de la BD sinmodificación de las aplicaciones.Flexibilidad: ofrecer los datos a las aplicaciones cómoellas los requieran.Uniformidad: presentación de la información en tablas.Secillez: además de lo anterior, lenguajes sencillos demanejar.
Se divide en:Estática: está formada por el concepto de tabla orelación y los términos asociados a este concepto.Dinámica: formada por un conjunto de operadores, quese aplican a las relaciones, conformando el álgebra y elcálculo relacional.
Tema 3Modelo
relacional
Bases deDatos I
Objetivos
Bibliografía
Introducción
Estructura
Relaciones
Resumen
Doce reglasde Codd
Lenguajes deconsultas
Introducción (cont.)
Diseño basado en la teoría de la normalización,eliminando dependencias entre atributos.
Las tres FN de CoddFN de Boyce-CoddFormas normales de Fagin
Los primeros productos comerciales fueron:QBE: 1978, lenguaje de acceso relacional a ficherosVSAM de IBM. No era un verdadero SGBDR.Oracle: 1979, primer SGBDR comercial, con lenguajeSQL para definición y manipulación de datos.Ingres: 1980, origen en el prototipo de igual nombre dela Univ. de Berkeley, con lenguaje QUEL basado encálculo relacional. Más utilizado por las universidades,en especial las de EE.UU.
Tema 3Modelo
relacional
Bases deDatos I
Objetivos
Bibliografía
Introducción
Estructura
Relaciones
Resumen
Doce reglasde Codd
Lenguajes deconsultas
Introducción (cont.)
Etapas:
Prerrelacional: 1a generación de BD. Los SGBD sesoportan con los modelos de datos Codasyl yJerárquico.
Relacional: 2a generacin de BD. Se van consolidandolos sistemas relacionales y van desplazando a lossistemas de 1a generación.
Postrelacional: 3a generación de BD. Aparición de otrosmodelos de datos, basados en objetos.
Tema 3Modelo
relacional
Bases deDatos I
Objetivos
Bibliografía
Introducción
Estructura
Relaciones
Resumen
Doce reglasde Codd
Lenguajes deconsultas
Estructura
Representa a una BD como un conjunto de tablas orelaciones.
Una BD relacional se divide en tres partes y cada unade ellas tiene sus propios términos especiales:
Estructura: conjunto de relaciones que forman la BD.Integridad: conjunto de restricciones de la BD.Manipulación: introducción, extracción,actualización y borrado de informacióncontenida en la BD.
Tema 3Modelo
relacional
Bases deDatos I
Objetivos
Bibliografía
Introducción
Estructura
Relaciones
Resumen
Doce reglasde Codd
Lenguajes deconsultas
Estructura (cont.)
Autores
Código Nombre Apellido1 C. J. Date2 A. De Miguel3 D. J. Ullman
Tema 3Modelo
relacional
Bases deDatos I
Objetivos
Bibliografía
Introducción
Estructura
Relaciones
Resumen
Doce reglasde Codd
Lenguajes deconsultas
Estructura (cont.)
Términos en BD
Término EquivalenciaRelación TablaTupla Fila o registroCardinalidad Número de filasAtributo Columna o campoGrado Número de columnasClave primaria Identificador únicoDominio Conjunto de valores
Tema 3Modelo
relacional
Bases deDatos I
Objetivos
Bibliografía
Introducción
Estructura
Relaciones
Resumen
Doce reglasde Codd
Lenguajes deconsultas
Atributos
Los atributos de una relación se corresponden con losnombres de las columnas de dicha relación.Toda relación está formada por un conjunto deatributos que describen los significados de las entradasde datos en las columnas.Por ejemplo, en la relación Autores, la columna con elatributo Código contiene todos los números de códigosde los autores cuyos datos están en dicha relación.Los nombres de los atributos deben ser únicos
nombre_tabla.nombre_atributo
Tema 3Modelo
relacional
Bases deDatos I
Objetivos
Bibliografía
Introducción
Estructura
Relaciones
Resumen
Doce reglasde Codd
Lenguajes deconsultas
Esquemas
El esquema de una relación está formado por elnombre y el conjunto de atributos.Se utiliza la siguiente nomenclatura: nombre de larelación seguida, entre paréntesis, de los atributos quela forman.El esquema de la relación Autores:
Autores (Código, Nombre, Apellido)Los atributos de un esquema de relación son a su vezun conjunto (relación) y no una lista, luego no hay unorden específico de aparición de esos atributos.El diseño de una BD relacional consiste en un conjuntode esquemas de relaciones, llamado esquema de laBD relacional o esquema de la BD.
Tema 3Modelo
relacional
Bases deDatos I
Objetivos
Bibliografía
Introducción
Estructura
Relaciones
Resumen
Doce reglasde Codd
Lenguajes deconsultas
Tuplas e instancias
Las tuplas son los registros de una relación y suelentener un valor para cada uno de los atributos de larelación.Las tuplas representan objetos y sus relaciones,clases.Todas las tuplas de una misma relación son diferentes,por tanto el valor del identificador único ha de serdistinto para cada una de ellas.El conjunto de todas las tuplas de una relación en cadainstante se denomina instancia.
Tema 3Modelo
relacional
Bases deDatos I
Objetivos
Bibliografía
Introducción
Estructura
Relaciones
Resumen
Doce reglasde Codd
Lenguajes deconsultas
Dominios
Cada componente de cada tupla debe ser atómico y dealgún tipo elemental de datos.Estos valores representan la menor unidad semánticade información.Un dominio es un conjunto de valores todos del mismotipo y es de donde se extraen los valores reales paralos atributos.Los atributos están definidos sobre un único dominio.
Tema 3Modelo
relacional
Bases deDatos I
Objetivos
Bibliografía
Introducción
Estructura
Relaciones
Resumen
Doce reglasde Codd
Lenguajes deconsultas
Dominios (cont.)
Por ejemplo, los números de los códigos de los autoressolamente pueden tomar los valores permitidos para elconjunto de códigos.Los dominios restringen las comparaciones, lasoperaciones y las expresiones que pueden realizarsecon los atributos.
SELECT * SELECT *FROM Autores FROM AutoresWHERE código=1; WHERE código=’apellido’;
Tema 3Modelo
relacional
Bases deDatos I
Objetivos
Bibliografía
Introducción
Estructura
Relaciones
Resumen
Doce reglasde Codd
Lenguajes deconsultas
Dominios (cont.)
Los dominios pueden estar almacenados o no en la BDde manera explicita como conjunto de valores reales.Obligatoriamente, deben estar especificados en ladefinición de la BD y cada atributo debe hacerreferencia a su dominio.Algunos Sistemas de BD son capaces de no permitirlas operaciones que violen las definiciones de losatributos implicados, pero no todos lo hacen, luego elusuario debe de tener en cuenta estas restricciones ala hora de manipular los datos de la BD.
Tema 3Modelo
relacional
Bases deDatos I
Objetivos
Bibliografía
Introducción
Estructura
Relaciones
Resumen
Doce reglasde Codd
Lenguajes deconsultas
Relaciones
Desde el punto de vista matemático, una relación es unsubconjunto del producto cartesiano de un listado dedominios, no necesariamente todos distintos.
×ni=1Di
Toda relación tiene un nombre, un esquema y unainstancia.El esquema está formado por un conjunto fijo deatributos que se representan por la parejaatributo-dominio.
{(A1 : D1), (A2 : D2), . . . , (An : Dn)}
donde n es el grado o número de atributos de larelación.
Tema 3Modelo
relacional
Bases deDatos I
Objetivos
Bibliografía
Introducción
Estructura
Relaciones
Resumen
Doce reglasde Codd
Lenguajes deconsultas
Relaciones (cont.)
La instancia es el conjunto de tuplas en un momentodado.Cada tupla está compuesta por un conjunto de parejasatributo-valor.
{(A1 : vi1), (A2 : vi2), . . . , (An : vin)}
(i = 1,2, . . . ,m)
donde m es la cardinalidad o número de tuplas de larelación en un instante dado.Es normal omitir el nombre del atributo en contextosinformales o cuando el usuario lo conozca.
(3, D. J., Ullman)
Tema 3Modelo
relacional
Bases deDatos I
Objetivos
Bibliografía
Introducción
Estructura
Relaciones
Resumen
Doce reglasde Codd
Lenguajes deconsultas
Propiedades
Estas propiedades son consecuencia de la propia definiciónde relación:
No existen tuplas repetidas: todos los objetos de unclase son diferentes.Las tuplas no están ordenadas: la instancia de unarelación es un conjunto y los elementos de un conjuntono tienen orden.Los atributos no están ordenados: el esquema de unarelación es un conjunto, luego no tiene orden.Todos los valores de los atributos son atómicos: todarelación está normalizada, sus atributos no pueden serrelaciones.
Tema 3Modelo
relacional
Bases deDatos I
Objetivos
Bibliografía
Introducción
Estructura
Relaciones
Resumen
Doce reglasde Codd
Lenguajes deconsultas
Tipos de relaciones
Estos tipos de relaciones son los más usuales, aunque notodos los SGBD los manejan:
Relaciones base: es una relación autónoma. Se creaexplícitamente (nombre y conjunto deatributo/dominio). Tanto el esquema como la instanciase almacenada en la BD.Vistas: son relaciones virtuales con nombre pero sindatos (nombre asociado a una consulta). Correspondeal nivel externo de la arquitectura ANSI.Instantáneas: es una relación derivada con nombre(snapshot). Se ejecuta una consulta y el resultado sealmacena en la BD aunque se va refrescandoconstantemente por el propio sistema.
Tema 3Modelo
relacional
Bases deDatos I
Objetivos
Bibliografía
Introducción
Estructura
Relaciones
Resumen
Doce reglasde Codd
Lenguajes deconsultas
Tipos de relaciones (cont.)
Resultados de consultas: pueden tener o no nombrepues es una relación resultante de una consulta y notiene existencia en la BD.Resultados intermedios: es una relación, normalmentesin nombre, resultado de alguna expresión relacionalanidada dentro de una expresión relacional.Relaciones temporales: es una relación con nombrepero que se destruye de forma automática en cualquiermomento.
Tema 3Modelo
relacional
Bases deDatos I
Objetivos
Bibliografía
Introducción
Estructura
Relaciones
Resumen
Doce reglasde Codd
Lenguajes deconsultas
Resumen
Cada relación tiene un nombre que la identifica y unesquema formado por una o más columnas.Cada relación tiene cero o más tuplas conteniendo unúnico valor en cada columna.Todos los valores de una columna determinada tienenel mismo tipo de datos, extraídos del dominio de lacolumna.Las tablas se relacionan entre si por los datos que lascontienen. Este modelo utiliza:
Clave primariaClave foráneaCombinación de claves primaria/foránea, creando unarelación padre/hijo.
Tema 3Modelo
relacional
Bases deDatos I
Objetivos
Bibliografía
Introducción
Estructura
Relaciones
Resumen
Doce reglasde Codd
Lenguajes deconsultas
Doce reglas de Codd
1 Representación de la información: toda información deberepresentarse en forma de tabla, principio básico del modelorelacional.
2 Acceso garantizado: todo dato debe ser accesible medianteuna combinación de un nombre de tabla, un valor de suclave y el nombre de una columna.
3 Tratamiento sistemático de valores nulos: estos valores hande ser tratados sistemáticamente por el sistema, el cual hade ofrecer las posibilidades necesarias para su tratamiento.
4 Catálogo en línea basado en el modelo relacional: larepresentación de la descripción de la BD debe ser igual a lade los otros datos, y su acceso debe poder realizarse pormedio del mismo lenguaje relacional. El MD para lametabase debe ser también relacional.
Tema 3Modelo
relacional
Bases deDatos I
Objetivos
Bibliografía
Introducción
Estructura
Relaciones
Resumen
Doce reglasde Codd
Lenguajes deconsultas
Doce reglas de Codd (cont.)
5 Sublenguaje de datos completo: debe existir un lenguajeque permita un completo manejo de la BD (definición ymanipulación de datos, definición de vistas, restricciones deintegridad, autorizaciones y gestión de transacciones).
6 Actualización de vista: toda vista teóricamente autorizabledebe poder ser actualizada por el sistema.
7 Inserción, actualización y eliminación de alto nivel: todas lasoperaciones de manipulación de datos deben operar sobreconjuntos de filas.
8 Independencia física de los datos: el acceso lógico a losdatos debe mantenerse incluso cuando cambien losmétodos de acceso o la forma de almacenamiento.
Tema 3Modelo
relacional
Bases deDatos I
Objetivos
Bibliografía
Introducción
Estructura
Relaciones
Resumen
Doce reglasde Codd
Lenguajes deconsultas
Doce reglas de Codd (cont.)
9 Independencia lógica de los datos: los programas deaplicación no deben verse afectados por cambios realizadosen el esquema de la BD.
10 Independencia de integridad: las reglas de integridad de unaBD deben ser definibles por medio del sublenguaje de datosrelacional y habrán de almacenarse en el DD de la BD, noen los programas de aplicación.
11 Independencia de distribución: debe existir un sublenguajede datos que pueda soportar BD distribuidas sin alterar losprogramas de aplicación cuando se distribuyan los datos.
12 Regla de la no subversión: si un SGBD soporta un lenguajede bajo nivel que permita el acceso fila a fila, éste no puedeutilizarse para saltarse las reglas de integridad expresadaspor medio del lenguaje de más alto nivel.
Tema 3Modelo
relacional
Bases deDatos I
Objetivos
Bibliografía
Introducción
Estructura
Relaciones
Resumen
Doce reglasde Codd
Lenguajes deconsultas
Lenguajes de consultas
Sirven para que el usuario manipule la información dela BD.Se clasifican en:
Procedimentales: el usuario indica las operaciones y lasecuencia en que se deben realizar. Álgebra relacional.No procedimentales: el usuario indica lo que quiereobtener sin especificar cómo obtenerlo. Cálculorelacional.
Los lenguajes de consultas pasaron a denominarse demanipulación (DML), ya que también permiten insertar,eliminar y modificar la información.
Tema 3Modelo
relacional
Bases deDatos I
Objetivos
Bibliografía
Introducción
Estructura
Relaciones
Resumen
Doce reglasde Codd
Lenguajes deconsultas
Lenguajes de consultas (cont.)
Los SGBD disponen de:DML: Lenguaje de manipulación de datos:manipulación de la información (instancias) de la BD.DDL: Lenguaje de definición de datos: creación de losesquemas de las relaciones.DCL: Lenguaje de control de datos: control de laseguridad de los datos, seguridad de las estructuras deesos datos, control de acceso por parte de losusuarios, información y auditoría del sistema, etc.Lenguajes huéspedes: lenguaje de alto nivel quesoporta instrucciones de un lenguaje de manipulaciónde datos, como por ejemplo SQL, y que interaccionacon la BD.