You are on page 1of 19

MATERIA: Taller de Base de Datos CARRERA: ING.

INFORMÁTICA

TEMA: Creación de Base de Datos


ALUMNOS: RETIZ LARIOS JUAN ISAAC, REYES GONZALEZ LUIS FERNANDO, RODRIGUEZ JIMENEZ AXEL
SANCHEZ LUNA JUAN CARLOS, SANTOS ALEJANDRE JOSE ANTONIO

OBJETIVO
Ver el manejo de la información en las bases de datos con la ayuda de Queries, para poder
resolver los problemas dados

INTRODUCCIÓN
La base de datos que contiene información relativa al servicio de directorio se ha
realizado en lenguaje SQL utilizando concretamente el servidor de bases de datos
que ofrece MySQL. La base de datos al completo es diseñada y gestionada
mediante el gestor de bases de datos que ofrece MySQL, pero las distintas
consultas que deba realizar el cliente serán llevadas a cabo por el servicio web.
Las capacidades de MySQL son extremadamente amplias, ya que este servidor de
bases de datos cuenta con un gran potencial de funcionamiento. El objetivo de este
punto es el de mostrar el uso de MySQL para crear y usar una sencilla base de
datos. MySQL ofrece un programa interactivo que permite conectarnos a un servidor
MySQL, ejecutar consultas y ver los resultados. Todas estas operaciones se pueden
llevar a cabo tanto desde línea de comando en un shell, como desde un programa
front-end gráfico que presente una interfaz gráfica de control.

DESARROLLO
Supongamos que nuestra base de datos está siendo utilizada por una pequeña
empresa la cual tiene el interés de saber los siguientes datos (empleados,
departamento, localizaciones, proyecto, puesto del empleado y dependiente) para
esto se elaborara una tabla con el siguiente código:

Para comenzar nuestro código crearemos la base de datos con:

CREATE DATABASE seguido del nombre que responderá la base de datos

Por lo consiguiente comenzaremos nuestras tablas:

USE empresa ;
El USE es usado para tomar la base que se creó y trabajar en ella
create table empleado(
nombre varchar(15),
inic char(1),
Página 1 de 19
Fecha: 14/03/2019 Tarea: #1, Unidad: #2
MATERIA: Taller de Base de Datos CARRERA : ING. I NFORMÁTICA

TEMA: Creación de Base de Datos


ALUMNOS: RETIZ LARIOS JUAN ISAAC, REYES GONZALEZ LUIS FERNANDO, RODRIGUEZ JIMENEZ AXEL
SANCHEZ LUNA JUAN CARLOS, SANTOS ALEJANDRE JOSE ANTONIO
apellido varchar(15),
nss int not null primary key,
fecha_ncto date,
direccion varchar(50),
sexo char(1),
salario int,
nss_supery int references empleado(nss) ON DELETE RESTRICT );
Explicando este código podemos decir que comenzamos nuestra tabla llama
EMPLEADO
Agregando los datos que pedirá nuestra tabla como lo son (nombre, inic, apellido,
fecha, dirección, sexo y salario)
En cada dato que ese pide en esta tabla va agregado un VARCHAR, CHAR o INT
los cuales indican el tipo de caracteres que se pueden agregar en las columnas
Char: almacena una cadena de longitud fija. La cadena podrá contener desde 0 a
255 caracteres.
VarChar: almacena una cadena de longitud variable. La cadena podrá contener
desde 0 a 255 caracteres
Y el resultado es:
Nombre apellido Fecha Dirección sexo salario

Ahora crearemos nuestra tabla que corresponde al nombre de: DEPARTAMENTO


create table departamento(
nombred varchar(30),
numerod char(1) not null primary key,
nss_jefe int references empleado(nss) ON DELETE RESTRICT,
fecha_inic_jefe date );

cómo podemos ver los campos a llenar son distintos ya que pide la información del
departamento son (nombre, numero, jefe y fecha)

Página 2 de 19
Fecha: 14/03/2019 Tarea: #1, Unidad: #2
MATERIA: Taller de Base de Datos CARRERA : ING. I NFORMÁTICA

TEMA: Creación de Base de Datos


ALUMNOS: RETIZ LARIOS JUAN ISAAC, REYES GONZALEZ LUIS FERNANDO, RODRIGUEZ JIMENEZ AXEL
SANCHEZ LUNA JUAN CARLOS, SANTOS ALEJANDRE JOSE ANTONIO
pero ahora usamos lo que es NOT NULL PRIMARY KEY
esta nos ayuda a: La columna definida como clave primaria (PRIMARY KEY) debe
ser UNIQUE (valor único) y NOT NULL (no puede contener valores nulos).
y nuestro resultado es:
Nombre numero Jefe Fecha

Seguiremos con nuestra tabla llamada: LOCALIZACION


create table localizaciones_dept(
numerod char(1) references departamento(numerod) ON DELETE
RESTRICT,
localizaciond varchar(20) not null,
primary key(localizaciond,numerod)
como podremos notar se uso el REFERENCES y ON DELETE RESTRIC los cuales
sirven para :
REFERENCES: es una columna o varias columnas, que sirven para señalar cual es
la clave primaria de otra tabla.
ON DELETE RESTIC: Rechaza la operación de eliminación o actualización para la
tabla padre
Y nuestra tabla sale de esta manera cuando la corremos:
Numero Localización

Por lo consiguiente crearemos nuestra tabla llamada: PROYECTO

create table proyecto(


nombrep varchar(30),
numerop int not null primary key,
localizacionp varchar(20),
numd char(1) references departamento(numerod) ON DELETE CASCADE

Página 3 de 19
Fecha: 14/03/2019 Tarea: #1, Unidad: #2
MATERIA: Taller de Base de Datos CARRERA : ING. I NFORMÁTICA

TEMA: Creación de Base de Datos


ALUMNOS: RETIZ LARIOS JUAN ISAAC, REYES GONZALEZ LUIS FERNANDO, RODRIGUEZ JIMENEZ AXEL
SANCHEZ LUNA JUAN CARLOS, SANTOS ALEJANDRE JOSE ANTONIO
como ya antes explicamos los comandos daremos por hecho entendido el
funcionamiento de cada uno que se usó en este código
solo podemos decir y explicar el uso de REFERENCES
REFERENCES: La clave externa o FOREIGN KEY, es una columna o varias
columnas, que sirven para señalar cual es la clave primaria de otra tabla
Y corriendo nuestro programa da por resultado:

Nombre numero Localización


Nuestra siguiente tabla tiene en nombre de: TRABAJA
En nuestra tabla de trabajo como ya podemos ver nos pide los números únicos de
MPLEADO, PREOYECTO y HORAS tomando como referencia las tablas ya antes
creadas y dándonos como resultado el numero del empleado y el número del
proyecto al que está asignado

créate table trabaja_en(


nsse int references empleado(nss) ON DELETE RESTRICT,
np int references proyecto(numerop) ON DELETE CASCADE,
horas real, primary key(nsse,np)

en esta parte del código estamos creando nuestra primera tabla la cual le pusimos
como nombre TRABAJA además donde usamos referencia con empleados, seguido
de un (NSS) este corresponde a un nuero único, después usaremos ON DELETE
RESTRICT esta rechaza la eliminación o la actualización de la tabla padre
continuando con el código podremos observar que se usó ON DELETE CASCADE
Borra o actualiza el registro en la tabla padre y automáticamente borra o actualiza
los registros coincidentes en la tabla hija
por ultimo se puede apreciar que se usa primary key(nsse,np) identifica de manera
única cada fila de una tabla (La columna definida como clave primaria)
el resultado es :
Empleado Proyecto Horas

Por último, nuestra tabla se llamará: DEPENDIENTE

Página 4 de 19
Fecha: 14/03/2019 Tarea: #1, Unidad: #2
MATERIA: Taller de Base de Datos CARRERA : ING. I NFORMÁTICA

TEMA: Creación de Base de Datos


ALUMNOS: RETIZ LARIOS JUAN ISAAC, REYES GONZALEZ LUIS FERNANDO, RODRIGUEZ JIMENEZ AXEL
SANCHEZ LUNA JUAN CARLOS, SANTOS ALEJANDRE JOSE ANTONIO

create table dependiente(


nsse int references empleado(nss) ON DELETE RESTRICT,
nombre_dependiente varchar(15),
sexo char(1),emp
fecha_ncto date,
parentesco varchar(10),
primary key(nsse,nombre_dependiente)
);
alter table empleado add column nd char(1) references departamento(numerod) ON
DELETE RESTRICT;
esta tabla como podemos ver la información recabada será tomada también de las
otras tablas ya antes creadas las cuales son (empleado y nombre)
pero la información que aparecerá en nuestra tabla será las que se estuvo
solicitando en el código ya que es las siguiente (nombre, sexo, fecha y parentesco)
y al correr nuestro programa nos saldrá lo siguiente
Nombre sexo Fecha parentezco

INSERCIONES EN LAS TABLAS DE LA BASE DE DATOS


/**** Insercion a la Tabla empleado****/
insert into emplado(nombre, inic, apellido, nss, fecha_ncto, direccion, sexo, salario,
nss_supery)
values ('James','E','Borg',888665555,'1937-11-10','450 Stone, Houston, TX','H',
55000,null);

insert into emplado(nombre, inic, apellido, nss, fecha_ncto, direccion, sexo, salario,
nss_supery)
values ('Franklin','T','Wong',333445555,'1955-12-08','638 Voss, Houston, TX', 'H',
40000, 888665555);

Página 5 de 19
Fecha: 14/03/2019 Tarea: #1, Unidad: #2
MATERIA: Taller de Base de Datos CARRERA : ING. I NFORMÁTICA

TEMA: Creación de Base de Datos


ALUMNOS: RETIZ LARIOS JUAN ISAAC, REYES GONZALEZ LUIS FERNANDO, RODRIGUEZ JIMENEZ AXEL
SANCHEZ LUNA JUAN CARLOS, SANTOS ALEJANDRE JOSE ANTONIO
insert into emplado(nombre, inic, apellido, nss, fecha_ncto, direccion, sexo, salario,
nss_supery)
values ('Jeniffer','S','Wallace',987654321,'1941-06-20','291 Berry, Beilaire,
TX','M',43000, 888665555);

insert into emplado(nombre, inic, apellido, nss, fecha_ncto, direccion, sexo, salario,
nss_supery)
values ('Ramesin','K','Narayan',666884444,'1962-09-15','975 Fire Oak, Humble,
TX','H', 38000, 333445555);

insert into emplado(nombre, inic, apellido, nss, fecha_ncto, direccion, sexo, salario,
nss_supery)
values ('Joyce','A','English',453453453,'1972-07-31','5631 Rice, Houston, TX','M',
30000, 333445555);

insert into emplado(nombre, inic, apellido, nss, fecha_ncto, direccion, sexo, salario,
nss_supery)
values ('John','B','Smith',123456789,'1965-01-09','731 Fondren, Houston, TX','H',
30000, 333445555);

insert into emplado(nombre, inic, apellido, nss, fecha_ncto, direccion, sexo, salario,
nss_supery)
values ('Alicia','J','Zelaya',999887777,'1968-07-19','3321 Castle, Soring, TX','M',
25000, 987654321);

insert into emplado(nombre, inic, apellido, nss, fecha_ncto, direccion, sexo, salario,
nss_supery)
values ('Ahmad','V','Jabbar',987987987,'1968-08-29','980 Dllas, Houston, TX','H',
25000, 987654321);

/****inserción a la Tabla departamento****/

Página 6 de 19
Fecha: 14/03/2019 Tarea: #1, Unidad: #2
MATERIA: Taller de Base de Datos CARRERA : ING. I NFORMÁTICA

TEMA: Creación de Base de Datos


ALUMNOS: RETIZ LARIOS JUAN ISAAC, REYES GONZALEZ LUIS FERNANDO, RODRIGUEZ JIMENEZ AXEL
SANCHEZ LUNA JUAN CARLOS, SANTOS ALEJANDRE JOSE ANTONIO
insert into departamento(nombred,numerod,nss_jefe,fecha_inic_jefe)
values ('Investigacion','5',333445555,'1968-05-22');

insert into departamento(nombred,numerod,nss_jefe,fecha_inic_jefe)


values ('Administracion','4','987654321','1995-01-01');

insert into departamento(nombred,numerod,nss_jefe,fecha_inic_jefe)


values ('Direccion','1',888665555,'1981-06-19');

/****inserción a la tabla localizaciones_dept****/


insert into localizaciones_dept(numerod,localizaciond)
values ('1','Houston');

insert into localizaciones_dept(numerod,localizaciond)


values ('4','Stafford');

insert into localizaciones_dept(numerod,localizaciond)


values ('5','Beliara');

insert into localizaciones_dept(numerod,localizaciond)


values ('5','Sugarland');

insert into localizaciones_dept(numerod,localizaciond)


values ('5','Houston');

/****insercion a la tabla proyecto****/


insert into proyecto(nombrep,numerop,localizacionp,numd)

Página 7 de 19
Fecha: 14/03/2019 Tarea: #1, Unidad: #2
MATERIA: Taller de Base de Datos CARRERA : ING. I NFORMÁTICA

TEMA: Creación de Base de Datos


ALUMNOS: RETIZ LARIOS JUAN ISAAC, REYES GONZALEZ LUIS FERNANDO, RODRIGUEZ JIMENEZ AXEL
SANCHEZ LUNA JUAN CARLOS, SANTOS ALEJANDRE JOSE ANTONIO
values ('Producto X', 1, 'Bellaire', '5');

insert into proyecto(nombrep,numerop,localizacionp,numd)


values ('Producto Y', 2, 'Sugarland', '5');

insert into proyecto(nombrep,numerop,localizacionp,numd)


values ('Producto Z', 3, 'Houston', '5');

insert into proyecto(nombrep,numerop,localizacionp,numd)


values ('Automatizacion', 10, 'Stafford', '4');

insert into proyecto(nombrep,numerop,localizacionp,numd)


values ('Reorganizacion', 20, 'Houston', '1');

insert into proyecto(nombrep,numerop,localizacionp,numd)


values ('Nuevos Beneficios', 30, 'Stafford', '4');

/****insercion a la tabla trabaja_en****/


insert into trabaja_en(nsse,np,horas)
values (123456789, 1, 32.5);

insert into trabaja_en(nsse,np,horas)


values (123456789, 2, 7.5);

insert into trabaja_en(nsse,np,horas)


values (666884444, 3, 10.0);

Página 8 de 19
Fecha: 14/03/2019 Tarea: #1, Unidad: #2
MATERIA: Taller de Base de Datos CARRERA : ING. I NFORMÁTICA

TEMA: Creación de Base de Datos


ALUMNOS: RETIZ LARIOS JUAN ISAAC, REYES GONZALEZ LUIS FERNANDO, RODRIGUEZ JIMENEZ AXEL
SANCHEZ LUNA JUAN CARLOS, SANTOS ALEJANDRE JOSE ANTONIO
insert into trabaja_en(nsse,np,horas)
values (453453453, 1, 20.0);

insert into trabaja_en(nsse,np,horas)


values (453453453, 2, 20.0);

insert into trabaja_en(nsse,np,horas)


values (333445555, 2, 10.0);

insert into trabaja_en(nsse,np,horas)


values (333445555, 3, 10.0);

insert into trabaja_en(nsse,np,horas)


values (333445555, 10, 10.0);

insert into trabaja_en(nsse,np,horas)


values (333445555, 20, 10.0);

insert into trabaja_en(nsse,np,horas)


values (999887777, 30, 30.0);

insert into trabaja_en(nsse,np,horas)


values (999887777, 10, 10.0);

insert into trabaja_en(nsse,np,horas)


values (987987987, 10, 35.0);

Página 9 de 19
Fecha: 14/03/2019 Tarea: #1, Unidad: #2
MATERIA: Taller de Base de Datos CARRERA: ING. INFORMÁTICA

TEMA: Creación de Base de Datos


ALUMNOS: RETIZ LARIOS JUAN ISAAC, REYES GONZALEZ LUIS FERNANDO, RODRIGUEZ JIMENEZ AXEL
SANCHEZ LUNA JUAN CARLOS, SANTOS ALEJANDRE JOSE ANTONIO
insert into trabaja_en(nsse,np,horas)
values (987987987, 30, 5.0);

insert into trabaja_en(nsse,np,horas)


values (987654321, 30, 20.0);

insert into trabaja_en(nsse,np,horas)


values (987654321, 20, 5.0);

insert into trabaja_en(nsse,np,horas)


values (888665555, 20, null);

/****Insercion a la dependiente****/
insert into dependiente(nsse,nombre_dependiente,sexo,fecha_ncto,parentesco)
values (333445555, 'Alice','M','1986-04-05', 'Hija');

insert into dependiente(nsse,nombre_dependiente,sexo,fecha_ncto,parentesco)


values (333445555, 'Theodore','H','1983-10-25', 'Hijo');

insert into dependiente(nsse,nombre_dependiente,sexo,fecha_ncto,parentesco)


values (333445555, 'Joy','M','1958-05-03', 'Esposa');

insert into dependiente(nsse,nombre_dependiente,sexo,fecha_ncto,parentesco)


values (987654321, 'Abner','H','1942-02-28', 'Esposa');

insert into dependiente(nsse,nombre_dependiente,sexo,fecha_ncto,parentesco)


values (123456789, 'Michael','H','1988-01-04', 'Hijo');

Página 10 de 19
Fecha: 14/03/2019 Tarea: #1, Unidad: #2
MATERIA: Taller de Base de Datos CARRERA : ING. I NFORMÁTICA

TEMA: Creación de Base de Datos


ALUMNOS: RETIZ LARIOS JUAN ISAAC, REYES GONZALEZ LUIS FERNANDO, RODRIGUEZ JIMENEZ AXEL
SANCHEZ LUNA JUAN CARLOS, SANTOS ALEJANDRE JOSE ANTONIO

insert into dependiente(nsse,nombre_dependiente,sexo,fecha_ncto,parentesco)


values (123456789, 'Alice','M','1988-12-30', 'Hija');

insert into dependiente(nsse,nombre_dependiente,sexo,fecha_ncto,parentesco)


values (123456789, 'Elizabeth','M','1957-05-05', 'Esposa');

¨/*** modificaciones***/
delete from trabaja_en where np = 3;
update empleado set nd = '1' where nss = 888664444;

/*** actulizacion tabala empleado***/


update empleado set nd = '1' where nss = 888665555;
update empleado set nd = '5' where nss = 333445555;
update empleado set nd = '4' where nss = 987654321;
update empleado set nd = '5' where nss = 666884444;
update empleado set nd = '5' where nss = 453453453;
update empleado set nd = '5' where nss = 123456789;
update empleado set nd = '4' where nss = 999887777;
update empleado set nd = '4' where nss = 987987987;

Página 11 de 19
Fecha: 14/03/2019 Tarea: #1, Unidad: #2
MATERIA: Taller de Base de Datos CARRERA: ING. INFORMÁTICA

TEMA: Creación de Base de Datos


ALUMNOS: RETIZ LARIOS JUAN ISAAC, REYES GONZALEZ LUIS FERNANDO, RODRIGUEZ JIMENEZ AXEL
SANCHEZ LUNA JUAN CARLOS, SANTOS ALEJANDRE JOSE ANTONIO

PROBLEMAS

1) Recupere la fecha de nacimiento y dirección del empleado cuyo nombre es


‘John B Smith’

 select fecha_ncto,direccion from empleado


where nombre = 'John' and apellido = 'Smith'

2) Recupere el nombre y dirección de todos los empleados que trabajan para el


depto. De Investigacion

 select nombre,apellido,direccion from empleado, departamento


where nombred = 'Investigacion' and numerod = '5'

3) De cada proyecto ubicado en Strafford haga una lista con el número de


proyectos, el número del depto. del controlador y el apellido, dirección, fecha
de nacimiento del jefe del departamento.

Página 12 de 19
Fecha: 14/03/2019 Tarea: #1, Unidad: #2
MATERIA: Taller de Base de Datos CARRERA: ING. INFORMÁTICA

TEMA: Creación de Base de Datos


ALUMNOS: RETIZ LARIOS JUAN ISAAC, REYES GONZALEZ LUIS FERNANDO, RODRIGUEZ JIMENEZ AXEL
SANCHEZ LUNA JUAN CARLOS, SANTOS ALEJANDRE JOSE ANTONIO

select numerop,numd, apellido,direccion,fecha_ncto


from proyecto,departamento,empleado
where numd=4 and nss_jefe=987654321 and localizacionp='Stafford'

4) De cada empleado recupere su nombre de pila y apellido y los de supervisión


de inmediato.

 select e.nombre, e.apellido, s.nombre, s.apellido from empleado e, empleado


s
where e.nss_supery=s.nss

5) Obtenga una lista con todos los números de los proyectos en los que participa
un empleado de apellido ‘Smith’ sea como trabajador o como jefe del
departamento que controla el proyecto.

 select numerop from proyecto,departamento,empleado


where numerod = '5' and nss_jefe = '333445555' and apellido = 'Smith'
union
select np from trabaja_en,empleado
where nss = '123456789' and apellido = 'Smith'

Página 13 de 19
Fecha: 14/03/2019 Tarea: #1, Unidad: #2
MATERIA: Taller de Base de Datos CARRERA: ING. INFORMÁTICA

TEMA: Creación de Base de Datos


ALUMNOS: RETIZ LARIOS JUAN ISAAC, REYES GONZALEZ LUIS FERNANDO, RODRIGUEZ JIMENEZ AXEL
SANCHEZ LUNA JUAN CARLOS, SANTOS ALEJANDRE JOSE ANTONIO

6) Recupere todos los empleados cuya dirección se Houston. Texas.

 select nombre, apellido from empleado


where direccion like '%Houston, TX%'

7) Encuentre todos los empleados que *nacieron en la década de los cincuenta.

 select nombre,apellido from empleado


where fecha_ncto between '1950-01-01' and '1959-12-31'

Página 14 de 19
Fecha: 14/03/2019 Tarea: #1, Unidad: #2
MATERIA: Taller de Base de Datos CARRERA: ING. INFORMÁTICA

TEMA: Creación de Base de Datos


ALUMNOS: RETIZ LARIOS JUAN ISAAC, REYES GONZALEZ LUIS FERNANDO, RODRIGUEZ JIMENEZ AXEL
SANCHEZ LUNA JUAN CARLOS, SANTOS ALEJANDRE JOSE ANTONIO

8) Muestre los salarios resultantes si cada


* empleado que trabaja en el proyecto
‘producto x’ recibe un aumento del 10%.

 select nombre, apellido, 1.10*salario as bono from empleado, trabaja_en,


proyecto
where nss = nsse and np = '1' and nombrep ='Producto X'

9) Recupere todos los empleados del *departamento 5 cuyo salario este entre
30000 y 40000 dólares.

 select * from empleado, departamento


where (salario between 30000 and 40000) and nd = '5'

10) Obtenga una lista de los empleados y de los proyectos en los que trabajan
ordenados por departamento y, * dentro de cada departamento,
alfabéticamente por apellido y nombre.

 select nombred, apellido, nombre, nombrep from departamento,


empleado,trabaja_en, proyecto
where numerod = nd and nss = nsse and np = numerop
order by nombred , apellido ASC, nombre ASC

Página 15 de 19
Fecha: 14/03/2019 Tarea: #1, Unidad: #2
MATERIA: Taller de Base de Datos CARRERA: ING. INFORMÁTICA

TEMA: Creación de Base de Datos


ALUMNOS: RETIZ LARIOS JUAN ISAAC, REYES GONZALEZ LUIS FERNANDO, RODRIGUEZ JIMENEZ AXEL
SANCHEZ LUNA JUAN CARLOS, SANTOS ALEJANDRE JOSE ANTONIO

11) Recupere el nombre de cada empleado


* que tenga un familiar dependiente
con el mismo nombre de pila y sexo que el empleado.

 select * from empleado e


inner join dependiente dep on dep.nsse = e.nss_supery
where dep.nombre_dependiente = e.nombre and e.sexo = dep.sexo

12) Recupere los nombres de empleado* que no tienen familiares dependientes.

 select e.nombre from empleado e


where e.nss not in (SELECT nsse FROM dependiente)

13) Enumere los nombres de los jefes


* que tienen por lo menos un familiar
dependiente.

 select e.nombre from empleado e


where e.nss_supery not in (SELECT nsse FROM dependiente)

Página 16 de 19
Fecha: 14/03/2019 Tarea: #1, Unidad: #2
MATERIA: Taller de Base de Datos CARRERA : ING. I NFORMÁTICA

TEMA: Creación de Base de Datos


ALUMNOS: RETIZ LARIOS JUAN ISAAC, REYES GONZALEZ LUIS FERNANDO, RODRIGUEZ JIMENEZ AXEL
SANCHEZ LUNA JUAN CARLOS, SANTOS ALEJANDRE JOSE ANTONIO

14) Recupere los nombres de todos los*empleados que no tienen supervisor.

 select e.nombre from empleado e


where e.nss_supery is null

15) Halle la suma de los salarios de todos


* los empleados, el salario máximo, el
salario mínimo y el salario medio.

 select sum(salario), max(salario), min(salario), avg(salario)


from empleado

16) Recupere el nombre de todos los empleados


* que tienen dos o más familiares.

 SELECT distinct nombre, apellido FROM empleado,dependiente WHERE


nss= nsse group by nss having count(*)>1;

17) Recupere el número y nombre de departamento,


* el número de empleados de
cada departamento y su salario medio.

 SELECT nd, departamento.nombred, count(*)as


numero_empleado, avg(salario)as salario_medio
FROM empleado, departamento
WHERE empleado.nd=departamento.numerod group by nd,
departamento.nombred;

Página 17 de 19
Fecha: 14/03/2019 Tarea: #1, Unidad: #2
MATERIA: Taller de Base de Datos CARRERA: ING. INFORMÁTICA

TEMA: Creación de Base de Datos


ALUMNOS: RETIZ LARIOS JUAN ISAAC, REYES GONZALEZ LUIS FERNANDO, RODRIGUEZ JIMENEZ AXEL
SANCHEZ LUNA JUAN CARLOS, SANTOS ALEJANDRE JOSE ANTONIO

18) Recupere el nombre del proyecto, el nombre del proyecto y el numero de


empleados de cada departamento* asignados a un proyecto y su salario
medio.

 SELECT distinct numerop, nombrep, COUNT(*), AVG(Salario)


FROMPROYECTO, TRABAJA_EN,empleado
WHERE numerop= np
GROUP BY numerop, nombrep;
19) De cada departamento que tenga más
* de 2 empleados, recupere el número
de departamento y el número de empleados que ganan más de 40000.

 SELECT nombred, COUNT(*) FROM empleado INNER JOIN departamento


ON nd = numerod inner join
WHERE salario>40.000
GROUP BY nombred
HAVING COUNT(*) > 2;

Página 18 de 19
Fecha: 14/03/2019 Tarea: #1, Unidad: #2
MATERIA: Taller de Base de Datos CARRERA: ING. INFORMÁTICA

TEMA: Creación de Base de Datos


ALUMNOS: RETIZ LARIOS JUAN ISAAC, REYES GONZALEZ LUIS FERNANDO, RODRIGUEZ JIMENEZ AXEL
SANCHEZ LUNA JUAN CARLOS, SANTOS ALEJANDRE JOSE ANTONIO

CONCLUSIÓN
Tenemos distintas formas para resolver problemas en las bases de datos con el
lenguaje sql y con estos ejercicios nos podemos dar cuenta de esto, ya que no con
los distintos tipos de Queries que tiene nos dan distintas formas de dar solución a
las problemáticas que surgen en el manejo de Base de Datos.
No solo es para solucionar problemas, también nos sirve para para manejar datos.
Los problemas presentados van más allá de ser problemáticas, más bien van hacia
ver y manejar la información que tenemos para dar resultados específicos atraves
de la manipulación de datos.

BIBLIOGRAFÍAS
 James Galavan . (2012). ULTIMATE LIST OF 40 IMPORTANT SQL
QUERIES. 2001, de Bytescout Sitio web: https://bytescout.com/blog/20-
important-sql-queries.html
 Jhon Castle . (2007). SQL - SELECT Query. 2003, de tutoriales point Sitio
web: https://www.tutorialspoint.com/sql/sql-select-query.htm
 Bruce Amstrong . (2015). Structured Query Language (SQL). 2001, de
geeksforgeeks Sitio web: https://www.geeksforgeeks.org/structured-query-
language/
 Owen Brown . (2014). SQL Tutorial. 1999, de w3schools Sitio web:
https://www.w3schools.com/sql/
 Jack Connor . (2010). List of SQL Commands. 2005, de codeacademy Sitio
web: https://www.codecademy.com/articles/sql-commands

Página 19 de 19
Fecha: 14/03/2019 Tarea: #1, Unidad: #2

You might also like