Proyecto final

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)

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:

¡Crea tu página web gratis! Esta página web fue creada con Webnode. Crea tu propia web gratis hoy mismo! Comenzar