Sei sulla pagina 1di 29

Tema 3 Modelo relacional Bases de Datos I Objetivos Bibliografa Introduccin Estructura Relaciones Resumen Doce reglas de Codd Lenguajes

de consultas

Tema 3 Modelo relacional


Ingeniera Tcnica en Informtica de Gestin
Esther Gadeschi Daz Departmento de Lenguajes y Sistemas Informticos Universidad de Cdiz

Cdiz, 7 de noviembre de 2011

ndice
Tema 3 Modelo relacional Bases de Datos I

1 2

Objetivos Bibliografa Introduccin Estructura Relaciones Resumen Doce reglas de Codd Lenguajes de consultas

Objetivos Bibliografa Introduccin Estructura Relaciones Resumen Doce reglas de Codd Lenguajes de consultas

3 4 5 6 7 8

Objetivos
Tema 3 Modelo relacional Bases de Datos I Objetivos Bibliografa Introduccin Estructura Relaciones Resumen Doce reglas de Codd Lenguajes de consultas

El alumno debe ser capaz de: Conocimiento Denir correctamente una relacin Conocer las propiedades de una relacin Comprensin Reconocer las ventajas de la utilizacin de un modelo de datos basado en la denicin matemtica de relacin Diferenciar entre los conceptos de tabla y relacin Distinguir la parte esttica de la dinmica del modelo Aplicacin Aplicar los diferentes conceptos del modelo a cualquier relacin

Bibliografa
Tema 3 Modelo relacional Bases de Datos I Objetivos Bibliografa Introduccin Estructura Relaciones Resumen Doce reglas de Codd Lenguajes de consultas

Libros
[Celm03] Celma Gimnez, M.; Casamayor Rdenas, J.C. & Mota Herranz, L. Bases de datos relacionales Prentice Hall, 2003. Connolly, T. & Begg, C. Sistemas de Bases de Datos Addison-Wesley, 4a edicin, 2005. Date, C.J. Introduccin a los Sistemas de Bases de Datos Prentice Hall, 7a edicin, 2001. De Miguel, A. & Piattini, M.G. Concepcin y Diseo de Bases de Datos: Del modelo E/R al modelo relacional Ra-Ma, 1993. De Miguel, A. & Piattini, M.G. Fundamentos y modelos de Bases de Datos Ra-Ma, 2a edicin, 1999. Elmasri, R. & Navathe, S.B. Fundamentos de sistemas de Bases de Datos Addison-Wesley, 5a edicin, 2007.

[Conn05]

[Date01]

[Demi93]

[Demi99]

[Elma07]

Bibliografa (cont.)
Tema 3 Modelo relacional Bases de Datos I Objetivos Bibliografa Introduccin Estructura Relaciones Resumen Doce reglas de Codd Lenguajes de consultas

[Rana07]

[Silb06]

Ramakrishnan, R & Gehrke, J. Sistemas de Gestin de Bases de Datos McGraw-Hill, 3a edicin, 2007. Silberschatz, A.; Korth, H. & Sudarshan, S. Fundamentos de Bases de Datos McGraw-Hill, 5a edicin, 2006.

Aula virtual de la asignatura


Material docente: transparencias e informacin Foros de discusin Tutoras electrnicas Tareas

Introduccin
Tema 3 Modelo relacional Bases de Datos I Objetivos Bibliografa Introduccin Estructura Relaciones Resumen Doce reglas de Codd Lenguajes de consultas

El modelo relacional es un modelo de datos global, llamados convencionales o lgicos. Es un modelo sencillo y fcil de entender ya que est formado solamente por el concepto matemtico: relacin. Una relacin se representa como una tabla bidimensional donde los datos se muestran utilizando la estructura registro para formar el cuerpo de dicha tabla. Este modelo soporta un lenguaje de programacin llamado SQL (lenguaje de consulta estructurado). Propuesto por Dr. Codd en 1970.

Introduccin (cont.)
Tema 3 Modelo relacional Bases de Datos I Objetivos Bibliografa Introduccin Estructura Relaciones Resumen Doce reglas de Codd Lenguajes de consultas

Objetivos:
Independencia fsica: modicacin del almacenamiento fsico sin modicacin de aplicaciones. Independencia lgica: manipulacin lgica de la BD sin modicacin de las aplicaciones. Flexibilidad: ofrecer los datos a las aplicaciones cmo ellas los requieran. Uniformidad: presentacin de la informacin en tablas. Secillez: adems de lo anterior, lenguajes sencillos de manejar.

Se divide en:
Esttica: est formada por el concepto de tabla o relacin y los trminos asociados a este concepto. Dinmica: formada por un conjunto de operadores, que se aplican a las relaciones, conformando el lgebra y el clculo relacional.

Introduccin (cont.)
Tema 3 Modelo relacional Bases de Datos I Objetivos Bibliografa Introduccin Estructura Relaciones Resumen Doce reglas de Codd Lenguajes de consultas

Diseo basado en la teora de la normalizacin, eliminando dependencias entre atributos.


Las tres FN de Codd FN de Boyce-Codd Formas normales de Fagin

Los primeros productos comerciales fueron:


QBE: 1978, lenguaje de acceso relacional a cheros VSAM de IBM. No era un verdadero SGBDR. Oracle: 1979, primer SGBDR comercial, con lenguaje SQL para denicin y manipulacin de datos. Ingres: 1980, origen en el prototipo de igual nombre de la Univ. de Berkeley, con lenguaje QUEL basado en clculo relacional. Ms utilizado por las universidades, en especial las de EE.UU.

Introduccin (cont.)
Tema 3 Modelo relacional Bases de Datos I Objetivos Bibliografa Introduccin Estructura Relaciones Resumen Doce reglas de Codd Lenguajes de consultas

Etapas:
Prerrelacional: 1a generacin de BD. Los SGBD se soportan con los modelos de datos Codasyl y Jerrquico. Relacional: 2a generacin de BD. Se van consolidando los sistemas relacionales y van desplazando a los sistemas de 1a generacin. Postrelacional: 3a generacin de BD. Aparicin de otros modelos de datos, basados en objetos.

Estructura
Tema 3 Modelo relacional Bases de Datos I Objetivos Bibliografa Introduccin Estructura Relaciones Resumen Doce reglas de Codd Lenguajes de consultas

Representa a una BD como un conjunto de tablas o relaciones. Una BD relacional se divide en tres partes y cada una de ellas tiene sus propios trminos especiales:
Estructura: conjunto de relaciones que forman la BD. Integridad: conjunto de restricciones de la BD. Manipulacin: introduccin, extraccin, actualizacin y borrado de informacin contenida en la BD.

Estructura (cont.)
Tema 3 Modelo relacional Bases de Datos I Objetivos Bibliografa Introduccin Estructura Relaciones Resumen Doce reglas de Codd Lenguajes de consultas

Autores Cdigo 1 2 3 Nombre C. J. A. D. J. Apellido Date De Miguel Ullman

Estructura (cont.)
Tema 3 Modelo relacional Bases de Datos I Objetivos Bibliografa Introduccin Estructura Relaciones Resumen Doce reglas de Codd Lenguajes de consultas

Trminos en BD Trmino Relacin Tupla Cardinalidad Atributo Grado Clave primaria Dominio Equivalencia Tabla Fila o registro Nmero de las Columna o campo Nmero de columnas Identicador nico Conjunto de valores

Atributos
Tema 3 Modelo relacional Bases de Datos I Objetivos Bibliografa Introduccin Estructura Relaciones Resumen Doce reglas de Codd Lenguajes de consultas

Los atributos de una relacin se corresponden con los nombres de las columnas de dicha relacin. Toda relacin est formada por un conjunto de atributos que describen los signicados de las entradas de datos en las columnas. Por ejemplo, en la relacin Autores, la columna con el atributo Cdigo contiene todos los nmeros de cdigos de los autores cuyos datos estn en dicha relacin. Los nombres de los atributos deben ser nicos nombre_tabla.nombre_atributo

Esquemas
Tema 3 Modelo relacional Bases de Datos I Objetivos Bibliografa Introduccin Estructura Relaciones Resumen Doce reglas de Codd Lenguajes de consultas

El esquema de una relacin est formado por el nombre y el conjunto de atributos. Se utiliza la siguiente nomenclatura: nombre de la relacin seguida, entre parntesis, de los atributos que la forman. El esquema de la relacin Autores: Autores (Cdigo, Nombre, Apellido) Los atributos de un esquema de relacin son a su vez un conjunto (relacin) y no una lista, luego no hay un orden especco de aparicin de esos atributos. El diseo de una BD relacional consiste en un conjunto de esquemas de relaciones, llamado esquema de la BD relacional o esquema de la BD.

Tuplas e instancias
Tema 3 Modelo relacional Bases de Datos I Objetivos Bibliografa Introduccin Estructura Relaciones Resumen Doce reglas de Codd Lenguajes de consultas

Las tuplas son los registros de una relacin y suelen tener un valor para cada uno de los atributos de la relacin. Las tuplas representan objetos y sus relaciones, clases. Todas las tuplas de una misma relacin son diferentes, por tanto el valor del identicador nico ha de ser distinto para cada una de ellas. El conjunto de todas las tuplas de una relacin en cada instante se denomina instancia.

Dominios
Tema 3 Modelo relacional Bases de Datos I Objetivos Bibliografa Introduccin Estructura Relaciones Resumen Doce reglas de Codd Lenguajes de consultas

Cada componente de cada tupla debe ser atmico y de algn tipo elemental de datos. Estos valores representan la menor unidad semntica de informacin. Un dominio es un conjunto de valores todos del mismo tipo y es de donde se extraen los valores reales para los atributos. Los atributos estn denidos sobre un nico dominio.

Dominios (cont.)
Tema 3 Modelo relacional Bases de Datos I Objetivos Bibliografa Introduccin Estructura Relaciones Resumen Doce reglas de Codd Lenguajes de consultas

Por ejemplo, los nmeros de los cdigos de los autores solamente pueden tomar los valores permitidos para el conjunto de cdigos. Los dominios restringen las comparaciones, las operaciones y las expresiones que pueden realizarse con los atributos. SELECT * FROM Autores WHERE cdigo=1; SELECT * FROM Autores WHERE cdigo=apellido;

Dominios (cont.)
Tema 3 Modelo relacional Bases de Datos I Objetivos Bibliografa Introduccin Estructura Relaciones Resumen Doce reglas de Codd Lenguajes de consultas

Los dominios pueden estar almacenados o no en la BD de manera explicita como conjunto de valores reales. Obligatoriamente, deben estar especicados en la denicin de la BD y cada atributo debe hacer referencia a su dominio. Algunos Sistemas de BD son capaces de no permitir las operaciones que violen las deniciones de los atributos implicados, pero no todos lo hacen, luego el usuario debe de tener en cuenta estas restricciones a la hora de manipular los datos de la BD.

Relaciones
Tema 3 Modelo relacional Bases de Datos I Objetivos Bibliografa Introduccin Estructura Relaciones Resumen Doce reglas de Codd Lenguajes de consultas

Desde el punto de vista matemtico, una relacin es un subconjunto del producto cartesiano de un listado de dominios, no necesariamente todos distintos. n Di i=1 Toda relacin tiene un nombre, un esquema y una instancia. El esquema est formado por un conjunto jo de atributos que se representan por la pareja atributo-dominio. {(A1 : D1 ), (A2 : D2 ), . . . , (An : Dn )} donde n es el grado o nmero de atributos de la relacin.

Relaciones (cont.)
Tema 3 Modelo relacional Bases de Datos I Objetivos Bibliografa Introduccin Estructura Relaciones Resumen Doce reglas de Codd Lenguajes de consultas

La instancia es el conjunto de tuplas en un momento dado. Cada tupla est compuesta por un conjunto de parejas atributo-valor. {(A1 : vi1 ), (A2 : vi2 ), . . . , (An : vin )} (i = 1, 2, . . . , m) donde m es la cardinalidad o nmero de tuplas de la relacin en un instante dado. Es normal omitir el nombre del atributo en contextos informales o cuando el usuario lo conozca. (3, D. J., Ullman)

Propiedades
Tema 3 Modelo relacional Bases de Datos I Objetivos Bibliografa Introduccin Estructura Relaciones Resumen Doce reglas de Codd Lenguajes de consultas

Estas propiedades son consecuencia de la propia denicin de relacin: No existen tuplas repetidas: todos los objetos de un clase son diferentes. Las tuplas no estn ordenadas: la instancia de una relacin es un conjunto y los elementos de un conjunto no tienen orden. Los atributos no estn ordenados: el esquema de una relacin es un conjunto, luego no tiene orden. Todos los valores de los atributos son atmicos: toda relacin est normalizada, sus atributos no pueden ser relaciones.

Tipos de relaciones
Tema 3 Modelo relacional Bases de Datos I Objetivos Bibliografa Introduccin Estructura Relaciones Resumen Doce reglas de Codd Lenguajes de consultas

Estos tipos de relaciones son los ms usuales, aunque no todos los SGBD los manejan: Relaciones base: es una relacin autnoma. Se crea explcitamente (nombre y conjunto de atributo/dominio). Tanto el esquema como la instancia se almacenada en la BD. Vistas: son relaciones virtuales con nombre pero sin datos (nombre asociado a una consulta). Corresponde al nivel externo de la arquitectura ANSI. Instantneas: es una relacin derivada con nombre (snapshot). Se ejecuta una consulta y el resultado se almacena en la BD aunque se va refrescando constantemente por el propio sistema.

Tipos de relaciones (cont.)


Tema 3 Modelo relacional Bases de Datos I Objetivos Bibliografa Introduccin Estructura Relaciones Resumen Doce reglas de Codd Lenguajes de consultas

Resultados de consultas: pueden tener o no nombre pues es una relacin resultante de una consulta y no tiene existencia en la BD. Resultados intermedios: es una relacin, normalmente sin nombre, resultado de alguna expresin relacional anidada dentro de una expresin relacional. Relaciones temporales: es una relacin con nombre pero que se destruye de forma automtica en cualquier momento.

Resumen
Tema 3 Modelo relacional Bases de Datos I Objetivos Bibliografa Introduccin Estructura Relaciones Resumen Doce reglas de Codd Lenguajes de consultas

Cada relacin tiene un nombre que la identica y un esquema formado por una o ms columnas. Cada relacin tiene cero o ms tuplas conteniendo un nico valor en cada columna. Todos los valores de una columna determinada tienen el mismo tipo de datos, extrados del dominio de la columna. Las tablas se relacionan entre si por los datos que las contienen. Este modelo utiliza:
Clave primaria Clave fornea Combinacin de claves primaria/fornea, creando una relacin padre/hijo.

Doce reglas de Codd


Tema 3 Modelo relacional Bases de Datos I Objetivos Bibliografa Introduccin Estructura Relaciones Resumen Doce reglas de Codd Lenguajes de consultas 4 3 2

Representacin de la informacin: toda informacin debe representarse en forma de tabla, principio bsico del modelo relacional. Acceso garantizado: todo dato debe ser accesible mediante una combinacin de un nombre de tabla, un valor de su clave y el nombre de una columna. Tratamiento sistemtico de valores nulos: estos valores han de ser tratados sistemticamente por el sistema, el cual ha de ofrecer las posibilidades necesarias para su tratamiento. Catlogo en lnea basado en el modelo relacional: la representacin de la descripcin de la BD debe ser igual a la de los otros datos, y su acceso debe poder realizarse por medio del mismo lenguaje relacional. El MD para la metabase debe ser tambin relacional.

Doce reglas de Codd (cont.)


Tema 3 Modelo relacional Bases de Datos I Objetivos Bibliografa Introduccin Estructura Relaciones Resumen Doce reglas de Codd Lenguajes de consultas 8 7 6 5

Sublenguaje de datos completo: debe existir un lenguaje que permita un completo manejo de la BD (denicin y manipulacin de datos, denicin de vistas, restricciones de integridad, autorizaciones y gestin de transacciones). Actualizacin de vista: toda vista tericamente autorizable debe poder ser actualizada por el sistema. Insercin, actualizacin y eliminacin de alto nivel: todas las operaciones de manipulacin de datos deben operar sobre conjuntos de las. Independencia fsica de los datos: el acceso lgico a los datos debe mantenerse incluso cuando cambien los mtodos de acceso o la forma de almacenamiento.

Doce reglas de Codd (cont.)


Tema 3 Modelo relacional Bases de Datos I Objetivos 10 Bibliografa Introduccin Estructura Relaciones Resumen Doce reglas de Codd Lenguajes de consultas 11

Independencia lgica de los datos: los programas de aplicacin no deben verse afectados por cambios realizados en el esquema de la BD. Independencia de integridad: las reglas de integridad de una BD deben ser denibles por medio del sublenguaje de datos relacional y habrn de almacenarse en el DD de la BD, no en los programas de aplicacin. Independencia de distribucin: debe existir un sublenguaje de datos que pueda soportar BD distribuidas sin alterar los programas de aplicacin cuando se distribuyan los datos. Regla de la no subversin: si un SGBD soporta un lenguaje de bajo nivel que permita el acceso la a la, ste no puede utilizarse para saltarse las reglas de integridad expresadas por medio del lenguaje de ms alto nivel.

12

Lenguajes de consultas
Tema 3 Modelo relacional Bases de Datos I Objetivos Bibliografa Introduccin Estructura Relaciones Resumen Doce reglas de Codd Lenguajes de consultas

Sirven para que el usuario manipule la informacin de la BD. Se clasican en:


Procedimentales: el usuario indica las operaciones y la secuencia en que se deben realizar. lgebra relacional. No procedimentales: el usuario indica lo que quiere obtener sin especicar cmo obtenerlo. Clculo relacional.

Los lenguajes de consultas pasaron a denominarse de manipulacin (DML), ya que tambin permiten insertar, eliminar y modicar la informacin.

Lenguajes de consultas (cont.)


Tema 3 Modelo relacional Bases de Datos I Objetivos Bibliografa Introduccin Estructura Relaciones Resumen Doce reglas de Codd Lenguajes de consultas

Los SGBD disponen de: DML: Lenguaje de manipulacin de datos: manipulacin de la informacin (instancias) de la BD. DDL: Lenguaje de denicin de datos: creacin de los esquemas de las relaciones. DCL: Lenguaje de control de datos: control de la seguridad de los datos, seguridad de las estructuras de esos datos, control de acceso por parte de los usuarios, informacin y auditora del sistema, etc. Lenguajes huspedes: lenguaje de alto nivel que soporta instrucciones de un lenguaje de manipulacin de datos, como por ejemplo SQL, y que interacciona con la BD.

Potrebbero piacerti anche