You are on page 1of 24

INSTITUTO TECNOLÓGICO SUPERIOR SUCRE

NOMBRE:
Jean Cedeño
CURSO:
2A
ESPECIALIDAD:
Electricidad
MATERIA:
Computación 2
SECCION:
Vespertina

SEMESTRE:
Segundo
INSTITUTO TECNOLÓGICO SUPERIOR SUCRE
Tema: Base de datos

Introducción:
Una consulta es aquella información que nosotros colocamos, por medio de claves en una
base de datos, para buscar con exactitud los datos que nosotros como usuarios, requerimos
en ese instante.

Objetivo general:

 Conocer las distintas formas de realizar consultas, a través de códigos dentro de


una base de datos, para comenzar a realizar las consultas de nuestro proyecto con
gran facilidad.

Objetivos específicos:

 Conocer conceptos básicos de diseño y modelo de relación de una base de datos


 Realizar las sentencias para las consultas
 Hacer distintos ejercicios de consultas para tener mayor dominio de la base de
datos.

Breve descripción de la tarea o proyecto final


Realizar todas las actividades que se encuentran dentro de esta base de datos, para tener
mayor dominio. Además de realizar el informe adecuado a la tarea.

Desarrollo:
Creamos nuestra base de datos de la siguiente manera, poniendo el código:

create database EMPRESA


INSTITUTO TECNOLÓGICO SUPERIOR SUCRE
CREACION DE TABLAS
Procedemos a crear las diferentes tablas para la base de datos ingresando los códigos
correspondientes.
CREATE TABLE DEPARTAMENTO (
N_DEPARTAMENTO INT,
NOMBRE_DEPARTAMENTO CHAR(50),
LOCALIZACION VARCHAR(50),
PRIMARY KEY (N_DEPARTAMENTO))
INSTITUTO TECNOLÓGICO SUPERIOR SUCRE
RELACIONES DE UNO A MUCHOS CON SENTENCIAS
Una vez creadas todas las tablas de una base de datos, procedemos a crear las uniones con
las sentencias correspondientes e identificando si será de muchos a muchos, de uno a uno
o de uno a muchos:
N_DEPARTAMENTO INT,
PRIMARY KEY (CODIGO_C),
CONSTRAINT FK_FDE FOREIGN KEY (N_DEPARTAMENTO) REFERENCES DEPARTAMENTO
(N_DEPARTAMENTO)
)
Diagrama de la base de datos

Ingresar datos en tablas:


Tabla departamento
INSERT INTO DEPARTAMENTO
VALUES ('1','DEPA','QUITO')
INSERT INTO DEPARTAMENTO
VALUES ('2','DEPAUNO','VALLE')
INSERT INTO DEPARTAMENTO
VALUES ('3','DEPADOS','SAN FELIPE')
INSERT INTO DEPARTAMENTO
VALUES ('4','DEPATRES','MARIN')
INSTITUTO TECNOLÓGICO SUPERIOR SUCRE

Tabla EMPLEADO
INSERT INTO EMPLEADO
VALUES
('001','matias','12','FERRO','TRAFICANTE','2018','10000','12','2')
INSERT INTO EMPLEADO
VALUES
('002','antonio','25','FERRO','EXPENDEDOR','2017','1000','50','3')
INSERT INTO EMPLEADO
VALUES ('003','julio','31','SAN
BARTOLO','ANALISTA','2016','5000','40','1')
INSERT INTO EMPLEADO
VALUES
('004','jose','37','LUCHA','DIRECTOR','2016','10450','1044','3')
INSERT INTO EMPLEADO
VALUES
('005','carmen','17','QUINCHE','PRESIDENTE','2014','5041','30','4')
INSERT INTO EMPLEADO
VALUES
('006','alfonso','26','VALLE','EMPLEADO','2015','15000','150','2')
INSERT INTO EMPLEADO
VALUES
('007','luis','32','MAGDALENA','VENDEDOR','2013','16890','80','1')
INSERT INTO EMPLEADO
VALUES ('008','JUAN','32','MAGDA','VENDEDOR','2015','13890','80','3')
INSTITUTO TECNOLÓGICO SUPERIOR SUCRE

Resolver las siguientes consultas en SQL.


--1 Mostrar los nombres de los empleados ordenados
alfabéticamente(Z…A)
SELECT * FROM EMPLEADO ORDER BY NOMBRE DESC

--2 Seleccionar el nombre, el oficio y la localidad de los


departamentos donde trabajan los vendedores
SELECT NOMBRE, OFICIO, LOCALIZACION FROM EMPLEADO, DEPARTAMENTO
WHERE OFICIO ='VENDEDOR' AND
EMPLEADO.N_DEPARTAMENTO=DEPARTAMENTO.N_DEPARTAMENTO
INSTITUTO TECNOLÓGICO SUPERIOR SUCRE

--3 Listar los nombres de los empleados cuyo nombre termine con la
letra 'o'
SELECT NOMBRE FROM EMPLEADO WHERE NOMBRE LIKE '%O'

--4. Seleccionar el nombre, el oficio y salario de los empleados que


trabajan en León.
select nombre, oficio, salario from EMPLEADO where
DIRECCION='FERRO'

select nombre, oficio, salario from EMPLEADO,DEPARTAMENTO


where EMPLEADO.N_DEPARTAMENTO=DEPARTAMENTO.N_DEPARTAMENTO and
localizacion='VALLE'
INSTITUTO TECNOLÓGICO SUPERIOR SUCRE

--5. Seleccionar el nombre, salario y localidad donde trabajan de los


empleados que tengan un salario entre 10000 y 13000.
select nombre, salario, localizacion from EMPLEADO,
DEPARTAMENTO where
EMPLEADO.N_DEPARTAMENTO=DEPARTAMENTO.N_DEPARTAMENTO and
salario between 10000 and 13000

--6. Visualizar los departamentos con más de 2 empleados.


select EMPLEADO.N_DEPARTAMENTO,count(*) from EMPLEADO,
DEPARTAMENTO
where EMPLEADO.N_DEPARTAMENTO=DEPARTAMENTO.N_DEPARTAMENTO group
by
EMPLEADO.N_DEPARTAMENTO having count(*) > 2
INSTITUTO TECNOLÓGICO SUPERIOR SUCRE
--7. Mostrar el nombre, salario y nombre del departamento de los
empleados que tengan el mismo oficio que ‘Leonel Alfonso Esquivel’.
select nombre, salario, NOMBRE_DEPARTAMENTO from EMPLEADO,
DEPARTAMENTO
where EMPLEADO.N_DEPARTAMENTO=DEPARTAMENTO.N_DEPARTAMENTO and
oficio=(select oficio from EMPLEADO where nombre='JUAN')

--8. Mostrar el nombre, salario y nombre del departamento de los


empleados que tengan el mismo oficio que “Castillo Montes Luis” y que
no tengan comisión.
select nombre, salario, NOMBRE_DEPARTAMENTO from EMPLEADO,
DEPARTAMENTO
where EMPLEADO.N_DEPARTAMENTO=DEPARTAMENTO.N_DEPARTAMENTO and
oficio= (select oficio from EMPLEADO where nombre='JUAN')
and comision is null

--9. Mostrar los datos de los empleados que trabajan en el


departamento de contabilidad, ordenados por nombre.
select * from EMPLEADO, DEPARTAMENTO
where EMPLEADO.N_DEPARTAMENTO=DEPARTAMENTO.N_DEPARTAMENTO and
NOMBRE_DEPARTAMENTO = 'DEPA' order by nombre
INSTITUTO TECNOLÓGICO SUPERIOR SUCRE

--10. Nombre de los empleados que trabajan en León y cuyo oficio sea
analista o empleado.
select NOMBRE from EMPLEADO, DEPARTAMENTO
where EMPLEADO.N_DEPARTAMENTO=Departamento.N_DEPARTAMENTO and
localizacion='VALLE' and
oficio in ('Analista','Empleado')
INSTITUTO TECNOLÓGICO SUPERIOR SUCRE
--11. Calcula el salario medio de todos los empleados.
select avg(SALARIO) from EMPLEADO

--12. ¿Cuál es el máximo salario de los empleados del departamento 4?


select max(salario) from EMPLEADO where N_DEPARTAMENTO = 4

--13. Calcula el salario mínimo de los empleados del


departamento‘DEPA’.
select min(salario) from EMPLEADO, DEPARTAMENTO
where NOMBRE_DEPARTAMENTO='DEPA' and
EMPLEADO.N_DEPARTAMENTO=DEPARTAMENTO.N_DEPARTAMENTO

--14. Calcula el promedio del salario de los empleados del


departamento de ‘CONTABILIDAD’.
select avg(salario) from EMPLEADO, DEPARTAMENTO
INSTITUTO TECNOLÓGICO SUPERIOR SUCRE
where EMPLEADO.N_DEPARTAMENTO=DEPARTAMENTO.N_DEPARTAMENTO and
NOMBRE_DEPARTAMENTO='DEPA'

--15. ¿Cuántos empleados hay en el departamento número 1?


select count(*) from EMPLEADO where N_DEPARTAMENTO = 1

--16. ¿Cuántos empleados hay en el departamento de ‘DEPAUNO’?


select count(*) from EMPLEADO, DEPARTAMENTO where
NOMBRE_DEPARTAMENTO='DEPAUNO'

--17. Calcula el número de empleados que no tienen comisión.


select count(*) from EMPLEADO where comision is null
INSTITUTO TECNOLÓGICO SUPERIOR SUCRE

--18. Visualizar cuántos nombres de los empleados empiezan por la


letra ‘A’.
select count(*) from EMPLEADO where nombre like 'A%'

--19. Visualizar el número de empleados de cada departamento.


select EMPLEADO.N_DEPARTAMENTO,count(*) from EMPLEADO,
DEPARTAMENTO
where EMPLEADO.N_DEPARTAMENTO=DEPARTAMENTO.N_DEPARTAMENTO group
by EMPLEADO.N_DEPARTAMENTO

--20. Para cada oficio obtener la suma de salarios.


INSTITUTO TECNOLÓGICO SUPERIOR SUCRE
select OFICIO, sum(SALARIO) from EMPLEADO group by OFICIO

--21. Mostrar los datos de los empleados cuyo salario sea mayor que la
media de todos los salarios.
select * from EMPLEADO where salario>(select avg(salario) from
EMPLEADO)

--22. Seleccionar el nombre del empleado que tiene máximo salario.


select nombre from EMPLEADO where salario=(select max(salario)
from EMPLEADO)
INSTITUTO TECNOLÓGICO SUPERIOR SUCRE

--23. Mostrar el nombre del empleado que tiene el salario más bajo.
select nombre from EMPLEADO where salario=(select min(salario)
from EMPLEADO)

--24. Mostrar los datos del empleado que tiene el salario más alto en
el departamento de ‘DEPADOS’.
select nombre from EMPLEADO,DEPARTAMENTO
where EMPLEADO.N_DEPARTAMENTO= DEPARTAMENTO.N_DEPARTAMENTO and
NOMBRE_DEPARTAMENTO='DEPADOS'
and salario = (select max(salario) from EMPLEADO,DEPARTAMENTO
where
EMPLEADO.N_DEPARTAMENTO = DEPARTAMENTO.N_DEPARTAMENTO and
NOMBRE_DEPARTAMENTO='DEPADOS')
INSTITUTO TECNOLÓGICO SUPERIOR SUCRE

--25. Visualizar el departamento con más empleados.


select N_DEPARTAMENTO from EMPLEADO group by count(*) having
count(*) = (select max(count(*)) from EMPLEADO group by
N_DEPARTAMENTO)

--26. Visualizar el número de departamento que tenga más empleados


cuyo oficio sea vendedor.
select N_DEPARTAMENTO from EMPLEADO where oficio='VENDEDOR'
group by
N_DEPARTAMENTO having count(*) = (select max (count(*)) from
EMPLEADO
where oficio='VENDEDOR' group by N_DEPARTAMENTO)
INSTITUTO TECNOLÓGICO SUPERIOR SUCRE

--27. Mostrar el número de oficios distintos de cada departamento.


select N_DEPARTAMENTO,count(*) from EMPLEADO group by
N_DEPARTAMENTO, oficio

--28. Mostrar los departamentos que tengan más de dos personas


trabajando en la misma profesión.
select N_DEPARTAMENTO, count(*) from EMPLEADO group by
N_DEPARTAMENTO,
oficio having count(*) > 0
INSTITUTO TECNOLÓGICO SUPERIOR SUCRE

Ejemplos de modificación de base de datos:

--1. Insertar en la tabla EMPLEADO un empleado con código 081- 220678-


0008U,
--nombre ‘Pérez Luis Carlos’ de 32 años, oficio Analista, vive en
Matagalpa,
--fecha de alta en la empresa el 22-06-2001, su salario es C$ 15600,
--no tiene comisión y pertenece al departamento 20.
SELECT * FROM EMPLEADO
insert into
EMPLEADO(CODIGO_c,NOMBRE,EDAD,DIRECCION,OFICIO,FECHA_ALT,SALARIO,COMIS
ION,N_DEPARTAMENTO)
values('009','Pérez
LuisCarlos','32','Matagalpa','Analista1','22-06-
2001','15600',null,'4')

--2. Insertar en la tabla DEPARTAMENTO un departamento cuyo número sea


50, de nombre ‘GENERAL’ y cuya localización sea ‘Laborio’.
insert into DEPARTAMENTO
values(50,'General','Laborio')
INSTITUTO TECNOLÓGICO SUPERIOR SUCRE

--3. Insertar en la tabla DEPARTAMENTO un departamento cuyo número sea


60 y de nombre ‘PRUEBAS’.
insert into DEPARTAMENTO(depto_no,nombre_depto)
values(60,'Prueba')

--4. Insertar en la tabla PRUEBA los datos de los empleados que


pertenecen al departamento número 30.
insert into PRUEBA (select * from EMPLEADO where
N_DEPARTAMENTO=4)
INSTITUTO TECNOLÓGICO SUPERIOR SUCRE

--5. Insertar en la tabla PRUEBA2 el codigo_c, número de departamento


y salario de los empleados que pertenecen al departamento número 20.
insert into PRUEBA2 (select codigo_c,depto_no,salario from
EMPLEADO where N_DEPARTAMENTO = 2)

--6. Doblar el salario a todos los empleados del departamento 3.


update EMPLEADO set salario = salario*2 where N_DEPARTAMENTO=3
INSTITUTO TECNOLÓGICO SUPERIOR SUCRE

--7. Cambiar todos los empleados del departamento número 3 al


departamento número 2.
update EMPLEADO set N_DEPARTAMENTO = 2 where N_DEPARTAMENTO = 3

--8. Incrementar en un 10% el sueldo de los empleados del departamento


1.
update EMPLEADO set salario=salario*1.1 where N_DEPARTAMENTO=1
INSTITUTO TECNOLÓGICO SUPERIOR SUCRE
--9. Cambiar la localidad del departamento número 2 a ‘Zaragoza’.
update EMPLEADO set localizacion='Zaragoza' where N_DEPARTAMENTO
= 2

--10. Igualar el salario de ‘Esquivel Jose’ al salario de ‘Esquivel


Leonel Alfonso’, de la tabla PRUEBA.
update EMPLEADO set salario = (select salario from PRUEBA
where nombre=' Esquivel Leonel Alfonso ') where nombre='
Esquivel Jose'
INSTITUTO TECNOLÓGICO SUPERIOR SUCRE
--11. En la tabla DEPARTAMENTO borrar el departamento número 40.
SELECT * FROM EMPLEADO
delete from DEPARTAMENTO where N_DEPARTAMENTO = 50

--12. En la tabla EMPLEADO borrar todos los empleados que sean del
departamento 4 y sean ‘ANALISTAS1’.
delete from EMPLEADO where N_DEPARTAMENTO = 4 and
oficio='Analista1'
INSTITUTO TECNOLÓGICO SUPERIOR SUCRE
--13. Borrar de la tabla EMPLEADO todos los empleados que no tengan
comisión.
delete from EMPLEADO where comision is null

Conclusiones:
Con la realización de estos diferentes ejercicios de consultas, pude entender la manera de
escribir con exactitud las sentencias, además de poder enlazar las tablas de acuerdo a su
sentencia, además de aprender a ingresar datos a las tablas ya creadas por los usuarios,
así, podre tener más facilidad a la hora de realizar mi propia base de datos.
Recomendaciones:

 Realizar más ejercicios como estos para tener siempre la corriente de cómo
hacer las consultas y no perdernos.
 Investigar más acerca de los enlazamientos de las tablas
 Conocer todas las sentencias y prepararnos para el trabajo final de defensa
de nuestra base de datos.

Fuente de trabajo:

Base de datos creada por ing. Alex Merino:

(Create database EMPRESA)

You might also like