OBTENCIÓN YANÁLISIS DE REQUISITOS Requisitos funcionales Modelado de datos con el modelo ER. Elmasri/Navathe 07 • • • • • • • • Independiente del SGBD Modelos de datos conceptuales Ejemplo Tipos de entidad, atributos y claves Tipos de relación, roles y restricciones. Tipos de entidad débiles Convenios de denominación y cuestiones de diseño Tipos de relación que unen a más de dos tipos de entidad Ejemplos de diseño Requisitos de la BD ANÁLISIS FUNCIONAL DISEÑO CONCEPTUAL Especificación de transacciones Esquema conceptual (ER) DISEÑO LÓGICO (Transformación al modelo de datos) DISEÑO DE PROGRAMAS DE APLICACIÓN Específico para cada SGBD Esquema lógico (ej. relacional) IMPLEMENTACIÓN DE TRANSACCIONES DISEÑO FÍSICO Esquema interno Programas de aplicación DBD Tema 2 • Cada departamento controla cierto número de proyectos. Cada uno con nombre y número únicos y se realiza en una sola localidad. FechaNcto Nombre Parc De cada empleado se guarda su nombre, número de seguridad social, dirección, salario, sexo y fecha de nacimiento. Departamento al que pertenece. Proyectos en los que trabaja (pueden estar controlados por departamentos distintos al que pertenece el empleado). Nº horas semanales dedicadas a cada proyecto y quién es su supervisor. Nombre Nss SUBORDINADO Sexo • (1,1) Nom Inicial Dirección EMPLEADO Salario (0,N) SUPERVISIÓN supervisado Parentesco (1,N) (1,1) (0,1) (0,1) FechaInic Horas TRABAJA_EN TRABAJA_PARA (1,N) (1,N) PROYECTO De cada subordinado al número de seguridad social de un empleado interesa su nombre, sexo, fecha de nacimiento y parentesco (hijo, esposa, ...). Nombre Número Localidad 3 DIRIGE (1,1) (0,N) CONTROLA DEPARTAMENTO Localidades Número DBD Tema 2 Sexo supervisor (0,N) SUBORD_DE Esquema conceptual (ER) Apellido FechaNcto (1,1) • 2 Ejemplo: esquema conceptual (ER) para la BD “Empresa” Requisitos de la BD La empresa está organizada en departamentos. Cada uno con nombre y número único. Tiene un director, su fecha de inicio y el número de empleados que trabaja en él. Puede estar distribuido en varias localidades. DBD DBD Tema 2 1 Ejemplo: requisitos de la BD “Empresa” • Minimundo Fases del diseño de BD Tema 2. Diseño conceptual con el modelo entidad-relación DBD Tema 2 NºEmpleados Nombre 4 ) más comunes sobre la BD.. Según sean.. inserciones. Podría servir para comunicarse con usuarios NO técnicos sobre el contenido que tendrá la BD.N) (0. LOCALIZACIÓN) MULTIVALOR IDENTIFICADOR . . NOMBRE) IS(SUPERV).N) (0.N) (1... NOMBRE) IP(NÚMERO.. DBD Tema 2 (simplificado a una propuesta de índices) • 6 Conceptos del modelo ER (1/2) EMPLEADO IP(NSS) IS(APELLIDO. COMPLEJO IP(NP. FECHA_NCTO.CF:DEPARPLEADO TAMENTO DEPARTAMENTO NÚMERO NOMBRE DIRECTOR F_INIC_DIRECTOR LOCALIDADES_DEPTO CF:EMPLEADO NÚMERO LOCALIDAD PROYECTO – Relaciones y sus restricciones: (1. podríamos haber llegado a la siguiente definición de índices: SUBORDINADO CF:EMPLEADO 5 Ejemplo: esquema interno para la BD “Empresa” EMPLEADO NP HORAS CF:EMPLEADO CLAVE DÉBIL CLAVE PARCIAL .Qué es un esquema conceptual (como el anterior) Esquema conceptual (ER) Primary key Ejemplo: esquema lógico (relacional) para la BD “Empresa” (transformado a partir del ER anterior) Esquema lógico (relacional) Unique • Descripción concisa de los requisitos de información de los usuarios. EMPLEADO) DBD Tema 2 7 DBD Tema 2 8 . EMPLEADO • NSS NOMBRE INIC APELLIDO FECHA_NCTO DIRECCIÓN SEXO SALARIO SUPERV DPTO Contiene descripciones de: – Tipos de entidad: CF:EM.1) CF:DEPARTAMENTO NÚMERO NOMBRE LOCALIDAD DEPTO CF:DEPARTAMENTO SUBORDINADO TRABAJA_EN EMPLEADO FECHA_NCTO NOMBRE SEXO PARENTESCO • • No incluyen detalles de implementación (como tipos de datos.. IS(DPTO) IP(NÚMERO) IS(DIRECTOR) PROYECTO IP(NÚMERO) IS(DEPTO) SIMPLE FUERTE ÍNDICES SECUNDARIOS DEPARTAMENTO ATRIBUTOS TIPOS DE ENTIDAD ÍNDICE PRIMARIO/AGRUPACIÓN TRABAJA_EN DBD Tema 2 Esquema interno (índices) TABLA LOCALIZACIONES_DEPTO CF: PROYECTO Normalizada en FNBC Depende de las transacciones (consultas.). modificaciones. COMPUESTO TIPOS DE RELACIÓN DERIVADO NORMAL IP(EMPLEADO. etc. .. Ejemplos: – Algo físico: una persona (Alberto). un puesto de trabajo (secretario de centro). ) PARTICIPACIÓN TOTAL DE B EN R LIBRO GRADO DE TIPO DE RELACIÓN RESTRICCIONES E1 Tipo de entidad y su conjunto de entidades • Simple (o atómico): Salario • Compuesto: Nombre NomPila Título= “El sr.. de entidad se llama intensión de su conjunto de entidades DBD Tema 2 9 Entidades y valores de atributos 10 Tipos de atributos Código=“Tolk-1” Entidad 1 de LIBRO Código LIBRO ( . – El t. de los Anillos 3 Orw-1 1984 2 Shar-1 Wilt 1 Conjunto de entidades del tipo de entidad LIBRO o extensión Al ser conjunto no puede haber entidades repetidas Tipo de entidad es un conjunto de entidades que posee el mismo conjunto de atributos. • • Atributo: Es una propiedad de las entidades del tipo de entidad.N) Código R ternario (1.N) CARDINALIDAD N (VARIOS) DE B EN R (0. DBD Tema 2 11 – Pueden formar una jerarquía de varios niveles – Representa la concatenación de todas sus componentes simples • Monovalor: • Multivalor: • Almacenado: FechaN • Derivado: Edad Salario Localidades Por ejemplo puede contener: (Logroño.Conceptos del modelo ER (2/2) R B A R E1 R R (1.. Cada entidad del tipo de entidades contiene un valor para cada uno de los atributos definidos en el tipo de entidades Para cada tipo de entidad (como LIBRO): – Se describe con su nombre y lista de atributos – Sus entidades son el conjunto de entidades o extensión.1) Tipo de entidad o intensión OTROS N • •Dominio (tipo de datos) • •Valor nulo E2 • •Conjunto de entidades y de relaciones E2 NºCopias B C B RESTRICCIONES NOTACIÓN ALTERNATIVA 1 R Título •Atributos de tipo de relación: DBD Tema 2 Título NºCopias Tolk-1 El Sr. un curso universitario (2º A). Valor de atributo: es el valor asignado en una entidad para un atributo. . De los anillos” Nº Copias=“3” Apellido1 • Complejos: anidaciones arbitrarias de atributos compuestos y multivalor Apellido2 • Entidad: “cosa” del mundo real con existencia independiente. un empleado. No puede haber tipos de entidad sin ningún atributo definido.. un automóvil. • Toda entidad se describe mediante su conjunto de atributos. Navarrete. – Algo conceptual: una compañía (ACME). Ventosa) Calculado a partir de la fecha de nacimiento FechaN DBD Tema 2 12 . una casa. Por ejemplo los atributos clave que sirven para distinguir una entidad de las demás. Tiene un director. sexo y fecha de nacimiento. – De valor desconocido: • Porque falta: por ejemplo el atributo altura para una persona. de entidad (como PROYECTO) pueden tener más de un atributo clave – Puede haber t. esposa. puede que no tenga o que sí tenga pero no se conozca. DBD Tema 2 Se puede asignar valor nulo a atributos: – Sin valor aplicable: por ejemplo el atributo titulo_universitario para personas que no tenga este tipo de título. Dominio de un atributo es el conjunto de todos los posibles valores que puede tomar el atributo (su tipo de datos. Departamento al que pertenece. – Debe ser mínima: sin atributos superfluos – Puede ser un atributo compuesto (como en PROYECTO2). Proyectos en los que trabaja (pueden estar controlados por departamentos distintos al que pertenece el empleado). .. Nº horas semanales dedicadas a cada proyecto y quién es su supervisor. Es seguro que toda persona tiene un valor de altura. sexo. su fecha de inicio y el número de empleados que trabaja en él.. DBD Tema 2 13 Identificando tipos de entidad y sus atributos para la BD “Empresa” (1/2) Identificando tipos de entidad y sus atributos para la BD “Empresa” (2/2) a EMPLEADO Director Localidades Número Nombre FechaInic Nss DEPARTAMENTO NºEmpleados “departamentos.” 14 Localidad 15 DBD Tema 2 FechaNcto Nombre Clave SUBORDINADO Sexo Parentesco 16 . número de seguridad social.” a DEPARTAMENTO Empleado “De cada subordinado al número de seguridad social de un empleado interesa su nombre. en términos de lenguajes de programación). – Algunos t. de entidad sin clave: t.” PROYECTO Nombre FechaNcto Sexo Proyecto DptoControlador Apellido EMPLEADO Jefe Nombre “Cada departamento controla cierto número de proyectos. Se deberá cumplir para cualquier extensión.” Inicial Nom DBD Tema 2 Número Dirección Salario Trabaja_en a PROYECTO Horas Depto “De cada empleado se guarda su nombre. de entidad: – Tiene un valor único para cada entidad del t. de entidad débil • • ¿Claves del tipo de entidad PROYECTO? ¿Y las de PROYECTO2? CONFUSIÓN FRECUENTE: pensar que la clave de PROYECTO significa lo mismo que la de PROYECTO2. • Porque no se sabe si existe: por ejemplo el atributo teléfono de una persona. de entidad (restricción de clave o unicidad). Hay algunos atributos que no deberían contener valor nulo. Puede estar distribuido en varias localidades. Cada uno con nombre y número únicos y se realiza en una sola localidad.).Atributos clave PROYECTO Atributos con valor nulo y dominio de un atributo • PROYECTO2 Nombre Nombre • • • Número Clave Localización Localización Número Atributo clave de un t. fecha de nacimiento y parentesco (hijo. dirección. – Ejemplo claro: atributo Matrícula del tipo de entidad VEHÍCULO. salario. Cada uno con nombre y número único. Cada relación r ∈PRESTADO es una asociación de entidades que incluye una única entidad de cada tipo de entidad que participa en el tipo de relación PRESTADO: (Tolk-1. como PRESTADO. (Orw-1. (Tolk-1. PRESTADO es de grado dos o binario. Como en el caso de: DptoControlador DEPARTAMENTO • Tipo de relación y su conjunto de relaciones PROYECTO Código Relación implícita Con el tipo de entidad DEPARTAMENTO CONTROLA PROYECTO • Código Eliminamos el atributo DptoControlador En un primer paso podemos capturar las relaciones mediante estos atributos a los que hemos llamado relaciones implícitas. Pero en un segundo paso hay que sustituir todos estos atributos por tipos de relación.1) 1:1 EMPLEADO M:N LIBRO ( . Cada entidad de EMPLEADO puede participar como mucho en una (1) relación de TRABAJA_PARA. ( .N) • • • • Nombre LECTOR LECTOR Título Código Nombre NºCopias PRESTADO El Sr.N) LECTOR C DBD Tema 2 19 DBD Tema 2 20 . 22). 1:N ¿Clave ó N:M. En el ejemplo anterior hemos marcado las relaciones implícitas en rojo y con flechas de línea discontinua. entre varios tipos de entidad (LIBRO Y LECTOR) define un conjunto de asociaciones ó conjunto de relaciones entre las entidades de los tipos de entidad.Relaciones implícitas en el ejemplo • • Relación implícita: atributo que hace referencia a otro tipo de entidad.N) de DIRIGE? ( . 11) Grado de un tipo de relación es el número de tipos de entidad que participan. _PARA? Cada entidad de DEPARTAMENTO puede participar en varias (N) relaciones de TRABAJA_PARA. DBD Tema 2 (0. En tipos de relación binarios la razón de cardinalidad puede ser 1:1.N) TRABAJA_PARA DEPARTAMENTO ¿Clave de Razón de cardinalidad: nº de relaciones en las que puede participar TRABAJA una entidad. Los más comunes son los binarios. R es un tipo de relación ternaria: A R B • • • • EMPLEADO ( . de los Anillos 3 Orw-1 1984 2 LIBRO LECTOR 1 Tolk-1 11 Tolk-1 22 Orw-1 11 Shar-1 22 Wilt Al ser conjunto no puede haber relaciones repetidas.1) PRESTADO (0. En el ejemplo. 11). del tipo de relación PRESTADO DBD Tema 2 17 18 Restricciones estructurales en tipos de relación binarios: cardinalidad ( .1) DIRIGE PRESTADO DEPARTAMENTO ( .N) PRESTADO Tolk-1 Tipo de relación y grado LIBRO Código LIBRO Shar-1 • NºCopias LIBRO En el modelo ER estas referencias hay que representarlas como tipos de relación: DEPARTAMENTO Título Tipo de relación (intensión) 1:N LECTOR Acabamos de ver que un tipo de relación. Por eso ponemos como clave la concatenación de LIBRO+LECTOR 11 Joseba 22 Miren Conjunto de relaciones (extensión). N) ASIGNATURA Curso PROYECTO 23 Tema NºHojas Autor PERTENECEN TRABAJA_EN Estos atributos NO pueden ser clave: La clave de los tipos de relación 1:1 puede ser cualquiera de los dos tipos de entidad. En 1:N el tipo de entidad con cardinalidad 1 y en N:M ambos tipos de entidad de manera conjunta. Atributos de un tipo de relación EMPLEADO DEPARTAMENTO Sin roles .1)? DIRIGE PARTIDO_FUTBOL JUEGA (1.N) Tema • • Id APUNTES APUNTES (1.. DBD Tema 2 NºHojas Horas • • • 22 Tipo de entidad débil (1/2) Asignatura (0.N) y el (0. • • • DBD Tema 2 FechaInic (1. 1:N ó N:M el atributo del tipo de vínculo puede situarse alternativamente en alguno de los tipos de entidad participantes. max): admite poner otros números además de 0 ó 1 para el mínimo (participación) y 1 ó N para el máximo (cardinalidad): (. En el ejemplo: las entidades de EMPLEADO desempeñan el rol de “trabajador” en las relaciones de TRABAJA_PARA. ¿cómo se sabe a qué se refiere el (0. los empleados desempeñarían el rol de “el empleado” en las relaciones de TRABAJA_PARA. como muestran las flechas en los ejemplos.28) JUGADOR TRABAJA_PARA EMPLEADO La notación mínimo-máximo (mín.1) trabajador • • (1. Según sea 1:1.N) (22.1) subalterno DBD Tema 2 21 EMPLEADO (0. se llaman tipos de relación recursivos. – Parcial: algunas entidades de EMPLEADO no participan (0) en ninguna relación de DIRIGE y otras si (no todos los empleados son directores de departamento). jefe (0. En el ejemplo: si NO hubiera rol..N) DEPARTAMENTO DEPARTAMENTO (1. .. Los roles NO son necesarios si los tipos de entidad relacionados son distintos. Una de sus componentes es una relación implícita al tipo de entidad ASIGNATURA.. – El tipo de relación que completa la clave se marca con línea doble y se llama tipo de relación identificador.) (1. ) (1.Restricciones estructurales en tipos de relación binarios: participación (0.N) contratante Rol: indica el papel desempeñado por las entidades en las relaciones. Los tipos de relación (como DIRIGE)... Estos atributos no modifican la clave de un tipo de relación. DBD Tema 2 24 . donde un mismo tipo de entidad participa varias veces. Para seguir representando la clave se usan los tipos de entidad débil: – El trozo de clave que queda en APUNTES (Tema) se marca como clave parcial (subrayado discontinuo).1) (1. – El tipo de entidad relacionado mediante el tipo de relación identificador se llama tipo de entidad propietario ó identificador. Al transformar la relación implícita al tipo de relación PERTENECEN..1) Autor Titulación Código (1.1) Los roles son obligatorios si se repiten tipos de entidad en el tipo de relación.1) EMPLEADO FechaInic DIRIGE TRABAJA_PARA (1. el tipo de entidad APUNTES se queda sin clave. ) EMPLEADO • • Roles y tipos de relación recursivos EMPLEADO DEPARTAMENTO DIRIGE • • Restricción de participación: – Total (dependencia de existencia): toda entidad de DEPARTAMENTO debe participar al menos en una (1) relación de DIRIGE (porque todo departamento debe tener un director).N) ASIGNATURA Código Titulación Curso La clave de APUNTES es compuesta. diferentes al tipo de relación identificador. Un tipo de entidad débil puede tener varios tipos de entidad propietarios.N) GUÍA DBD Tema 2 Sexo Tema • Código . Por ejemplo..1) Nom Apellido1 EMPLEADO Apellido2 Podemos encontrarnos con tipos de entidad débil sin clave parcial.. Aquí la clave de PC está compuesta de las claves de EDIFICIO y de SALA más su clave parcial. Eso supone que la participación con este tipo de relación debe ser siempre (1. la cardinalidad de EMPLEADO en el tipo de relación identificador no puede ser N (precisamente porque no hay clave parcial).1) Nss (1. Nombre FechaNcto (1.1) SALA ESTÁ 25 Tipo de entidad débil: con varios tipos de relación identificador Fecha (1. (1. Salario La N de ASIGNATURA sólo tiene sentido si APUNTES tiene clave parcial. • Código (1.. una ASIGNATURA solo puede prestar su clave a una entidad de APUNTES (si no. ITINERARIO y GUÍA también tendrían cardinalidad N ITINERARIO Código (1. Núm Titulación (1. el Id de GUÍA y la Fecha de la EXCURSIÓN.1) (1. para que haya siempre un valor que complete la clave y sólo uno. Si no hay clave parcial significa que la clave de APUNTES es la misma que la de ASIGNATURA. DBD Tema 2 Núm (1. En este caso. GUÍA EXCURSIÓN (1. En este caso la clave de EXCURSIÓN está compuesta del Código de itinerario. DBD Tema 2 28 .... Puede haber varios niveles de tipo de entidad débil.N) RESTO_EMPLEADO • . EDIFICIO ESTÁ Diseño alternativo al tipo de entidad débil: atributo complejo .N) (1. NO se puede dibujar un rombo que una el atributo multivalor Apuntes con un rectángulo.. El esquema de arriba es equivalente al que se muestra a continuación: Fecha (1. . Sus entidades se identifican por la clave parcial concatenada con la clave de la entidad relacionada mediante el tipo de relación identificador.1) Dirección Id .1) NºHojas Código Tipo de relación identificador Clave parcial Esta solución NO se puede adoptar si existen otros tipos de relación... encontraríamos en APUNTES valores de clave repetidos).N) EXCURSIÓN Id (1.. en los que participe APUNTES. si EMPLEADO tiene muchos atributos podemos separar los usados con menos frecuencia en la tabla RESTO_EMPLEADO.. NºHojas Autor Código Titulación 26 27 Sin otros tipos de relación Tema APUNTES NºHojas Autor (1.N) DBD Tema 2 En este caso. Por tanto. Hay que tener en cuenta que los rombos sólo unen rectángulos.1).. Así.. si no hubiera clave parcial.1) Curso Tipo de entidad propietario ó identificador Tipo de entidad débil .Tipo de entidad débil: varios niveles y ausencia de clave parcial Tipo de entidad débil (2/2) Tema APUNTES Autor • • • • ASIGNATURA PERTENECEN PC • Un tipo de entidad débil no tiene atributos clave propios.N) .N) ITINERARIO (1.1) • • (1.. ...N) Titulación ASIGNATURA Apuntes ASIGNATURA Curso Curso • .1) PERTENECEN Código (1... 1) Autor Autor PERTENECEN Código Código ASIGNATURA Titulación Curso • SALA SALA (1. SITUADO_EN ... Hay que tener en cuenta que la información sobre una entidad se encuentra repartida a ambos lados del tipo de relación: la participación al lado y la cardinalidad en el lado opuesto.. – 0 <= mín <= máx >= 1 – mín=0 indica participación parcial y mín>0 participación total. DBD Tema 2 29 Convenio para los nombres de los elementos de los esquemas ER (1) en MAYÚSCULA en MAYÚSCULA primera letra en MAYÚSCULA en minúscula – Tipos de relación: ordenado de izda a dcha..N) Titulación Identificador (1 .1) Z A Z B Z C A Z B C (4) A Z Z A Z Después podrían surgir nuevos atributos para Z SITUADO_EN (0.. SALA SITUADO_EN 30 Transformaciones interesantes • (1. de manera que se pueda leer con sentido. – Tipos de relación: verbos .N) Esta es una solución artificial.N) ASIGNATURA • En esta asignatura evitaremos usar esta alternativa DBD Tema 2 En la notación mínimo-máximo (mín.N) SALA AB Las transformaciones (1) y (2) ya se han visto anteriormente. SITUADO SITUADO (1.Diseño alternativo al tipo de entidad débil: inventar un código Tema Tema NºHojas (1. Se siguen las siguientes pautas: – Tipos de entidad: nombres en singular . – Atributos: nombres en singular .1) Curso PC N APUNTES • • PC PC PERTENECEN (1.. PC . En los siguientes ejemplos se lee PC B A B A (2) B A A (3) (1.. La notación alternativa es menos precisa.N) B B (0.. no se trata de un dato que se maneje en el mini-mundo. max) usada hasta aquí: – mín y max indican respectivamente el mínimo y máximo de relaciones en las que participa una entidad. – Roles: .1) APUNTES NºHojas Restricciones estructurales: notación alternativa Z SALA Si Z sólo tiene un atributo DBD Tema 2 31 DBD Tema 2 32 .... El identificador nos lo hemos inventado.1) 1 (0. o de arriba hacia abajo.. En la (2) los atributos A y B son referencias inversas entre sí. donde s representa que el suministrador s suministra el componente c al proyecto p.N) CICLISTA Nombre Km Se utiliza un doble etiquetado. La otra notación (1:N:M en el ejemplo). Por ejemplo la N de ciclista significa que cada entidad de CICLISTA puede participar en varias relaciones de LLEVA.1) (1.1) Km (1. Por tanto la clave del tipo de relación LLEVA la forman la entidad de MAILLOT y la de ETAPA.N) 33 Apellido Apellido 1 Premio Un tipo de relación ternario NO representa lo mismo que varios binarios N (0.N) M N ETAPA Km MAILLOT Si un tipo de relación ternaria representa lo mismo que varias binarias nos quedaremos con la segunda opción 35 Premio • • • Nombre CICLISTA (1.N) Dorsal Número Color MAILLOT • • Conjunto de relaciones de un tipo de relación ternario Color Premio Color El tipo de entidad débil VISTE representa lo mismo que el tipo de relación ternario LLEVA.N) Nombre COMPONENTE (0.1) (1.N) MAILLOT CICLISTA PROYECTO Ejercicio: para los suministradores s1 y s2. ya que en una etapa sólo se puede imponer un determinado maillot a un único ciclista.Restricciones estructurales en tipos de relación de grado mayor que 2 Dorsal (0.N) Número (1.N) CICLISTA Nombre (0. La notación mínimo-máximo se mantiene con el mismo significado que para las binarias (la alternativa no se puede utilizar).N) 1 Número (0.N) (0. SUMINISTRADOR (0.N) LLEVA USA (0. Estado 1 s1 de la BD: c2 Km CICLISTA Dorsal (0. Obsérvese que en este caso VISTE no precisa usar clave parcial.N) (0.N) LLEVA 1 (0. Recordemos la interpretación.N) P (0.N) M PROVEE (0. El tipo de relación entre VISTE y CICLISTA no es identificador porque no forma parte de la clave de LLEVA.N) TIENE (0. obtener los tríos de PROVEE y los pares de las relaciones c p binarias en los siguientes dos estados de la BD. añade la idea de clave. DBD Tema 2 36 .N) M N • • • ETAPA (0.N) LLEVA MAILLOT DBD Tema 2 (0. los componentes c1 y c2 y los proyectos p1 y p2.N) VISTE ETAPA (1.N) SUMINISTRADOR PROYECTO Número Nombre COMPONENTE c2 s2 c1 c1 p1 Estado 2 s1 de la BD: c1 c1 s2 p2 DBD Tema 2 c2 c2 p1 p2 Color Premio ETAPA LLEVA Dorsal Nombre Maillot 10 Hinault amarillo 1 10 1 100 11 Indurain puntos 1 13 2 110 MAILLOT Número Km Etapa Ciclista 12 Fignon rojo 1 13 13 Armstrong amarillo 2 10 Color 14 Pereiro puntos 2 11 amarillo general 15 Ullrich rojo 2 13 puntos montaña 12 Freire rojo puntos Premio 34 Dorsal Nombre ENVIA (0. Si NO se indica esta segunda notación se entiende que es: M:N:P.N) Número Transformación de tipo de relación ternario en un tipo de entidad débil Número • M N ETAPA DBD Tema 2 (0. Esta BD la usarán conjuntamente las dos empresas para – Controlar el uso de los camiones (fechas).N) (0. de qué almacén a qué tiendas y los viajes asignados a camiones) DBD Tema 2 DBD Tema 2 37 Ejemplo de diseño conceptual: identificación de tipos de entidad 38 Ejemplo de diseño conceptual: identificar y transformar relaciones implícitas Nombre Número Peso Volumen PEDIDO Número Dirección ALMACÉN Viaje TIENDA Tienda Matrícula Almacén PesoMax Tfno Almacén PEDIDO SOLICITADO ALMACÉN Tienda PEDIDO A_ENTREGAR TIENDA VIAJE REALIZADO_POR CAMIÓN PEDIDO TRANSPORTADO VIAJE CAMIÓN Camión Número VolumenMax VIAJE Tfno Dirección Fecha Viaje Camión Almacén Almacén Suposiciones: • Un pedido se toma completo de un almacén y se entrega también completo a una sola tienda. Cada viaje se identifica por un número... volumen y tienda de destino. DBD Tema 2 39 • VIAJE RECOGE ALMACÉN Cada relación implícita la transformamos en un tipo de relación explícito (un rombo). Cada almacén tiene un número diferente además de la dirección y teléfono. y conocemos también su dirección y teléfono. • Camiones Una compañía de transportes recoge pedidos de los almacenes de una cadena y los entrega a las tiendas de la misma cadena. Ejemplo de diseño conceptual: requisitos de la BD • (0. Cada tienda tiene su propio nombre. Un camión puede transportar varios pedidos en el mismo viaje y entregar cada pedido a la tienda que lo solicitó.N) CONOCE (0.N) • OFRECIDA • • Es preciso definir restricciones de manera que los tríos de IMPARTE y los pares de CONOCE. Cada pedido se identifica por un número e incluye datos sobre peso. Actualmente hay 6 almacenes y 45 tiendas. toma varios pedidos de un almacén y los entrega a una o varias tiendas. – Controlar las entregas (pedidos entregados) – Programar los viajes (conocer los pedidos hechos.Es posible tener un tipo de relación ternario y los tres binarios correspondientes pero.N) ASIGNATURA (0.N) Número Cuatrim CUATRIMESTRE Id Año (1. • En un viaje interviene solo un camión.N) (1.N) IMPARTE N P (0. DA CLASE y OFRECIDA sean coherentes entre sí. Cada camión tiene el número de matrícula y su propio límite máximo de volumen y peso transportado. La flota de la compañía de transportes consta de 150 vehículos y cada uno realiza entre 3 y 4 viajes semanales. DBD Tema 2 40 .N) Código PROFESOR M (1.N) DA CLASE • (0. Peso Volumen Tipos de entidad débiles: los que han perdido su clave. si la tiene. – Tipos de entidad débiles por atributos multivalor y compuestos.1) (0. el resultado (0-0. los jugadores pueden ser requeridos para realizar uno o más controles adicionales.. etc.1) • ENTREGAR Número • (0. nombre.1) (0. el nombre del país. Número VIAJE (1. Para cada partido jugado entre dos equipos se almacena la fecha en la que se jugó. Cuando finaliza el mundial todo jugador ha debido pasar por un control antidopaje obligatorio. se guarda su número de identidad nacional (entenderemos que ningún país asigna varias veces el mismo número). .. Para cada jugador de cada equipo.Ejemplo de diseño conceptual: asignar restricciones a los tipos de relación Matrícula CAMIÓN (0. el número total de goles marcados hasta el momento en el mundial y la camiseta que viste. 2-0. Dos equipos pueden jugar entre sí más de una vez si van superando las eliminatorias.N) ALMACÉN Tfno PEDIDO (1. quizá se pueda sustituir por un tipo de relación. – Atributo que aparece en varios tipos de entidad situado en tipo de Suposiciones: • Los pedidos se introducen antes de organizar el viaje. Además.N) (1. TRANSPORTA RECOGE Atributos de tipo de relación: al identificar los tipos de relación han podido quedar descolgados atributos. los clubes a los que ha pertenecido dicho jugador durante el último año y el número de goles marcados en el mundial. Indicar su tipo de relación identificador y su clave parcial.) y los árbitros que dirigieron el partido (incluidos jueces de línea. DBD Tema 2 Si algún tipo de entidad débil ha quedado sin apenas atributos.N) SOLICITADO (1.1) PesoMax Ejemplo de diseño conceptual: otras consideraciones entidad independiente (o lo contrario) 41 DBD Tema 2 42 Ejercicio: Mundial de fútbol (1/2) Diseña un esquema E/R que recoja la siguiente información sobre un mundial de fútbol.). Para cada equipo participante les interesa guardar el código con el cual se identifica. Ejercicios DBD Tema 2 43 DBD Tema 2 44 . • En base a los datos de pedidos y ocupación de camiones el programa de aplicación puede organizar los viajes.1) VolumenMax • Fecha (0.N) Número • REALIZA (1. 0-1. fecha de nacimiento.N) TIENDA Nombre Dirección Tfno Dirección Considerar las alternativas de diseño comentadas: – Tipos de relación de grado mayor que tres por tipos de entidad débiles. En cada control se registra la fecha y el lugar en el que se realizó. Cada buque está adscrito a un puerto. DBD Tema 2 48 . y una marca temporal formada por una fecha y una hora. DBD Tema 2 DBD Tema 2 45 Ejercicio: Universidad (2/2) Ejercicio: Buques (1/2) (3. Cada puerto tiene un nombre. una dirección y un teléfono. Sin embargo hay puertos con el mismo nombre correspondientes a países distintos. Por cada movimiento realizado por un buque se guarda la longitud y latitud. qué tipo de buque es y la historia de movimientos realizados.Ejercicio: Universidad (1/2) Ejercicio: Mundial de fútbol (2/2) (3. Puede haber varios buques del mismo tipo. el nombre identifica unívocamente al país y mar respectivamente. y además tiene un nombre. Cada tipo de buque consta de un código único. En ningún país puede haber 2 puertos de igual nombre. diseña el diagrama ER: Cada buque se identifica con su nombre. Los equipos jugarán los partidos en diferentes sedes. Además interesa almacenar el nombre del dueño. desde el que inicia todas sus visitas. En la BD cada hotel se identifica mediante un código. el país al que pertenece y el mar donde se ubica. En ambos casos. Este último dato también figurará en la BD. por lo que se alojarán en distintos hoteles.16 Elmasri/Navathe 07) • • • • • DBD Tema 2 46 47 Se quieren registrar las visitas a puertos realizadas por los buques. Se guarda el nombre y continente de cada país y el nombre y profundidad media de cada mar.16 Elmasri/Navathe 07) Por cuestiones de organización se desea guardar información sobre los hoteles en los que se aloja cada equipo. Cada equipo reserva un número concreto de habitaciones en cada hotel. En un mismo hotel sólo se alojará un único equipo en todo el mundial. Partiendo de los requisitos de datos siguientes. una descripción. Se desea guardar también el tonelaje y el material del casco. el dinero en euros. Les interesa saber por cada libro el número de copias asignadas a cada sucursal. etc. que se encuentran distribuidas por las sucursales. A cada película se le asocia un código y se guarda el título y el género (western. quieren almacenar los autores de cada libro. terror. sexo. y el identificador y nombre únicos de la sucursal junto a la dirección de la sucursal.). Si un buque entra al mismo puerto varias veces el mismo día sólo se almacena la última visita del día.Ejercicio: Buques (2/2) • Ejercicio: Biblioteca municipal (1/2) • Por cada visita de un buque a un puerto interesa guardar la fecha en la que arribó al puerto (fecha de inicio) y la fecha de partida (fecha fin). etc. en qué película o películas ha participado como actor. Un ejemplar de un libro se puede encontrar en un momento determinado físicamente en la sucursal a la que está asignado o bien puede estar prestado a un lector. Van guardando qué libros ha tomado prestado cada lector. • • • • DBD Tema 2 DBD Tema 2 49 Ejercicio: Biblioteca municipal (2/2) • 50 Ejercicio: festival de cine Como también suelen hacer consultas por autores.) al que pertenece. director y como actor. de las películas participantes y de las personas que han intervenido en las películas como productor. 51 Diseña un esquema E/R que recoja la siguiente información sobre un festival de cine: Un festival de cine almacena información de los premios concedidos a lo largo de los años. como director y como productor. DBD Tema 2 52 . el título y el nombre. de manera que no puede haber dos autores con el mismo nombre que hayan escrito el mismo libro (distinguiendo a los libros por su identificador único) • • • • • • DBD Tema 2 Una biblioteca almacena información de los libros que toman en préstamo sus lectores. dirección y teléfono de su editorial. Para cada persona se guarda su nombre. La BD que debemos diseñar contiene información a compartir por todas ellas. La biblioteca dispone de varios locales a los que llama sucursales. Para cada premio interesa saber la categoría y año del mismo (mejor actriz 98. sabemos su nombre. mejor director 2000. Por cada libro se guarda un identificador único. Un buque puede visitar muchas veces el mismo puerto. varios directores y varios actores. Ocurre que hay autores diferentes que se llaman igual. El jurado del festival puede decidir no conceder un premio a ningún participante (declararlo desierto). de qué sucursal lo ha tomado y la fecha de préstamo y devolución de la última vez que tomó prestado el libro de la sucursal. a qué persona o personas les corresponde y la película (única) a la que está asociado. Una película puede tener varios productores. nacionalidad. así que han decidido distinguir a dos autores con el mismo nombre por el libro del que son autores. De éste último sabemos cuál es el número de su tarjeta (no hay dos lectores con el mismo número de tarjeta). Se dispone de una o varias copias de cada libro. dirección y teléfono. pero la información de un domicilio se guardará aunque se haya anulado el pedido solicitado. su nombre. 55 • Se aceptan anulaciones de pedidos. Además figura para cada alumno en qué autobuses puede viajar y para cada uno de ellos en qué fecha realizó la inscripción. DBD Tema 2 54 Ejercicio: Comida rápida (2/2) S u m in is tr a d o r IN G R E D IE N T E Para cada autobús contratado se dispondrá de su matrícula. nombre de la compañía (hay autobuses que no pertenecen a ninguna compañía) y las paradas que realiza para recoger y dejar a los alumnos que lo utilizan. Por ejemplo. Por ejemplo en ocasiones la lechuga se sustituye bien por cogollos o bien por escarola. Distintos pueblos pueden tener calles con el mismo nombre. además de atender pedidos en el local. De cada pueblo incluido en el servicio de autobuses se tiene su código identificativo. DBD Tema 2 • • DBD Tema 2 53 Ejercicio: Comida rápida (1/2) P r e c io N o m A rt T ip o P r e c io T am año C a n tid a d N o m In g r ( 0 .N ) P E D ID O N ú m e ro Fecha • ( 0 .N ) BA SE D E ( 1 .N ) IN C L U ID O • ( 1 .N ) LLEVA A R T ÍC U L O • LLEVA ( 0 . – Sin embargo las sustituciones no son generales. como cada centro de la universidad contrata autobuses de forma exclusiva (un mismo centro puede contratar varios autobuses). su dirección y cuáles son los autobuses que ha contratado. Por ejemplo los espaguetis y los macarrones suelen sustituirse por tallarines.N ) ( 1 . Los productos especiales son ofertas del restaurante que.N ) ( 0 . mientras que en las ensaladas se sustituyen por maíz o por hongos. los identificadores de los cursos en los que está matriculado (por ejemplo: “1º de ITIS” y “2º de ITIS”).Ejercicio: Autobuses universitarios (1/2) • • • Ejercicio: Autobuses universitarios (2/2) Las facultades y escuelas de la UPV/EHU (en adelante “centros”) desean ofrecer a sus alumnos un servicio de autobuses para trasladarlos desde el pueblo donde residen a su centro de estudios.N ) ( 0 . el pueblo (único) donde reside y el centro (único) en el que está matriculado. ¿Qué cambiarías en el esquema E/R (añadir/eliminar/modificar) para incluir la información relativa a sustitución de ingredientes? DBD Tema 2 56 . aparte de llevar los ingredientes del artículo sobre el que se basa. sino que se aplican de forma diferente para cada artículo. Un artículo lleva uno o varios ingredientes.N ) IN C L U ID O C a n tid a d H o ra p e d id o H o ra s e r v id o Un restaurante de comida rápida sirve pedidos en el local. Para cada alumno universitario que usa el servicio de autobuses se almacena su DNI (a los extranjeros la universidad les asigna un DNI propio diferente a cualquier otro DNI existente). Por cada parada del pueblo se almacena la calle en la que está situada. El restaurante. su nombre. para cada autobús se dispondrá del centro (único) que lo contrató. Además. – Puede coincidir que dos ingredientes distintos se sustituyan por el mismo ingrediente. ¿Qué cambiarías en el esquema E/R (añadir/eliminar/modificar) para incluir la información relativa a domicilios? Como se desprende del esquema E/R anterior. Cada pedido puede incluir uno o varios artículos y productos especiales. Ahora nos plantean la siguiente situación: – En el restaurante hay ingredientes que pueden sustituirse por otros.1 ) P R O D U C T O N o m P rd • E S P E C IA L ( 0 . Para dichos pedidos interesa guardar la dirección y el teléfono de contacto del solicitante del pedido. llevan uno o varios ingredientes adicionales. nombre.N ) ( 0 . número de asientos. Una misma parada puede ser utilizada por más de un autobús. quiere ofrecer un nuevo servicio de envío de pedidos a domicilio. Para gestionarlo nos piden que diseñemos un esquema E/R que recoja la siguiente información: Para cada centro de la universidad que ofrece este servicio se desea guardar el código que lo identifica. provincia y las paradas que realizan los diferentes autobuses en el mismo (puede haber más de una). en las pizzas los champiñones se sustituyen por setas o por hongos. cada artículo lleva uno o más ingredientes y un ingrediente puede estar en más de un artículo.