Está en la página 1de 25

I.T.

Tuxtla Gutiérrez

INGENIERÍA EN SISTEMAS COMPUTACIONALES

ASIGNATURA

Taller de Base de Datos – DS4

ACTIVIDAD DE APRENDIZAJE
NO. 2.1

TEMA DESARROLLADO

Lenguaje de Manipulación de Datos

ACTIVIDAD
Base de Datos: Personal

ALUMNO:
NOMBRE Nº DE CONTROL

Segura Marín Miguel Angel 20271010

NOMBRE DEL PROFESOR:


Guadalupe del Rosario Aguilar López

SEDE: Tuxtla - Virtual FECHA: 25/02/2022

1
I.T. Tuxtla Gutiérrez

INTRODUCCIÓN
En esta práctica mostrare la realización de la base de datos: Personal, la cual
consta de diferentes comandos que a continuación mostrare, posteriormente la
exportación de dicha base de datos al software My SQL WorkBench, al igual
mostrare las condiciones utilizadas y para qué sirven.

OBJETIVOS
 La creación de una base de datos utilizando WampsServer.
 La exportación de la base de datos de WampServer a WorkBench.
 La realización correcta de la base de datos.
 Reflejar el conocimiento adquirido.
MARCO TEORICO
CONDICIONALES

 SELECT  Sirve para obtener una consulta de los registros de una tabla.
 FROM  Sirve para especificar cuál es la tabla de la que queremos la
información.
 SELECT DISTINCT  Sirve para devolver una lista de grupos de diferentes
categorías de una tabla.
 WHERE  Sirve para obtener los datos bajo ciertas condiciones.
 OR  Un ejemplo puede ser seleccionar empleados que tengan más de un
puesto o que tengan un salario mayor a $40,000.
 AND  Un ejemplo puede ser seleccionar empleados que tengan más de
un puesto y que tengan un salario menor a $40,000.
 IN  Sirve para ayudar a reducir la necesidad de usar múltiples
condiciones “or” en una instrucción.
 LIKE  Permite que se utilicen comodines en la cláusula “WHERE” de una
instrucción, esto permite realizar coincidencias de patrones.
 SUM  Devuelve el valor sumado de una expresión.
 COUNT  Sirve para agrupar los resultados por una o más columnas.
 GROUP BY  Se usa en una instrucción “SELECT” para recopilar datos en
varios registros y agrupar los resultados en una o más columnas.
 INNER JOIN  Devuelve todas las filas de varias tablas donde se cumple
la condición de combinación.
 JOINS  Se utilizan para recuperar datos de varias tablas.
2
I.T. Tuxtla Gutiérrez
 JOIN  Se realiza cada vez que se unen dos o más tablas en una
instrucción.
 AVG  Permite calcular el valor promedio de un conjunto.
 HAVING  Se usa en combinación con la cláusula “GROUP BY” para
restringir los grupos de filas devueltas a solo aquellas cuya condición es
verdadera.
 INSERT  Se usa para insertar un solo registro o varios dentro de una
tabla.
 INTO  Permite escribir el conjunto de resultados en un archivo o una
variable.
 UPDATE  Se usa para actualizar los registros existentes en una tabla en
una base de datos.
 SET  Sirve para asignar valores en una variable.
 DELETE  Se usa para eliminar un solo registro o varios registros de una
tabla.

OPERADORES

 “=”  Determina si los valores de los campos comparados son iguales.


 “!=”  Determina si el valor de los campos comprados son distintos.
 “>”  Determina si el primer valor es mayor que el segundo valor
comparado.
 “<”  Determina si el primer valor es menor que el segundo valor
comparado.
 “>=”  Determina si el primer valor es mayor o igual que el segundo valor
comparado.
 “<=”  Determina si el primer valor es menor o igual que el segundo valor
comparado.

3
I.T. Tuxtla Gutiérrez
DESARROLLO
Base de Datos WampServer

Creamos nuestra base de datos con nombre Personal, visualizaremos la base de


datos creada y usaremos la base de datos:

 create database Personal;


 show databases;
 use Personal;

Creamos nuestra tabla con nombre “departamento” con los campos “clave_depto”
y “presupuesto”, verificaremos que se creó correctamente la tabla:

 create table departamento (clave_depto int primary key, nombre


varchar(30), presupuesto int);
 describe departamento;

4
I.T. Tuxtla Gutiérrez
Creamos la tabla con nombre “empleados” con los campos “clave_empleado”,
“nombre”, “apellidos” y agregamos su llave foránea “clave_depto”, verificamos que
se creó correctamente la tabla:

 create table empleados (clave_empleado varchar(8) primary key, nombre


varchar(30), apellidos varchar(30), clave_depto int, foreign key
(clave_depto) references departamento (clave_depto));
 describe empleados;

Visualizamos las tablas creadas:

 show tables;

Ya que tengamos todo listo pasamos a hacer los registros de las tablas,
empezamos con el registro de la tabla de los departamentos:

En este caso contamos con 5 claves, tendremos que agregar otras 10 que dan un
total de 15 claves, las cuales serán:

5
I.T. Tuxtla Gutiérrez
6 Procesos $50,000
7 Productos $60,000
8 Funciones $70,000
9 Proyectos $40,000
10 Etapas $30,000
11 Operaciones $50,000
12 Recursos Humanos $30,000
13 Zona Norte $40,000
14 Zona Centro $40,000
15 Zona Sur $40,000

 insert into departamento (clave_depto, nombre, presupuesto)


values (1, “personal”, 80000),
(2, “almacen”, 70000),
(3, “contabilidad”, 60000),
(4, “manufactura”, 50000),
(5, “empaque”, 30000),
(6, “procesos”, 50000),
(7, “productos”, 60000),
(8, “funciones”, 70000),
(9, “proyectos”, 40000),
(10, “etapas”, 30000),
(11, “operaciones”, 50000),
(12, “recursos_humanos”, 30000),
(13, “zona_norte”, 40000),
(14, “zona_centro”, 40000),
(15, “zona_sur”, 40000);

Colocamos la siguiente tabla que lleva el registro de empleados:

Al igual que la anterior le agregaremos 10 registros más que son:

6
I.T. Tuxtla Gutiérrez
EMP12 Nicole Gabarro 6
EMP13 Bernabé Olivares 10
EMP14 Elizabeth Solano 13
EMP15 Palmira Zhang 7
EMP16 Rafaela Bustamante 12
EMP17 Salma Moral 15
EMP18 Federico Salcedo 9
EMP19 Cristian Cerdán 14
EMP20 Rubén Figueroa 11
EMP21 Mauricio Blázquez 8
 insert into empleados (clave_empleado, nombre, apellidos, clave_depto)
values(“emp01”, “armando”, “lopez”, 2),
(“emp02”, “tatiana”, “vargas”, 1),
(“emp03”, “laura”, “iturria”, 3),
(“emp04”, “juan”, “perez”, 4),
(“emp05”, “ivan”, “lopez”, 4),
(“emp06”, “margarita”, “hernandez”, 1),
(“emp07”, “jesus”, “perez”, 3),
(“emp08”, “tonatiuh”, “flores”, 2),
(“emp09”, “juan”, “lopez”, 4),
(“emp10”, “jose”, “hernandez”, 5),
(“emp11”, “paul”, “cruz”, 1),
(“emp12”, “nicole”, “gabarro”, 6),
(“emp13”, “bernabe”, “olivares”, 10),
(“emp14”, “elizabeth”, “solano”, 13),
(“emp15”, “palmira”, “zhang”, 7),
(“emp16”, “rafaela”, “bustamante”, 12),
(“emp17”, “salma”, “moral”, 15),
(“emp18”, “federico”, “salcedo”, 9),
(“emp19”, “cristian”, “cerdan”, 14),
(“emp20”, “ruben”, “figueroa”, 11),
(“emp21”, “mauricio”, “blazquez”, 8);

Hacemos las siguientes consultas:

a) Obtenemos los apellidos de los empleados:


 select apellidos from empleados;

7
I.T. Tuxtla Gutiérrez

b) Obtener los apellidos de los empleados sin repetirlos:


 select distinct apellidos from empleados;

c) Obtener todos los datos de los empleados que se apellidan “López”:


 select * from empleados where apellidos = “lopez”;

8
I.T. Tuxtla Gutiérrez
d) Obtener todos los datos de los empleados que se apellidan “López” y los
que se apellidan “Pérez”:
 Select * from empleados where apellidos = “lopez” or apellidos =
“perez”;

 Ahora con la condicional IN:


 select * from empleados where apellidos in (“lopez”, “perez”);

e) Obtener todos los datos de los empleados que trabajan en el departamento


8:
 select * from empleados where clave_depto = 8;

f) Obtener todos los datos de los empleados que trabajan para el


departamento 3 o para el departamento 5:
 select * from empleados where clave_depto = 3 or clave_depto = 5;

9
I.T. Tuxtla Gutiérrez
 Ahora con la condicional IN:
 select * from empleados where clave_depto in (3,5);

g) Obtener todos los datos de los empleados cuyo apellido comience con “P”:
 select * from empleados where apellidos like “p%”;

h) Obtener el presupuesto total de todos los departamentos:


 select sum(presupuesto) from departamento;

i) Obtener el número de empleados en cada departamento:


 select clave_depto, count(*) from empleados group by clave_depto;

10
I.T. Tuxtla Gutiérrez
j) Obtener un listado completo de empleados, incluyendo por cada empleado
los datos del empleado y de su departamento:
 select * from empleados inner join departamento on
empleados.clave_depto;

k) Obtener un listado completo de empleados, incluyendo el nombre y


apellidos del empleado junto al nombre y presupuesto de su departamento:
 select empleados.nombre, apellidos, departamento.nombre,
presupuesto from empleados inner join departamento on
empleados.clave_depto = departamento.clave_depto;

11
I.T. Tuxtla Gutiérrez
 Con etiquetas:
 select e.nombre, apellidos, d.nombre, presupuesto from empleados e
inner join departamento d on e.clave_depto = d.clave_depto;

l) Obtener los nombres y apellidos de los empleados que trabajen en


departamentos cuyo presupuesto sea mayor de $60,000: (sin subconsultas)
 select empleados.nombre, apellidos from empleados inner join
departamento on empleados.clave_depto =
departamento.clave_depto and departamento.presupuesto > 60000;

12
I.T. Tuxtla Gutiérrez
 Con subconsultas:
 select nombre, apellidos from empleados where clave_depto in
(select clave_depto from departamento where presupuesto > 60000);

m) Obtener los datos de los departamentos cuyo presupuesto es superior al


presupuesto medio de todos los departamentos:
 select * from departamento where presupuesto > (select
avg(presupuesto) from departamento);

n) Obtener los nombres (únicamente nombre) de los departamentos que


tienen más de dos empleados: (con subconsultas)
 select nombre from departamento where clave_depto in (select
clave_depto from empleados group by clave_depto having count(*) >
2);

13
I.T. Tuxtla Gutiérrez
o) Añadir un nuevo departamento: “Calidad”, con presupuesto de $40,000 y
código 16.
 insert into departamento values (16, “calidad”, 40000);

p) Añadir un empleado vinculado al departamento recién creado: “Esther


Vázquez” con clave de empleado EMP22 y mostramos los datos del
departamento.
 insert into empleados values (“emp22”, “esther”, “vazquez”, 16);
 select * from departamento;

q) Aplicar un recorte presupuestario del 10% a todos los trabajadores y


mostramos de nuevo la tabla de departamentos:
 update departamento set presupuesto = presupuesto * 0.9;
 select * from departamento;

14
I.T. Tuxtla Gutiérrez
 Mostramos los datos de la tabla empleados:
 select * from empleados;

r) Reasignar a los empleados del departamento de Empaque (clave de


departamento 5) al departamento de Almacen (clave de departamento 2) y
mostramos la tabla de empleados:
 update empleados set clave_depto = 2 where clave_depto = 5;
 select * from empleados;

15
I.T. Tuxtla Gutiérrez
s) Despedir a todos los empleados que trabajen para el departamento de
Manufactura (clave de departamento 4) y mostramos la tabla de
empleados:
 delete from empleados where clave_depto = 4;
 select * from empleados;

t) Despedimos a los empleados que su departamento tenga un presupuesto


mayor o igual a $60,000 y mostramos la tabla de empleados:
 delete from empleados where clave_depto in (select clave_depto
from departamento where presupuesto >=60000);
 select * from empleados;

u) Despedir a todos los empleados:


 delete from empleados;

16
I.T. Tuxtla Gutiérrez

Exportar de WampServer a WorkBench:

Dentro del software WorkBench tenemos que enlazar nuestro WampServer con
nuestro WorkBench para eso nos vamos a la opción “database” y después
seleccionamos “conect to database”.

Seleccionamos la instancia local y le damos ok.

Te abrirá directamente la ventana, seleccionamos “database” nuevamente y le


damos click en reverse “engineer”.

17
I.T. Tuxtla Gutiérrez

Nos abrirá dos ventanas en las que les daremos click en “next” y en la tercera nos
aparecerán nuestras bases de datos lo cual seleccionaremos la de Personal y le
damos en “next”.

La siguiente ventana es una sincronización e igual le damos “next”, si todo salió


bien la siguiente ventana nos indica cuantas tablas tiene nuestra base de datos, le
damos click en “execute”, ahora simplemente esperamos que termine de ejecutar
y listo ya tendremos nuestra base de datos en WorkBench.

18
I.T. Tuxtla Gutiérrez
RESULTADOS
WampServer

Antes de despedir: Después de despedir:

Base de Datos en WorkBench:

19
I.T. Tuxtla Gutiérrez

CONCLUSIÓN
Se logró la realización de la base de datos, comprendí más acerca del lenguaje
SQL y la utilidad de la exportación al momento de almacenar, clasificar y manejar
la información de WampServer a WorkBench. La poca práctica de este lenguaje
causa fallos en los códigos por más mínimo que sea el error te puede arruinar todo
el procedimiento el ver como un pequeño digito, carácter o letra te puede afectar a
la elaboración de una base de datos.

REFERENCIAS
Barrena, A. (2018, 8 julio). Cláusula WHERE MySQL. Aner Barrena. Recuperado 25 de

febrero de 2022, de https://www.anerbarrena.com/where-mysql-5520/

I.T.T.G. [Mtra. lupita]. (2021, 21 septiembre). TBD PERSONAL [Vídeo]. YouTube.

https://www.youtube.com/watch?v=7-ZggP2E1_M

Quiroa, M. (2021, 8 febrero). Departamentalización. Economipedia. Recuperado 25 de

febrero de 2022, de

https://economipedia.com/definiciones/departamentalizacion.html

www.techonthenet.com. (s. f.). MySQL. TechontheNet. Recuperado 25 de febrero de 2022,

de https://www.techonthenet.com/mysql/insert.php

20
I.T. Tuxtla Gutiérrez
ANEXOS
Introducción de departamentos:

Introducción de empleados:

En el inciso “e)” tuve un detalle ya que en el video coloca “departamento = 8” me


saltaba un error de que no existía, pero colocando “clave_depto = 8” ya salió bien
la tabla.

21
I.T. Tuxtla Gutiérrez
Al igual en el inciso “h)” tuve el detalle de que en la función sum le puse un
espacio antes de los paréntesis y me salto el error de que esa función no existía.

En el inciso “o)” pedía agregar un nuevo departamento con clave 6 pero como ya
existía uno me saltó un error y lo cambie a clave 16.

Al igual en el inciso “p)” le modifique ese mismo dato el número de clave del
departamento para no tener errores y que vaya todo conforme a la explicación.

Tabla completa del inciso “j)”:

22
I.T. Tuxtla Gutiérrez

23
I.T. Tuxtla Gutiérrez

24
I.T. Tuxtla Gutiérrez

25

También podría gustarte