Modelo relacional

599 views

Published on

BD

Published in: Education
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
599
On SlideShare
0
From Embeds
0
Number of Embeds
4
Actions
Shares
0
Downloads
0
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide
  • Antes de pasar a explicar de manera formal cada uno de estos términos de la estructura relacional, hay que comentar que...
  • UNA RELA CIÓN 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 datos Los elementos no permitidos o restricciones son debidos a que no todos los valores, cambios de valor o estructuras están permitidos en el mundo real. Por ejemplo, un niño de dos años no puede estar viudo, etc. Además, cada modelo de datos también 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 situación 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 información es un reflejo del mundo real son restricciones de integridad o semánticas . Las restricciones inherentes son propias del modelo y, por tanto, varían de un modelo a otro. Por el contrario, las restricciones de integridad son facilidades que se ofrecen al diseñador a fin de que pueda representar en el esquema, lo más fielmente posible, la semántica 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 específicas, en cuanto que se aplican a una base de datos específica. 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 manipulación de la información 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 información que desea obtener sin especificar cómo llegar a obtenerla, entonces, el álgebra relacional se puede decir que es procedimental mientras que el cálculo es no procedimental. Esta equivalencia fue demostrada por Codd en su Algoritmo de Reducción. Dado que ambos formulismos son equivalentes, y debido a la brevedad de este curso, veremos tan solo el álgebra relacional.
  • El objetivo del diseño lógico es convertir un esquema conceptual en un esquema lógico que se ajuste al sistema de gestión 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 conversión del diseño conceptual, en forma de esquema E-R, al diseño lógico de modelo relacional se basaba principalmente en los tres principios siguientes:
  • Transformación de tipos y subtipos (Generalización) Los tipos y subtipos no son objetos que se puedan representar en el modelo relacional estándar. Existen pues, varias posibilidades para su transformación:           Englobar todos los atributos de una entidad y sus subtipos en una sola relación, añadiendo el atributo que permite distinguir los subtipos. También habrá que especificar las restricciones semánticas adecuadas.           Crear una relación para el supertipo, y tantas relaciones como subtipos existan. Esta es la mejor opción desde el punto de vista semántico, pero es menos eficiente que la opción anterior.           Crear sólo relaciones para los subtipos, añadiendo en cada una de ellas los atributos pertenecientes al supertipo.(Usaremos esta opción).
  • Modelo relacional

    1. 1. • Modelo de datos relacional:Teoría formal que constituye loscimientos de los sistemas relacionales• Aspectos de los datos de los que seocupa el modelo relacional:– Estructura– Integridad– ManipulaciónIntroducciónMODELO RELACIONALPresentación realizada por Ariadna Fuertes. Departamento de Informática. Universidad de Valencia
    2. 2. • Base del modelo relacionalConcepto de RELACIÓN• RepresentaciónAtributo 1 Atributo 2 ... Atributo nxxx xxx ... xxxxxx xxx ... xxx... ... ... ...xxx xxx ... xxxNOMBRETupla 1Tupla 2...Tupla mColumnas → Representan las propiedades delas tablasFilas → Contienen los valores que toma cadaatributo para cada relaciónTérminos importantes en la estructura de datos relacional:• Relación → Corresponde con la idea general de tabla• Tupla → Corresponde con una fila• Atributo → Corresponde con una columna• Cardinalidad → Número de tuplas (m)• Grado → Número de atributos (n)• Clave primaria → Identificador único (no hay dos tuplascon igual identificador)• Dominio → Colección de valores de los cuales el atributoobtiene su valorLa estructura relacionalPresentación realizada por Ariadna Fuertes. Departamento de Informática. Universidad de Valencia
    3. 3. PersonaDNI Nombre Apellidos Dirección Teléfono Nacimiento14.167.654 Alberto GómezMartínezPedrones, 4 963787878 23/02/195864.237.935 Luisa Ripoll Albert Denia, 64 963573895 12/06/196345.126.579 JoséLuisPérez Cerdán Escandinavia,12963873333 12/06/196367.677.887 Andrea MartínezZanónPoeta MásGil, 37963772564 10/02/1965TuplaAtributos12341 2 3 4 5 6Clave primaria → DNIDominios:nombre, apellidos, dirección → textoDNI → enteroteléfono → entero de 9 dígitosNacimiento → fechaCardinalidad 44Grado 66• Ejemplo de relaciónPresentación realizada por Ariadna Fuertes. Departamento de Informática. Universidad de Valencia
    4. 4. • Comparación de terminologíaRELACIÓNCARDINALIDADGRADOATRIBUTOTUPLATABLANº DE FILASNº DE COLUMNASCOLUMNAFILAFICHERONº DE REGISTROSNº DE CAMPOSCAMPOREGISTROEn las relaciones:No se admiten filas duplicadasLas filas y columnas no están ordenadasEl cruce entre una fila y una columnasolo puede ser un único valor• Relación ≠ TablaPresentación realizada por Ariadna Fuertes. Departamento de Informática. Universidad de Valencia
    5. 5. • Valores escalaresSon la menor unidad semántica deinformación (el valor de un datoindividual).• DominioConjunto de valores escalares, todos ellosdel mismo tipo.Los atributos están definidos sobre un únicodominio y toman sus valores reales deldominio → Si los atributos podían sersimples o compuestos, entonces tenemos:• Dominios simplesDominio de valores escalares• Dominios compuestosCombinación de dominio simplesEj: La fecha (entero/entero/entero)DominiosPresentación realizada por Ariadna Fuertes. Departamento de Informática. Universidad de Valencia
    6. 6. • Una Relación sobre un conjunto de dominiosse compone de dos partes, la cabecera y elcuerpo.• La cabecera está formada por un conjuntofijo de pares atributo-dominio (viene a ser lafila de cabeceras de columnas).DNI Nombre Apellidos Dirección Teléfono Nacimientoentero 9 dígitostexto texto texto entero fechaDNI Nombre Apellidos Dirección Teléfono Nacimiento14.167.654 Alberto GómezMartínezPedrones, 4 963787878 23/02/195864.237.935 Luisa Ripoll Albert Denia, 64 963573895 12/06/196345.126.579 JoséLuisPérez Cerdán Escandinavia,12963873333 12/06/196367.677.887 Andrea MartínezZanónPoeta MásGil, 37963772564 10/02/1965Valor 14.167.654 para elatributo DNI El número de tuplas que hay en el cuerpopuede variar con el tiempo y nos indica lacardinalidad de la relación. El número de atributos que tenemos en lacabecera, el cual no cambia, nos indica elgrado.• El cuerpo está formado por el conjunto detuplas (sería el conjunto de filas de datos)que a su vez están formadas por los paresatributo-valor, uno para cada atributo de lacabecera.Consideraciones:RelacionesPresentación realizada por Ariadna Fuertes. Departamento de Informática. Universidad de Valencia
    7. 7. –No existen tuplas repetidas.La existencia de una clave primariaimpide que existan tuplas repetidas.–Las tuplas no están ordenadas.Una relación está definida como unconjunto, y en un conjunto no seestablece una relación de orden .–Los atributos no están ordenados.Puesto que la cabecera de una relacióntambién se define como un conjunto, noexiste un orden preestablecido.–Todos los valores de los atributos sonatómicos.Otra forma de expresar esta propiedad esdiciendo que todos los valores de losatributos simples son atómicos, sólotoman un valor en cada caso.• Las propiedades de las relacionesderivadas de la definición:Presentación realizada por Ariadna Fuertes. Departamento de Informática. Universidad de Valencia
    8. 8. • Tipos de relaciones:- Vistas (o relaciones virtuales).Es una relación derivada, con nombre.- Resultados de consultas.Es una relación final resultante de algunaconsulta especificada. Puede o no tenernombre. No tienen persistencia en la BD.- Resultados intermedios.Son relaciones resultantes de algunaexpresión relacional anidada dentro dealguna otra expresión relacional mayor.- Relaciones temporales.Es una relación con nombre, pero que sedestruye de forma automática en elmomento apropiado.Presentación realizada por Ariadna Fuertes. Departamento de Informática. Universidad de Valencia
    9. 9. • No es exclusivo del modelo relacional, pero eneste contexto es dónde se ha abordado su estudiode manera más sistemática y donde se estánrealizando más investigaciones a fin de formalizarsu tratamiento.Por ejemplo:¿Qué es el valor nulo?¿Por qué es necesario el valor nulo?• Definición:Es como una señal utilizada para representarinformación desconocida, inaplicable, inexistente,no válida, no proporcionada, indefinida, etc.• Motivos de necesidad en las B.D.:– Crear tuplas con ciertos atributos desconocidos en esemomento. P.ej. Nueva persona sin teléfono– Añadir un nuevo atributo a una relación existente (alañadirse, no tiene ningún valor para las tuplas de larelación). P.ej. Añadir Profesión– Atributos inaplicables a ciertas tuplas.P.ej. la profesión para un menor• El tratamiento de valores nulos exige definir unasoperaciones específicas para el caso de quealguno de los operandos tome valores nulos, y aintroducir operadores especiales.¿Cómo se trabaja con el valor nulo?Concepto de valor nuloPresentación realizada por Ariadna Fuertes. Departamento de Informática. Universidad de Valencia
    10. 10. P.ej.: Operación de comparaciónPregunta¿Es el teléfono de Alberto igual al de Luisa?DNI Nombre Apellidos Dirección Teléfono Nacimiento14.167.654 Alberto GómezMartínezPedrones, 4 23/02/195864.237.935 Luisa Ripoll Albert Denia, 64 12/06/196345.126.579 JoséLuisPérez Cerdán Escandinavia,12963873333 12/06/196367.677.887 Andrea MartínezZanónPoeta MásGil, 37963772564 10/02/1965RespuestaNo podemos decir que es cierto que sean igualespuesto que estaríamos afirmando que no sonvalores “tan desconocidos”...Pero tampoco podemos decir que es falso que seaniguales...La única solución que nos queda es decir quequizá sean iguales.Introduciremos operadores especialesque respondan a la pregunta:¿Es un “valor desconocido”?personaPresentación realizada por Ariadna Fuertes. Departamento de Informática. Universidad de Valencia
    11. 11. •Limitaciones en la representación de los datos- Debidas a imposiciones del mundo realP.ej: Un niño de 2 años no puede ser viudo- Debidas al modelo de datosP.ej: El modelo relacional no permite dos tuplasiguales en la misma relación• Definición de RestriccionesSon las limitaciones impuestas por:el modelo de datosopor la situación que se modelaRestricciones inherentesRestriccionesde integridado semánticas- Propias del modelo- Varían de un modelo a otro• Restricciones inherentes• Restricciones de integridad- Facilidades ofrecidas al diseñador para poderrepresentar lo más fielmente posible la semántica de losdatos en el esquema- Suelen ser específicas de la B.D. sobre la que se aplican- Pero el modelo relacional incluye 2 reglas de integridadgenerales relacionadas con las claves primarias y ajenasReglas de integridadrelacionalPresentación realizada por Ariadna Fuertes. Departamento de Informática. Universidad de Valencia
    12. 12. Claves primarias• Superclave: conjunto de atributos que identifican demodo único las tuplas de una relación• Clave candidata: menor subconjunto de atributos deuna superclave que sigue siendo un identificador único• Clave primaria: clave elegida entre las candidataspara identificar las tuplas• Claves alternativas: el resto de claves candidatasDefiniciones:• Unicidad: no existen dos tuplas con igual valor declave candidata• Minimalidad: no se puede eliminar ningún atributode la clave candidata sin destruir la unicidadPropiedades de las claves candidatas:Presentación realizada por Ariadna Fuertes. Departamento de Informática. Universidad de Valencia
    13. 13. Regla de integridad de lasentidadesNingún componente de la clave primaria deuna relación puede aceptar nulos(las claves primarias compuestas deben ser nonulas en su totalidad)Justificación:1. - En la realidad las entidades se identificande modo único → también en el modelorelacional2. - La identificación se realiza por las clavesprimarias3.- Si una clave primaria tiene un nulo, no sepuede aplicar la definición de clave primariasobre la entidad4.- Por tanto, la entidad no se puede identificar,y esto contradice la definiciónEn una base de datos relacional no se puedealmacenar información sobre algo que no sepuede identificarPresentación realizada por Ariadna Fuertes. Departamento de Informática. Universidad de Valencia
    14. 14. Claves ajenasSean dos relaciones R1 y R2 (no teniendoporqué ser distintas)• Clave ajena: es un atributo (o conjunto de atributos)de la relación R2 cuyos valores son:– o completamente nulos– o coinciden con la clave primaria de la relación R1Definición:Es el problema de garantizar que la base de datos noincluya valores no válidos para una clave ajenaProblema de la integridad referencial:Es la restricción por la cuál, los valores de una clave ajenadeterminada, deben concordar con los valores de la claveprimaria correspondienteRestricción referencial:Relación que contiene a la clave ajenaRelación referencial:Relación que contiene a la clave primariaRelación referida u objetivo:Presentación realizada por Ariadna Fuertes. Departamento de Informática. Universidad de Valencia
    15. 15. Comentarios:- La clave ajena y la clave primaria correspondientedeben definirse sobre el mismo dominio- La clave ajena no tiene porqué formar parte de la claveprimaria de la relación que la contiene- Una relación referida puede ser también referencial conrespecto a otro conjunto de atributos- En el caso de que una relación sea referida yreferencial a la vez podemos hablar de relaciónautoreferencial- Las claves ajenas pueden admitir nulos, las clavesprimarias no.Ejemplo:DNI Nombre Apellidos Dirección Teléfono Nacimiento14.167.654 Alberto GómezMartínezPedrones, 4 963334455 23/02/195864.237.935 Luisa Ripoll Albert Denia, 64 963456789 12/06/1963empleadoId_caja descripción DNI1 Caja número 1 de la salida 1 14.167.6542 Caja número 2 de la salida 1 64.237.9353 Caja número 1 de la salida 2puestoClave primaria de la relación empleadoClave ajena en la relación puestoRelación referida u objetivoRelación referencialPresentación realizada por Ariadna Fuertes. Departamento de Informática. Universidad de Valencia
    16. 16. Regla de integridad referencialLa base de datos no debe contener valores declave ajena sin concordancia(cualquier valor no nulo de la clave ajena debetener asociado un valor en la clave primaria dela relación objetivo)Manejo de la integridad referencial por el SGBD:a) Impedir que se introduzca información queno garantice la integridad referencialb) Permitir la introducción y realizar lasacciones necesarias para garantizarla(depende completamente del diseño)Ejemplo: Borrar un valor que es clave primariaen una relación y ajena en otraa) Impedir que se pueda borrarb) Borrar todas las entradas en la relaciónreferencial cuyo valor de la clave ajena sea elde la clave primaria en cuestión.Operación en cascadaPresentación realizada por Ariadna Fuertes. Departamento de Informática. Universidad de Valencia
    17. 17. Codd propuso dos alternativas para establecer labase formal en lo referente a la manipulación dela información por parte del modelo relacional:• Álgebra relacional• Cálculo relacionalDiferencias:El álgebra relacional:• ofrece un conjunto de operadores que permitenconstruir una relación que contiene lainformación que se busca en la B.D.• La formulación es prescriptiva (proporciona unprocedimiento para resolver el problema)El cálculo relacional:• solo define la notación que permite describir laspropiedades que deben cumplir las tuplas de larelación resultante• La formulación es descriptiva (solo plantea elproblema)Codd demostró que ambos formalismos sonequivalentes → para cada expresión del álgebraexiste su expresión en el cálculo y viceversaManipulaciónPresentación realizada por Ariadna Fuertes. Departamento de Informática. Universidad de Valencia
    18. 18. • Reglas generales:– Toda entidad se convierte en relación– Las relaciones M:N originan lacreación de una nueva relación– Toda relación 1:N se traduce en unapropagación de la clave (o se creauna nueva relación)TRANSFORMACIÓN DELOS DIAGRAMAS E/REN RELACIONALESPresentación realizada por Ariadna Fuertes. Departamento de Informática. Universidad de Valencia
    19. 19. Aplicación de las reglas generalesTransformación de las relacionesRelaciones M:N → Nueva relación (incluye los atributos dela relación, 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 N– Crear una nueva relación. Recomendable cuando:1) Pueden aparecer muchos nulos (cardinalidad mínima de laentidad 1 es cero)2) Se prevé que la relación pase a ser M:N en el futuro3) Si la relación tiene atributos propiosRelaciones 1:1 → Caso particular de las anteriores.Relación 1 Relación 2 Acción(0 , 1) (0 , 1) Crear nueva relación(0 , 1) (1 , 1) Propagar clave de R2 a R1(1 , 1) (1 , 1) Propagación indiferenteTransformación de las entidadesCada tipo de entidad se debe convertir en una relación baseTransformación de los atributos de las entidadesCada atributo de una entidad se debe transformar en unacolumna en la relación base– Los atributos principales de la entidad pasan a ser la claveprimaria de la relación– El resto de atributos son columnas de la relación y puedentomar valores nulosPresentación realizada por Ariadna Fuertes. Departamento de Informática. Universidad de Valencia
    20. 20. Transformación de atributos compuestosEl modelo relacional no los contempla. Alternativas:- Consideramos el atributo compuesto como simple- Considerar cada uno de los componentes como simpleTransformación de atributos de relacionesSe convierten en columnas de la relaciónSi alguno de los atributos es principal → formará parte de laclave primariaTransformación de las relaciones exclusivasSe deberán definir las restricciones pertinentes (CHECK)Transformación de Entidades/Relaciones débilesUna entidad débil iba asociada a relaciones 1:N → propagarla clave de la entidad fuerte a la débil formando parte de laclave primaria de la débilTransformación de la generalización- Englobar los atributos de la entidad y los subtipos en unasola relación (con el atributo de distinción de subtipos)- O crear una relación para el supertipo y tantas relacionescomo subtipos existan.- Crear solo relaciones para los subtipos añadiendo losatributos del supertipoTransformación de la agregaciónSe transforma primero el nivel más alto y después se trata larelación resultante como si fuera una “nueva entidad” arelacionar con el nivel más bajoPresentación realizada por Ariadna Fuertes. Departamento de Informática. Universidad de Valencia
    21. 21. Ejemplo resueltoEjemplarAutorLibroSocioTemaTieneEscribeEscrito enTrataPrestaIdioma(1,M) (1,1) (1,M) (0,N)(1,M)(1,N)(1,M)(0,N)(0,M)(1,N)NombreCod_idiDescripCod_temDescripCod_autCod_libTituloAñoCod_ejeDNITfNombreFech_preFech_devTransformación de las entidadesCada tipo de entidad se debe convertir en una relación baseAUTORCodigo_autorNombreLIBROCodigo_libroTituloAñoEJEMPLARCodigo_ejemplarIDIOMACodigo_idiomaDescripciónTEMACodigo_temaDescripciónSOCIODNINombreTelefonoTransformación de atributos de relacionesSe convierten en columnas de la relaciónSi alguno de los atributos es principal → formaráparte de la clave primariaAUTORCodigo_autorNombreLIBROCodigo_libroTituloAñoEJEMPLARIDIOMACodigo_idiomaDescripciónTEMACodigo_temaDescripciónSOCIODNINombreTelefonoCodigo_libroCodigo_ejemplarTransformación de Entidades/Relaciones débilesUna entidad débil iba asociada a relaciones 1:N → propagarla clave de la entidad fuerte a la débil formando parte de laclave primaria de la débilTransformación de las relacionesRelaciones M:N → Nueva relación (incluye losatributos de la relación, si hay, y las claves primarias de lasentidades)Transformación de atributos de relacionesSe convierten en columnas de la relaciónSi alguno de los atributos es principal → formará partede la clave primariaAUTORCodigo_autorNombreLIBROCodigo_libroTituloAñoEJEMPLARCodigo_libroCodigo_ejemplarIDIOMACodigo_idiomaDescripciónTEMACodigo_temaDescripciónSOCIODNINombreTelefonoPRESTACodigo_libroCodigo_ejemplarDNIFecha_prestFecha_devESCRIBECodigo_autorCodigo_libroTRATACodigo_libroCodigo_temaESCRITO_ENCodigo_libroCodigo_idiomaPresentación realizada por Ariadna Fuertes. Departamento de Informática. Universidad de Valencia
    22. 22. Ejercicio propuestoTenemos una empresa que dispone de variastiendas distribuidas por diferentes ciudadesespañolas y que se abastece de unosalmacenes que también están ubicados endiferentes ciudades.Necesitamos conocer la existencia deproductos tanto en tiendas como enalmacenes.En la B.D. deberá haber información sobrelas características de estos productos talescomo, el peso, las dimensiones, descripción ysu precio por unidad.Además, debemos guardar información sobrelos pedidos de las tiendas a los almacenes. Sepide crear una base de datos mediante elmodelo E-R y pasar el diseño a modelorelacional.Presentación realizada por Ariadna Fuertes. Departamento de Informática. Universidad de Valencia

    ×