Proyecto Final

PROYECTO FINAL BASE DE DATOS II

  1. Definir el enunciado del problema a sistematizar según las necesidades detectadas. (Debe ser Claro y tener mínimo 12 tablas) (Entrega 1)

Proyecto sobre turismo

El proyecto consiste en la creación de una base de datos de turismo que centralice información relevante sobre destinos turísticos, alojamientos, actividades y servicios disponibles. El objetivo principal es facilitar la planificación de viajes y mejorar la experiencia del usuario al acceder a datos actualizados y organizados.

La base de datos incluirá información sobre destinos turísticos, como su nombre, ubicación y descripción, así como detalles sobre alojamientos, que abarcarán hoteles, hostales y casas rurales. También se integrarán actividades disponibles en cada destino, como excursiones y eventos, y servicios complementarios, incluyendo transporte y opciones de restauración.

NECESIDAD:

La creciente demanda de información turística accesible y organizada ha evidenciado la necesidad de una base de datos que centralice datos relevantes sobre destinos, alojamientos y actividades. En un mundo donde la planificación de viajes es esencial, es fundamental contar con una plataforma que no solo recopile, sino que también actualice constantemente esta información, permitiendo a los viajeros tomar decisiones informadas y optimizar su tiempo y recursos. La integración de opciones de alojamiento, desde hoteles hasta casas rurales, junto con actividades y servicios disponibles en cada destino, mejorará la experiencia del usuario, fomentando un turismo más accesible y satisfactorio. 


2. REALIZAR LO SIGUIENTE:

2.1. Darle un nombre a la base de datos.

El nombre para mi base de datos es Viajes_Turismo. 


2.2. Listado de tablas que llevara la BD. (Cuales son referenciales y cuales son de movimiento)

Tablas de referencia:

1. Destinos

Información sobre los destinos turísticos (nombre, ubicación, descripción).

2. Alojamientos

Detalles de los alojamientos (nombre, tipo, dirección, precio por noche, ID del destino).

3. Actividades

Registro de actividades disponibles (nombre, descripción, duración, ID del destino).

4. Dia de turismo

Información sobre el día de turismo (descripción, ID del destino).

5. Usuario

Información de los usuarios registrados (nombre, correo electrónico, contraseña, preferencias).

6. Tipos_Alojamiento

Categorías de alojamientos (hotel, hostal, casa rural).

7. Categorías_Actividades

Información sobre las categorías de actividades (nombre, descripción).

8. Transporte

Detalles sobre los medios de transporte disponibles (tipo, descripción, ID del destino).

9. Restaurantes

Información sobre opciones de restauración (nombre, tipo de cocina, dirección, ID del destino).

10. Eventos

Registro de eventos especiales en los destinos (nombre, fecha, descripción, ID del destino).

11. Reseñas

Comentarios y calificaciones de los usuarios sobre destinos y alojamientos (ID del destino, ID del alojamiento, calificación, comentario).


Tablas de movimiento:

1. Destino_usuario

Id de las dos tablas destinos y usuarios (id_destino, id_usuario).

2. Alojamiento_tipo alojamiento

Id de las dos tablas alojamiento y tipo alojamiento(id_alojamiento, id_tipoAlojamiento).

3. DiaTurismo_Actividades

Id de las dos tablas DiaTurismo y tipo de Actividad(id_diaturismo, id_actividad).

4. Reservas

Información sobre las reservas realizadas por los usuarios (ID del usuario, ID del alojamiento, fecha de inicio, fecha de fin, estado).

5. Itinerarios

Registro de itinerarios personalizados creados por los usuarios (ID del usuario, ID del destino, fecha, actividades planeadas).

6. Favoritos

Lista de destinos y alojamientos favoritos de los usuarios (ID del usuario, ID del destino, ID del alojamiento).

7. Historial_Viajes

Registro de viajes pasados de los usuarios (ID del usuario, ID del destino, fecha de viaje, actividades realizadas).

8. Promociones

Información sobre promociones y descuentos disponibles en alojamientos y actividades (ID del alojamiento, ID de la actividad, porcentaje de descuento, fecha de inicio, fecha de fin).


2.3. Diseñar el diccionario de datos de cada tabla (campo, nombre el campo, tipo, tamaño y descripción).


2.4. Montar o diseñar el modelo entidad relación.


2.5. Dibujar el Diagrama relacional.

3. Crear la BD y las tablas respectivas en MySQL (guardar evidencias del código MySQL con el que resuelva dicha actividad) (Entrega 2)

Base de datos: pturismo.

4. Diseñar ejercicios en los que se apliquen los diferentes comandos que se utilizaron durante el semestre con su respectivo análisis y resultados. (Entrega 3)

Base de datos con todas las tablas

EJERCICIOS

1. Crear tabla a partir de otra (Create - Insert)

Análisis.

¿Qué se desea consultar?

Crear una tabla con las preferencias únicas de los usuarios registrados.

¿De qué tablas?

  • Tabla fuente: usuario

  • Campo: preferencia

¿Qué tablas se ven afectadas o están involucradas?

  • Afectada: se crea una nueva tabla llamada preferencias_usuarios.

Condiciones:

  • Se deben eliminar duplicados de las preferencias.

¿Qué comandos se deben utilizar?

  • create table

  • select distinct

¿Cómo se relacionan las tablas?

  • Solo se usa la tabla usuario, no hay joins.

2 Crear tabla a partir de otra con join (create - insert - join)

Análisis

¿Qué se desea consultar?

Obtener la cantidad de alojamientos por tipo (hotel, hostal, etc.) y guardarla en una nueva tabla.

¿De qué tablas?

  • tipo_alojamiento

  • tipo_alojamiento_alojamiento

¿Qué tablas se ven afectadas o están involucradas?

  • Fuente: tipo_alojamiento, tipo_alojamiento_alojamiento

  • Afectada: nueva tabla cantidad_alojamientos_por_tipo

 Condiciones:

  • Agrupar los datos por tipo de alojamiento.

  • Contar cuántos alojamientos están asociados a cada tipo.

¿Qué comandos se deben utilizar?

  • create table

  • select

  • join

  • group by

  • count

 ¿Cómo se relacionan las tablas?

  • tipo_alojamiento.id_taloja = tipo_alojamiento_alojamiento.id_taloja

3. Insertar datos en una tabla buscando un valor en otra (insert - select)

¿Qué se desea consultar?

Insertar un nuevo registro en la tabla favoritos, buscando el ID del destino por su nombre.

¿De qué tablas?

  • Se consulta en destinos

  • Se inserta en favoritos

¿Qué tablas se ven afectadas o están involucradas?

  • Afectada: favoritos

  • Fuente: destinos

Condiciones:

  • Que el nombre del destino sea exactamente "Barcelona"

  • El usuario y alojamiento deben existir (por ejemplo, id_usua = 109 y id_aloja = 40)

¿Qué comandos se deben utilizar?

  • insert into

  • select

  • where

¿Cómo se relacionan las tablas?

  • Se extrae id_des de la tabla destinos usando una condición textual (where nombre = 'Barcelona'), y se usa para insertar en favoritos.

creación de triggers 

Primer trigger de agregar datos a una tabla, ejemplo:

utilizo una tabla (Destinos) para agregar los datos.

Trigger para modificar un valor

nota: el ifnull se utiliza para dejar los campos como estaban sin cambios.

Trigger para eliminar un dato:


5. Sustentación

EXITOS...

Todos los derechos reservados | Motos As 2025
Creado con Webnode Cookies
¡Crea tu página web gratis! Esta página web fue creada con Webnode. Crea tu propia web gratis hoy mismo! Comenzar