Академический Документы
Профессиональный Документы
Культура Документы
MODELO CONCEPTUAL
TABLA ASISTENCIA
TABLA CARGO
INSERT INTO CARGO VALUES (1,'DECANO')
INSERT INTO CARGO VALUES (2,'SECRETARIO')
INSERT INTO CARGO VALUES (3,'CONSERJE')
INSERT INTO CARGO VALUES (4,'DOCENTE')
INSERT INTO CARGO VALUES (5,'CONSERJE')
INSERT INTO CARGO VALUES (6,'SECRETARIA')
INSERT INTO CARGO VALUES (7,'CONSERJE')
INSERT INTO CARGO VALUES (8,'DOCENTE')
INSERT INTO CARGO VALUES (9,'CONSERJE')
INSERT INTO CARGO VALUES (10,'CONSERJE')
TABLA DEPARTAMENTO
INSERT INTO DEPARTAMENTO VALUES
(1,'DECANATO','BLOQUE "B"')
INSERT INTO DEPARTAMENTO VALUES
(2,'SECRETARIA','BLOQUE "A"')
INSERT INTO DEPARTAMENTO VALUES (3,'LIMPIEZA','BLOQUE
"C"')
INSERT INTO DEPARTAMENTO VALUES
(4,'CUBICULO','BLOQUE "E"')
INSERT INTO DEPARTAMENTO VALUES (5,'LIMPIEZA','BLOQUE
"C"')
INSERT INTO DEPARTAMENTO VALUES
(6,'SECRETARIA','BLOQUE "A"')
INSERT INTO DEPARTAMENTO VALUES (7,'LIMPIEZA','BLOQUE
"C"')
INSERT INTO DEPARTAMENTO VALUES
(8,'CUBICULO','BLOQUE "E"')
INSERT INTO DEPARTAMENTO VALUES (9,'LIMPIEZA','BLOQUE
"C"')
INSERT INTO DEPARTAMENTO VALUES
(10,'LIMPIEZA','BLOQUE "C"')
TABLA DETALLE
INSERT INTO DETALLE VALUES
(1,1,1,'1311677478','JIMMY','TORRES','07:00','19:00','NINGUNO')
INSERT INTO DETALLE VALUES
(2,2,2,'1314567454','NEY','CEDEÑO','07:00','19:00','NINGUNO')
INSERT INTO DETALLE VALUES
(3,3,3,'1314561111','LUIS','VERA','07:00','19:00','5 MINUTOS')
INSERT INTO DETALLE VALUES
(4,4,4,'1314522222','JIMMY','ALCIVAR','07:00','19:00','NINGUNO')
INSERT INTO DETALLE VALUES
(5,5,5,'1313467780','GINO','MOREIRA','07:00','19:00','30 MINUTOS')
INSERT INTO DETALLE VALUES
(6,6,6,'1303337750','MANUEL','GARCIA','07:00','19:00','NINGUNO')
INSERT INTO DETALLE VALUES
(7,7,7,'1304117710','JOSE','ZAMBRANO','07:00','19:00','8 MINUTOS')
INSERT INTO DETALLE VALUES
(8,8,8,'1313564780','PEDRO','RODRIGUEZ','07:00','19:00','NINGUNO'
)
INSERT INTO DETALLE VALUES
(9,9,9,'1303156345','LEONEL','MESSI','07:00','19:00','NINGUNO')
INSERT INTO DETALLE VALUES
(10,10,10,'1313455437','CRISTIANO','RONALDO','07:00','19:00','NING
UNO')
TABLA PERSONAL
INSERT INTO PERSONAL VALUES
(1,1,1,1,1,'1314536270','ODILON','SCNABEL','MASCULINO','06/07/19
97','0967365426','CALLE
PICHINCHA','juanpesna@hotmail.com','SOLTERO')
INSERT INTO PERSONAL VALUES
(2,2,2,2,2,'1314536456','NELSON','MANDELA','MASCULINO','02/07/1
997','0967363456','CALLE 7 DE
AGOSTO','nelsonman@hotmail.com','CASADO')
INSERT INTO PERSONAL VALUES
(3,3,3,3,3,'1314345324','FRANCISCO','ALARCON','MASCULINO','06/
09/1993','0956865426','CALLE
PICHINCHA','franciscoala@hotmail.com','DIVORCIADO')
INSERT INTO PERSONAL VALUES
(4,4,4,4,4,'1314536270','CRISTHIAN','MERA','MASCULINO','01/02/19
90','0963421226','CALLE ALEJO
LASCANO','cristianmera@hotmail.com','VIUDO')
INSERT INTO PERSONAL VALUES
(5,5,5,5,5'1301136211','CARLOS','VELA','MASCULINO','09/03/1992','0
935165421','CALLE LAS
MERCEDES','carlosvela@hotmail.com','SOLTERO')
INSERT INTO PERSONAL VALUES
(6,6,6,6,6,'1314536222','JUANA','SOLORZANO','FEMENINO','06/010/1
980','0963465243','CALLE
PICHINCHA','juanasolor@hotmail.com','CASADA')
INSERT INTO PERSONAL VALUES
(7,7,7,7,7,'1314536333','LUIS','CAICEDO','MASCULINO','04/02/1993','
0967365314','CALLE LAS
MARIAS','luiscaic@hotmail.com','SOLTERO')
INSERT INTO PERSONAL VALUES
(8,8,8,8,8,'1314343434','DAMIAN','DIAZ','MASCULINO','01/08/1986','0
967365222','CALLE 24 DE
JULIO','damiansi@hotmail.com','DIVORCIADO')
INSERT INTO PERSONAL VALUES
(9,9,9,9,9,'1314777777','PEDRO','VELAZCO','MASCULINO','02/05/196
3','0967361111','CALLE RAYMUNDO
AVEIGA','pedrovelaz@hotmail.com','SOLTERO')
INSERT INTO PERSONAL VALUES
(10,10,10,10,10,'1314535555','DANIEL','ALVEZ','MASCULINO','06/03/
1987','0980551742','CALLE
PICHINCHA','danialve@hotmail.com','CASADO')
TABLA REGISTRO DE HORARIO
INSERT INTO REGISTRO_HORARIO VALUES (1,1,'08:00','18:00')
INSERT INTO REGISTRO_HORARIO VALUES (2,2,'08:00','18:00')
INSERT INTO REGISTRO_HORARIO VALUES (3,3,'08:00','18:00')
INSERT INTO REGISTRO_HORARIO VALUES (4,4,'08:00','18:00')
INSERT INTO REGISTRO_HORARIO VALUES (5,5,'08:00','18:00')
INSERT INTO REGISTRO_HORARIO VALUES (6,6,'08:00','18:00')
INSERT INTO REGISTRO_HORARIO VALUES (7,7,'08:00','18:00')
INSERT INTO REGISTRO_HORARIO VALUES (8,8,'08:00','18:00')
INSERT INTO REGISTRO_HORARIO VALUES (9,9,'08:00','18:00')
INSERT INTO REGISTRO_HORARIO VALUES (10,10,'08:00','18:00')
SISTEMA DE GESTION DE BASE DE DATOS
USE [ASISTENCIA]
GO
/****** Object: StoredProcedure [dbo].[PRO_ASISTENCIA] Script Date: 30/08/2017
15:15:32 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER PROC [dbo].[PRO_ASISTENCIA]
@COD NUMERIC(10,0), @FECHA DATE,
@OBSERVACION VARCHAR(50), @CON INT
AS
IF @CON=1
INSERT INTO ASISTENCIA VALUES (@COD,@FECHA,@OBSERVACION)
IF @CON=2
UPDATE ASISTENCIA SET ASI_FECHA=@FECHA, ASI_OBSERVACION=@OBSERVACION
WHERE ASI_CODIGO=@COD
IF @CON=3
DELETE FROM ASISTENCIA WHERE ASI_CODIGO=@COD
USE [ASISTENCIA]
GO
/****** Object: StoredProcedure [dbo].[PRO_CARGO] Script Date: 30/08/2017
15:18:52 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER PROC [dbo].[PRO_CARGO]
@COD NUMERIC(10,0), @DETALLE VARCHAR(20), @CON INT
AS
IF @CON=1
INSERT INTO CARGO VALUES (@COD,@DETALLE)
IF @CON=2
UPDATE CARGO SET CAR_DETALLE=@DETALLE
WHERE CAR_CODIGO=@COD
IF @CON=3
DELETE FROM CARGO WHERE CAR_CODIGO=@COD
USE [ASISTENCIA]
GO
/****** Object: StoredProcedure [dbo].[PRO_DEPARTAMENTO] Script Date: 30/08/2017
15:20:32 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER PROC [dbo].[PRO_DEPARTAMENTO]
@COD NUMERIC(10,0), @DETALLE VARCHAR(20), @AREA VARCHAR(20), @CON INT
AS
IF @CON=1
INSERT INTO DEPARTAMENTO VALUES (@COD,@DETALLE,@AREA)
IF @CON=2
UPDATE DEPARTAMENTO SET DEP_DETALLE=@DETALLE, DEP_AREA=@AREA
WHERE DEP_CODIGO=@COD
IF @CON=3
DELETE FROM DEPARTAMENTO WHERE DEP_CODIGO=@COD
USE [ASISTENCIA]
GO
/****** Object: StoredProcedure [dbo].[PRO_DETALLE] Script Date: 30/08/2017
15:21:19 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER PROC [dbo].[PRO_DETALLE]
@COD NUMERIC(10,0), @ACOD NUMERIC(10,0), @CED NUMERIC(20,0), @NOMBRE VARCHAR(20),
@APELLIDO VARCHAR(20), @LLEGADA TIME, @SALIDA TIME,
@RETRASO VARCHAR (50), @DIA VARCHAR (10), @CON INT
AS
IF @CON=1
INSERT INTO DETALLE VALUES (@COD, @ACOD, @CED, @NOMBRE, @APELLIDO, @LLEGADA,
@SALIDA, @RETRASO, @DIA)
IF @CON=2
UPDATE DETALLE SET ASI_CODIGO=@ACOD, DET_CEDULA=@CED, DET_NOMBRES=@NOMBRE,
DET_APELLIDOS=@APELLIDO,
DET_HORA_LLEGADA=@LLEGADA, DET_HORASALIDA=@SALIDA, DET_RETRASO=@RETRASO,
DET_DIA=@DIA
WHERE DET_CODIGO=@COD
IF @CON=3
DELETE FROM DETALLE WHERE DET_CODIGO=@COD
USE [ASISTENCIA]
GO
/****** Object: StoredProcedure [dbo].[PRO_PERSONAL] Script Date: 30/08/2017
15:22:18 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER PROC [dbo].[PRO_PERSONAL]
@COD NUMERIC(10,0), @RHCOD NUMERIC(10,0), @CCOD NUMERIC(10,0), @DCOD NUMERIC(10,0),
@DTCOD NUMERIC(10,0), @CED NUMERIC(20,0), @NOMBRE VARCHAR(20), @APELLIDO
VARCHAR(20), @SEXO VARCHAR (10), @FENAC TIME,
@TELEFONO NUMERIC (20,0), @DIRECCION VARCHAR (50), @CORREO VARCHAR (50), @ESTCIVIL
VARCHAR (50), @CON INT
AS
IF @CON=1
INSERT INTO PERSONAL VALUES (@COD, @RHCOD, @CCOD, @DCOD, @DTCOD, @CED,
@NOMBRE, @APELLIDO, @SEXO, @FENAC, @TELEFONO, @DIRECCION,
@CORREO, @ESTCIVIL)
IF @CON=2
UPDATE PERSONAL SET RHO_CODIGO=@RHCOD, CAR_CODIGO=@CCOD, DEP_CODIGO=@DCOD,
DET_CODIGO=@DTCOD, PER_CEDULA=@CED, PER_NOMBRE=@NOMBRE,
PERO_APELLIDO=@APELLIDO, PER_SEXO=@SEXO, PER_FECNAC=@FENAC,
PER_TELEFONO=@TELEFONO, PER_DIRECCION=@DIRECCION,
PER_CORREO=@CORREO, PER_ESTADOCIVIL=@ESTCIVIL
WHERE PER_CODIGO=@COD
IF @CON=3
DELETE FROM PERSONAL WHERE PER_CODIGO=@COD
USE [ASISTENCIA]
GO
/****** Object: StoredProcedure [dbo].[PRO_REGHOR] Script Date: 30/08/2017
15:23:37 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER PROC [dbo].[PRO_REGHOR]
@COD NUMERIC(10,0), @ENTRADA TIME, @SALIDA TIME, @DIA VARCHAR (10), @CON INT
AS
IF @CON=1
INSERT INTO REGISTRO_HORARIO VALUES (@COD, @ENTRADA, @SALIDA, @DIA)
IF @CON=2
UPDATE REGISTRO_HORARIO SET RHO_HORAENTRADA=@ENTRADA, RHO_HORASALIDA=@SALIDA,
RHO_DIA=@DIA
WHERE RHO_CODIGO=@COD
IF @CON=3
DELETE FROM REGISTRO_HORARIO WHERE RHO_CODIGO=@COD
FUNCIONES QUE CONTROLEN EL INGRESO DE DATOS
INGRESO DE CEDULAS
USE [ASISTENCIA]
GO
/****** Object: UserDefinedFunction [dbo].[cedula] Script Date: 30/08/2017
15:48:32 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER FUNCTION [dbo].[cedula]
(
@cedula varchar(11)
)
RETURNS varchar(max)
AS
BEGIN
-- Declare the return variable here
DECLARE @mensaje varchar(max)
-- Add the T-SQL statements to compute the return value here
declare @isNumeric int
declare @vartotal int
declare @tamanolongitudcedula int =10
declare @coeficientes varchar(9)='212121212'
declare @numeroprovincias int=24
declare @tercerdigito int=6
declare @provincia int
declare @digito3 int
set @provincia=CONVERT(int,substring(@cedula,1,2))
set @digito3=CONVERT(int,substring(@cedula,3,1))
declare @digitoverificadorrecibido int
declare @longitud int=len(@coeficientes)
declare @auxiliar int=1
declare @valor int
declare @total int=0
declare @digitoresultante int
declare @numerodigitos int=10
If(LEN(@cedula) = @numerodigitos)BEGIN
if((@provincia>0 AND @provincia<=@numeroprovincias) AND
@digito3<@tercerdigito)
BEGIN
set
@digitoverificadorrecibido=CONVERT(int,substring(@cedula,10,1))
while(@longitud>=@auxiliar)
BEGIN
set
@valor=CONVERT(int,substring(@coeficientes,@auxiliar,1))*CONVERT
(int,substring(@cedula,@auxiliar,1))
if(@valor>=10)
BEGIN
set @valor=@valor -9
END
set @total=@total + @valor
set @auxiliar=@auxiliar+1
END
if(@total>=10 AND (@total%10)<>0 )
BEGIN
set @digitoresultante= 10-(@total%10)
END
else
BEGIN
set @digitoresultante= (@total%10)
END
if(@digitoverificadorrecibido=@digitoresultante)
BEGIN
set @mensaje=1
END
else
BEGIN
set @mensaje=0
END
END
END
else BEGIN
set @mensaje= 0
END
-- Return the result of the function
RETURN @mensaje
END
INGRESO DE NOMBRES
USE [ASISTENCIA]
GO
/****** Object: UserDefinedFunction [dbo].[nombre] Script Date: 30/08/2017
15:58:45 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER function [dbo].[nombre]
(@nombre varchar(70))
returns varchar(10)
AS
begin
declare @resultado varchar(10), @con int = 1
set @nombre = lower(@nombre)
while not(@con>LEN(@nombre) )
begin
if (ASCII(SUBSTRING(@nombre,@con,1))>=97 and
ASCII(SUBSTRING(@nombre,@con,1))<=122 or ASCII(SUBSTRING(@nombre,@con,1))=32 )
begin
set @resultado = 1
end
else
begin
set @resultado = 0
set @con = 80
end
set @con = @con+1
end
return @resultado
end
INGRESAR TELEFONOS
USE [ASISTENCIA]
GO
/****** Object: UserDefinedFunction [dbo].[telefono] Script Date: 30/08/2017
16:00:36 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER FUNCTION [dbo].[telefono]
(@telefono VARCHAR(10))
returns varchar(10)
AS
BEGIN
declare @I varchar(10)
if(ISNUMERIC(@telefono) = 1 and (len(@telefono)=7 or len(@telefono)=10))
begin
set @I = 1
end
else
begin
set @I = 0
end
RETURN @I
end
DISPARADORES
TABLA DE CONTROL
INSERTAR
ACTUALIZAR
ELIMINAR
CREATE TRIGGER TRI_ELIMINAR
ON PERSONAL FOR DELETE
AS
SET NOCOUNT ON
DECLARE @PERCODIGO NUMERIC (5,0),
@REGHOCODIGO NUMERIC (5,0), @CARCODIGO NUMERIC (10,0), @DEPCODIGO NUMERIC
(10,0), @DETCODIGO NUMERIC (10,0),
@CEDULA VARCHAR (10), @NOMBRE VARCHAR (50), @APELLIDO VARCHAR (50), @SEXO
VARCHAR (15),
@NACIMIENTO DATETIME, @TELEFONO NUMERIC (11,0), @DIRECCION VARCHAR (100),
@CORREO VARCHAR (30), @ESTCIVIL VARCHAR (20)
SELECT @PERCODIGO=PER_CODIGO,
@REGHOCODIGO=RHO_CODIGO, @CARCODIGO=CAR_CODIGO, @DEPCODIGO=DEP_CODIGO,
@DETCODIGO=DET_CODIGO,
@CEDULA=PER_CEDULA, @NOMBRE=PER_NOMBRE, @APELLIDO=PERO_APELLIDO,
@SEXO=PER_SEXO,
@NACIMIENTO=PER_FECNAC, @TELEFONO=PER_TELEFONO, @DIRECCION=PER_DIRECCION,
@CORREO=PER_CORREO, @ESTCIVIL=PER_ESTADOCIVIL FROM DELETED
INSERT INTO HISTORIAL VALUES (GETDATE (), SYSDATETIME (),'REGISTRO
ELIMINADO’, SYSTEM_USER, @PERCODIGO,
@REGHOCODIGO, @CARCODIGO, @DEPCODIGO, @DETCODIGO, @CEDULA, @NOMBRE,
@APELLIDO, @SEXO, @NACIMIENTO,
@TELEFONO, @DIRECCION, @CORREO, @ESTCIVIL)
GO
CAPTURE DE LAS TABLAS ORIGINAL Y DE CONTROL DE CAMBIOS UNA
VEZ QUE HAYA PROBADO LOS DISPARADORES CON DATOS
MATRIZ DE SEGURIDAD
MATRIZ DE SEGURIDAD
PERFIL: CONSERJE
PERFIL: DECANO
PERFIL: DOCENTE