Está en la página 1de 2

TAREA GBD03

EJERCICIO 1 2 puntos

Partiendo del siguiente modelo relacional correspondiente a la base de datos de visitas a monumentos, de
la agencia nacional de turismo de Italia:

PUNTOS DE VISITA (CodigoPunto, NombrePunto, DireccionPunto, Fecha/Periodo, Descripción, AforoMaximo,


Horario, Tarifa)
RESERVAS (CodigoReserva, FechaReserva, FechaVisita, IdCliente, NumVisitantes, TarifaReserva)
Se generan (CodigoReserva, NumTicket)
SERVICIOS ADICIONALES (CodigoServicio, DescripciónServicio, Tipo, Precio)
Pueden incluir (NumTicket, CodigoServicio)
TICKETS (NumTicket, FechaEmisión, Fecha/HoraEntrada, ImporteTicket, CodigoPunto)

Escribe las instrucciones en SQL necesarias para crear la base de datos Turismo_Italia, teniendo en cuenta
las siguientes especificaciones:
 Las columnas AforoMaximo y NumVisitantes toman valores enteros.
 Las columnas Tarifa y TarifaReserva, Precio, ImporteTicket pueden contener decimales
 La numeración de los tickets NumTicket es de tipo autoincrementado.
 Define para las claves ajenas restricciones de actualización en cascada y que no permita el borrado
de registros relacionados.

Guarda la base de datos creada con el nombre Turismo_Italia_TuNombre.sql. (sustituye el texto TuNombre
por el tuyo)

Ten en cuenta que:

* Las claves principales se representan en negrita y subrayado.


* Las claves ajenas se representan en negrita y cursiva.
* Cuando un atributo forma una clave principal y ajena se representa en negrita, subrayado y cursiva.
* Cuando los nombres de tablas, campos o restricciones contienen espacios en blanco, debes utilizar
comillas (las que se encuentran en el teclado a la derecha de la letra P)

Consejos prácticos:

* Mantén un orden a la hora de crear las tablas, definiendo cada columna en una línea que finalice con una
coma.
* Define todas las restricciones una vez especificadas todas las columnas y después de la última coma. Así
añades la PRIMARY KEY y otros tipos de restricciones como CHECK, INDEX, UNIQUE, etc. excepto las
FOREIGN KEY (claves ajenas).
* Para evitar que al definir una restricción de tipo clave ajena hagas referencia a una tabla que todavía no
has creado es recomendable crear primero todas las tablas, en el orden que quieras, y después añadir las
claves ajenas modificando las tablas creadas con ALTER TABLE, así te aseguras de que todas las tablas estén
definidas
EJERCICIO 2 1 punto
Modifica la base de datos anterior Turismo_Italia_TuNombre.sql. para añadir las tablas: TRABAJADORES,
T_MANTENIMIENTO, T_GUIAS TURÍSTICOS y Están asociados. (la tabla PUNTOS DE VISITA ya está creada en
el supuesto anterior)

TRABAJADORES (DNI, Apellido1, Apellido2, Nombre, Dirección, FechaContratación)


T_MANTENIMIENTO (DNI, Profesión, Categoría)
T_GUÍAS TURÍSTICOS (DNI, Formación)
PUNTOS DE VISITA (CodigoPunto, NombrePunto, DireccionPunto, Fecha/Periodo, Descripción, AforoMaximo,
Horario, Tarifa)
Están asociados (DNI, CodigoPunto, Fecha)

EJERCICIO 3 2 puntos
Ejecuta el script anterior en MySQL desde una instancia de MySQL Workbench guardando la base de datos
generada con el nombre Turismo_Italia_TuNombre.sql. Mediante la opción del menú de MySQL
Workbench: Database / Reverse Engineer, genera el esquema relacional de la base de datos. Modifica si
es necesario el esquema generado para que se adapte al modelo y captura la pantalla resultante. (Revisa
sobre todo las cardinalidades mínimas y máximas)

EJERCICIO 4 5 puntos
Sobre la base de datos Turismo_Italia_TuNombre.sql. realiza las siguientes modificaciones:

Tabla TRABAJADORES

3.1 Añade un índice que facilite búsquedas frecuentes por Apellido1, Apellido2 y Nombre, sin
duplicados.

3.2 Añade la columna CP (código postal) entre Dirección y FechaContratación.

Tabla TICKETS

3.3 Añade una restricción que indique que el valor por defecto de la FechaEmisión es la fecha actual.

Tabla pueden incluir

3.4 Añade una clave artificial denominada IdServicioTicket, cuyos valores se incrementen
automáticamente. Mantén el resto de restricciones de la tabla

Tabla SERVICIOS ADICIONALES

3.5 La columna Tipo puede contener los valores: individual, grupo, ambos a la vez o ninguno.

Tabla RESERVAS

3.6 Modifica el tipo de datos de la columna TarifaReserva para que admita únicamente valores enteros.

3.7 Añade una restricción en la columna NumVisitantes para que no admita valores nulos.

3.8 Añade un índice por la columna FechaReserva.

3.9 Muestra todos los índices de la tabla.

3.10 Borra el índice que acabas de crear en el punto anterior.