Proyecto Final

FINAL BASE DE DATOS I

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

2 REALIZAR LO SIGUIENTE:

2.1. Darle un nombre a la base de datos.

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

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) e insertar 10 registros en cada tabla (Entrega 2)

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)

5. Sustentación

EXITOS...



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. 


1. Destinos

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

2. Alojamientos

  • Detalles de los alojamientos (nombre, 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. Tipos_Alojamiento

  • Categorías de alojamientos (ID del tipo alojamiento, tipo).

6. Usuarios

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

7. Destino_usuario

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

8. Alojamiento_tipo alojamiento

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

9. DiaTurismo_Actividades

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


ENTREGA 2:

2.1. Darle un nombre a la base de datos.


El nombre para mi base de datos es PTurismo.


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).


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).


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.

Crear la BD y las tablas respectivas en MySQL (guardar evidencias del código MySQL con el que resuelva dicha actividad) e insertar 10 registros en cada tabla

Copia de proyecto final


ENTREGA 3

3. Crear la BD y las tablas respectivas en MySQL (guardar evidencias del código MySQL con el que resuelva dicha actividad) e insertar 10 registros en cada tabla 

BD CON DATOS


ENTREGA 4

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.

Crear una consulta para visualizar los precios por noche mayores a 80.

Análisis:

Qué información se desea mostrar o visualizar

precio por noche mayores a 80

Tabla: alojamiento

Condición: alojamiento> 80

¿Qué comando se debe utilizar?

select

Sintaxis: select id_aloja "id alojamiento", Nombre "Nombres", Direccion "Direcciones" from alojamiento where precio_noche>80;

Crear una consulta para visualizar la dirección y el precio por noche cuyo precio sea menor a 80

Análisis:

Qué información se desea mostrar o visualizar

dirección y precio por noche 

Tabla: alojamiento

Condición: dirección alojamiento > 80

¿Qué comando se debe utilizar?

select

Sintaxis: select direccion "direcciones", precio_noche "precio por noche" from alojamiento where precio_noche < 80;

Crear una consulta que visualice los usuarios con preferencia nivel 2  

Análisis:

Qué información se desea mostrar o visualizar

preferencias nivel 2

Tabla: usuarios

Condición: preferencia  = "2"

¿Qué comando se debe utilizar?

select

Sintaxis: select id_usua "id usuarios", Nombre "Nombres", E_mail "Correo", preferencia "Nivel preferencia" from usuario where preferencia = "2";

Visualizar las actividades que tengan duración mayor o igual a 3 horas

Análisis

Qué información se desea mostrar o visualizar

Actividades mayores o iguales a 3 horas 

Tabla: Actividades

Condición: Duración >= "3 horas"

¿Qué comando se debe utilizar?

select

Sintaxis: select id_acti "id actividad", Nombre "Nombres", Duración "Tiempo" from Actividades where Duracion >= "3 horas";

Visualizar la información de los destinos con id 201,301,501,601

Análisis

Qué información se desea mostrar o visualizar

Información de los destinos con id 201,301,501 y 601

Tabla: destinos

Condición: Id_des = "201" o Id_des = "301" o Id_des = "501" o id_des = "601"

¿Qué comando se debe utilizar?

select, or

Sintaxis: select id_des "Id destinos", nombre "Nombre", ubicacion "Ubicación", descripcion "Descripción" from destinos where Id_des = "201" or Id_des = "301" or Id_des = "501" or id_des = "601";

Visualizar los usuarios cuyo nombre terminen con la letra z

Análisis

Qué información se desea mostrar o visualizar

usuarios, nombre

Tabla: usuario 

Condición: El nombre del usuario que termine  por la letra z

¿Qué comando se debe utilizar?

select, %

Sintaxis: select Nombre from usuario where Nombre like "%z"; 

Consultar los turistas que viajan a Tokio 

Análisis:

¿Qué desea consultar y de qué tablas?

usuario.nombre, usuario.E_mail

destinos.Nombre, destinos.ubicacion, destinos.descripcion

¿Qué tablas se ven afectadas o involucradas?

usuario

destinos

Condicion(es)

viajes a Tokio 

¿Cómo se relacionan las tablas?

usuario.id_usua = destinos.id_des

¿Qué comando se debe utilizar?

select, join on

Sintaxis: select usuario.nombre "nombre usuario", usuario.e_mail "correo", destinos.nombre "destino", destinos.ubicacion "ubicacion", destinos.descripcion "descripción" from usuario_destinos join usuario on usuario_destinos.id_usua = usuario.id_usua join destinos on usuario_destinos.id_des = destinos.id_des where destinos.nombre = 'Tokio';


Sumar el total de todos los alojamientos

Análisis:

¿Qué desea consultar y de qué tablas?

alojamiento.precio_noche

¿Qué tablas se ven afectadas o involucradas?

alojamiento

¿Qué comando se debe utilizar?

select, sum

Sintaxis: select sum(alojamiento.precio_noche) "Total de precio alojamiento" from alojamiento;

Consultar el alojamiento más alto

Análisis:

¿Qué desea consultar y de qué tablas?

alojamiento.precio_noche

¿Qué tablas se ven afectadas o involucradas?

alojamiento

¿Qué comando se debe utilizar?

select, max

Sintaxis: select max(alojamiento.precio_noche) "Alojamiento mas caro" from alojamiento;

Consultar el alojamiento más barato

Análisis:

¿Qué desea consultar y de qué tablas?

alojamiento.precio_noche

¿Qué tablas se ven afectadas o involucradas?

alojamiento

¿Qué comando se debe utilizar?

select, min

Sintaxis: select min (alojamineto.precio_noche) "Alojaminto mas barato" from alojamiento;

Consultar el precio por noche promedio de los alojamientos

Análisis:

¿Qué desea consultar y de qué tablas?

alojamiento.precio_noche

¿Qué tablas se ven afectadas o involucradas?

alojamiento

¿Qué comando se debe utilizar?

select, AVG

Sintaxis: select AVG(alojamiento.precio.noche) "Promedio de precio" from alojamiento;

Cambiar el tipo de dato de contraseña a varchar(45) en la tabla cliente

Análisis:

¿Qué desea actualizar y de qué tablas?

Tipo de dato la contraseña en la tabla usuario

¿Qué tablas se ven afectadas o involucradas?

usuario

¿Qué comando se debe utilizar?

alter, modify

Sintaxis: alter table usuario modify column contraseña varchar(45);

Eliminar el usuario con nombre "Carlos García" de la tabla referencias

Análisis:

¿Qué desea eliminar y de qué tablas?

eliminar a "Carlos García" de la tabla usuario

¿Qué tablas se ven afectadas o involucradas?

usuario

¿Qué comando se debe utilizar?

Delete

Sintaxis: Delete from usuario where nombre="Carlos García";

Ordenar usuarios por apellido

Análisis:

¿Qué desea ordenar y de qué tablas?

Ordenar de forma ascendente los apellidos de la tabla usuario

¿Qué tablas se ven afectadas o involucradas?

usuario

¿Qué comando se debe utilizar?

select, order by, asc

Sintaxis: select * from usuario order by apellido ASC;

Visualizar la referencias por usuario mayores a 2

Análisis:

¿Qué desea consultar y de qué tablas?

referencias mayores a 2

¿Qué tablas se ven afectadas o involucradas?

usuarios

¿Qué comando se debe utilizar?

select, sum, group by, having

Sintaxis: select preferencia, count(*) "total" from usuario group by preferencia having total > 1;

Insertar usuario

delimiter //
create procedure insertar_usuario( in  _id_usua int, in  _nombre varchar(40), in  _e_mail varchar(100), in  _contraseña varchar(40), in  _preferencia int, in  _apellido varchar(40))

begin 

insert into usuario (id_usua, nombre, e_mail, contraseña, preferencia, apellido) 

values ( _id_usua,  _nombre,  _e_mail,  _contraseña,  _preferencia,  _apellido);

end //

delimiter ;

Ahora insertando datos

call insertar_usuario(710, "carlos", "carlos.gomez@gmail.com", "contrasena789", 3, "gómez");
¡Crea tu página web gratis! Esta página web fue creada con Webnode. Crea tu propia web gratis hoy mismo! Comenzar