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)
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)
5. Sustentación
EXITOS...
Enunciado del problema
La empresa A'sellaseg ingeniería desea implementar una base de datos para llevar un cierto control sobre el sistema de moldes. Se requiere que esta base de datos almacene la información correspondiente a cada molde (número o referencia, descripción, medidas, fecha de fabricación, valor), se debe tener en cuenta que puede ser tipo molde o tipo perfil y varios materiales para su fabricación.
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.
Punto 2 y 3
Enlace drive: https://drive.google.com/drive/folders/1Mov5DIIOHpPJ4vA5LZVhrO8rTdGUls_o?usp=sharing
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 ;