1 / 103

Tema 2

El modelo relacional. Tema 2. En este tema analizaremos los dos modelos de datos más usados hoy día en el diseño de bases de datos. Estos son: El modelo entidad/relación. El modelo relacional.

kane-cobb
Télécharger la présentation

Tema 2

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. El modelo relacional Tema 2

  2. En este tema analizaremos los dos modelos de datos más usados hoy día en el diseño de bases de datos. Estos son: • El modelo entidad/relación. • El modelo relacional. Modelo de datos.- Es un esquema teórico mediante el cual se pueden expresar las propiedades de una realidad que se analiza con el objetivo de representarla en una base de datos. Es decir, un modelo de datos nos permite reducir una determinada realidad a algo almacenable. 2.1.- INTRODUCCIÓN

  3. Es un modelo de representación gráfica que gira en torno a dos conceptos principales: entidades y relaciones. El ME/R fue desarrollado por Peter P. Chen en los setenta y se ha convertido en una referencia para el diseño previo de BBDD relacionales. Generalmente, cuando se quiere construir una base de datos, se debe recabar información (mediante entrevistas u otros medios) sobre el funcionamiento de la empresa u organización, para saber qué datos son los que hay que almacenar. 2.2.- el modelo entidad/relación (ME/R)

  4. Una vez se ha recabado la información, esta se analiza para generar el ME/R. Es decir, es tarea del diseñador de la base de datos analizar la realidad de lo que se quiera guardar información y crear a partir de ese análisis un modelo que represente a dicha realidad.

  5. Entidad ( entity ) Atributo ( attribute ) Dominio ( valuesset ) Relación ( relationship ) Conceptos básicos del modelo 5

  6. Cosa u objeto del mundo real con existencia propia y distinguible del resto. • Objeto con existencia... • física o real (una persona, un libro, un empleado) • abstracta o conceptual (una asignatura, un viaje) • “Persona, lugar, cosa, concepto o suceso, real o abstracto, de interés para la empresa”(ANSI, 1977) entidades 6

  7. Clases de entidad: • Regulares o fuertes Tienen existencia por si mismas: EMPLEADO • Débiles Su existencia depende de otra entidad: FAMILIAR depende de EMPLEADO 7

  8. titulo = El señor de los anillos genero = Fantasía p2 nacionalidad = EEUU añoestreno = 2001 ... titulo = Amores perros titulo = Amelie genero = Drama genero = Comedia p3 p4 nacionalidad = Méjico nacionalidad = Francia añoestreno = 1999 añoestreno = 2001 ... ... • También... • Ocurrencia • Realización • Ejemplar • Entidad concreta o individual Instancia de entidad: PELICULA 8

  9. titulo = El alquimista impaciente genero = Thriller p1 nacionalidad = España añoestreno = 2002 ... dni = 87654321 nss = 1122334455 e1 nombre = Cristina Aliaga Gil nacionalidad = España ... Propiedad o característica de una entidad Una entidad particular es descrita por los valores de sus atributos: atributos 9

  10. Tipos de atributos Simples o Compuestos Básicos o Derivados Monovalorados o Multivalorados Opcionales 10

  11. AtributosSimples o Compuestos fechanacim direccion dia mes año calle ciudad provincia codpostal • Atributos compuestos • Pueden dividirse en otros con significado propio • Valor compuesto = concatenación de valores de componentes • Atributos simples • No divisibles. Atómicos genero 11

  12. Atributos derivados • Valor calculado a partir de otra información ya existente (atributos, entidades relacionadas) • Son información redundante... edad [de EMPLEADO], cálculo a partir de fechanacim • atributo derivado del valor de otro atributo numcopias [de una PELICULA], cuenta del número de entidades COPIA relacionadas con cada película concreta • atributo derivado de entidades relacionadas • Atributos básicos fechanacim [de cada EMPLEADO] nacionalidad [de una PELICULA] Atributosbásicos o derivados 12

  13. Atributos monovalorados o sencillos(monovaluados) • sólo un valor para cada entidad fechanacim [de un EMPLEADO particular] añoestreno[de cada PELICULA concreta] • Atributos multivalorados o múltiples(multivaluados) • más de un valor para la misma entidad nacionalidad [ PELICULA coproducida por varios países ] telefono [ EMPLEADO con varios teléfonos de contacto] • pueden tener límites superior e inferior del número de valores por entidad nacionalidad (1-2) telefono (0-3) Atributosmonovalorados o multivalorados (min,max) 13

  14. El nulo (null value) es usado cuando... Se desconoce el valor de un atributo para cierta entidad El valor existe pero falta altura [de un EMPLEADO] No se sabe si el valor existe o no telefono[de un EMPLEADO] La entidad no tiene ningún valor aplicable para el atributo: fechaalquiler [de una película en stock] Atributosopcionales (o nulos)

  15. Notación para atributos 15

  16. 16

  17. Otra posible notación… 17

  18. Atributo con valor distinto para cada instancia de un tipo de entidad dni en EMPLEADO • Una clave identificade forma única cada entidad concreta atributo identificador • Notación Atributosclave EMPLEADO DNI 18

  19. Claves candidatas (IC) Conjunto de atributos que pueden ser clave Claves o Identificadores Candidatos deEMPLEADO: • dni • nss • (nombre, fechanacim) • Clave principal o primaria (IP) • Elegido (por el diseñador) de entre los identificadores candidatos (IC), para ser el medio principal de identificación de las instancias del tipo de entidad dnien EMPLEADO Tipos de clave 19

  20. La Clave primaria(IP) puede ser: • Sencilla • Compuesta • Clave alternativa o secundaria(IA) • El resto de candidatas que no son clave principal • nss y (nombre, fechanacim)en EMPLEADO 20

  21. provincia ciudad calle codpostal dirección fechanacim telefono (0,3) (0,1) altura n-f EMPLEADO (1,2) nacionalidad IP nombre nss edad dni NOTACIÓN PARA ATRIBUTOS CLAVE • En el MER es obligatorio que todo tipo de entidad tenga un identificador 21

  22. NOMBRES nombre telefono EMPLEADO TELEFONOS altura MEDIDAS Conjunto de valores Cada atributo simple está asociado a un dominio, que especifica sus valores válidos DOMINIOS (VALUES SET) • No suele representarse, aunque una forma de hacerlo sería: 22

  23. También “interrelación” • Asociación, vínculo o correspondenciaentre instancias de entidades relacionadas de alguna manera en el “mundo real” • el director “Alejandro Amenábar”ha rodadola película “Mar adentro” • el empleado 87654321trabaja en el local de videoclub “principal” • la película “El imperio contraataca” es una continuación de la película “La guerra de las galaxias” RELACIÓN (RELATIONSHIP) 23

  24. DIRECTOR HA RODADO PELÍCULA •  Vacas •  Tesis •  Belle Epoque •  Torrente •  Tierra • Abre los ojos • Los otros Instancia del tipo de relación        J. Médem  C. Saura  F. Trueba S. Segura  A. Amenábar  Tipo de Entidad: conjunto de instancias Tipo de Relación: conjunto de instancias 24

  25. DIRECTOR PELICULA HA_RODADO • Estructura genérica o abstracción del conjunto de relaciones existentes entre dos o más tipos de entidad un DIRECTORha rodado PELICULA’s • Notación TIPO DE RELACIÓN 25

  26. ACTUA_EN PELICULA ACTOR ALQUILA CLIENTE PELICULA PELICULA CONTINUACION DE LOCAL_VIDEOCLUB • Número de tipos de entidad que participan en el tipo de relación • Binaria: grado 2 (el más frecuente) • Ternaria: grado 3 • Reflexiva (o recursiva): grado 1 GRADO DE UNA RELACIÓN 26

  27. Limitan las posibles combinaciones de entidades que pueden participar en las relaciones • Extraídas de la situación real que se modela “Una película debe haber sido dirigida por uno y sólo un director” “Un director ha dirigido al menos una película y puede haber dirigido muchas” RESTRICCIONES SOBRE RELACIONES 27

  28. trabajador ACTOR EMPLEADO encargado M:N ACTUA_EN 1:1 1:N TRABAJA_EN SUPERVISA sucursal LOCAL_VIDEOCLUB PELICULA lugar trabajo • Númeromáximo de ocurrencias o instancias de un tipode entidad que pueden estar relacionadas con una ocurrencia o instancia del otro tipo de entidad • Notación • Etiqueta (1:1, 1:N, M:N…) junto al tipo de relación, o • Flecha en sentido “... a N” CARDINALIDAD 28

  29. Tipos de correspondencia más comunes: • 1:1(“uno a uno”) • 1:N(“uno a muchos”) • M:N(“muchos a muchos”) TIPO DE CORRESPONDENCIA trabajador ACTOR EMPLEADO personaje M 1 encargado 1 ACTUA_EN TRABAJA_EN SUPERVISA sucursal N N 1 film LOCAL_VIDEOCLUB PELICULA lugar trabajo 29

  30. Números mínimo y máximo de ocurrencias de una entidad que pueden estar interrelacionadas con una ocurrencia de otra u otra entidades que participan en la interrelación. • Notación • (min, max) en la línea que une entidad y relación REPRESENTACIÓN DE CARDINALIDAD DE ENTIDADES (1,1) (0,1) Dirige Departamento Empleado Part. Total 1:1 30

  31. La cardinalidad con la que una entidad participa en una relación especifica el número mínimo y el número máximo de correspondencias en las que puede tomar parte cada ocurrencia de dicha entidad. • La participación de una entidad en una relación es obligatoria (total) si la existencia de cada una de sus ocurrencias requiere la existencia de, al menos, una ocurrencia de la otra entidad participante. Si no, la participación es opcional (parcial). 31

  32. LOCAL VIDEOCLUB SUPERVISA EMPLEADO 1 N 1:N LOCAL VIDEOCLUB SUPERVISA EMPLEADO (1,1) (0,n) Comparación de notaciones 32

  33. 1 superior (0,1) subalterno JEFE DE EMPLEADO N (0,n) continuación (0,1) precuela SECUELA DE 1:1 PELICULA (0,1) Cardinalidad de tipos de entidad recursivos 33

  34. papel M:N salario ACTUA_EN ACTOR PELICULA (0,m) (1,n) • Conceptualmente pertenecen a la relación • Un atributo de una M:Nes propio de la relación • Un atributo de una 1:1 o 1:N“se puede llevar”a uno de los tipos de entidad participantes ATRIBUTOS DE RELACIÓN 34

  35. Dependencia en existencia(entre entidades) • Si desaparece una instancia del tipo de entidad regular deben desaparecer las instancias de la entidad débil que dependen de ella • Etiqueta “E” en el tipo de relación débil • Dependencia en identificación • Además de la dependencia en existencia... • Una instancia del tipo de entidad débilno se puede identificar por sí misma • Su clave es (clave_entidad_regular, clave_parcial) • Etiqueta “ID” en el tipo de relación débil CLASES DE DEPENDENCIA 35

  36. dni EMPLEADO Tipo de Relación Débil titulo PELICULA POSEE E 1:N TIENE ID 1:N numlicencia PERMISOCONDUCCION numcopia tipo COPIA idcopia PERMISO_CONDUCCION es débil, pues depende en existencia de EMPLEADO, pero no depende en identificación COPIAes débil, pues depende en existencia dePELICULA, y también depende en identificación 36

  37. dni CLIENTE (1,1) POSEE E 1:N (0,n) PRESTAMO numprestamo Comparación de conceptos y notación Dependencia en existencia 37

  38. PRESTAMO numprestamo (1,1) TIENE ID 1:1 (0,n) numpago PAGO idpago Entidad Débil de otra entidad débil Comparación de conceptos y notación Dependencia en identificación 38

  39. CLIENTE (0,n) (0,1) CINTAVIDEO ALQUILA (0,m) LOCALVIDEOCLUB TIPOS DE RELACIÓN CON CLAVE SUPERIOR A DOS fecha Para representar la cardinalidad de cada entidad en la relación, debemos decidir la cantidad mínima y máxima de instancias de la entidad que se relaciona con una instancia de cada una de las otras entidades relacionadas. 39

  40. Generalización y especialización • En ocasiones es necesario dividir una entidad en subconjuntos, generalmente por dos motivos: • Porque sólo determinados miembros de la entidad participan en una relación. • Porque sólo determinados miembros de la entidad poseen ciertos atributos. EMPLEADO Atiende SECRETARIO GERENTE COMERCIAL CLIENTE Fecha nombramiento Nivel

  41. A la entidad que especializamos, la llamamos supertipo. A cada una de las entidades en que se divide el supertipo la llamamos subtipo. Toda instancia de cualquiera de los subtipos es también una instancia del supertipo. Pero puede haber instancias del supertipo que no sean instancias de ningún subtipo. En el ejemplo de antes, un secretario o un vendedor también tienen todos los atributos de empleado y pueden participar en las relaciones en las que participe la entidad empleado. También puede haber empleados que no sean secretarios, ni gerentes ni vendedores.

  42. numBastidor FABRICA VEHÍCULO FABRICANTE (1,n) (1,1) precio N:1 LLEVA (1,1) ID (0,1) SIDECAR CAMIÓN TURISMO MOTOCICLETA numEjes numPlazas 1:1 tonelaje numPuer cilindrada

  43. El modelo relacional persigue los siguientes objetivos: • Independencia física: El modo de almacenar datos no debe influir en su manipulación lógica y, por tanto, un cambio en el almacenamiento físico no influye en los datos almacenados y sus relaciones. • Independencia lógica: Añadir, eliminar o modificar cualquier elemento de la BD no debe repercutir en los accesos simultáneos a otros elementos de la misma BD. • Flexibilidad: Ofrecer a cada usuario los datos de la forma más adecuada a la correspondiente aplicación o perfil.  • Uniformidad: Las estructuras lógicas de los datos presentan un aspecto uniforme (tablas), lo que facilita su uso y manipulación.  • Sencillez: Las características anteriores, así como unos lenguajes de usuario muy sencillos, producen como resultado que el modelo relacional (MR) sea fácil de comprender y de utilizar. 2.3.- el modelo relacional

  44. La estructura básica del modelo es la RELACIÓN y se puede representar en forma de tabla de dos dimensiones. Una relación tiene un nombre, un conjunto de atributos que representan sus propiedades y un conjunto de tuplas que incluyen los valores que cada uno de los atributos toma para cada elemento de la relación. Como se ha dicho, una relación se representa mediante una tabla bidimensional (las columnas son los atributos de la relación y las filas son las tuplas).

  45. La relación debe cumplir las siguientes condiciones: • Debe tener un solo tipo de fila, cuyo formato queda definido por el esquema de la relación, por lo tanto todas las filas tienen las mismas columnas. • Cada fila debe ser única y no pueden existir filas duplicadas. • Cada columna debe ser única y no pueden existir columnas duplicadas. • Cada columna debe estar identificada por un nombre específico. • El valor de una columna para una fila debe ser único, no pueden existir múltiples valores en una posición de una columna. • Los valores de una columna deben pertenecer al dominio que representa, y es posible que un mismo dominio se utilice para definir los valores de varias columnas.

  46. En el modelo relacional los atributos pueden tomar valores de dos tipos de dominios diferentes: • Dominios generales o continuos: Contienen todos los posibles valores entre un máximo y un mínimo predefinido. Ejemplos: • DNI: todos los números enteros y positivos de 8 dígitos. • Peso de material: todos los números reales y positivos. • Saldo de una cuenta: los números reales, positivos y negativos. • Dominios restringidos o discretos: aquellos que contienen ciertos valores específicos entre un máximo y un mínimo predefinido. Ejemplos: • Estado civil: compuesto por soltero, casado, viudo y divorciado. • Provincia: una de las provincias españolas.

  47. Se denomina GRADO de una relación al número de atributos que contiene. Se llama CARDINALIDAD de una relación al número de tuplas que contiene. El ejemplo muestra una relación llamada ALUMNO, que consta de los atributos Cod_matrícula, Nombre, Ciudad y Cod_grupo (grado 4). Cada fila de la tabla muestra una tupla correspondiente a los datos de un alumno (cardinalidad 5). El dominio de Cod_matricula sería “códigos” formado por un conjunto de cadenas de longitud 3 caracteres.

  48. Reglas de integridad • El modelo relacional debe satisfacer una serie de reglas de integridad mediante las cuales se garantiza la consistencia de la información que pueda ser manejada: • En una relación no puede haber 2 tuplas iguales (obligatoriedad de clave primaria). • El orden de las tuplas y el de atributos no es relevante. (Aunque es recomendable que las tuplas estén en orden tomando como referencia un atributo, normalmente el primero, que deberá coincidir con lo que llamamos clave de la relación). • Cada atributo sólo puede tomar un único valor del dominio sobre el cual está definido.

  49. Ningún atributo que forme parte de la clave primaria de una relación puede tomar un valor nulo (regla de integridad de entidad o de clave). • Se pueden imponer , en teoría, otra serie de restricciones que garanticen la integridad del modelo y por lo tanto de la información almacenada en la BD, restricciones concernientes son: • Los valores permitidos para los atributos que forman parte de las relaciones existentes en el esquema. Por ejemplo, valor máximo y mínimo, lista de valores, etc... • Condiciones que determinan el valor que pueden tomar los atributos. Estas condiciones pueden definirse en base a diferentes predicados: en función del valor de otros atributos de la misma o diferente relación, o al estado de la base de datos, o en base al usuario, etc...

  50. Claves En una relación, es necesario poder determinar una tupla concreta, lo cual es posible mediante la clave. Clave es un atributo o conjunto de atributos cuyos valores distinguen unívocamente una tupla específica de una tabla o relación. Una de las condiciones de una tabla relacional o relación es que no pueden existir filas (tuplas) duplicadas, ello implica que siempre tiene que existir al menos una clave, que en el peor de los casos estará formada por todos los atributos. Si una tabla dispone de varias claves, a éstas se le denominan CLAVES CANDIDATAS, puesto que más adelante entre todas ellas tendremos que elegir una que será la que por excelencia identifique la tupla. A esta clave se le denomina CLAVE PRINCIPAL o primaria y al resto CLAVES ALTERNATIVAS o secundarias.

More Related