Proyecto Final
FINAL BASE DE DATOS I
- Definir el enunciado del problema a sistematizar según las necesidades detectadas. (Debe ser Claro y tener mínimo 8 tablas) (Entrega 1)
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
- Clientes
- Entrenadores
- Membresias
- Clases
- Equipos
Movimiento
- Pagos
- Asistencia
- Clientes_Clases
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.
Drive: https://drive.google.com/drive/folders/10wo2ZtPkCAFtVZAKkglWNv3xxFoq9P-n?usp=sharing
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)
EN EL DRIVE ESTA LA COPIA DE SEGURIDAD
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. Estado de los equipos
¿Que se desea consultar y de que tablas?
equipos.estado
equipos.nombre
¿Que tablas se ven afectadas o involucradas?
Equipos
Condiciones
No
¿Como se relacionan las tablas?
No hay
¿Que comando se debe utilizar?
SELECT
SINTAXIS
select nombre, estado from equipos;

2. Tipo de membresia de cada cliente
¿Que se desea consultar y de que tablas?
clientes.nombre
membresia.tipo
¿Que tablas se ven afectadas o involucradas?
Clientes
Membresia
Pagos
Condiciones
clientes.id_cliente = pagos.id_cliente
membresia.id_membresia = pagos.id_membresia
¿Como se relacionan las tablas?
clientes.id_cliente=pagos.id_cliente
memebresia.id_membresia=pagos.id_membresia
¿Que comando se debe utilizar?
JOIN
SINTAXIS
select clientes.nombre as "nombre cliente", membresia.tipo as "tipo membresia" from clientes join pagos on clientes.id_cliente = pagos.id_cliente join membresia on pagos.id_membresia = membresia.id_membresia;

3. Actualizar precio membresia
¿Que se desea consultar y de que tablas?
membresia.costo
¿Que tablas se ven afectadas o involucradas?
Membresia
Condiciones
tipo = "mensual"
¿Como se relacionan las tablas?
No hay relaciones
¿Que comando se debe utilizar?
UPDATE
SINTAXIS
update membresia set costo = 150000 where tipo = "mensual";


4. Cantidad de pagos de cada tipo de membresia
¿Que se desea consultar y de que tablas?
membresia.tipo
pagos.id_pago
¿Que tablas se ven afectadas o involucradas?
Pagos
Membresia
Condiciones
No hay
¿Como se relacionan las tablas?
pagos.id_membresia = membresia.id_membresia
¿Que comando se debe utilizar?
GROUP BY Y COUNT
SINTAXIS
select membresia.tipo, count(pagos.id_pago) as cantidad_pagos from pagos join membresia on pagos.id_membresia = membresia.id_membresia group by membresia.tipo;

5. Clases sin clientes
¿Que se desea consultar y de que tablas?
clases.nombre
clientes_clases.id_clase
¿Que tablas se ven afectadas o involucradas?
Clases
Clientes_Clases
Condiciones
clases.id_entrenador = entrenadores.id_entrenador
¿Como se relacionan las tablas?
clientes_clases.id_clase=clases.id_clase
¿Que comando se debe utilizar?
LEFT JOIN
SINTAXIS
select clases.id_clase, clases.nombre from clases left join clientes_clases on clases_clientes.id_clase = clases_clientes.id_clase where clases_clientes.id_clase is null;

5. Total generado por cada membresia
¿Que se desea consultar y de que tablas?
membresia.tipo
pagos.monto
¿Que tablas se ven afectadas o involucradas?
Pagos
Membresia
Condiciones
clases.id_entrenador = entrenadores.id_entrenador
¿Como se relacionan las tablas?
pagos.id_membresia = membresia.id_membresia
¿Que comando se debe utilizar?
GROUP BY Y SUM
SINTAXIS
select membresia.tipo as 'tipo de membresía', sum(pagos.monto) as 'total generado' from pagos join membresia on pagos.id_membresia = membresia.id_membresia group by membresia.id_membresia;

5. Sustentación