Proyecto final
FINAL BASE DE DATOS II
- Definir el enunciado del problema a sistematizar según las necesidades detectadas. (Debe ser Claro y tener mínimo 12 tablas) (Entrega 1)
R/:el Gimnasio Remington se enfrenta a dificultades en la administración y el control de sus operaciones diarias lo que impacta en la satisfacción de sus clientes. La falta de un sistema integrado y eficiente ha resultado en problemas como registros manuales inconsistentes, dificultad para gestionar pagos, agendar entrenamientos, y llevar un seguimiento adecuado del progreso de los socios. Con el fin de mejorar la eficiencia y ofrecer una experiencia más satisfactoria para los usuarios, el Gimnasio Remington ha decidido desarrollar un Sistema de Gestión de Gimnasio.
El objetivo de esta base de datos seria digitalizar y centralizar la informacion de todos lo clientes del gimnasio y sus empleados, asi como tabien pagos y actividades para optimizar el funcionamiento actuak
2 REALIZAR LO SIGUIENTE:
2.1. Darle un nombre a la base de datos.
GimansioRN
2.2. Listado de tablas que llevara la BD. (Cuales son referenciales y cuales son de movimiento)
Referenciales
- Usuarios
- Clientes
- Empleados
- Sucursales
- Planes
- Actividades
- Tipo Empleado
- Tipo Actividad
Movimiento
- Pagos
- Entrenamientos
- Asistencias
- Inscripciones
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)
https://drive.google.com/file/d/10URz5nkLo7Z4-JHDpkf0OhWqcGxQt_3h/view?usp=sharing
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)
1. Empleados con sucursales asignadas
¿Qué se desea consultar y de qué tablas?
empleados.id_empleado
empleados.id_usuario
sucursales.nombre
¿Qué tablas se ven afectadas o involucradas?
empleados
sucursales
Condiciones
No
¿Cómo se relacionan las tablas?
empleados.id_sucursal = sucursales.id_sucursal
¿Qué comando se debe utilizar?
SELECT, JOIN
SINTAXIS
select e.id_empleado, e.id_usuario, s.nombre as nombre_sucursal from empleados ejoin sucursales s on e.id_sucursal = s.id_sucursal

2. Clientes activos
¿Qué se desea consultar y de qué tablas?
clientes.estado
clientes.id_cliente
¿Qué tablas se ven afectadas o involucradas?
clientes
Condiciones
Estado = 'activo'
¿Cómo se relacionan las tablas?
No hay
¿Qué comando se debe utilizar?
SELECT, WHERE
SINTAXIS
select id_cliente, estado from clientes where estado = 'activo';

3. Métodos de pago utilizados
¿Qué se desea consultar y de qué tablas?
pagos.metodo_pago
¿Qué tablas se ven afectadas o involucradas?
pagos
Condiciones
No
¿Cómo se relacionan las tablas?
No hay
¿Qué comando se debe utilizar?
SELECT
SINTAXIS
select metodo_pago from pagos;

4. Planes con precio mayor a 50
¿Qué se desea consultar y de qué tablas?
planes.nombre
planes.precio
¿Qué tablas se ven afectadas o involucradas?
planes
Condiciones
precio > 50
¿Cómo se relacionan las tablas?
No hay
¿Qué comando se debe utilizar?
SELECT, WHERE
SINTAXIS
select nombre, precio from planes where precio > 50;

5. Contar clientes por estado
¿Qué se desea consultar y de qué tablas?
estado
COUNT(*)
¿Qué tablas se ven afectadas o involucradas?
clientes
Condiciones
No
¿Cómo se relacionan las tablas?
No hay
¿Qué comando se debe utilizar?
SELECT, COUNT, GROUP BY
SINTAXIS
select estado, count(*) from clientes group by estado;

6. Emails con dominio "@gmail.com"
¿Qué se desea consultar y de qué tablas?
usuarios.nombre
usuarios.email
¿Qué tablas se ven afectadas o involucradas?
usuarios
Condiciones
email like '%@gmail.com'
¿Cómo se relacionan las tablas?
No hay
¿Qué comando se debe utilizar?
SELECT, WHERE
SINTAXIS
select nombre, email from usuarios where email like '%@gmail.com';

7. Abreviaciones de actividades
¿Qué se desea consultar y de qué tablas?
SUBSTR(nombre, 1, 3)
¿Qué tablas se ven afectadas o involucradas?
actividades
Condiciones
No
¿Cómo se relacionan las tablas?
No hay
¿Qué comando se debe utilizar?
SELECT, SUBSTR
SINTAXIS
select substr(nombre, 1, 3) from actividades;

8. Actividades por tipo
¿Qué se desea consultar y de qué tablas?
tipo_actividad.nombre
COUNT(actividades.id_actividad)
¿Qué tablas se ven afectadas o involucradas?
actividades
tipo_actividad
Condiciones
No
¿Cómo se relacionan las tablas?
actividades.id_tipo = tipo_actividad.id_tipo
¿Qué comando se debe utilizar?
SELECT, JOIN, COUNT, GROUP BY
SINTAXIS
select ta.nombre, count(a.id_actividad) from actividades a join tipo_actividad ta on a.id_tipo = ta.id_tipo group by ta.nombre;

9. Entrenamientos después del 1 de junio
¿Qué se desea consultar y de qué tablas?
entrenamientos.fecha
entrenamientos.hora
¿Qué tablas se ven afectadas o involucradas?
entrenamientos
Condiciones
fecha > '2023-06-01'
¿Cómo se relacionan las tablas?
No hay
¿Qué comando se debe utilizar?
SELECT, WHERE
SINTAXIS
select fecha, hora from entrenamientos where fecha > '2023-06-01';

10. Clientes con inscripciones a planes
¿Qué se desea consultar y de qué tablas?
clientes.id_cliente
planes.nombre
¿Qué tablas se ven afectadas o involucradas?
clientes
inscripciones
planes
Condiciones
No
¿Cómo se relacionan las tablas?
clientes.id_cliente = inscripciones.id_cliente
planes.id_plan = inscripciones.id_plan
¿Qué comando se debe utilizar?
SELECT, JOIN
SINTAXIS
select c.id_cliente, p.nombre from inscripciones i join clientes c on i.id_cliente = c.id_cliente join planes p on i.id_plan = p.id_plan;

TRIGGERS


PERMISOS DE USUARIOS
Todos los permisos:

Algunos:

Ninguno:
