You are on page 1of 8

SERVICIO NACIONAL DE APRENDIZAJE - SENA

ANALISIS Y DESARROLLO DE SISTEMAS DE INFORMACION – 1412859


FASE IV: DESARROLLO

ACTIVIDAD DE APRENDIZAJE AP6


AP6-AA2-EV2-CONSTRUCCIÓN DE ELEMENTOS DE PROGRAMACIÓN PARA
EL PROYECTO DE FORMACIÓN

JHON ALEXANDER MORALES GAITÁN

GRUPO A3

SERVICIO NACIONAL DE APRENDIZAJE - REGIONAL ANTIOQUIA


CENTRO DE SERVICIOS Y GESTION EMPRESARIAL
ANÁLISIS Y DESARROLLO DE SISTEMAS DE INFORMACIÓN (1412859)
MODALIDAD DE FORMACIÓN VIRTUAL
MEDELLÍN
2018
SERVICIO NACIONAL DE APRENDIZAJE - SENA
ANALISIS Y DESARROLLO DE SISTEMAS DE INFORMACION – 1412859
FASE IV: DESARROLLO

Proyecto de formación
Construcción de elementos de programación para el proyecto de formación
Teniendo en cuenta las actividades anteriores ahora crearemos procedimientos,
funciones y disparadores sobre la base de datos y sus tablas creadas, Para cada
elemento se debe identificar a que requerimiento funcional o caso de uso apoyan.

Software para el procesamiento de la información y registro de novedades en una


empresa de seguridad, denominado: “Sistema de Control y Registro de Vigilancia”
- SICREV

PROCEDIMIENTOS ALMACENADOS:

1. Procedimiento insertar registros en la tabla Admin_Empresa


Requerimiento Funcional:
Registrar Novedades, dispositivos, vehículos y personas.

Create procedure insertarAdminEmpresa(


idAdminEmpresa int,
AdmNombre varchar(60))

insert into Admin_Empresa (idAdminEmpresa, AdmNombre)


values(idAdminEmpresa, AdmNombre);

2. Procedimiento insertar registros en la tabla Empleados


Requerimiento Funcional:
Registrar Novedades, dispositivos, vehículos y personas.
Create procedure insertarempleados(
idEmpleado int,
idAdminEpresa_Emp int,
EmpNombre varchar(60),
EmpCedula int,
Emprol varchar(30),
EmpCargo varchar(30),
EmpDireccion varchar(60),
EmpTelefono int)

insert into empleado (idEmpleado, idAdminEmpresa_Emp, EmpNombre, EmpCedula,


EmpRol, EmpCargo, EmpDireccion, EmpTelefono)
values(idEmpleado, idAdminEmpresa_Emp, EmpNombre, EmpCedula, EmpRol,
EmpCargo, EmpDireccion, EmpTelefono);

call insertarempleados;
SERVICIO NACIONAL DE APRENDIZAJE - SENA
ANALISIS Y DESARROLLO DE SISTEMAS DE INFORMACION – 1412859
FASE IV: DESARROLLO

3. Procedimiento insertar registros en la tabla novedad


Requerimiento Funcional:
Registrar Novedades, dispositivos, vehículos y personas.
Create procedure insertarnovedad(
idEmpleado_Nov int,
NovDetalles varchar(250),
NovFecha date,
NovHora time,
NovTipo varchar(20),
NovAutor varchar(60))

insert into novedad (idEmpleado_Nov, NovDetalles, NovFecha, NovHora, NovTipo,


NovAutor)
values(idEmpleado_Nov, NovDetalles, NovFecha, NovHora, NovTipo, NovAutor);

call insertarempleados;

4. Procedimiento mostrar registros insertados en la tabla Admin_Empresa


Requerimiento Funcional:
Gestión y control de grupos de trabajo
Create procedure mostraradminempresa() Select * from Admin_Empresa;
call mostraradminempresa();

5. Procedimiento mostrar registros insertados en la tabla Empleado


Requerimiento Funcional:
Gestión y control de grupos de trabajo
Create procedure mostrarempleado() Select * from empleado;
call mostrarempleado();

6. Procedimiento mostrar registros insertados en la tabla Novedad


Requerimiento Funcional:
Gestión y control de grupos de trabajo
Create procedure mostrarempleado() Select * from empleado;
call mostrarempleado();

7. Procedimiento mostrar campos de la tabla novedad en orden ascendente


según la fecha
Requerimiento Funcional:
Verificación de registros de novedades
Create procedure `novedades_fecha_asc`() NOT DETERMINISTIC CONTAINS SQL SQL
SECURITY DEFINER Select * from novedad ORDER BY NovFecha ASC;
call novedades_fecha_asc();
SERVICIO NACIONAL DE APRENDIZAJE - SENA
ANALISIS Y DESARROLLO DE SISTEMAS DE INFORMACION – 1412859
FASE IV: DESARROLLO

8. Procedimiento mostrar campos de la tabla novedad en orden ascendente


según el empleado
Requerimiento Funcional:
Filtrar registro de novedades por usuario, fecha o tipo de novedad.
Create procedure `novedades_empleado`() NOT DETERMINISTIC CONTAINS SQL SQL
SECURITY DEFINER Select * from novedad ORDER BY idEmpleado_Nov ASC;
call novedades_empleado();

9. Procedimiento mostrar campos de la tabla novedad en orden según el tipo


Requerimiento Funcional:
Filtrar registro de novedades por usuario, fecha o tipo de novedad.
Create procedure `novedades_tipo`() NOT DETERMINISTIC CONTAINS SQL SQL
SECURITY DEFINER Select * from novedad ORDER BY NovTipo ASC;
call novedades_tipo();

10. Procedimiento mostrar el nombre del empleado con menor cantidad de


registros.
Requerimiento Funcional:
Verificación de registros de novedades.
Create procedure `contar_novedades`() NOT DETERMINISTIC CONTAINS SQL SQL
SECURITY DEFINER select novAutor from novedad order by idNovedad desc limit 1;
call contar_novedades();

Funciones:

1. Función mostrar cuantos Admin Empresa hay registrados en la tabla


Admin_Empresa.
Requerimiento Funcional:
Verificación de registros de novedades.
select count(idAdminEmpresa) from Admin_Empresa;

2. Función mostrar cuantos empleados hay registrados en la tabla Empleado.


Requerimiento Funcional:
Verificación de registros de novedades.
select count(idEmpleado) from empleado;

3. Función mostrar cuantos empelados Detalles de Novedades hay registradas


en la tabla Novedad.
Requerimiento Funcional:
Verificación de registros de novedades.
select count(NovDetalles) from novedad;
SERVICIO NACIONAL DE APRENDIZAJE - SENA
ANALISIS Y DESARROLLO DE SISTEMAS DE INFORMACION – 1412859
FASE IV: DESARROLLO

4. Función mostrar Novedades de tipo Especial


Requerimiento Funcional:
Verificación de registros de novedades.
Select * from novedad where NovTipo = 'Especial';

5. Función mostrar Novedades de tipo Ordinaria


Requerimiento Funcional:
Verificación de registros de novedades.
Select * from novedad where NovTipo = Ordinaria;

Desencadenadores o Triggers:

Creación Tabla Trigger_Admin_Empresa


create table trigger_admin_empresa(
IdAdminEmpresaAnterior int not null,
AdmNombreAnterior varchar(60) not null,
IdAdminEmpresaNuevo int not null,
AdmNombreNuevo varchar(60) not null,
primary key(IdAdminEmpresaAnterior)
);

1. Creación Trigger Actualización Admin_Empresa


Requerimiento Funcional:
Gestión y control de grupos de trabajo.

CREATE TRIGGER `admin_empresaupdate` BEFORE UPDATE ON `admin_empresa` FOR EACH ROW


INSERT INTO trigger_admin_empresa(IdAdminEmpresaAnterior, AdmNombreAnterior)
VALUES (OLD.IdAdminEmpresa, OLD.AdmNombre);

2. Creación Trigger Borrado Admin_Empresa


Requerimiento Funcional:
Gestión y control de grupos de trabajo.

CREATE TRIGGER `admin_empresadelete` AFTER DELETE ON `admin_empresa` FOR EACH ROW


INSERT INTO trigger_admin_empresa(IdAdminEmpresaAnterior, AdmNombreAnterior)
VALUES (OLD.IdAdminEmpresa, OLD.AdmNombre);
SERVICIO NACIONAL DE APRENDIZAJE - SENA
ANALISIS Y DESARROLLO DE SISTEMAS DE INFORMACION – 1412859
FASE IV: DESARROLLO

Creación Tabla Trigger_Empleado


create table trigger_empleado(
idEmpleadoAnterior int not null,
IdAdminEmpresa_EmpAnterior int not null,
EmpNombreAnterior varchar(60) not null,
EmpCedulaAnterior int not null,
EmprolAnterior varchar(30) not null,
EmpCargoAnterior varchar(30) not null,
EmpDireccionAnterior Varchar(60) not null,
EmpTelefonoAnterior Int not null,
idEmpleadoNuevo int not null,
IdAdminEmpresa_EmpNuevo int not null,
EmpNombreNuevo varchar(60) not null,
EmpCedulaNuevo int not null,
EmprolNuevo varchar(30) not null,
EmpCargoNuevo varchar(30) not null,
EmpDireccionNuevo Varchar(60) not null,
EmpTelefonoNuevo Int not null,
primary key(idEmpleadoAnterior)
);

3. Creación Trigger Actualización Empleado


Requerimiento Funcional:
Gestión y control de grupos de trabajo.

CREATE TRIGGER `empleadoupdate` BEFORE UPDATE ON `empleado` FOR EACH ROW INSERT INTO
trigger_empleado(idEmpleadoAnterior, IdAdminEmpresa_EmpAnterior, EmpNombreAnterior,
EmpCedulaAnterior, EmprolAnterior, EmpCargoAnterior, EmpDireccionAnterior, EmpTelefonoAnterior)
VALUES (OLD.idEmpleado, OLD.IdAdminEmpresa_Emp, OLD.EmpNombre, OLD.EmpCedula, OLD.Emprol,
OLD.EmpCargo, OLD.EmpDireccion, OLD.EmpTelefono);

4. Creación Trigger Borrado Empleado


Requerimiento Funcional:
Gestión y control de grupos de trabajo.

CREATE TRIGGER `empleadodelete` BEFORE DELETE ON `empleado` FOR EACH ROW INSERT INTO
trigger_empleado(idEmpleadoAnterior, IdAdminEmpresa_EmpAnterior, EmpNombreAnterior,
EmpCedulaAnterior, EmprolAnterior, EmpCargoAnterior, EmpDireccionAnterior, EmpTelefonoAnterior)
VALUES (OLD.idEmpleado, OLD.IdAdminEmpresa_Emp, OLD.EmpNombre, OLD.EmpCedula, OLD.Emprol,
OLD.EmpCargo, OLD.EmpDireccion, OLD.EmpTelefono);
SERVICIO NACIONAL DE APRENDIZAJE - SENA
ANALISIS Y DESARROLLO DE SISTEMAS DE INFORMACION – 1412859
FASE IV: DESARROLLO

Creación Tabla Trigger_Novedad


create table trigger_novedad(
idNovedadAnterior int not null,
idEmpleado_NovAnterior int not null,
NovDetallesAnterior varchar(60) not null,
NovFechaAnterior date not null,
NovHoraAnterior time not null,
NovTipoAnterior varchar(20) not null,
NovAutorAnterior Varchar(60) not null,
idNovedadNuevo int not null,
idEmpleado_NovNuevo int not null,
NovDetallesNuevo varchar(60) not null,
NovFechaNuevo date not null,
NovHoraNuevo time not null,
NovTipoNuevo varchar(20) not null,
NovAutorNuevo Varchar(60) not null,
primary key(idNovedadAnterior)
);

5. Creación Trigger Actualización Novedad


Requerimiento Funcional:
Gestión y control de grupos de trabajo.

CREATE TRIGGER `novedadupdate` BEFORE UPDATE ON `novedad` FOR EACH ROW INSERT INTO
trigger_novedad(idNovedadAnterior, idEmpleado_NovAnterior, NovDetallesAnterior, NovFechaAnterior,
NovHoraAnterior, NovTipoAnterior, NovAutorAnterior)
VALUES (OLD.idNovedad, OLD.idEmpleado_Nov, OLD.NovDetalles, OLD.NovFecha, OLD.NovHora,
OLD.NovTipo, OLD.NovAutor);

6. Creación Trigger Borrado Novedad


Requerimiento Funcional:
Gestión y control de grupos de trabajo.

CREATE TRIGGER `novedaddelete` BEFORE DELETE ON `novedad` FOR EACH ROW INSERT INTO
trigger_novedad(idNovedadAnterior, idEmpleado_NovAnterior, NovDetallesAnterior, NovFechaAnterior,
NovHoraAnterior, NovTipoAnterior, NovAutorAnterior)
VALUES (OLD.idNovedad, OLD.idEmpleado_Nov, OLD.NovDetalles, OLD.NovFecha, OLD.NovHora,
OLD.NovTipo, OLD.NovAutor);
SERVICIO NACIONAL DE APRENDIZAJE - SENA
ANALISIS Y DESARROLLO DE SISTEMAS DE INFORMACION – 1412859
FASE IV: DESARROLLO

Bibliografía:

 Objeto de Aprendizaje : “laboratorio No.12 “Construir sentencias SQL”


 Objeto de Aprendizaje : “laboratorio No.13 “Usar lenguaje transaccional
sobre la base de datos”
 Objeto de Aprendizaje : “Consulta de Datos usando Lenguaje Estructurado
de Consultas”
 Objeto de Aprendizaje : “Lenguaje Transaccional en SQL”
 Charte Ojeda, Francisco. SQL. Editorial Anaya Multimedia-Anaya
Interactiva.
 Beaulieu, Alan (2010). Aprende SQL. Segunda edición. Grupo Anaya
Comercial.
 G. Quintana, M. Marqués, J.L. Aliaga, M.J. Aramburu. Aprende SQL.
Publicaciones La Universitat Jaume I. (2008).
 Autor Groff James R , Weinberg Paul N. Applique SQL. Editorial Osborne/
McGraw-Hill (1991)
 Manual de Referencia MySQL, disponible en
http://dev.mysql.com/doc/refman/5.0/es/index.html
 Manual de Referencia Oracle, disponible en:
http://www.oracle.com/technetwork/index.html
 https://docs.microsoft.com/en-us/sql/t-sql/data-types/data-types-transact-
sql?view=sql-server-2017
 https://platzi.com/blog/que-es-ddl-dml-dcl-y-tcl-integridad-referencial/
 https://joaquinaraujo.github.io/sql-mysql/
 https://andresmtzg.wordpress.com/2012/11/15/sql/
 https://mariadb.com/kb/es/basic-sql-statements/

You might also like