Proyecto Final
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)
Se desea también almacenar la empresa a quien se le fabricó con su correspondiente orden de producción y también el operario que lo trabajó por última vez (nombre, cargo en la empresa, fecha), La orden debe almacenar la información de cómo se trabajó la última vez (temperatura y tiempo).
Y por último se desea llevar control sobre los moldes que son desechados y los que son reutilizados.
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)
Solucion de los Puntos 2 y 3
Copia de Seguridad y Archivo txt
Solucion Punto 4
1. Agregar el campo salario a la tabla operario.
Sintaxis: alter table operario add salario int(7) not null;

2. Modificar el campo descripción por nombre en la tabla molde.
Sintaxis: alter table molde change descripcion nombre varchar(50) not null;

3. Modificar el campo valor por costo en la tabla molde.
Sintaxis: alter table molde change valor costo int(7) not null;

4. Visualizar los moldes hechos de silicona.
1. ¿Qué se desea consultar y de que tablas?
(*)
2. ¿Qué tablas se ven afectadas?
tabla molde
3. Condiciones
material = 'silicona'
4. ¿Qué comandos se debe utilizar?
select
5. Sintaxis: select * from molde where material='silicona';

5. Visualizar los moldes que no tienen costo de fabricación.
1. ¿Qué se desea consultar y de que tablas?
(*)
2. ¿Qué tablas se ven afectadas?
molde
3. Condiciones
costo = 0
4. ¿Qué comandos se debe utilizar?
select
5. Sintaxis: select * from molde where costo = 0;

6. Consultar el nombre de los moldes 75 y 41.
1. ¿Qué se desea consultar y de que tablas?
molde.nombre
2. ¿Qué tablas se ven afectadas?
molde
3. Condiciones
numeromolde = '75' or numero molde ='41'
4. ¿Qué comandos se debe utilizar?
select
5. Sintaxis: select numeromolde,nombre from molde where numeromolde='41' or numeromolde='75';

7. Consultar la información de los moldes que cuesten de 500.000 en adelante.
1. ¿Qué se desea consultar y de que tablas?
(*)
2. ¿Qué tablas se ven afectadas?
molde
3. Condiciones
costo >= 500000
4. ¿Qué comandos se debe utilizar?
select
5. Sintaxis: select * from molde where costo>=500000;

8. Visualizar los cliente que tengan en el nombre la letra e.
1. ¿Qué se desea consultar y de que tablas?
(*)
2. ¿Qué tablas se ven afectadas?
cliente
3. Condiciones
nombre cliente contenga la letra e
4. ¿Qué comandos se debe utilizar?
select like
5. Sintaxis: select * from cliente where nombrecliente like'%e%';

9. Visualizar los moldes que el nombre contenga la palabra oring.
1. ¿Qué se desea consultar y de que tablas?
(*)
2. ¿Qué tablas se ven afectadas?
molde
3. Condiciones
nombre molde contenga la palabra oring
4. ¿Qué comandos se debe utilizar?
select, like
5. Sintaxis: select * from molde where nombre like'%oring%';

10. Consultar el nombre del operario, el nombre del molde y la última vez que se trabajó.
1. ¿Qué se desea consultar y de que tablas?
operario.nombre
molde.nombre
moldeoperario.fechaultimavez
2. ¿Qué tablas se ven afectadas?
molde
operario
moldeoperario
3. Condiciones
NA
4. ¿Qué comandos se debe utilizar?
select
5. Sintaxis: select nombreoperario, nombre, fechaultimavez from operario,molde,moldeoperario where operario.codoperario = moldeoperario.codoperario and moldeoperario.numeromolde=molde.numeromolde;

11. Consultar que operarios trabajaron el molde oring.
1. ¿Qué se desea consultar y de que tablas?
operario.nombreoperario
molde.nombre
2. ¿Qué tablas se ven afectadas?
opeario
molde
moldeoperario
3. Condiciones
molde.nombre ='oring'
4. ¿Qué comandos se debe utilizar?
select
5. Sintaxis: select nombreoperario, nombre from operario,molde,moldeoperario where nombre='oring' and operario.codoperario = moldeoperario.codoperario and moldeoperario.numeromolde=molde.numeromolde;

12. Consultar los moldes con sus respectivos cliente.
1. ¿Qué se desea consultar y de que tablas?
molde.nombre
cliente.nombrecliente
2. ¿Qué tablas se ven afectadas?
molde
cliente
climolorden
3. Condiciones
NA
4. ¿Qué comandos se debe utilizar?
select
5. Sintaxis: select nombre,nombrecliente from cliente,molde,climolorden where cliente.codcliente = climolorden.codcliente and climolorden.numeromolde=molde.numeromolde;

13. Consultar cual es el molde más costoso,
1. ¿Qué se desea consultar y de que tablas?
max(costo) molde más costoso
2. ¿Qué tablas se ven afectadas?
molde
3. Condiciones
NA
4. ¿Qué comandos se debe utilizar?
select, max
5. Sintaxis: select nombre, max(costo) 'Molde mas costoso' from molde;

14. Consultar el total gastado en fabricación de moldes.
1. ¿Qué se desea consultar y de que tablas?
sum(costo) suma total de costo
2. ¿Qué tablas se ven afectadas?
molde
3. Condiciones
NA
4. ¿Qué comandos se debe utilizar?
select, sum
5. Sintaxis: select sum(costo) 'Total gastado' from molde;

15. Ordenar la tabla cliente por el nombre en forma descendente.
1. ¿Qué se desea consultar y de que tablas?
nombre cliente en forma descendente
2. ¿Qué tablas se ven afectadas?
cliente
3. Condiciones
NA
4. ¿Qué comandos se debe utilizar?
select, order by
5. Sintaxis: select * from cliente order by nombrecliente desc;

16. Contar el número de moldes existentes
1. ¿Qué se desea consultar y de que tablas?
cantidad de registros en la tabla molde
2. ¿Qué tablas se ven afectadas?
molde
3. Condiciones
NA
4. ¿Qué comandos se debe utilizar?
select, count
5. Sintaxis: select count(*) 'Cantidad de moldes' from molde;

17. Visualizar la cantidad de moldes por tipo de molde.(group by)
1. ¿Qué se desea consultar y de que tablas?
cantidad de moldes agrupados por tipo de molde
2. ¿Qué tablas se ven afectadas?
molde
3. Condiciones
NA
4. ¿Qué comandos se debe utilizar?
select , group by
5. Sintaxis: select tipo, count(nombre) as 'Cantidad de cada tipo' from molde group by tipo;

18. Crear una vista con los clientes que terminan en m.
Sintaxis: create view clientesm as select * from cliente where nombrecliente like'%m';

19. Consultar nombre del cliente y el respectivo nombre de molde (inner join).
1. ¿Qué se desea consultar y de que tablas?
cliente.nombrecliente
molde.nombre
2. ¿Qué tablas se ven afectadas?
cliente
molde
climolorden
3. Condiciones
Na
4. ¿Qué comandos se debe utilizar?
select, inner join
5. Sintaxis: select nombrecliente, nombre from cliente inner join climolorden on cliente.codcliente=climolorden.codcliente inner join molde on climolorden.numeromolde=molde.numeromolde;

20. Consultar que moldes no son reutilizados ( left join).
1. ¿Qué se desea consultar y de que tablas?
molde.nombre
reutilizado.fecha
reutilizado.numeromolde
reutilizado.nuevonumeromolde
2. ¿Qué tablas se ven afectadas?
molde
reutilizado
3. Condiciones
reutilizado.numeromolde is null
4. ¿Qué comandos se debe utilizar?
select, left join
5. Sintaxis: select molde.nombre, reutilizado.fecha, reutilizado.numeromolde, reutilizado.nuevonumeromolde from molde left join reutilizado on molde.numeromolde=reutilizado.numeromolde where reutilizado.numeromolde is null;


21. Crear una tabla copia de la tabla cliente.
Sintaxis: create table copia like cliente;

22. Ingresar en la tabla copia los clientes que contengan la letra o en el nombre.(subconsulta)
1. ¿Qué se desea Ingresar?
los clientes que en el nombre contengan la letra o
2. ¿Qué tablas se ven afectadas?
cliente
copia
3. Condiciones
nombrecliente like '%o%'
4. ¿Qué comandos se debe utilizar?
insert into, like
5. Sintaxis: insert into copia select * from cliente where nombrecliente like '%o%';

23. Crear un procedimiento de insertar para la tabla cliente.
Sintaxis: Delimiter //
create procedure insertar_cliente(in _codcliente varchar(6),in _nombrecliente varchar(40))
begin
insert into cliente values(_codcliente,_nombrecliente);
end
//
delimiter ;


24. Crear un procedimiento de listar para la tabla cliente.
Sintaxis: Delimiter //
create procedure listar_cliente()
begin
select * from cliente;
end
//
delimiter ;

25. Crear un procedimiento de eliminar para la tabla cliente.
Sintaxis: delimiter //
create procedure eliminar_alumno(in _codcliente varchar(6))
begin
delete from cliente where codcliente = _codcliente;
end
//
delimiter ;


26. Crear un procedimiento de modificar para la tabla cliente.
Sintaxis: delimiter //
create procedure modificar_cliente(in _codcliente varchar(6),in _nombrecliente varchar(40))
begin
update cliente set nombrecliente = _nombrecliente where codcliente = _codcliente;
end
//
delimiter ;
