Tarea 2 base de datos dam
Enviado por vali • 10 de Diciembre de 2022 • Tarea • 1.066 Palabras (5 Páginas) • 108 Visitas
Antonio Valiente González Tarea 2 Fecha de entrega: 05/12/2022
Apartado 1.1
[pic 1]
Apartado 1.2
En primer lugar, el elemento ALUMNO, tiene una clave primaria que es DNI, además tiene una clave alternativa que es num_expediente. Luego tiene el resto de atributos como son nombre, genero, ciclo_formativo y edad.
[pic 2]
Para el atributo edad, como puede tomar mas de un valor, he decidido crear una tabla aparte, llamada E-MAILS, donde recibe como la clave primaria de alumno como clave foranea DNI_ALUMNO (*deberia haberlo puesto en cursiva pero lo olvidé), y el atributo e-mail, para que tome tantos valores como sea necesario.
Para diferenciar un alumno menor de edad, y otro mayor de edad, puesto que tienen diferentes atributos he recurrido a la especializacion, asi he creado dos tablas, ADOLESCENTES Y ADULTOS, ambos heredan la clave primaria de alumno, y aportan otro atributo. Adulto tiene el atributo num_cuenta_bancaria, para que se le hagan los cargos en la tarjeta, mientras que adolescente tiene el atributo telefono_tutor, para contactar con el tutor.
El elemento ALUMNO tiene una relacion con cardinalidad 1:1 con el elemento TARJETA, es decir un alumno, puede tener unicamente una tarjeta. El elemento tarjeta, tiene como calve primaria, el atributo codigo, tambien tiene un atributo compuesto, fecha, y para representarlo pongo directamente los subatributos dia, mes y año.
Con el atributo saldo, al ser un atributo multivaluado, he decidido crear una nueva tabla SALDO, con el codigo de la tarjeta como clave primaria, y los atributos recarga_saldo, alquiler y cargo_desperfecto. Como el atributo TARJETA tine una relacion con cardinalidad 1:N, he creado una tabla con la relacion ALQUILER, para almacenar cada movimiento, recibe como clave foranea la clave primaria del atributo con cadinalidad 1, es decir, el codigo de la tarjeta. Y tiene los atributos num_veces_alguiler, fecha_alquiler y fecha de devolucion, este ultimo, lleva un asterisco porque puede tomar valores nulos, puede darse el caso que un libro se haya alquilado y todavia no se haya devuelto.
Por otra parte el elemento LIBRO, tiene un ISBN como clave primaria, y atributos como titulo, autor, año_publicacion, num_paginas. El atributo editorial es un atributo compuesto, por eso pongo directamente los subuatributos, nombre_editorial y pais. Por ultimo recibe como clave foranea isbn_continuacion, porque tiene una relacion reflexiva de 1:N que se llama continuacion, por eso lo he representado asi. Como autor es un atributo multivaluado, lo he representado en una nueva tabla. La cual hereda la clave primaria de LIBRO y como atributo autor, que puede tomar un valor nulo, puesto que puede ser que sea un autor anonimo.
LIBRO tine una relacion HAY de cardinalidad 1:N con EJEMPLAR, he dudado si representar esta relacion con una nueva tabla, pero finalmente he decido explicarlo aquí, HAY tiene un atributo que es cantidad, porque de cada libro puede haber varios ejemplares.
EJEMPLAR es un elemento debil, puesto que no podria existir sin el elemento LIBRO, por eso tiene dos claves primarias, la suya propia NUM y la que hereda de libro isbn_libro. Como clave foranea tiene el la clave primaria de armario num_armario para que se pueda localizar rapidamente en que armario se encuentra. Tiene tamien un atibuto compuesto fecha, por eso he puesto sus subatributos, dia, mes y año. Y por ultmo tiene un atributo estado.
El elemento ARMARIO, tiene una clave primaria, que es num para identificar en que numero de armario estan los ejemplares, y una clave alternativa que es pasillo ademas tiene un atributo que es capacidad. EJEMPLAR tiene una relacion de cardinaliad N:M con ARMARIO.
Apartado 2.1
Dibuja la entidad RESERVA con todos los atributos necesarios para almacenar la información que se necesita.
[pic 3]
Apartado 2.2
Transforma la entidad RESERVA en una única tabla relacional (tiene que cumplir la 1FN)
RESERVA (NUMERO, FECHA, HORA, NUM_COMENSALES, NUM_MESA, NUM_MAX_COMENSALES, NOMBRE_COMENSAL, DNI_COMENSAL, TLF_COMENSAL)
El modelo relaiconal de la entidad RESERVA prodria ser representado asi, pero de esta forma no cumpliria una de las reglas de la primera forma normal, puesto que tenemos atributos repetitivos, y tendriamos que separarlo en distintas tablas
RESERVAS | ||||||||
NUMERO_RESERVA | FECHA | HORA | NUM_COMENSALES | NUM_MESA | NUM_MAX_COMENSALES | NOMBRE_COMENSAL | DNI_COMENSAL | TLF_COMENSAL |
520 | 10/12/2022 | 21.00 | 2 | 6 | 2 | OSCAR MARTÍNEZ | 11111111J | 658325965 |
520 | 10/12/2022 | 21.00 | 2 | 6 | 2 | YADIRA RINCÓN | 22222222N | 698547235 |
521 | 10/12/2022 | 21.15 | 5 | 5 | 6 | JUAN MARTÍNEZ | 3333333Q | 632854968 |
[pic 4]
RESERVAS | |||||
NUMERO_RESERVA | FECHA | HORA | NUM_COMENSALES | NUM_MESA | NUM_MAX_COMENSALES |
520 | 10/12/2022 | 21.00 | 2 | 6 | 2 |
521 | 10/12/2022 | 21.15 | 5 | 5 | 6 |
COMENSALES | |||||
NUMERO_RESERVA | NOMBRE | DNI | TLF | ||
520 | OSCAR MARTÍNEZ | 11111111J | 658325965 | ||
520 | YADIRA RINCÓN | 22222222N | 698547235 | ||
521 | JUAN MARTÍNEZ | 3333333Q | 632854968 |
...