Está en la página 1de 4

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.


Criterios de puntuación. Total 10 puntos.
Puntuación total: 10 puntos distribuidos de la siguiente forma:
Ejercicio 1: 2 puntos:

• Escritura correcta de las tablas básicas.

• Escritura correcta de las relaciones.

• Elegir correctamente los tipos de datos y tamaños.

• Incluir las restricciones necesarias.


Ejercicio 2: 1 punto:

• Especificaciones similares al punto anterior.


Ejercicio 3: 2 puntos

• Captura de la pantalla donde se muestra el esquema gráfico del modelo relacional de la base
de datos generada a partir del script de SQL
Ejercicio 4: 5 puntos:

• Cada apartado vale 0,5 puntos.

Recursos necesarios para realizar la Tarea.


Para realizar esta tarea necesitas escribir las sentencias SQL, para ello puedes emplear:

• El bloc de notas o un editor básico como WordPad

• Un editor SQL sobre un SGBD instalado. Te recomendamos que utilices PhpMyAdmin o


MySQL Workbench que son los que se utilizan en los ejemplos de la unidad, pero puedes
elegir cualquier otro.

• En el caso del EJERCICIO 2 debes utilizar expresamente MySQL Workbench.

Consejos y recomendaciones.
• La ventaja de utilizar el editor SQL proporcionado por una herramienta gráfica es que puedes
ejecutar el script y comprobar si tienes algún error antes en la escritura del código.

• Cuando el editor de SQL te muestre un error, lee atentamente el mensaje (estará en inglés) y
la fila o la instrucción a la que corresponde.

• Utiliza distintas líneas para la definición de cada campo y así sabrás mejor donde está el error.

• No olvides que cuando hay claves ajenas, las tablas referenciadas deben estar creadas
previamente.

• Comprueba que los tipos de datos y los tamaños sean adecuados al atributo que definen.
• Recuerda que los tipos de datos y los tamaños deben coincidir en las claves que se relacionan.

• No olvides elegir el tipo de tabla adecuado para trabajar con claves ajenas.

• Guarda el script para poder recargarlo de nuevo si al probar las sentencias dañas las tablas.

Indicaciones de entrega.
Una vez realizada la tarea elaboraras un único documento dónde figuren las respuestas
correspondientes; tanto las sentencias SQL como la captura de pantalla final. El envío se realizará
a través de la plataforma de la forma establecida para ello, y el archivo se nombrará siguiendo las
siguientes pautas:
apellido1_apellido2_nombre_GBD03_Tarea
Asegúrate que el nombre no contenga la letra ñ, tildes ni caracteres especiales extraños. Así por
ejemplo la alumna Begoña Sánchez Mañas para la tercera unidad del MP de GBD, debería
nombrar esta tarea como...
sanchez_manas_begona_GBD03_Tarea