Modelo Relacional

download Modelo Relacional

of 22

Transcript of Modelo Relacional

  • MODELO RELACIONALModelo de datos relacional: Teora formal que constituye los cimientos de los sistemas relacionales

    Aspectos de los datos de los que se ocupa el modelo relacional:Estructura

    Integridad

    ManipulacinIntroduccinPresentacin realizada por Ariadna Fuertes. Departamento de Informtica. Universidad de Valencia

  • La estructura relacionalBase del modelo relacionalConcepto de RELACINRepresentacinTrminos importantes en la estructura de datos relacional: Relacin Corresponde con la idea general de tabla Tupla Corresponde con una fila Atributo Corresponde con una columna Cardinalidad Nmero de tuplas (m) Grado Nmero de atributos (n) Clave primaria Identificador nico (no hay dos tuplas con igual identificador) Dominio Coleccin de valores de los cuales el atributo obtiene su valorPresentacin realizada por Ariadna Fuertes. Departamento de Informtica. Universidad de Valencia

    Atributo 1Atributo 2...Atributo nxxxxxx...xxxxxxxxx...xxx............xxxxxx...xxx

  • Ejemplo de relacinPersonaClave primaria DNIDominios:nombre, apellidos, direccin textoDNI enterotelfono entero de 9 dgitosNacimiento fechaPresentacin realizada por Ariadna Fuertes. Departamento de Informtica. Universidad de Valencia

    DNINombreApellidosDireccinTelfonoNacimiento14.167.654AlbertoGmez MartnezPedrones, 496378787823/02/195864.237.935LuisaRipoll AlbertDenia, 6496357389512/06/196345.126.579Jos LuisPrez CerdnEscandinavia, 1296387333312/06/196367.677.887AndreaMartnez ZannPoeta Ms Gil, 3796377256410/02/1965

  • Comparacin de terminologaEn las relaciones:No se admiten filas duplicadasLas filas y columnas no estn ordenadasEl cruce entre una fila y una columna solo puede ser un nico valor Relacin TablaPresentacin realizada por Ariadna Fuertes. Departamento de Informtica. Universidad de Valencia

    RELACIN

    GRADO

    CARDINALIDAD

    ATRIBUTO

    TUPLA

    REGISTRO

    CAMPO

    N DE CAMPOS

    N DE REGISTROS

    FICHERO

    FILA

    COLUMNA

    N DE COLUMNAS

    N DE FILAS

    TABLA

  • Valores escalares Son la menor unidad semntica de informacin (el valor de un dato individual). Dominio Conjunto de valores escalares, todos ellos del mismo tipo.

    Los atributos estn definidos sobre un nico dominio y toman sus valores reales del dominio Si los atributos podan ser simples o compuestos, entonces tenemos:Dominios simplesDominio de valores escalaresDominios compuestosCombinacin de dominio simplesEj: La fecha (entero/entero/entero)DominiosPresentacin realizada por Ariadna Fuertes. Departamento de Informtica. Universidad de Valencia

  • Una Relacin sobre un conjunto de dominios se compone de dos partes, la cabecera y el cuerpo. La cabecera est formada por un conjunto fijo de pares atributo-dominio (viene a ser la fila de cabeceras de columnas).El nmero de tuplas que hay en el cuerpo puede variar con el tiempo y nos indica la cardinalidad de la relacin.El nmero de atributos que tenemos en la cabecera, el cual no cambia, nos indica el grado. El cuerpo est formado por el conjunto de tuplas (sera el conjunto de filas de datos) que a su vez estn formadas por los pares atributo-valor, uno para cada atributo de la cabecera. Consideraciones:RelacionesPresentacin realizada por Ariadna Fuertes. Departamento de Informtica. Universidad de Valencia

    DNINombreApellidosDireccinTelfonoNacimiento

    DNINombreApellidosDireccinTelfonoNacimiento14.167.654AlbertoGmez MartnezPedrones, 496378787823/02/195864.237.935LuisaRipoll AlbertDenia, 6496357389512/06/196345.126.579Jos LuisPrez CerdnEscandinavia, 1296387333312/06/196367.677.887AndreaMartnez ZannPoeta Ms Gil, 3796377256410/02/1965

  • No existen tuplas repetidas. La existencia de una clave primaria impide que existan tuplas repetidas. Las tuplas no estn ordenadas. Una relacin est definida como un conjunto, y en un conjunto no se establece una relacin de orden .Los atributos no estn ordenados. Puesto que la cabecera de una relacin tambin se define como un conjunto, no existe un orden preestablecido.Todos los valores de los atributos son atmicos. Otra forma de expresar esta propiedad es diciendo que todos los valores de los atributos simples son atmicos, slo toman un valor en cada caso. Las propiedades de las relaciones derivadas de la definicin:

    Presentacin realizada por Ariadna Fuertes. Departamento de Informtica. Universidad de Valencia

  • Tipos de relaciones:Vistas (o relaciones virtuales). Es una relacin derivada, con nombre.Resultados de consultas. Es una relacin final resultante de alguna consulta especificada. Puede o no tener nombre. No tienen persistencia en la BD.Resultados intermedios. Son relaciones resultantes de alguna expresin relacional anidada dentro de alguna otra expresin relacional mayor.Relaciones temporales. Es una relacin con nombre, pero que se destruye de forma automtica en el momento apropiado.Presentacin realizada por Ariadna Fuertes. Departamento de Informtica. Universidad de Valencia

  • No es exclusivo del modelo relacional, pero en este contexto es dnde se ha abordado su estudio de manera ms sistemtica y donde se estn realizando ms investigaciones a fin de formalizar su tratamiento.Por ejemplo:Qu es el valor nulo?Por qu es necesario el valor nulo?Definicin: Es como una seal utilizada para representar informacin desconocida, inaplicable, inexistente, no vlida, no proporcionada, indefinida, etc. Motivos de necesidad en las B.D.:Crear tuplas con ciertos atributos desconocidos en ese momento. P.ej. Nueva persona sin telfonoAadir un nuevo atributo a una relacin existente (al aadirse, no tiene ningn valor para las tuplas de la relacin). P.ej. Aadir ProfesinAtributos inaplicables a ciertas tuplas. P.ej. la profesin para un menorEl tratamiento de valores nulos exige definir unas operaciones especficas para el caso de que alguno de los operandos tome valores nulos, y a introducir operadores especiales. Cmo se trabaja con el valor nulo?Concepto de valor nuloPresentacin realizada por Ariadna Fuertes. Departamento de Informtica. Universidad de Valencia

  • P.ej.: Operacin de comparacin

    PreguntaEs el telfono de Alberto igual al de Luisa?RespuestaNo podemos decir que es cierto que sean iguales puesto que estaramos afirmando que no son valores tan desconocidos...Pero tampoco podemos decir que es falso que sean iguales...La nica solucin que nos queda es decir que quiz sean iguales.Introduciremos operadores especiales que respondan a la pregunta:Es un valor desconocido?personaPresentacin realizada por Ariadna Fuertes. Departamento de Informtica. Universidad de Valencia

    DNINombreApellidosDireccinTelfonoNacimiento14.167.654AlbertoGmez MartnezPedrones, 423/02/195864.237.935LuisaRipoll AlbertDenia, 6412/06/196345.126.579Jos LuisPrez CerdnEscandinavia, 1296387333312/06/196367.677.887AndreaMartnez ZannPoeta Ms Gil, 3796377256410/02/1965

  • Limitaciones en la representacin de los datos Debidas a imposiciones del mundo realP.ej: Un nio de 2 aos no puede ser viudo Debidas al modelo de datosP.ej: El modelo relacional no permite dos tuplas iguales en la misma relacin Definicin de RestriccionesSon las limitaciones impuestas por: el modelo de datos o por la situacin que se modelaRestricciones inherentesRestricciones de integridad o semnticas- Propias del modelo Varan de un modelo a otro Restricciones inherentes Restricciones de integridad Facilidades ofrecidas al diseador para poder representar lo ms fielmente posible la semntica de los datos en el esquema Suelen ser especficas de la B.D. sobre la que se aplican Pero el modelo relacional incluye 2 reglas de integridad generales relacionadas con las claves primarias y ajenasReglas de integridad relacionalPresentacin realizada por Ariadna Fuertes. Departamento de Informtica. Universidad de Valencia

  • Claves primariasSuperclave: conjunto de atributos que identifican de modo nico las tuplas de una relacinClave candidata: menor subconjunto de atributos de una superclave que sigue siendo un identificador nicoClave primaria: clave elegida entre las candidatas para identificar las tuplasClaves alternativas: el resto de claves candidatas

    Definiciones:Unicidad: no existen dos tuplas con igual valor de clave candidataMinimalidad: no se puede eliminar ningn atributo de la clave candidata sin destruir la unicidadPropiedades de las claves candidatas:Presentacin realizada por Ariadna Fuertes. Departamento de Informtica. Universidad de Valencia

  • Regla de integridad de las entidadesNingn componente de la clave primaria de una relacin puede aceptar nulos (las claves primarias compuestas deben ser no nulas en su totalidad)Justificacin:1. - En la realidad las entidades se identifican de modo nico tambin en el modelo relacional2. - La identificacin se realiza por las claves primarias3.- Si una clave primaria tiene un nulo, no se puede aplicar la definicin de clave primaria sobre la entidad4.- Por tanto, la entidad no se puede identificar, y esto contradice la definicinEn una base de datos relacional no se puede almacenar informacin sobre algo que no se puede identificarPresentacin realizada por Ariadna Fuertes. Departamento de Informtica. Universidad de Valencia

  • Claves ajenasSean dos relaciones R1 y R2 (no teniendo porqu ser distintas)Clave ajena: es un atributo (o conjunto de atributos) de la relacin R2 cuyos valores son:o completamente nuloso coinciden con la clave primaria de la relacin R1Definicin:Es el problema de garantizar que la base de datos no incluya valores no vlidos para una clave ajenaProblema de la integridad referencial:Es la restriccin por la cul, los valores de una clave ajena determinada, deben concordar con los valores de la clave primaria correspondienteRestriccin referencial:Relacin que contiene a la clave ajenaRelacin referencial:Relacin que contiene a la clave primariaRelacin referida u objetivo:Presentacin realizada por Ariadna Fuertes. Departamento de Informtica. Universidad de Valencia

  • Comentarios:La clave ajena y la clave primaria correspondiente deben definirse sobre el mismo dominioLa clave ajena no tiene porqu formar parte de la clave primaria de la relacin que la contieneUna relacin referida puede ser tambin referencial con respecto a otro conjunto de atributosEn el caso de que una relacin sea referida y referencial a la vez podemos hablar de relacin autoreferencialLas claves ajenas pueden admitir nulos, las claves primarias no.Ejemplo:empleadopuestoRelacin referida u objetivoRelacin referencialPresentacin realizada por Ariadna Fuertes. Departamento de Informtica. Universidad de Valencia

    DNINombreApellidosDireccinTelfonoNacimiento14.167.654AlbertoGmez MartnezPedrones, 496333445523/02/195864.237.935LuisaRipoll AlbertDenia, 6496345678912/06/1963

    Id_cajadescripcinDNI1Caja nmero 1 de la salida 114.167.6542Caja nmero 2 de la salida 164.237.9353Caja nmero 1 de la salida 2

  • Regla de integridad referencialLa base de datos no debe contener valores de clave ajena sin concordancia (cualquier valor no nulo de la clave ajena debe tener asociado un valor en la clave primaria de la relacin objetivo)Manejo de la integridad referencial por el SGBD:Impedir que se introduzca informacin que no garantice la integridad referencialPermitir la introduccin y realizar las acciones necesarias para garantizarla (depende completamente del diseo)Ejemplo: Borrar un valor que es clave primaria en una relacin y ajena en otraImpedir que se pueda borrarBorrar todas las entradas en la relacin referencial cuyo valor de la clave ajena sea el de la clave primaria en cuestin.Operacin en cascadaPresentacin realizada por Ariadna Fuertes. Departamento de Informtica. Universidad de Valencia

  • Codd propuso dos alternativas para establecer la base formal en lo referente a la manipulacin de la informacin por parte del modelo relacional: lgebra relacionalClculo relacionalDiferencias:El lgebra relacional: ofrece un conjunto de operadores que permiten construir una relacin que contiene la informacin que se busca en la B.D.La formulacin es prescriptiva (proporciona un procedimiento para resolver el problema)El clculo relacional: solo define la notacin que permite describir las propiedades que deben cumplir las tuplas de la relacin resultanteLa formulacin es descriptiva (solo plantea el problema)

    Codd demostr que ambos formalismos son equivalentes para cada expresin del lgebra existe su expresin en el clculo y viceversaManipulacinPresentacin realizada por Ariadna Fuertes. Departamento de Informtica. Universidad de Valencia

  • TRANSFORMACIN DE LOS DIAGRAMAS E/R EN RELACIONALESReglas generales:Toda entidad se convierte en relacin

    Las relaciones M:N originan la creacin de una nueva relacin

    Toda relacin 1:N se traduce en una propagacin de la clave (o se crea una nueva relacin)Presentacin realizada por Ariadna Fuertes. Departamento de Informtica. Universidad de Valencia

  • Aplicacin de las reglas generalesTransformacin de las relacionesRelaciones M:N Nueva relacin (incluye los atributos de la relacin, si hay, y las claves primarias de las entidades)Relaciones 1:N Dos modos de transformar:Propagar la clave de la entidad con cardinalidad 1 a la de NCrear una nueva relacin. Recomendable cuando:1) Pueden aparecer muchos nulos (cardinalidad mnima de la entidad 1 es cero)2) Se prev que la relacin pase a ser M:N en el futuro3) Si la relacin tiene atributos propiosRelaciones 1:1 Caso particular de las anteriores.Transformacin de las entidadesCada tipo de entidad se debe convertir en una relacin baseTransformacin de los atributos de las entidadesCada atributo de una entidad se debe transformar en una columna en la relacin baseLos atributos principales de la entidad pasan a ser la clave primaria de la relacinEl resto de atributos son columnas de la relacin y pueden tomar valores nulosPresentacin realizada por Ariadna Fuertes. Departamento de Informtica. Universidad de Valencia

    Relacin 1Relacin 2Accin(0 , 1)(0 , 1)Crear nueva relacin(0 , 1)(1 , 1)Propagar clave de R2 a R1(1 , 1)(1 , 1)Propagacin indiferente

  • Transformacin de atributos compuestosEl modelo relacional no los contempla. Alternativas:- Consideramos el atributo compuesto como simple- Considerar cada uno de los componentes como simpleTransformacin de atributos de relacionesSe convierten en columnas de la relacinSi alguno de los atributos es principal formar parte de la clave primariaTransformacin de las relaciones exclusivasSe debern definir las restricciones pertinentes (CHECK)Transformacin de Entidades/Relaciones dbilesUna entidad dbil iba asociada a relaciones 1:N propagar la clave de la entidad fuerte a la dbil formando parte de la clave primaria de la dbilTransformacin de la generalizacin- Englobar los atributos de la entidad y los subtipos en una sola relacin (con el atributo de distincin de subtipos)- O crear una relacin para el supertipo y tantas relaciones como subtipos existan.- Crear solo relaciones para los subtipos aadiendo los atributos del supertipoTransformacin de la agregacinSe transforma primero el nivel ms alto y despus se trata la relacin resultante como si fuera una nueva entidad a relacionar con el nivel ms bajoPresentacin realizada por Ariadna Fuertes. Departamento de Informtica. Universidad de Valencia

  • Ejemplo resueltoPresentacin realizada por Ariadna Fuertes. Departamento de Informtica. Universidad de Valencia

    Ejemplar

    Autor

    Libro

    Socio

    Tema

    Tiene

    Escribe

    Escrito en

    Trata

    Presta

    (1,M)

    Idioma

    (0,N)

    (1,1)

    (1,M)

    (1,M)

    (1,N)

    (1,M)

    (0,N)

    (0,M)

    (1,N)

    Nombre

    Cod_idi

    Descrip

    Cod_tem

    Descrip

    Cod_aut

    Cod_lib

    Titulo

    Ao

    Cod_eje

    DNI

    Tf

    Nombre

    Fech_pre

    Fech_dev

    Codigo_autor

    Nombre

    AUTOR

    Codigo_libro

    Titulo

    Ao

    LIBRO

    Codigo_libro

    Codigo_ejemplar

    EJEMPLAR

    Codigo_idioma

    Descripcin

    IDIOMA

    Codigo_tema

    Descripcin

    TEMA

    DNI

    Nombre

    Telefono

    SOCIO

    Codigo_libro

    Codigo_ejemplar

    DNI

    Fecha_prest

    Fecha_dev

    PRESTA

    Codigo_autor

    Codigo_libro

    ESCRIBE

    Codigo_libro

    Codigo_tema

    TRATA

    Codigo_libro

    Codigo_idioma

    ESCRITO_EN

  • Ejercicio propuestoTenemos una empresa que dispone de varias tiendas distribuidas por diferentes ciudades espaolas y que se abastece de unos almacenes que tambin estn ubicados en diferentes ciudades. Necesitamos conocer la existencia de productos tanto en tiendas como en almacenes. En la B.D. deber haber informacin sobre las caractersticas de estos productos tales como, el peso, las dimensiones, descripcin y su precio por unidad. Adems, debemos guardar informacin sobre los pedidos de las tiendas a los almacenes. Se pide crear una base de datos mediante el modelo E-R y pasar el diseo a modelo relacional.

    Presentacin realizada por Ariadna Fuertes. Departamento de Informtica. Universidad de Valencia

    Antes de pasar a explicar de manera formal cada uno de estos trminos de la estructura relacional, hay que comentar que...UNA RELA CIN ES ALGO DIFERENTE A UNA TABLA.....

    Pasemos ahora a describir formalmente los elementos de la estructura relacional

    El siguiente aspecto de que se ocupaba el modelo relacional era de la integridad de los datosLos elementos no permitidos o restricciones son debidos a que no todos los valores, cambios de valor o estructuras estn permitidos en el mundo real. Por ejemplo, un nio de dos aos no puede estar viudo, etc. Adems, cada modelo de datos tambin impone por s mismo limitaciones a las estructuras que admite; as, el modelo relacional no permite que dos filas de la misma tabla sean iguales.Estas limitaciones, que unas veces las impone el modelo de datos y otras vienen impuestas por la situacin real que estamos modelando se denominan restricciones. Las restricciones impuestas por el modelo son restricciones inherentes, y las que responden a que el sistema de informacin es un reflejo del mundo real son restricciones de integridad o semnticas. Las restricciones inherentes son propias del modelo y, por tanto, varan de un modelo a otro. Por el contrario, las restricciones de integridad son facilidades que se ofrecen al diseador a fin de que pueda representar en el esquema, lo ms fielmente posible, la semntica de los datos.En general, todas las reglas de integridad se aplican a las relaciones base.La mayor parte de las reglas de integridad son especficas, en cuanto que se aplican a una base de datos especfica. Sin embargo, el modelo relacional incluye dos reglas generales de integridad, puesto que se aplican a cualquier base de datos, y se refieren a las claves primarias y claves ajenas. Veamos cuales son:

    La ltima parte del modelo hace referencia a la manipulacin de la informacin

    Si definimos los lenguajes procedimentales como aquellos en el que el usuario da instrucciones al sistema para que realice una secuencia de operaciones de manera que se obtenga el resultado deseado, y los no procedimentales como los que el usuario describe la informacin que desea obtener sin especificar cmo llegar a obtenerla, entonces, el lgebra relacional se puede decir que es procedimental mientras que el clculo es no procedimental.Esta equivalencia fue demostrada por Codd en su Algoritmo de Reduccin.

    Dado que ambos formulismos son equivalentes, y debido a la brevedad de este curso, veremos tan solo el lgebra relacional.

    El objetivo del diseo lgico es convertir un esquema conceptual en un esquema lgico que se ajuste al sistema de gestin de base de datos a utilizar, definiendo unas claves primarias y ajenas de todas las relaciones y cuyo esquema incluya las reglas de integridad necesarias.La conversin del diseo conceptual, en forma de esquema E-R, al diseo lgico de modelo relacional se basaba principalmente en los tres principios siguientes:

    Transformacin de tipos y subtipos (Generalizacin)Los tipos y subtipos no son objetos que se puedan representar en el modelo relacional estndar. Existen pues, varias posibilidades para su transformacin: Englobar todos los atributos de una entidad y sus subtipos en una sola relacin, aadiendo el atributo que permite distinguir los subtipos. Tambin habr que especificar las restricciones semnticas adecuadas. Crear una relacin para el supertipo, y tantas relaciones como subtipos existan. Esta es la mejor opcin desde el punto de vista semntico, pero es menos eficiente que la opcin anterior. Crear slo relaciones para los subtipos, aadiendo en cada una de ellas los atributos pertenecientes al supertipo.(Usaremos esta opcin).