Base de Datos - Examen Final
Enviado por Edwin David Flores • 28 de Enero de 2023 • Examen • 1.057 Palabras (5 Páginas) • 321 Visitas
EXAMEN FINAL[pic 1]
Nombres : EDWIN DAVID
Apellidos : FLORES HUAMANI
(Respuestas al final)
La siguiente Base , corresponde a la información de Empleados de una Empresa la cual tiene sedes en todo el Mundo , por lo que el Área de Recursos Humanos , requiere saber ciertas consultas.
[pic 2]
- Importar la BD Examen Final- 1pto
- Crear los esquemas ODS y BDS -1pto
- Crear una vista que muestre la relación de las tablas Empleado, Cargo y filtrar los que tengan cargo de Programador y Contador cuyos rangos de sueldos son mayores a 5000 y menores igual a 7000. 5pto
Campos que mostrar:
ID_EMPLEADO,NOMBRE ( Apellidos + Nombre ) ,
SUELDO,ID_CARGOS, NOMBRE_CARGO, ID_DPTO,NOMBRE_DPTO, ID_LOCALIDAD, CIUDAD, ID_PAIS, NOMBRE_PAIS,ID_REGION, NOMBRE_REGION
- Crear un Script con CTE que permita relacionar las tablas Empleado, Departamento, Localidad, País y una vez relacionado mostrar el gasto total (suma de sueldo), por departamento en país de UNITED STATES OF AMERICA. 5pto
- Utilizando las Tablas de expresiones , (subconsultas , CTE , funciones ),tener en consideración que una persona de la Tabla Empelado puede ser Gerente, esto quiere decir que si el ID_GERENTE es igual al ID_EMPLEADO, es gerente de un Departamento, Se desea saber cuántos empleados por cada gerente se tienen ca cargo. Debe de mostrar el nombre del Jefe y al lado la cantidad de Empleados a cargo. 3pto.
- Utilizando alguna de las sentencias Rollup , grouping o cube , se necesita saber el total gastado por cada País , Localidad , Departamento. Considerar que el gasto es el sueldo que cada empleado percibe. 5pto.
Respuestas Examen Final
----- SOLUCION 1 -----
[pic 3]
----- SOLUCION 2 -----
----- CREAR ODS Y BDS -----
--CREANDO SCHEMA--
CREATE SCHEMA ODS
CREATE SCHEMA BDS
--CAPA ODS--
select*from [dbo].[CL_CARGOS]
select*from [dbo].[CL_DEPARTAMENTOS]
select*from [dbo].[CL_EMPLEADOS]
select*from [dbo].[CL_LOCALIDAD]
select*from [dbo].[CL_PAISES]
select*from [dbo].[CL_REGIONES]
-------------------------------------
-------------
--CAPA ODS--
-------------
-- EMPLEADO --
select ID_EMPLEADO, NOMBRES,APELLIDOS,EMAIL,TELEFONO,FECHA_INGRESO,ID_CARGOS,SUELDO,PCT_COMISION,ID_GERENTE,ID_DPTO
INTO ODS.MD_EMPLEADO
from [dbo].[CL_EMPLEADOS]
--SELECT*FROM ODS.MD_EMPLEADO
-- DEPARTAMENTO --
select ID_EMPLEADO , A.ID_DPTO, NOMBRE_DPTO,A.ID_GERENTE,ID_LOCALIDAD
INTO ODS.MD_DEPARTAMENTO
from [dbo].[CL_DEPARTAMENTOS] A
INNER JOIN [dbo].[CL_EMPLEADOS] B ON A.ID_GERENTE=B.ID_GERENTE
--SELECT*FROM ODS.MD_DEPARTAMENTO
-- LOCALIDAD --
select A.ID_EMPLEADO, C.ID_LOCALIDAD,DIRECCION,CODIGO_POSTAL,CIUDAD,ESTADO_PROVINCIA,ID_PAIS
INTO ODS.MD_LOCALIDAD
from [dbo].[CL_EMPLEADOS] A
INNER JOIN CL_DEPARTAMENTOS C ON A.ID_DPTO=C.ID_DPTO
INNER JOIN CL_LOCALIDAD D ON C.ID_LOCALIDAD=D.ID_LOCALIDAD
--SELECT*FROM ODS.MD_LOCALIDAD
-- PAISES --
select A.ID_EMPLEADO, E.ID_PAIS,NOMBRE_PAIS, ID_REGION
INTO ODS.MD_PAIS
from [dbo].[CL_EMPLEADOS] A
INNER JOIN CL_DEPARTAMENTOS C ON A.ID_DPTO=C.ID_DPTO
INNER JOIN CL_LOCALIDAD D ON C.ID_LOCALIDAD=D.ID_LOCALIDAD
INNER JOIN CL_PAISES E ON D.ID_PAIS=E.ID_PAIS
--SELECT*FROM ODS.MD_PAIS
-- REGIONES --
select A.ID_EMPLEADO, F.ID_REGION, NOMBRE_REGION
INTO ODS.MD_REGIONES
from [CL_EMPLEADOS] A
INNER JOIN CL_DEPARTAMENTOS C ON A.ID_DPTO=C.ID_DPTO
...