Proyecto Final
FINAL BASE DE DATOS Definir el enunciado del problema a sistematizar según las necesidades detectadas. (Debe ser Claro y tener mínimo 8 tablas)
Se pide almacenar una base de datos para una fábrica de confección, en el cual se quiere almacenar los datos de la empresa, sus empleados con su nómina, el lote, tener un balance mensual, teniendo en cuenta que un lote puede tener muchas operaciones, y cada empleado puede tener muchas nominas.
Darle un nombre a la base de datos: Fabrica
Listado de tablas que llevará la BD. (Cuales son referenciales y cuales son de movimiento):
Referenciales:
- Lote
- Operacion
- Ingreso_Gastos
- Informacion
- Balance
De movimiento:
- Lote_operacion
- Empleado
- Nomina
Diccionario de datos
Modelo entidad relación y diagrama relacional
https://drive.google.com/file/d/1Qjv9qk9ffnBJwbA7sqWEcAWEqtJnNIXn/view?usp=sharing
Ejercicios
1.Mostrar la cantidad total de gastos
Que se desea consultar
ingreso_gastos.monto
Que tablas se ven afectadas
ingreso_gastos
Condición
es_ingreso==false
Comando:
select sum(monto) from ingreso_gastos where es_ingreso==false;
2.Cual es la cantidad total de ganancias
Que se desea consultar
ingreso_gastos.monto
Que tablas se ven afectadas
ingreso_gastos
Condición
es_ingreso==true
Comando:
select sum(monto) from ingreso_gastos where es_ingreso==true;
3.Mostrar Numero total de operaciones del lote 002
Que se desea consultar
count(operaciones)
Que tablas se ven afectadas
lote_opercion
operacion
Condición
lote_operacion.idlote==002
Como se relacionan
lote_operacion.idoperacion==operacion.idoperacion
comandos
count, select, inner join
select count(idoperacion) from operacion inner join lote_operacion on lote_operacion.idoperacion==operacion.idoperacion where lote_operacion==002
4.Montos del empleado 01
Que se desea consultar
Nomina.monto
Que tablas se ven afectadas
Nomina
Condición
empleado==01
Comando
select monto from nomina where idempleado == 01;
5.Cantidad total de lotes con operación "Cierre cuello"
Que se desea consultar
cantidad de lotes
Que tablas se ven afectadas
lote_operacion
Condición
operacion.nombreoperacion=="Cierre cuello"
Como se relacionan
lote_operacion.idoperacion==operacion.idoperacion
comando:
select count(idlote) from lote_operacion inner join operacion on lote_operacion.idoperacion==operacion.idoperacion where operacion.nombre_operacion =="Cierre cuello"
6. El nombre del empleado con el monto mas bajo
Que se desea consultar
nombre del empleado con el monto mas bajo
Que tablas se ven afectadas
empleado
nomina
Condición
idempleado= min(monto) from nomina
Como se relacionan
empleado.idemplead = nomina.idempleado
comandos:
select, min, where, inner join
7. Seleccionar el empleado con el monto mas alto
Que se desea consultar
nombre del empleado con el monto mas bajo
Que tablas se ven afectadas
empleado
nomina
Condición
idempleado= max(monto) from nomina
Como se relacionan
empleado.idemplead = nomina.idempleado
comandos:
select, max, where, inner join
8. Seleccionar los empleados que su nombre comience por la letra m o terminen en a o que contengan la letra o
Que se desea consultar
empleado.nombre_empleado
Que tablas se ven afectadas
empleado
Condición
where nombre_empleado like m% or nombre_empleado like a% or nombre_empleado %o%
comandos:
select, like, where
9.Mostrar los montos ordenados de mayor a menor
Que se desea consultar
nomina.monto
Que tablas se ven afectadas
nomina
comandos:
select, order By
Select monto as "Nominas mas altas" from nomina order by (nomina) desc;
10.Mostrar promedio de montos
Que se desea consultar
nomina.monto
Que tablas se ven afectadas
nomina
comandos:
avg
select avg(monto) from nomina;