29
Tema 3 Modelo relacional Bases de Datos I Objetivos Bibliografía Introducción Estructura Relaciones Resumen Doce reglas de Codd Lenguajes de consultas Tema 3 Modelo relacional Ingeniería Técnica en Informática de Gestión Esther Gadeschi Díaz Departmento de Lenguajes y Sistemas Informáticos Universidad de Cádiz Cádiz, 7 de noviembre de 2011

Base De Datos I

Embed Size (px)

DESCRIPTION

Tema 3 UCA

Citation preview

Page 1: Base De Datos I

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

Page 2: Base De Datos I

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

Page 3: Base De Datos I

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

Page 4: Base De Datos I

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.

Page 5: Base De Datos I

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

Page 6: Base De Datos I

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.

Page 7: Base De Datos I

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.

Page 8: Base De Datos I

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.

Page 9: Base De Datos I

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.

Page 10: Base De Datos I

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.

Page 11: Base De Datos I

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

Page 12: Base De Datos I

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

Page 13: Base De Datos I

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

Page 14: Base De Datos I

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.

Page 15: Base De Datos I

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.

Page 16: Base De Datos I

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.

Page 17: Base De Datos I

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’;

Page 18: Base De Datos I

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.

Page 19: Base De Datos I

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.

Page 20: Base De Datos I

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)

Page 21: Base De Datos I

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.

Page 22: Base De Datos I

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.

Page 23: Base De Datos I

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.

Page 24: Base De Datos I

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.

Page 25: Base De Datos I

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.

Page 26: Base De Datos I

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.

Page 27: Base De Datos I

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.

Page 28: Base De Datos I

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.

Page 29: Base De Datos I

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.