1. Richard Ramirez-Anormaliza - @riramireza
Sistemas de base de datos
Unidad 4
Lenguaje SQL: definición y manipulación de datos
Tema 4
Uso de lenguaje DML para manipular datos
Décimo Segunda Semana
2. Semana 12: Uso de lenguaje DML para manipular datos
Inicio
2
3. Por qué esta clase?
Practicar las sentencias de manipulación de datos
3
4. Sistemas
de
bases
de
datos
Richard Ramirez-Anormaliza
@riramireza
Objetivo & resultado de aprendizaje
4
Resultado
Objetivo
Ejecutar las sentencias par manipular datos
en una base de datos.
Aplica sentencias SQL de manera eficiente para
la correcta administración de la información
que reside en un SGBD; la misma que ayude a
automatizar los procesos transaccionales
dentro de una empresa
8. Sistemas
de
bases
de
datos
Richard Ramirez-Anormaliza
@riramireza
Preliminares
1. Ingresar al aula virtual.
2. Dirigirse a la carpeta Material Complementario.
3. Descargar el recurso S12-Script.
4. Desempaquetar el recurso descargado en el paso anterior.
5. Iniciar el Microsoft SQL-Server Management Studio.
6. Abrir una nueva ventana de Query
7. Abrir el script desempaquetado en el paso 4 y ejecuarlo
8
10. Sistemas
de
bases
de
datos
Richard Ramirez-Anormaliza
@riramireza
Ejercicios
1. Listar los departamentos con sus empleados y sueldos ordenados alfabéticamente.
2. Listar los cargos existente en la base de datos con la cantidad de empleados en cada cargo.
3. Listar los departamentos con más de 40 empleados
4. Presentar el cargo que tiene más empleados
5. Presentar el departamento que tiene menos empleados
6. Aumentar el sueldo a empleados del departamento de Finanzas el 15% de su sueldo
7. Corregir el sexo a los empleados registrados en el sistema
8. Eliminar los cargos que no tienen empleados
9. Listar un reporte de Departamento y el total de sueldo que se paga
10. Presente el mayor sueldo, menor sueldo y sueldo promedio que se paga por departamento
10
14. Sistemas
de
bases
de
datos
Richard Ramirez-Anormaliza
@riramireza
4) Presentar el cargo que tiene más empleados
SELECT CARGO, COUNT(*) AS EMPLEADOS
INTO #tmp
FROM CARGO AS C, EMPLEADO AS E
WHERE C.IDCARGO = E.IDCARGO
GROUP BY CARGO
GO
SELECT *
FROM #tmp
WHERE EMPLEADOS = (SELECT MAX (EMPLEADOS)
FROM #tmp )
DROP TABLE #tmp
14
15. Sistemas
de
bases
de
datos
Richard Ramirez-Anormaliza
@riramireza
5) Presentar el departamento que tiene menos
empleados
SELECT DPTO, COUNT(*) AS EMPLEADOS
INTO #tmp
FROM DPTO AS D, EMPLEADO AS E
WHERE D.IDDPTO = E.IDDPTO
GROUP BY DPTO
GO
SELECT *
FROM #tmp
WHERE EMPLEADOS = (SELECT MIN (EMPLEADOS)
FROM #tmp )
DROP TABLE #tmp
15
17. Sistemas
de
bases
de
datos
Richard Ramirez-Anormaliza
@riramireza
7) Corregir el sexo a los empleados registrados en el
sistema
--> Crear una lista con el primer nombre y poner como sexo a todos 'M'
SELECT DISTINCT SUBSTRING (NOMBRES, 1, PATINDEX('% %',NOMBRES)) AS NOMBRE, 'M' SEXO
FROM EMPLEADO
--> En se corrige con F en sexo a todos nombres de mujeres
--> Se crea una tabla temporal con los campos nombre y sexo
CREATE TABLE NOMBRE (Nombre Char(30), Sexo Char(1));
--> Se colocan los nombres y sexo corregidos en Excel en la tabla creada
INSERT INTO NOMBRE VALUES ( 'ADRIAN ', 'M' );
INSERT INTO NOMBRE VALUES ( 'ALBERTO ', 'M’ );
--> Se corrige el sexo en tabla empleado
UPDATE EMPLEADO
SET SEXO = N.Sexo
FROM NOMBRE AS N, EMPLEADO AS E
WHERE N.Nombre = SUBSTRING (NOMBRES, 1, PATINDEX('% %',NOMBRES))
17
24. Próxima
Clase
Agenda
TEMA: 2.- Recuperación de datos en un
SGBD
• SUBTEMA: 1.- Consultas de datos
básicas
• SUBTEMA: 2.- Consultas con
condiciones y funciones de agregado
24
Sistemas
de
bases
de
datos