DISEÑO FISICO DE BASE DE DATOS EN MYSQL SERVER-SQL
SERVER
CREANDO BASE DE DATOS
Create database Ejercicio1;
USANDO BD
Use Ejercicio1;
CREANDO TABLA DEPARTAMENTO
Create table Departamento(
Depto_no int primary key,
Nombre_depto varchar(40),
localizacion varchar(45)
);
CREANDO TABLA EMPLEADO Y RELACIONANDOLA CON DEPARTAMENTO
Create table Empleado(
Codigo_c varchar(40) primary key,
Nombre varchar(100),
Edad varchar(2),
Oficio varchar(30),
Dir varchar(30),
Fecha_Alt date,
Salario numeric(10,2),
Comision numeric(10,2),
Depto_no int,
Foreign key(Depto_no) references Departamento(Depto_no)
);
INSERTANDO REGISTROS EN LA TABLA DEPARTAMENTO
Insert into Departamento(Depto_no,Nombre_depto,localizacion)
values (10,'Desarrollo Software','El Coyolar'),
(20,'Analisis Sistema','Guadalupe'),
(30,'Contabilidad','Subtiava'),
(40,'Ventas','San Felipe');
INSERTANDO REGISTROS EN LA TABLA EMPLEADO
Insert into
Empleado(Codigo_c,Nombre,Edad,Oficio,Dir,Fecha_Alt,Salario,Comision,Depto_no)
values ('Emp001','Rocha Vargas Hector','27','Vendedor','Leon','1983-05-
12',12000,0,40),
('Emp002','Lopez Hernandez Julio','27','Analista','Chinandega','1982-07-
14',13000,1500,20),
('Emp003','Esquivel Jose','31','Director','Juigalpa','1981-06-
05',16700,1200,30),
ANTHONY CARDENAS AQUINO - 997852483 1
('Emp004','Delgado Carmen','37','Vendedor','Leon','1983-03-
02',13400,0,40),
('Emp005','Castillo Montes Luis','17','Vendedor','Masaya','1982-08-
12',16309,1000,40),
('Emp006','Esquivel Leonel alfonso','26','Presidente','Nagarote','1981-
09-12',15000,0,30),
('Emp007','Perez Luis','32','Empleado','Managua','1980-03-
02',16890,0,10);
CONSULTAS
-- 1. MOSTRAR LOS NOMBRES DE LOS EMPLEADOS ORDENADOS ALFABETICAMENTE (Z.…A)
Select * from Empleado order by nombre desc;
-- 2. MOSTRAR LOS NOMBRES DE LOS EMPLEADOS ORDENADOS ALFABETICAMENTE (A.…Z)
Select * from Empleado order by nombre asc;
-- 3. SELECCIONAR A LOS EMPLEADO CUYO NOMBRE EMPIEZE CON LA LETRA E
Select * from Empleado where Nombre like 'e%';
-- 4. SELECCIONAR A LOS EMPLEADO CUYO NOMBRE FINALIZE CON LA LETRA O
Select * from Empleado where Nombre like '%o';
ANTHONY CARDENAS AQUINO - 997852483 2
-- 5. SELECCIONAR A LOS EMPLEADO CUYA SEGUNDA LETRA DEL NOMBRE SEA E
Select * from Empleado where Nombre like '_E%';
-- 6. SELECCIONAR EL NOMBRE, EL OFICIO DEL EMPLEADO Y EL NOMBRE DEL DEPARTAMENTO
DONDE TRABAJAN LOS EMPLEADOS
Select Empleado.Nombre,Empleado.oficio,Departamento.Nombre_depto from
Empleado,Departamento
where Empleado.Depto_no = Departamento.Depto_no;
-- 7. SELECCIONAR EL NOMBRE, EL OFICIO Y SALARIO DE LOS EMPLEADOS QUE TRABAJAN EN
LEON
Select E.Nombre,E.Oficio,E.Salario from Empleado E where Dir='Leon';
-- 8. SELECCIONAR EL NOMBRE, SALARIO Y LOCALIDAD DONDE TRABAJAN LOS EMPLEADOS
QUE TENGAN UN SALARIO ENTRE 10000 Y 13000
Select E.Nombre,E.Salario,D.Localizacion from Empleado E,Departamento D
where (E.Salario between 10000 and 13000) and E.Depto_no = D.Depto_no;
-- 9. LISTAR LOS DEPARTAMENTOS CON MÁS DE 2 EMPLEADOS
Select E.Depto_no,count(*) from Empleado E, Departamento D
where E.Depto_no = D.Depto_no group by E.Depto_no having count(*) > 2;
ANTHONY CARDENAS AQUINO - 997852483 3
-- 10. Mostrar el nombre(empleado), Salario y Nombre del departamento de los empleados
que tengan el mismo oficio que Castillo Montes Luis
Select E.Depto_no,E.Salario,D.Nombre_Depto from Empleado E,Departamento D where
E.Depto_no=D.Depto_no
and E.Oficio = (Select Oficio from Empleado where Nombre ='Castillo Montes
Luis');
-- 11. MOSTRAR LOS DATOS DE LOS EMPLEADOS QUE TRABAJAN EN EL DEPARTAMENTO DE
CONTABILIDAD, ORDENADOS POR NOMBRE.
Select E.* from Empleado E,Departamento D
where D.Nombre_depto like 'Contabilidad' and E.Depto_no=D.Depto_no order by
E.Nombre;
-- 12. Nombre de los empleados que trabajan en Leon y Cuyo Oficio sea Analista o Empleado
Select E.Nombre from Empleado E where E.Oficio = 'Analista' or E.Oficio =
'Empleado';
-- 13. CALCULA EL PROMEDIO DEL SALARIO DE TODOS LOS EMPLEADOS
Select avg(E.Salario) from Empleado E;
-- 14. ¿Cuál es el Máximo Salario de los empleados del departamento 40?
Select max(E.Salario) from Empleado E where E.Depto_no = 40;
ANTHONY CARDENAS AQUINO - 997852483 4
-- 15. LISTAR EL SALARIO MINIMO DE LOS EMPLEADOS DEL DEPARTAMENTO VENTAS.
Select min(E.Salario),D.Nombre_depto from Empleado E,Departamento D where
E.Depto_no = D.Depto_no and D.Nombre_Depto like 'Ventas' group by
D.Nombre_depto;
-- 16. CALCULA EL PROMEDIO DEL SALARIO DE LOS EMPLEADOS DEL DEPARTAMENTO DE
CONTABILIDAD
Select avg(E.Salario),D.nombre_depto from Empleado E,Departamento D
where E.Depto_no=D.Depto_no and D.Nombre_depto like 'Contabilidad' group by
D.Nombre_depto;
-- 17. ¿CUÁNTOS EMPLEADOS HAY EN EL DEPARTAMENTO NUMERO 30?
Select count(*) from Empleado E where E.Depto_no = 30;
-- 18. ¿CUÁNTOS EMPLEADOS HAY EN EL DEPARTAMENTO VENTAS?
Select count(*),D.Nombre_Depto from Empleado E,Departamento D where
E.Depto_no=D.Depto_no and D.Nombre_Depto like 'Ventas' group by D.Nombre_depto;
-- 19 VISUALIZAR CUANTOS NOMBRES DE LOS EMPLEADOS EMPIEZAN POR LA LETRA E
Select count(*) from Empleado E where E.Nombre like 'E%';
-- 20 VISUALIZAR EL NUMERO DE EMPLEADOS DE CADA DEPARTAMENTO
Select count(*), E.Depto_no from Empleado E group by E.Depto_no;
ANTHONY CARDENAS AQUINO - 997852483 5
-- 21 MOSTRAR LA SUMA DE SALARIO TOTAL POR CADA OFICIO
Select sum(E.Salario),E.oficio From Empleado E group by E.Oficio;
ANTHONY CARDENAS AQUINO - 997852483 6