Sei sulla pagina 1di 9

dministración de Sistemas Gestores de 1Bases de Datos

Actividad 3 – Caso Practico


Caso Práctico

Teniendo en cuenta el caso propuesto para la IPS, dado en el desarrollo del curso, vamos
a agregar el modulo administrativo, donde tenemos la información de los empleados y
sus datos ( Identificación, nombres, apellidos, teléfono, salario) los departamentos
(Identificación, nombre)  Realizado el modelo lógico (modelo entidad relación y
relacional), el modelo físico (script para la creación de tablas ) Ahora le corresponde
atender las siguientes necesidades que se han determinado para la empresa en mención de
acuerdo al levantamiento de información.

1. Construir las consultas que corresponden a los siguientes requerimientos:  Un listado


de todos los empleados que pertenecen a los departamentos de Administration o IT.
Select b.*,c.*
from Empleados b inner join Departamento c
on c.Iddep=b.dept
where c.Nomdep='ADMINISTRATION' or c.Nomdep='TI';
El reporte de la historia laboral de un empleado especifico.

select b.*,c.nombre, c.apellido


from Historial b inner join Empleados c
on c.nuempl=b.IdEmple
where c.nombre='ERIKA' and c.apellido='PULIDO'
La cantidad total de salarios que se deben pagar por cada uno de los departamentos.
SELECT dept, SUM(salario) AS "Total Salario por Departamento"
FROM Empleados
GROUP BY dept;

Una consulta que muestre el promedio de los salarios, el menor salario, el mayor salario
SELECT AVG(SALARIO)AS "Promedio Salario", max (Salario)as "Maximo Salario", min (salario) as
"Minimo Salario"
from Empleados
3. Definir y crear dos trigers de importancia para el manejo de la base de datos.

TRIGGER
CREATE OR REPLACE TRIGGER audit_employees BEFORE INSERT OR DELETE OR UPDATE
ON employees FOR EACH ROW
BEGIN
IF INSERTING THEN
INSERT INTO auditoria1
VALUES (to_char(sysdate, 'dd/mm/yyyy hh24:mi:ss'),USER,'Insercion',:new.job_id);
ELSIF DELETING THEN
INSERT INTO auditoria1
VALUES (to_char(sysdate, 'dd/mm/yyyy hh24:mi:ss'),USER,'Borrado',:old.job_id);
ELSIF UPDATING THEN
INSERT INTO auditoria1
VALUES (to_char(sysdate, 'dd/mm/yyyy hh24:mi:ss'),USER,'Actualizacion',:old.job_id||'_'||:new.job_id);
END IF;
4. Cree un usuario llamado PERNO (Personal y Nomina) otorgándole
permisos de resource, connect, y dba.

5. Cree un perfil, Cree el PROFILE, PRO_FUNCIONARIO. Con las siguientes


características:
Virtual Sessions_per_user 3
Connect_time 20 horas
Idle_time 15 minutos
Failed_login_attempts 3
Password_life_time 60 d
ias Password_reuse_max 2
Password_lock_time 1 dia
Password_grace_time 8 dias
6. Cree los usuarios
JPINZON ----- ROL ADMINISTRADOR
SAGUIRRE ---- ROL_FUNCIONARIO
PPEREZ ----- ROL_AUDITOR
7. Realizar una matriz para la tabla DEPARTMENTS y la tabla EMPLOYEES que
permita construir un diccionario de datos identificando y diferenciando los tipos
de datos para tres sistemas gestores diferentes, a continuación, se sugiere un
modelo.
DEPARTAMENTO
NOMBRE NOMBRE LONGITUD LONGITUD RESTRICCI
DE CAMPO TIPO DE MININA MAXIMA ONES
DATO
ORACLE ID_Departa NUMBER 0 15 NOT NULL
mento
SQL ID_Departa NUMBER 0 15 NOT NULL
SERVER mento
POSTGRE ID_Departa CHAR 0 15 NOT NULL
SS mento

EMPLEADOS
NOMBRE NOMBRE LONGITUD LONGITUD RESTRICCI
DE CAMPO TIPO DE MININA MAXIMA ONES
DATO
ORACLE ID_EMPLE NUMBER 0 5 NOT NULL
ADOS
SQL ID_EMPLE NUMBER 0 5 NOT NULL
SERVER ADOS
POSTGRE ID_EMPLE CHAR 0 5 NOT NULL
SS ADOS

8. Construir los procedimientos almacenados para las siguientes necesidades:

A) Una función (FN_CALCULA_FPC) que calcule el 16% de Fondo de


Pensiones y Cesantias. Dentro de esta función debe invocar la función
FN_CALCULA_SB

B) Una función (FN_CALCULA_SENA) que calcule el 1% para SENA. Dentro


de esta función debe invocar la función FN_CALCULA_SB

Potrebbero piacerti anche