Está en la página 1de 75

MODELAMIENTO, DISEO E IMPLEMENTACION

DE UNA BASE DE DATOS PARA EL PROCESO DE


CONTROL DE ASISTENCIA Y EMISION DE
PLANILLA UNICA DE REMUNERACIONES, PARA
LA EMPRESA STARGROUP TI S.A.C.

ASESOR.: CASTAEDA HERNANDEZ, Novar Michell


AUTORES:
HUAMAN CHEGNI, Jhon
LEON RUIZ, Feliciano
MAMANI VERGARA, Roger Alan
OLEMAR VELASQUEZ, Jose Luis

Santa Beatriz, junio del 2016

Agradecemos principalmente
a Dios, por habernos dado la
vida

permitirnos

haber

llegado a este momento tan


importante

en

formacin
nuestros
pilares

nuestra

profesional.
padres,

por

ser

por

siempre

su

importantes

demostrarnos

cario y apoyo incondicional


sin

importar

nuestras

diferencias de opiniones. A
nuestros maestros, quienes
nunca

desistieron

ensearnos

por

exigindonos

mucho, y tambin gracias a


todas

las

personas

ayudaron
indirectamente

que

directa

en

la

realizacin de este proyecto.

II

El

presente

trabajo

de

investigacin est dedicado a


todos nuestros compaeros de
clase, con quienes coincidimos
en la lucha diaria por el logro
de nuestros objetivos. Sea este
trabajo

un

granito

conocimiento

para

crecimiento

acadmico

profesional.

de

nuestro
y

INDICE
TTULO: Modelamiento, Diseo e Implementacin De Una Base De
Datos Para El Proceso de Control De Asistencia y Emisin De Planilla
nica De Remuneraciones, Para La Empresa STARGROUP TI S.A.C
AGRADECIMIENTO

DEDICATORIA

II

INTRODUCCIN

CAPTULO I

1.1. Modelo Entidad Relacin.

1.2. Diagrama entidad-relacin

1.3. El Proceso de Normalizacin.

1.3.1. Primera Forma Normal (1FN).

10

1.3.2. Segunda Forma Normal (2FN).

12

1.3.3. Tercera Forma Normal (3FN).

13

1.3.4. Cuarta Forma Normal (4FN).

15

1.3.5. Quinta Forma Normal (5FN).

17

1.4. Gestores de Bases de Datos Relacionales.


1.4.1. SQL Server 2012.

19
26

CAPTULO II:

30

2.1. Resea Histrica de la Empresa.

30

2.2. Datos Generales de la Empresa.

30

2.3. Ubicacin Geogrfica.

31

2.4. Planteamiento del Problema.

31

2.5. Formulacin del Problema.

33

2.6. Hiptesis.

34

2.7. Limitaciones:

35

CAPTULO III:

36

3.1. Modelo Entidad Relacin de la Base de Datos.

37

3.2. Diagrama Lgico de la Base de Datos.

38

3.3. Diagrama Fsico de la Base de Datos.

39

3.4. Diagrama de la Base de Datos en SQL Server.

40

3.5. Script de la Base de Datos.

41

3.7. Insercin de Registros.

61

3.8. Realizacin de Backup de la Base de Datos.

67

3.9. Realizacin de Restauracin de la Base de Datos.

67

CONCLUSIONES

68

REFERENCIAS BIBLIOGRAFICAS

69

WEBGRAFIA

70

INTRODUCCIN

Las Tecnologas de la Informacin y de la Comunicacin (Tics)


abren el camino a la era de la informacin, estas pueden ser
instrumentalizadas desde el sector pblico, como en el sector privado.
La razn fundamental de esto es la automatizacin de procesos
que permitan hacer ms eficiente los tiempos y eficacia en los objetivos
de las organizaciones pblicas o privadas, el logro de esto se traduce en
ahorro de recursos, en un servicio superior y por tanto, en mejores
resultados y mayor rentabilidad.
Es necesario decir que hoy en da es casi imposible encontrar a
una pequea y/o mediana empresa qu no haga uso de un almacn de
datos, automatizando procesos que le permitan tener mayor eficiencia y
eficacia. Las bases de datos permiten el almacenamiento de informacin
que se emplean de manera cotidiana.

Es decir que, en especfico, Las bases de datos nos permiten


registrar datos sobre cualquier proceso de la empresa, siendo las ms
comunes el control del almacn de los datos, aunque tambin aplica el
Cohen y Asn (2000) afirma que las empresas han cambiado la forma de operar debido
al uso efectivo de los sistemas de informacin, ya que les ha permitido automatizar la
operacin, y por si fuera poco, los sistemas de informacin valga la redundancia, les
proporciona informacin ms que valiosa para la toma de decisiones, lo que sin duda
les provee de una ventaja competitiva.
1

uso de una base de datos para llevar el correcto almacenamiento de la


informacin de los distintos procesos de una empresa, esto incluye las
reas de contabilidad, compras, punto de ventas o produccin. A partir
de los datos registrados, nos permite emitir reportes que van a servir para
la toma de decisiones.
Por lo que en los ltimos aos se han realizado intensos esfuerzos
por lograr que los procesos de automatizacin vayan desde lo ms bsico
hasta lo ms complejo, un rea que ha tardado en automatizarse ha sido
la del control de asistencia y/o permanencia del personal, esto se debe
en primer lugar por darle poco valor administrativo al control del personal
y ms an darle poca relacin con la mayor eficiencia en los pagos al
personal, as mismo la amplia utilizacin de sistemas tradicionales de
control basados en los antiguos relojes mecnicos que utilizan tarjetas
de cartn, o nicamente con partes de asistencia que no son otra cosa
que hojas de papel con lneas numeradas en las que los empleados firman
e indican (ellos mismos) la hora en la cual ingresan o salen de la empresa.
Actualmente la empresa Stargroup TI S.A.C. lleva el control de
todos sus procesos de forma muy informal y en cuento al tema
mencionado no realiza el control de asistencia y permanencia de su
personal la cual genera que no se pueda evaluar la productividad de la
empresa
En base a la necesidad que la empresa presenta, este estudio tiene
por objetivo el Modelamiento, Diseo e Implementacin de una Base de
Batos para la empresa STARGROUP TI SAC. El desarrollo de este trabajo
a sido estructurado por captulos, a continuacin, se describen
brevemente cada uno de ellos.

En el captulo I se abordar los aspectos tericos relacionados con


el Modelo Entidad-Relacin. En primer lugar, se describen los conceptos
bsicos de dicho Modelo (Entidad, Atributo y Relacin), asimismo se
describen las caractersticas y el uso del Diagrama de Entidad-Relacin
(DER). En segundo lugar, se detalla el Proceso de Normalizacin, el cual
consta de cinco formas normales, los cuales son de suma importancia
para garantizar la correcta normalizacin del Diagrama de Entidad de
Relacin (DER). Para concluir el captulo, se describe brevemente la
definicin y se brinda algunos ejemplos de Gestores de Base de Datos
Relacional y de manera especfica, se detallan las caractersticas y
propiedades del Gestor SQL Server 2012, el va hacer empleado como
plataforma de trabajo para el presente estudio.
En el captulo II se presentan los antecedentes del Problema, es
decir la relacin entre la automatizacin de los procesos de; a) registro de
personal y b) sistema de pago por planilla en la compaa Stargroup TI
S.A.C. donde se toma en consideracin parte de la historia de la
compaa, as como sus datos generales. Como parte central de este
captulo, se destacan la formulacin del problema Qu relacin tiene el
uso de la automatizacin de procesos de registro de asistencia de
personal y sistema de pagos con la compaa Stargroup TI S.A.C.?, as
mismo esta formulacin general del problema ha sido desagregada en dos
hiptesis secundarias: 1. Qu relacin hay entre el uso de la
automatizacin de registro de personal y la eficacia en la compaa
Stargroup TI S.A.C.? y 2.Qu relacin hay entre el uso de la
automatizacin de sistema de planillas y la eficacia de pagos en la
compaa Stargroup TI S.A.C.?. As mismo planteamos la hiptesis
general de investigacin que es que el uso de herramientas informticas

de automatizacin contribuira con mayor eficacia en la administracin y


un mayor incremento de los ingresos en las finanzas de la compaa. De
la misma forma en la primera hiptesis secundaria se plantea que la
automatizacin de registro de personal contribuira con el control de la
productividad, por otro lado, nuestra segunda hiptesis secundaria es
que, si se tiene un adecuado sistema de planillas, se puede tener una
administracin y cuentas adecuadas, mecanismos de incentivos y
sanciones en base a productividad y un clima laboral centrado en la
productividad.
Por ltimo, las mayores limitaciones que se tuvieron en la
investigacin fueron las distancias de nuestro centro de estudio, la
compaa a estudiantes y los horarios de trabajo de algunos miembros
del grupo de investigacin.
En cuanto al captulo III se presenta la propuesta a implementar,
que es Modelamiento, Diseo e Implementacin de una Base de Datos para
el Proceso de Control de Asistencia y Emisin de Planilla Unica de
Remuneraciones, para la empresa Stargroup ti s.a.c.
la cual comprende el Modelo de Entidad Relacin de la base de
datos, que es la relacin entre la ubicacin de los empleados, el tipo de
contrato y las funciones y reas que desempean en la compaa, as
mismo el diagrama de relacin lgico que es el uso de una herramienta
de modelamiento de datos en Erwin Data Modeler 7.0 que nos permiti
modelar las asociaciones existentes entre las entidades y los atributos
que tienen las mismas. As mismo el mismo software nos dio como
resultado el diagrama de entidad de relacin fsico donde se asignan los
tipos de datos de cada Atributo perteneciente a cada Entidad.

Luego de esto, est el diagrama de la base de datos en el gestor


SQL Server 2012, -que es prcticamente el producto final- as mismo se
presenta el Script de la Base de Datos el cual se generar como producto
de la migracin del Erwin Data Modeler 7.0 al SQL Server 2012, este
Script ser de mucha importancia porque permitir las modificaciones y
actualizaciones de la estructura de la Base de Datos, as como la creacin
de una copia de seguridad mediante una creacin de Backup, as como
tomar las precauciones en posibles riesgos para la restauracin de la
base de datos mediante para recuperar mediante copias de seguridad
actualizadas.
Para finalizar el presente estudio se desarrollan, de manera
puntual, las principales conclusiones a las que se ha llegado, as como
las referencias bibliogrficas y webgrfia.

CAPTULO I
MARCO TERICO

1.1.

Modelo Entidad Relacin.


El Modelo de Entidad Relacin es un conjunto de datos basados

en una percepcin del mundo real que consiste en un conjunto de objetos


bsicos

llamados

entidades

relaciones

entre

estos

objetos,

implementndose en forma grfica a travs del Diagrama Entidad


Relacin. Es un acercamiento descendiente, cuya secuencia de operacin
es la siguiente:
a)

Seleccin de entidades, y de las relaciones entre ellas.

b)

Asignacin de atributos a esas entidades y relaciones de

forma que se obtengan tablas completamente normalizadas.


Segn el autor, Jos Manuel Pieiro Gmez2

Entidad: La define como cualquier objeto sobre el que se

desea almacenar informacin en las bases de datos. Las entidades


se representan por medio de rectngulos en cuyo interior se
incluye el nombre de la entidad. Una ocurrencia de una entidad
es cada una de las realizaciones concretas de una entidad en el

PIEIRO GMEZ, Jos Manuel: Bases de datos relacionales y modelado de

datos, Espaa, Ediciones Nobel, 2013, p. 11-12.

mundo real, o lo que es lo mismo, cada instancia de una entidad.


Por lo general se utilizan sustantivos para identificar las
entidades. Por ejemplo, maquinas, clientes, entre otros.

Atributo: es cada una de las caractersticas de una entidad

o de una relacin. Por ejemplo, los atributos de la entidad cliente


pueden ser nmero de clientes, nombre. Los atributos se pueden
representar de diferentes maneras; una de ellas consiste en
dibujar un valo con el nombre del atributo en su interior y unido
mediante una lnea a la entidad o a la relacin correspondiente.

Relacin: es una asociacin o correspondencia entre

entidades; As, por ejemplo, la entidad departamento puede estar


asociada con la entidad empleado mediante la relacin emplearlas
relaciones se representan por medio de un rombo en cuyo interior
aparece el nombre de la relacin.
Existen diferentes grados de relacin (cardinalidad que es la
especificacin del nmero de ocurrencias de un objeto que se
relaciona con ocurrencias de otro) dentro del diagrama entidadrelacin.

1.2.

a)

Representa la relacin Uno: Uno,

b)

Representa la relacin Uno: Muchos y

c)

Representa la relacin Muchos: Muchos.

Diagrama entidad-relacin
Un diagrama de entidad-relacin (DER) es una herramienta de

modelado de datos que describe las asociaciones que existen entre las
diferentes categoras de datos dentro de un sistema de empresa o de
informacin. Es interesante observar que los diagramas de datos no slo
sirven para representar qu y cmo se tiene que almacenar los datos de
un sistema de informacin, sino que tambin permite representar
grficamente empresas3.
Es

un

diagrama

que

muestra

ocurrencias

de

entidades

individuales y sus relaciones y proporciona un medio sencillo y de fcil


compresin para comunicar las caractersticas sobresalientes del diseo
de cualquier base de datos.

(FERNNDEZ ALARCN) (Desarrollo de sistemas de informacin: una


metodologa basada en el modelado, 2006)
3

La convencin que se utilizar para dibujar el diagrama entidadrelacin es la siguiente: las entidades sern representadas mediante
rectngulos y las relaciones mediante rombos. Los conectores que
mostrarn que entidades estn asociadas a que relaciones son lneas.

1.3.

El Proceso de Normalizacin.
La Normalizacin es un proceso que clasifica relaciones, objetos,

formas de relacin y dems elementos en grupos, en base a las


caractersticas que cada uno posee. Si se identifican ciertas reglas, se
aplica una categora; si se definen otras reglas, se aplicar otra categora.
Cuando se han establecido las relaciones entre entidades, se debe
realizar la normalizacin del diseo, esto es, eliminar la informacin
redundante de las entidades y sin perder informacin.
El proceso de normalizacin parte de las formas normales
definidas por Edgar Frank Codd (1970) 4 creador de las bases de datos
relacionales. Primeramente, Codd formul las tres primeras formas
normales (1FN, 2FN, 3FN); posteriormente, despus Fagin defini la 4FN
y 5FN.

EDGAR FRANK, Codd: A Relational Model of Data for Large Shared Data Banks E.
F. Codd IBM Research Lab. San Jose. CA.
4

10

Las reglas principales para normalizacin son las siguientes:


1.3.1. Primera Forma Normal (1FN).
Una tabla est en Primera Forma Normal slo si:

Todos sus atributos son atmicos, es decir son no


descomponibles. Un atributo es atmico si los elementos
del dominio son indivisibles, mnimos.

Una tabla contiene una llave primaria.

La tabla no contiene atributos nulos.

Si no posee ciclos repetitivos.

Evitar problemas de actualizacin de los datos en las


tablas.

Proteger la integridad de los datos.

Una columna no puede tener mltiples valores. Los datos son


atmicos. Prohbe a un campo contener ms de un dato de su dominio
de columna. Cuando no existe normalizacin, se presentan anomalas en
la base de datos. Estos problemas que ocasionan problemas al momento
de insertar, modificar o eliminar datos.
Ejemplo:

11

La forma correcta sera:

12

1.3.2. Segunda Forma Normal (2FN).


Dependencia Funcional. Segn EDGAR FRANK, Codd una tabla
1NF est en 2NF si y solo si, dada una clave primaria y cualquier atributo
que no sea un constituyente de la clave primaria, el atributo no clave
depende de toda la clave primaria en vez de solo de una parte de ella.
En otras palabras, podramos decir la 2FN est basada en el
concepto de dependencia completamente funcional.
Cuando el diseo de datos es cambiado por reemplazar registros
no normalizados por registros normalizados, a este proceso se le llama
normalizacin. El diseo normalizado refuerza la integridad de los datos
minimizado la inconsistencia y redundancia de datos.

Dependencia Funcional(DF): Es la relacin que existe entre


los atributos no primos (no claves) y la clave primaria de la
entidad.

Dependencia Transitiva(DT): Se refiere a la relacin indirecta


entre dos o ms entidades, esta relacin indirecta se da por
medio de otra entidad que funge de puentes entre ambas.

13

Una tabla 1FN estar en 2FN si y solo si, dada una clave primaria
y cualquier atributo que no sea un constituyente de la clave primaria, el
atributo no clave depende de toda la clave primaria en vez de solo una
parte de ella.

Ejemplo:

1.3.3. Tercera Forma Normal (3FN).


La tabla se encuentra en 3FN si est en 2FN y cada atributo que
no forma parte de ningn..a clave, depende directamente y no
transitivamente de la clave primaria.

14

La tercera forma normal (3FN) es una forma normal usada en la


normalizacin de bases de datos. Para que la tabla est en 3FN, se debe
cumplir que la tabla ya est en 2NF. Adicionalmente, ningn atributo no
primario de la tabla debe ser dependiente transitivamente de una clave
primaria.
Ejemplo:

La anomala que presenta la tercera forma normal no est en la


insercin, modificacin, o eliminacin de datos. Sino, en la dependencia
multivaluada.
Edgar F. Codd originalmente defini las tres primeras formas
normales (1FN, 2FN, y 3FN)5.

Edgar F. Codd: https://es.wikipedia.org/wiki/Edgar_Frank_Codd

15

1.3.4. Cuarta Forma Normal (4FN).


La cuarta forma normal (4FN) es una Forma Normal usada en la
normalizacin de bases de datos6. Esta se asegura que todas las
dependencias multivaluadas estn representadas de la manera ms
eficiente en la base de datos. Esta forma normal se realiza despus de la
forma normal de Boyce-Codd, si y solo si esta en Tercera forma
normal dependencias multivaluadas no triviales.
Una tabla con una dependencia multivaluada es una donde la
existencia

de

dos

ms

relaciones

independientes muchos

muchos causa redundancia; y es esta redundancia la que es suprimida


por la cuarta forma normal 7.

Una dependencia multivaluada es una restriccin completa entre


dos grupos de atributos en una relacin.

Segn el autor, PRINCE Jon, Aprendiendo Microsoft Access 2002 en 21

lecciones avanzadas, deduce que la mayora de los desarrolladores de bases de datos


detienen el proceso de normalizacin en la tercera Forma Normal, pero respetando la
4FN, usted producir bases de datos bien diseados.

7MARGARET

S. Wu (1992) observa que la enseanza de la normalizacin de la

base de datos se detiene tpicamente justo antes de la 4FN, quizs debido a una creencia
que las tablas que violan la 4FN (pero que hacen frente a todas las formas normales
ms bajas) son raramente encontradas en aplicaciones empresariales. Sin embargo,
esta creencia puede no ser exacta. Wu reporta que en un estudio de cuarenta bases de
datos de organizaciones, ms del 20% contena una o ms tablas que violaban la 4FN
mientras que satisfacen todas las formas normales ms bajas.

16

Esta dependencia multivaluada se resuelve de la siguiente


manera:

17

1.3.5. Quinta Forma Normal (5FN).


La Quinta Forma Normal (5FN), tambin conocida como Forma
Normal de Proyeccin-Unin (PJ/NF), es un nivel de normalizacin de
bases de datos diseado para reducir redundancia en las bases de datos
relacionales que guardan hechos multi-valores aislando semnticamente
relaciones mltiples relacionadas. Una tabla se dice que est en 5FN si y
slo si est en 4FN y cada dependencia de unin en ella es implicada por
las claves candidatas.
La (5FN), se refiere a dependencias que son ms raras, la
condicin bajo la cual se origina esta situacin no tiene un significado
claro. En 1981 Fagin public un importante artculo en el que defini la
Forma Normal dominio-llave (DK/FN)8. Mostr que una relacin en
DK/FN9 no tiene anomalas de lo tanto no es necesaria una Forma
Normal ms alta.
El concepto DK/FN es muy simple: una relacin est en DK/FN
si cada restriccin en la relacin es una consecuencia lgica de la
definicin de llave y dominio. Fagin excluye expresamente las
restricciones correspondientes a cambios en los valores de los datos, o
las restricciones que dependan del tiempo. Por ejemplo, la regla el salario
de los vendedores en el periodo actual no puede ser menor al que reciban
en la etapa anterior

Una llave es un identificador nico de un tupla.

Edgar F. Codd: https://en.wikipedia.org/wiki/Domain-key_normal_form.

Llamada Forma Normal dominio-llave (DK/FN, por sus siglas en ingls).

18

El dominio es una descripcin de los valores permitidos


para un atributo.

Por desgracia, no se conoce algn algoritmo para convertir una


relacin a DK/FN. Encontrar o disear las relaciones DK/FN es ms un
arte que una ciencia. A pesar de lo anterior, en el mundo prctico del
diseo de bases de datos, la DK/FN es extremadamente til para el
diseo.
Hay algunas ocasiones en que an existen anomalas despus de
una 4FN, aunque este tipo de anomalas son del tipo semnticas. Un
ejemplo sera la siguiente tabla con su descripcin:

Cuando un psiquiatra es autorizado a ofrecer el tratamiento


reembolsable a los pacientes asegurados por el asegurador P, y el
psiquiatra puede tratar la condicin C, entonces - en caso que el
asegurador P cubra la condicin C - debe ser cierto que el psiquiatra

19

puede ofrecer el tratamiento reembolsable a los pacientes que sufren de


la condicin C y estn asegurados por el asegurador P.
Se puede dividir con esta descripcin a la relacin en tres partes:

Esta disposicin ayuda a reducir redundancia y a facilitar


cualquier tipo de bsquedas.
1.4.

Gestores de Bases de Datos Relacionales.


La Base de Datos Relacional (BDR) es un tipo de Base de Datos

(BD) que cumple con el Modelo Relacional (el modelo ms utilizado


actualmente para implementar las BD ya planificadas).

Una BD se compone de varias tablas o relaciones.

No pueden existir dos tablas con el mismo.

Cada tabla es a su vez un conjunto de campos (columnas)


y registros (filas).La relacin entre una tabla Nombre y Juan
se lleva a cabo por medio de las claves primerias y claves
forneas (o ajenas).

20

CLAVE PRIMARIA (Primary Key), es una clave nica


(puede estar conformada por uno o ms campos de la
tabla) elegida entre todas las candidatas que definen
nicamente a todos los atributos de la tabla para
especificar los datos que sern relacionados con las
dems tablas. La forma hacer esto (relacin entre
tablas) es por medio de claves forneas.
CLAVE FORNEA (Foreign Key), es una referencia a
una clave en otra tabla, determina la relacin existente
en dos tablas. Las claves forneas no necesitan ser
claves nicas en la tabla donde estn y si a donde estn
referidas. Por ejemplo, el cdigo de departamento puede
ser una clave fornea en la tabla de empleados. Se
permite que haya varios empleados en un mismo
departamento, pero habr uno y slo un departamento
por cada clave distinta de departamento en la tabla de
departamentos.

Las claves primarias son la clave principal de un registro dentro


de una tabla y estas deben cumplir con la integridad de datos.

21

Las claves ajenas se colocan en la tabla hijo, contienen el


mismo valor que la clave primaria del registro padre; por
medio de estas se hacen las formas relacionales

Existe un tipo de software exclusivamente dedicado a tratar con


bases de datos relacionales, conocido como Sistema de Gestin de Bases
de Datos Relacionales (SGBDR, o RDBMS del ingls Relational Database
Management System), tambin llamados manejadores o gestores de las
BDR.
Entre los gestores actuales ms populares existen:
a. MySQL.
1. Segn las cifras del fabricante, existiran ms de seis millones
de copias de MySQL funcionando en la actualidad, lo que
supera la base instalada de cualquier otra herramienta de bases
de datos.
2. El trfico del sitio web de MySQL AB super en 2004 al del sitio
de IBM.
3. La licencia GNU GPL de MySQL obliga a que la distribucin de
cualquier producto derivado (aplicacin) se haga bajo esa
misma licencia. Si un desarrollador desea incorporar MySQL en
su producto, pero desea distribuirlo bajo otra licencia que no
sea la GNU GPL, puede adquirir una licencia comercial de
MySQL que le permite hacer justamente eso.
4. MySQL es

un Sistema

Relacional desarrollado

de

Gestin

bajo

de

licencia

Bases

de

Datos

dual GPL/Licencia

comercial por Oracle Corporation y est considerada como la


base datos open source ms popular del mundo1

, y una de las

22

ms populares en general junto a Oracle y Microsoft SQL


Server, sobre todo para entornos de desarrollo web.
b. PostgreSQL.
1. PostgreSQL es un Sistema de Gestin de Bases de Datos
Relacional orientado a objetos y libre, publicado bajo la licencia
PostgreSQL, similar a la BSD o la MIT.
2. Como muchos otros proyectos de cdigo abierto, el desarrollo de
PostgreSQL no es manejado por una empresa y/o persona, sino
que es dirigido por una comunidad de desarrolladores que
trabajan de formas desinteresadas, altruistas, libres y/o
apoyadas por organizaciones comerciales. Dicha comunidad es
denominada el PGDG (PostgreSQL Global Development Group).
c. Oracle.
1. Oracle Corporation es una compaa de software que desarrolla
bases de datos (Oracle Database) y sistemas de gestin de bases
de datos. Cuenta adems, con herramientas propias de
desarrollo

para

Designer, Oracle

realizar

aplicaciones,

JDeveloper y Oracle

Developer

como Oracle
Suite.

Su

actual consejero delegado es Larry Ellison.


2. Oracle tiene su sede en la localidad californiana de Redwood
City, Estados Unidos. Segn la clasificacin correspondiente al
ao 2006, ocupa el primer lugar en la categora de las bases de
datos y el sptimo lugar a nivel mundial de las compaas de
tecnologas de la informacin.18 La tecnologa Oracle se
encuentra prcticamente en muchas industrias del mundo y en
las oficinas de 98 de las 100 empresas Fortune 100.Oracle

23

(Nasdaq: ORCL) es la primera compaa de software que


desarrolla e implementa aplicaciones para empresas cien por
ciento activado por Internet a travs de toda su lnea de
productos:

base

de

datos,

aplicaciones

comerciales

herramientas de desarrollo de aplicaciones y soporte de


decisiones. Oracle es el proveedor mundial de software para
administracin de informacin, muy por delante de la segunda
de su segmento, Software AG.
d. DB2.
1. DB2 es una marca comercial, propiedad de IBM, bajo la cual se
comercializa un sistema de gestin de base de datos.
2. DB2 versin 9 es un motor de base de datos relacional que
integra XML de manera nativa, lo que IBM ha llamado pureXML,
que permite almacenar documentos completos dentro del tipo
de datos xml para realizar operaciones y bsquedas de manera
jerrquica

dentro

de

ste,

integrarlo

con

bsquedas

relacionales.
3. La compatibilidad implementada en la ltima versin, hace
posible la importacin de los datos a DB2 en una media de 1 o
2 semanas, ejecutando PL/SQL de forma nativa en el gestor IBM
DB2.
4. La

automatizacin

es

una

de

sus

caractersticas

ms

importantes, ya que permite eliminar tareas rutinarias y


permitiendo que el almacenamiento de datos sea ms ligero,
utilizando menos hardware y reduciendo las necesidades de
consumo de alimentacin y servidores.

24

5. La memoria se ajusta y se optimiza el rendimiento del sistema,


con un interesante sistema que permite resolver problemas de
forma automtica e incluso adelantarse a su aparicin,
configurando automticamente el sistema y gestin de los
valores.
e. Informix.
1. Informix es una familia de productos RDBMS de IBM, adquirida
en 2001 a una compaa (tambin llamada Informix o Informix
Software) cuyos orgenes se remontan a 1980.
2. El DBMS Informix fue concebido y diseado por Roger Sippl a
finales de los aos 1970. La compaa Informix fue fundada en
1980, sali a bolsa en 1986 y durante parte de los aos
1990 fue el segundo sistema de bases de datos ms popular
despus de Oracle. Sin embargo, su xito no dur mucho y para
el ao 2000 una serie de tropiezos en su gestin haba debilitado
seriamente a la compaa desde el punto de vista financiero.
f. Interbase.
1. Interbase es un sistema de gestin de bases de datos
relacionales (RDBMS) desarrollado y comercializado por la
compaa

Borland

Software

Corporation

actualmente

desarrollado por su ex-filial CodeGear.


2. Interbase se destaca de otros DBMS's por su bajo consumo de
recursos, su casi nula necesidad de administracin y su
arquitectura

multi-generacional.

InterBase

plataformas Linux, Microsoft Windows y Solaris.


g. Firebird.

corre

en

25

1. Firebird es un sistema de administracin de base de datos


relacional (o RDBMS) (Lenguaje consultas: SQL) decdigo
abierto, basado en la versin 6 de Interbase, cuyo cdigo fue
liberado por Borland en 2000. Su cdigo fue reescrito de C a
C++. El proyecto se desarrolla activamente, el 18 de abril de
2008 fue liberada la versin 2.1 y el 26 de diciembre de 2009
fue liberada la versin 2.5.0 RC1. La versin 2.5.4, la ms
reciente del proyecto, fue liberada el 30 de marzo de 2015.
h. Sybase.
1. Sybase Inc. (NYSE: SY) fue una compaa dedicada al desarrollo
de tecnologa de la informacin. Fue fundada en Berkeley,
California

(EE.UU.),

en

1984,

oper

como

empresa

independiente hasta que SAP anunci su plan de adquirirla en


mayo de 2010. En julio de ese mismo ao, se completa la
operacin por valor de 4.567 millones de euros.
i. Microsoft SQL Server.
a) Microsoft SQL Server es un sistema de manejo de bases de datos
del modelo relacional, desarrollado por la empresa Microsoft.
b) El lenguaje de desarrollo utilizado (por lnea de comandos o
mediante la interfaz grfica de Management Studio) es TransactSQL (TSQL), una implementacin del estndar ANSI del
lenguaje SQL, utilizado para manipular y recuperar datos
(DML), crear tablas y definir relaciones entre ellas (DDL).
c) Dentro de los competidores ms destacados de SQL Server
estn: Oracle, MariaDB, MySQL, PostgreSQL. SQL Server solo
est disponible para sistemas operativos Windows de Microsoft.

26

1.4.1. SQL Server 2012.


Structured Query Language (SQL)
El Dr. Edgar Frank Codd propuso el modelo relacional como una
nueva forma de representar la informacin para su tratamiento. Con esto
sent las bases de un lenguaje algebraico llamado SQUARE para la
manipulacin de datos. Este lenguaje fue mejorndose y amplindose
hasta que se denomin SEQUEL y por ltimo en 1976 el SQL. Durante
esa dcada tanto el modelo relacional como el lenguaje propuesto por
Codd estuvieron siendo validados, mientras tanto, una serie de firmas
empezaron a comercializar productos basados en los mismos. En los
primeros aos de la dcada de los 80 IBM comercializ su primer
producto relacional, el SQL/DS y el DB2, ms adelante; fue en esta
dcada cuando ANSI public los primeros estndares relacionados.
Es un sistema para la gestin de bases de datos relacionales, es
desarrollado por la empresa Microsoft. Tiene por lenguajes de consulta a
T-SQL (transact - SQL) y ANSI SQL. Constituye una alternativa
presentado por la empresa Microsoft en el competitivo mercado de
sistemas gestores de bases de datos como Oracle, PostgreSQL o MySQL.
El sistema se caracteriza porque soporta transacciones, procedimientos
almacenos y es de un entorno grafico amigable para los usuarios
administradores, permitiendo comando DDL (lenguaje de Definicin de
Datos) y DML (Lenguaje de Manipulacin de Datos). El sistema permite
trabajar a modo cliente servidor, esto quiere decir que los datos se alojan
dentro del servidor y los clientes acceden a la informacin a travs de la
red llevando un control de accesos de los usuarios segn sea las polticas
asignadas por la administracin. Permite realizar la administracin de
otros servidores de datos. Para el desarrollo de aplicaciones en tres o ms

27

capas, incluye interfaces de acceso para varias plataformas de desarrollo


como .Net, pero el servidor solo est disponible para el sistema operativo.
Programacin. T-SQL: Es el principal medio de interaccin con el servidor
de base de datos, ya que permite realizar la manipulacin de estos
mediante sentencias que incluyen sintaxis propias del lenguaje como
create, update, select, delete, declare, procedure, entre otras, las cuales
son reservadas para la creacin de procedimientos almacenados, tablas,
relaciones, consultas que estarn disponibles en las aplicaciones.
Adems, permite realizar la administracin de servidor de base de datos.
SQL Server 2012. En la Asociacin Profesional 2011 para SQL
Server cumbre (PASS) el 11 de octubre, Microsoft anunci que la prxima
versin de SQL Server (con nombre en cdigo "Denali"), sera de SQL
Server 2012. Fue lanzado a la fabricacin el 6 de marzo de 2012. SQL
Server 2012 Service pack 1 fue lanzado a la fabricacin, el 9 de noviembre
de 2012, y Service pack 2 fue lanzado a la fabricacin el 10 de junio de
2014.
Se anunci que la ltima versin compatible de forma nativa OLE
DB y ODBC en lugar de preferir para la conectividad nativa.
SQL Server nuevas caractersticas y mejoras de 2012 incluyen
siempre en las instancias de clster de SQL Server de conmutacin por
error y grupos de disponibilidad que proporciona un conjunto de
opciones para mejorar la disponibilidad de bases de datos, Contenido
Bases de datos que simplifican el traslado de bases de datos entre
instancias, nuevo y modificado vistas de administracin dinmica y
funciones,

mejoras

de

programabilidad

incluyendo

nuevas

caractersticas espaciales, el descubrimiento de metadatos, objetos de

28

secuencia y la sentencia throw, mejoras de rendimiento, tales como


ndices de almacn de columnas, as como mejoras en lnea y operaciones
a

nivel

de

particin

mejoras

de

seguridad,

incluyendo

el

aprovisionamiento durante configuracin, los nuevos permisos, mejora


de la gestin de roles, y el esquema predeterminado de asignacin a los
grupos10.
Versiones11

10https://en.wikipedia.org/wiki/Microsoft_SQL_Server#SQL_Server_2012
11http://image.slidesharecdn.com/requerimientos-120904183834-

phpapp02/95/requerimientos-de-instalacion-de-sql-2-728.jpg?cb=1346783973

29

Para el presente proyecto se utilizar la versin de SQL Server 2012


debido a su versatilidad y escalabilidad.

30

CAPTULO II:
ANTECEDENTES DEL PROBLEMA.

2.1.

Resea Histrica de la Empresa.


STARGROUP TI S.A.C. es una empresa peruana con 5 aos en el

mercado laboral Brindando a sus clientes servicios informticos. El Seor


Percy Rojas Lpez quien es el gerente general y accionista mayoritario, es
un profesional con mucha experiencia, egresado de la escuela GLAMOUR
tcnico electrnico, inicio sus labores en empresas que brindan
soluciones y servicios informticos como la conocida y prestigiosa
COMPUCARE.
En el ao 2002 el Sr. Rojas inicia sus labores en sociedad con 3
personas ms fundando la empresa US COMPUTERS SYSTEM S.A.C. que
estuvo realizando sus actividades hasta el 2013, la cual deciden cerrar
por la mala administracin de socios, lo cual decide dar un paso al
costado para organizar STARGROUP TI S.A.C. que es una empresa con
el mismo rubro. En el ao 2014 realiza la remodelacin de su instalacin
para brindar una atencin ms personalizada con el cliente.
2.2.

Datos Generales de la Empresa.


Razn social:

STARGROUP TI S.A.C.

Ruc:

20547082622

Direccin:

Av. Ignacio Merino 2402 of 202 - Lince

31

2.3.

Telfono:

012223273

Email:

info@stargroupti.com

Ubicacin Geogrfica.

Fuente: Google Maps10/07/2016 19:18hrs

2.4.

Planteamiento del Problema.


Actualmente los procesos realizados dentro de STARGROUP TI

S.A.C. se llevan a cabo a travs de un control semi-manual, empleando


aplicaciones de ofimtica como Word y Excel como base para llevar a cabo
el control de dichos procesos. Al carecer de automatizacin, se presentan
diversos problemas que repercuten, de manera directa, en la gestin
eficiente de los recursos, as como el desarrollo de medidas de accin
rpidas y efectivas ante posibles problemas a presentarse.
Dadas las caractersticas de la problemtica anteriormente
mencionada, el objetivo principal de este trabajo monogrfico es
desarrollar una base de datos para almacenar informacin sobre los

32

procesos de Control De Asistencias y Emisin de Planilla nica de


Remuneraciones.
En cuanto al primer proceso, el control de asistencias, este se
lleva a cabo a travs de llamadas telefnicas por parte del jefe a cada uno
de los colaboradores, con la finalidad de constatar su llegada a la oficina.
Como consecuencia de ello, se presentan retrasos de hasta dos horas
para el inicio de las actividades en la empresa; de igual forma a la hora
del refrigerio, en donde el tiempo asignado es de una hora, en muchas
ocasiones el personal se suele exceder hasta 2 horas para el reingreso y
reanudacin de las actividades.
Por su parte, en lo concerniente a la emisin de planilla de
remuneraciones, el proceso es realizado por el contador de la empresa,
de forma casi manual, a travs del empleo de hojas de clculos Excel para
almacenar informacin de los trabajadores, empleando datos que, lejos
de ser objetivos, se basan en aproximaciones o especulaciones, las cuales
no guardan relacin directa con los procesos de control de asistencia,
ocasionando una prdida de recursos econmicos, que demanda mucho
tiempo y genera retrasos para el cumplimiento de los salarios a los
empleados.
Con la finalidad de dar solucin a dichos problemas, el control de
asistencia del personal se realizar a travs de marcaciones que sern
registradas mediante un hardware biomtrico que permitir recopilar con
exactitud la informacin sobre el cumplimiento de los horarios
establecidos con cada colaborador dentro de su contrato. Esto nos lleva
a que una solucin ordenada al Control de Asistencia de Personal se
genere el Proceso de Contratacin de Personal donde no solo se establece

33

los horarios sino otros datos importantes que sern usados para el
clculo de sus honorarios tales como el Sueldo Neto, Costo por Hora, el
tiempo laboral si es por semestre, anual, etc.
As mismo parte del Proceso de Remuneracin de Personal es el
control del Proceso de pago del Personal que obligara a la empresa
obtener todas las cuentas bancarias de los empleados para realizar pagos
puntuales.
2.5.

Formulacin del Problema.


Para poder llegar a la solucin de los Procesos de Control que son

objetos de nuestro estudio realizaremos la Estrategia General de


Resolucin de Problemas que comprende el Anlisis, Diseo, Ejecucin y
Control de toda la situacin actual que vive la empresa.
La realidad en la que se encuentra STARGROUP TI S.A.C. nos
lleva a que nosotros realicemos el Modelo de Entidad de Relacin ya que
es un proceso creativo, que nos permite identificar las principales
Entidades, Relaciones y Cardinalidades que representan de manera
inmediata la posible solucin frente al mencionado.
Con la herramienta Erwin Data Modeler se procede a partir del
Modelo de Entidad de Relacin a generar el Diagrama de Entidad de
Relacin Lgico donde tenemos mayor percepcin de los detalles
faltantes, siguiendo las pautas del proceso de Normalizacin se creara las
Entidades Asociativas en el siguiente paso que es la generacin de
Diagrama de Entidad de Relacin Fsico de la base de datos, cabe resaltar
que en esta tcnica no solo nacen las Entidades Asociativas sino tambin
se establecen los tipos de datos de cada atributo perteneciente a su

34

respectiva Entidad. Siguiendo con la Ingeniera Directa se procede a la


exportacin de la Base de Datos al Gestor de Base de Datos SQL Sever
2008 R2 que es uno de los ms confiables y comerciales que puede existir
en el mercado actualmente. Una vez obtenido la Base de Datos
procederemos a generar el diagrama correspondiente de la Base de Dato
para verificar que no haya inconvenientes como tablas hurfanas o
alguna otra anomala As mismo se almacena el script perteneciente a la
generacin de las tablas, relaciones, etc. que ser necesario documentar
para futuras actualizaciones de la Base de Datos.
Ya para culminar con todo este proceso se realizar el llenado de
registros, campo por campo, para realizar la primera corroboracin del
ingreso de Datos. Luego generaremos la copia de Seguridad de la Base de
Datos y la restauraremos para comprobar si la Base de Datos cumple con
esta propiedad.
Es necesario poder realizar todos estos pasos para poder
automatizar una gran parte de los Procesos administrativo que tiene
Stargroup ti S.A.C. ya que, obteniendo respuestas en el menor tiempo
posible, se podr tener mayor control y se podr tomar buenas decisiones
frente a estos procesos.
2.6.

Hiptesis.
Stargroup ti S.A.C. prioriza todas sus operaciones en dar

soluciones al cliente, en primera instancia esto es bueno ya que el motor


de las empresas siempre es la productividad; sin embargo, se dejan de
lado otros aspectos importantes dentro de una empresa, el cuidado al
personal con el cumplimiento de sus horarios es un factor que ayudara
sin lugar a dudas a aumentar la productividad.

35

2.7.

Limitaciones:
Dado el poco tiempo que se presenta para investigar a detalle los

Procesos de Control de Asistencia y el Proceso de Remuneracin del


Personal solo nos limitaremos a realizar la Base de Datos para satisfacer
las necesidades de la empresa.

36

CAPTULO III:
SOLUCION A IMPLEMENTAR.

37

3.1.

Modelo Entidad Relacin de la Base de Datos.

MARCACION

CONTRATO

REALIZA

FIRMA

Fuente: Elaboracin propia, 10/07/16 19:30hrs.

38

3.2.

Diagrama Lgico de la Base de Datos.


HORARIO_ESTABLECIDO

RETENCIONES

IDHORARIO

TIPO_RET

COD_PERS (FK)
H_INGRESO
H_SALIDA_REFRIG
H_INGRESO_REFRIG
H_SALIDA

NOM_RET
PORCENTAJE

DET_RETENCIONES

AREA

USUARIO

COD_AREA

COD_PERS (FK)
PASS
CODUSER
ESTADO_USUARIO

NOM_AREA
CONTRATO
NUM_CONTRATO
COD_PERS (FK)
FEC_INICIO_CONT
FEC_TERMINO_CONT
COD_AREA (FK)
COD_CAR (FK)
SUELDO
COSTO_HORA
ESTADO_CONTRATO

PLANILLA

TIPO_RET (FK)

COD_PLANILLA

APORTE_OBLIGATORIO
PRIMA_SEGURO
COMISION_PENSION
COMISION_MIXTA

FEC_EMISION
PERIODO_PLAN
ESTADO

ID_FORPAGO

IDMARCACION_ASISTENCIA

DET_PLANILLA
COD_PLANILLA (FK)
COD_PERS (FK)

ESSALUD
CTS

NOM_CARGO

FORMA_PAGO

HRS_TRAB
GRATIF
HRS_EXTRAS
BONIF
ASIG_FAM
TOTAL_REMUN
TIPO_RET (FK)
TOT_SNP
COMISION_MIXTA
APORT_OBLIGAT
PRIMA_SEGURO
COMISION_PENSION
QUINTA_CAT
TOTAL_RETENC
NETO_PAGAR
ID_APORT (FK)
TOT_ESSALUD
TOT_SCTR
TOTAL_APORT
TOT_CTS

DESCRIPCION

COD_PERS (FK)
FEC_MARC
H_INGRESO_REAL
H_SALIDA_REFRIG_REAL
H_INGRESO_REFRIG_REAL
H_SALIDA_REAL
H_TARDANZAS
H_EXTRAS
ESTADO_ASIST

COD_PERS

TIPO_APORT

COD_CAR

MARCACION

PERSONAL

APORTACIONES

CARGO

APELLIDOS
NOMBRES
DNI
FEC_NAC
SEXO
EST_CIVIL
NRO_HIJOS
COD_DIST (FK)
DIRECCION
E_MAIL
COD_EST (FK)
LABORA
FOTO

DISTRITO
COD_DIST
NOM_DIST

BOLETA_PAGOS
NUM_BOL

VACACIONES

BONIFICACION

IDVAC

ID_BONIF

COD_PERS (FK)
FEC_SALIDA
FEC_RETORNO
PERIODO

COD_PERS (FK)
FEC_BONIF
DESCRIPCION
MONTO_BONIF

COD_PERS (FK)
FEC_EMISION
PERIODO_BOL
ID_FORPAGO (FK)
TOTAL_HABERES
TOT_RETENC
SUB_TOTAL
HRS_TARDANZAS
TOT_TARDANZAS
TOT_FALTAS
TOT_DESCUENTOS
HRS_EXTRAS
TOT_EXTRAS
NETO_PAGAR
ESTADO

ADELANTOS
COD_ADEL
DIRECTORIO_TELEFONICO_PERSONA

COD_PERS (FK)
FEC_ADEL
IMPORTE_ADEL
ESTADO

COD_TEL
COD_PERS (FK)
NUM_TEL
DESCRIP_TEL
ESTADO_PERSONAL
COD_EST
NOM_EST
OBSERVACION

DET_CTAS
TIPO_CTA
ID_BAN (FK)
NUM_CTA

Fuente: Elaboracin propia, 10/07/16 19:30hrs.

DEPOSITOS

CTA_PERSONAL

NUMERO_DEP

NUMERO_CTA

NUMERO_CTA_DEP (FK)
FECHA_DEP
DESCRIPCION_DEPOSITO
IMPORTE_DEP
MOTIVO_DEP
PERIODO_DOC

ENT_BANCARIA
TIPO_CTA
COD_PERS (FK)
CONCEPTO_CTA
ESTADO_CTA

CTAS_BANCARIAS
ID_BAN
NOMBRE_BAN

REGISTRO_CHEQUES
NUMCHEQUE
NUMBOL (FK)
ID_BAN (FK)
NUMCTA
TIPOCTA
FEC_GIRO
MONTO_GIRAR_SOLES
MONTO_GIRAR_DOLARES
ESTADO

39

3.3.

Diagrama Fsico de la Base de Datos.


HORARIO_ESTABLECIDO

RETENCIONES

IDHORARIO: char(5)

TIPO_RET: char(2)

CODPERS: char(6) (FK)


H_INGRESO: char(5)
H_SALIDA_REFRIG: char(5)
H_INGRESO_REFRIG: char(5)
H_SALIDA: char(5)

NOM_RET: varchar(35)
PORCENTAJE: numeric(8,2)

DET_RETENCIONES

COD_PLANILLA: int

APORTE_OBLIGATORIO: numeric(8,2)
PRIMA_SEGURO: numeric(8,2)
COMISION_PENSION: numeric(8,2)
COMISION_MIXTA: numeric(8,2)

FEC_EMISION: datetime
PERIODO_PLAN: varchar(15)
ESTADO: varchar(7)

COD_AREA: char(4)

CODPERS: char(6) (FK)


PASS: varchar(10)
CODUSER: char(4)
ESTADO_USUARIO: varchar(20)

NOM_AREA: varchar(30)
CONTRATO
NUM_CONTRATO: char(12)
CODPERS: char(6) (FK)
FEC_INICIO_CONT: date
FEC_TERMINO_CONT: date
COD_AREA: char(4) (FK)
COD_CAR: char(3) (FK)
SUELDO: numeric(8,2)
COSTO_HORA: numeric(8,2)
ESTADO_CONTRATO: varchar(20)

PLANILLA

TIPO_RET: char(2) (FK)

AREA

USUARIO

ID_FORMA_PAGO: char(4)

IDMARCACION_ASISTENCIA: char(18)

DET_PLANILLA
COD_PLANILLA: int (FK)
CODPERS: char(6) (FK)

ESSALUD: numeric(8,3)
CTS: numeric(8,3)

NOM_CARGO: varchar(40)

FORMA_PAGO

CODPERS: char(6) (FK)


FEC_MARC: datetime
H_INGRESO_REAL: char(5)
H_SALIDA_REFRIG_REAL: char(5)
H_INGRESO_REFRIG_REAL: char(5)
H_SALIDA_REAL: char(5)
H_TARDANZAS: char(5)
H_EXTRAS: char(5)
ESTADO_ASIST: varchar(20)

CODPERS: char(6)

TIPO_APORT: char(2)

COD_CAR: char(3)

MARCACION

PERSONAL

APORTACIONES

CARGO

HRS_TRAB: varchar(7)
GRATIFICACION: numeric(8,2)
HRS_EXTRAS: varchar(7)
BONIFICACION: numeric(8,2)
ASIGNACION_FAMILIAR: numeric(8,2)
TOTAL_REMUNERACION: money
TIPO_RETENCION: char(2) (FK)
TOT_SNP: numeric(8,2)
COMISION_MIXTA: numeric(8,2)
APORTE_OBLIGATORIO: numeric(8,2)
PRIMA_SEGURO: numeric(8,2)
COMISION_PENSION: numeric(8,2)
QUINTA_CATEGORIA: numeric(8,2)
TOTAL_RETENCION: money
NETO_PAGAR: money
ID_APORT: char(2) (FK)
TOTAL_ESSALUD: numeric(8,2)
TOTAL_SCTR: numeric(8,2)
TOTAL_APORT: money
TOTAL_CTS: numeric(8,2)

APELLIDOS: varchar(35)
NOMBRES: varchar(35)
DNI: char(8)
FEC_NAC: datetime
SEXO: char(1)
EST_CIVIL: char(1)
NRO_HIJOS: int
COD_DIST: char(3) (FK)
DIRECCION: varchar(60)
E_MAIL: varchar(35)
COD_EST: char(5) (FK)
LABORA: char(2)
FOTO: image

DESCRIPCION: varchar(20)

DISTRITO
COD_DIST: char(3)
NOM_DIST: varchar(35)

BOLETA_PAGO
NUM_BOL: char(10)

VACACIONES

BONIFICACION

IDVAC: char(6)

ID_BONIF: int

CODPERS: char(6) (FK)


FEC_SALIDA: datetime
FEC_RETORNO: datetime
PERIODO: varchar(15)

CODPERS: char(6) (FK)


FEC_BONIF: datetime
DESCRIPCION: varchar(15)
IMPORTE_BONIF: numeric(8,2)

CODPERS: char(6) (FK)


FEC_EMISION: datetime
PERIODO_BOL: varchar(15)
ID_FORMA_PAGO: char(4) (FK)
TOTAL_HABERES: numeric(8,2)
TOTAL_RETENCION: numeric(8,2)
SUB_TOTAL: money
HRS_TARDANZAS: varchar(7)
TOT_TARDANZAS: numeric(8,2)
TOT_FALTAS: numeric(8,2)
TOT_DESCUENTOS: numeric(8,2)
HRS_EXTRAS: varchar(7)
TOT_EXTRAS: numeric(8,2)
NETO_PAGAR: money
ESTADO_BOLETA: varchar(20)

ADELANTOS
COD_ADEL: char(12)
DIRECTORIO_TELEFONICO_PERSONAL

CODPERS: char(6) (FK)


FEC_ADEL: datetime
IMPORTE_ADEL: numeric(8,2)
ESTADO_ADEL: varchar(15)

COD_TEL: char(4)
CODPERS: char(6) (FK)
NUM_TEL: varchar(10)
DESCRIP_TEL: varchar(25)
ESTADO_PERSONAL
COD_EST: char(5)
NOM_EST: varchar(35)
OBSERVACION: char(18)

DET_CTAS
TIPO_CTA: varchar(7)
ID_BAN: char(6) (FK)
NUM_CTA: varchar(20)

Fuente: Elaboracin propia, 10/07/16 19:30hrs.

DEPOSITOS

CTA_PERSONAL

NUMERO_DEP: char(13)

NUMERO_CTA: char(18)
ENT_BANCARIA: varchar(30)
TIPO_CTA: varchar(7)
CODPERS: char(6) (FK)
CONCEPTO_CTA: varchar(10)
ESTADO_CTA: varchar(7)

NUMERO_CTA_DEP: char(18) (FK)


FECHA_DEP: datetime
DESCRIPCION_DEPOSITO: char(18)
IMPORTE_DEP: numeric(8,2)
MOTIVO_DEP: varchar(10)
PERIODO_DOC: varchar(8)

CTAS_BANCARIAS
ID_BAN: char(6)
ENTIDAD_BANCARIA: varchar(40)

REGISTRO_CHEQUES
NUMCHEQUE: char(12)
NUMBOL: char(10) (FK)
ID_BAN: char(6) (FK)
NUMCTA: varchar(10)
TIPOCTA: varchar(7)
FEC_GIRO: datetime
MONTO_GIRAR_SOLES: money
MONTO_GIRAR_DOLARES: money
ESTADO_CHEQUE: varchar(20)

40

3.4.

Diagrama de la Base de Datos en SQL Server.


HORARIO_ESTABLECIDO

RETENCIONES

USUARIO

IDHORARIO

TIPO_RET

CODPERS

NOM_RET

H_INGRESO

PORCENTAJE

H_SALIDA_REFRIG
H_INGRESO_REFRIG

AREA

CONTRATO

CODPERS

NUM_CONTRATO

COD_AREA

PASS

CODPERS

NOM_AREA

CODUSER

FEC_INICIO_CONT

ESTADO_USUARIO

FEC_TERMINO_CONT
COD_AREA

H_SALIDA

FORMA_PAGO
ID_FORMA_PAGO
DESCRIPCION

CARGO
COD_CAR

COD_CAR

NOM_CARGO

SUELDO

DISTRITO
COD_DIST

COSTO_HORA

NOM_DIST

ESTADO_CONTRATO

PLANILLA

MARCACION

COD_PLANILLA

IDMARCACION_ASISTENCIA

FEC_EMISION

CODPERS

PERIODO_PLAN

FEC_MARC
H_INGRESO_REAL

ESTADO

DET_RETENCIONES
TIPO_RET
APORTE_OBLIGATORIO
PRIMA_SEGURO
COMISION_PENSION
COMISION_MIXTA

DET_PLANILLA
COD_PLANILLA

CODPERS

H_INGRESO_REFRIG_REAL

APELLIDOS

H_SALIDA_REAL

NOMBRES

H_TARDANZAS

DNI

H_EXTRAS

FEC_NAC

ESTADO_ASIST

TOTAL_HABERES
TOTAL_RETENCION
SUB_TOTAL
HRS_TARDANZAS

COD_DIST

TOT_TARDANZAS

DIRECCION

BONIFICACION

TOT_FALTAS

E_MAIL

ASIGNACION_FAMILIAR

TOT_DESCUENTOS

COD_EST

TOTAL_REMUNERACION

HRS_EXTRAS

LABORA

TIPO_RETENCION

TOT_EXTRAS

FOTO

TOT_SNP

BONIFICACION

COMISION_MIXTA

ID_BONIF

TIPO_APORT

APORTE_OBLIGATORIO

CODPERS

ESSALUD

PRIMA_SEGURO

CTS

COMISION_PENSION

IDVAC

QUINTA_CATEGORIA

CODPERS

VACACIONES
ADELANTOS
COD_ADEL

FEC_SALIDA

NETO_PAGAR

CODPERS

FEC_RETORNO

ID_APORT

FEC_ADEL

PERIODO

TOTAL_ESSALUD

IMPORTE_ADEL

TOTAL_SCTR

ESTADO_ADEL

TOTAL_CTS

CTA_PERSONAL
NUMERO_CTA

TIPO_CTA

COD_TEL

CODPERS

CODPERS

CONCEPTO_CTA

NUM_TEL
DESCRIP_TEL

ESTADO_BOLETA

FEC_BONIF

IMPORTE_BONIF

REGISTRO_CHEQUES
NUMCHEQUE
NUMBOL

DEPOSITOS

ENT_BANCARIA

DIRECTORIO_TELEFONICO_PERSONAL

NETO_PAGAR

DESCRIPCION

TOTAL_RETENCION

TOTAL_APORT

CODPERS

ID_FORMA_PAGO

NRO_HIJOS

HRS_EXTRAS

NUM_BOL

PERIODO_BOL

EST_CIVIL

GRATIFICACION

BOLETA_PAGO

FEC_EMISION

SEXO

CODPERS
HRS_TRAB

APORTACIONES

H_SALIDA_REFRIG_REAL

PERSONAL

ID_BAN

NUMERO_DEP

NUMCTA

NUMERO_CTA_DEP

TIPOCTA

FECHA_DEP

FEC_GIRO

DESCRIPCION_DEPOSITO

MONTO_GIRAR_SOLES

IMPORTE_DEP

MONTO_GIRAR_DOLARES

MOTIVO_DEP

ESTADO_CHEQUE

PERIODO_DOC

ESTADO_CTA

ESTADO_PERSONAL
COD_EST

DET_CTAS
TIPO_CTA

CTAS_BANCARIAS

NOM_EST

ID_BAN

OBSERVACION

ID_BAN

NUM_CTA

ENTIDAD_BANCARIA

Fuente: Elaboracin propia, 10/07/16 19:30hrs.

41

3.5.

Script de la Base de Datos.


CREATE TABLE ADELANTOS
(
COD_ADEL char(12) COLLATE Modern_Spanish_CI_AS NOT NULL ,
CODPERS char(6) COLLATE Modern_Spanish_CI_AS NOT NULL ,
FEC_ADEL datetime NOT NULL ,
IMPORTE_ADEL numeric(8,2) NOT NULL ,
ESTADO_ADEL varchar(15) COLLATE Modern_Spanish_CI_AS NOT NULL
)
ON "PRIMARY"
go

ALTER TABLE ADELANTOS


WITH NOCHECK ADD CONSTRAINT CHK_ADELANTOS_MONTO_ADEL
CHECK ( [MONTO_ADEL] > 0 )
go
ALTER TABLE ADELANTOS
WITH NOCHECK ADD CONSTRAINT CHK_ADELANTOS_ESTADO CHECK (
[ESTADO] = 'RECHAZADO' or ([ESTADO] = 'OTORGADO' or [ESTADO] = 'EN PROCESO') )
go
ALTER TABLE ADELANTOS
ADD CONSTRAINT PK_ADELANTOS_COD_ADEL PRIMARY KEY
NONCLUSTERED (COD_ADEL ASC)
go
CREATE TABLE APORTACIONES
(
TIPO_APORT char(2) COLLATE Modern_Spanish_CI_AS NOT NULL ,
ESSALUD numeric(8,3) NOT NULL ,
CTS numeric(8,3) NOT NULL
)
ON "PRIMARY"
go
ALTER TABLE APORTACIONES

42

ADD CONSTRAINT PK_APORTACIONES_TIPO_APORT PRIMARY KEY


NONCLUSTERED (TIPO_APORT ASC)
go
CREATE TABLE AREA
(
COD_AREA char(4) COLLATE Modern_Spanish_CI_AS NOT NULL ,
NOM_AREA varchar(30) COLLATE Modern_Spanish_CI_AS NOT NULL
)
ON "PRIMARY"
go
ALTER TABLE AREA
WITH CHECK ADD CONSTRAINT CHK_AREA_COD_AREA CHECK (
len([COD_AREA]) = 4 and [COD_AREA] like 'AR[0-9][0-9]' )
go
ALTER TABLE AREA
ADD CONSTRAINT PK_AREA_COD_AREA PRIMARY KEY NONCLUSTERED
(COD_AREA ASC)
go
ALTER TABLE AREA
ADD CONSTRAINT U_NNOM_AREA UNIQUE (NOM_AREA ASC)
go

NULL ,

CREATE TABLE BOLETA_PAGO


(
NUM_BOL
char(10) COLLATE Modern_Spanish_CI_AS NOT NULL ,
CODPERS
char(6) COLLATE Modern_Spanish_CI_AS NOT NULL ,
FEC_EMISION
datetime NOT NULL ,
PERIODO_BOL
varchar(15) COLLATE Modern_Spanish_CI_AS NOT
ID_FORMA_PAGO

char(4) COLLATE Modern_Spanish_CI_AS NOT NULL

,
TOTAL_HABERES
numeric(8,2) NOT NULL ,
TOTAL_RETENCION numeric(8,2) NOT NULL ,
SUB_TOTAL
money NOT NULL ,

43

HRS_TARDANZAS

varchar(7) COLLATE Modern_Spanish_CI_AS NOT

NULL ,
TOT_TARDANZAS
numeric(8,2) NOT NULL ,
TOT_FALTAS
numeric(8,2) NOT NULL ,
TOT_DESCUENTOS
numeric(8,2) NOT NULL ,
HRS_EXTRAS
varchar(7) COLLATE Modern_Spanish_CI_AS NOT NULL
,

NULL

TOT_EXTRAS
numeric(8,2) NOT NULL ,
NETO_PAGAR
money NOT NULL ,
ESTADO_BOLETA
varchar(20) COLLATE Modern_Spanish_CI_AS NOT
)
ON "PRIMARY"
go

ALTER TABLE BOLETA_PAGO


WITH NOCHECK ADD CONSTRAINT CHK_BOLETA_PAGOS_PERIODO_BOL
CHECK ( right([PERIODO_BOL],8) like '[A-Z][A-Z][A-Z]-[0-9][0-9][0-9][0-9]' )
go
ALTER TABLE BOLETA_PAGO
WITH NOCHECK ADD CONSTRAINT CHK_BOLETA_PAGOS_ESTADO
CHECK ( [ESTADO] = 'OK' or [ESTADO] = 'ANULADO' )
go
ALTER TABLE BOLETA_PAGO
ADD CONSTRAINT PK_BOLETA_PAGOS_NUM_BOL PRIMARY KEY
NONCLUSTERED (NUM_BOL ASC)
go
CREATE TABLE BONIFICACION
(
ID_BONIF
int NOT NULL ,
CODPERS
char(6) COLLATE Modern_Spanish_CI_AS NOT NULL ,
FEC_BONIF
datetime NOT NULL ,
DESCRIPCION
varchar(15) COLLATE Modern_Spanish_CI_AS NOT
NULL ,
IMPORTE_BONIF
numeric(8,2) NOT NULL
)
ON "PRIMARY"
go

44

ALTER TABLE BONIFICACION


ADD CONSTRAINT PK_BONIFICACION PRIMARY KEY NONCLUSTERED
(ID_BONIF ASC)
go
CREATE TABLE CARGO
(
COD_CAR
char(3) COLLATE Modern_Spanish_CI_AS NOT NULL ,
NOM_CARGO
varchar(40) COLLATE Modern_Spanish_CI_AS NOT
NULL
)
ON "PRIMARY"
go
ALTER TABLE CARGO
WITH CHECK ADD CONSTRAINT CHK_CARGO_COD_CAR CHECK (
len([COD_CAR]) = 3 and [COD_CAR] like 'C[0-9][0-9]' )
go
ALTER TABLE CARGO
ADD CONSTRAINT PK_CARGO_COD_CAR PRIMARY KEY
NONCLUSTERED (COD_CAR ASC)
go
ALTER TABLE CARGO
ADD CONSTRAINT U_NNOM_CARGO UNIQUE (NOM_CARGO ASC)
go
CREATE TABLE CONTRATO
(
NUM_CONTRATO char(12) NOT NULL ,
CODPERS char(6) NOT NULL ,
FEC_INICIO_CONT date NOT NULL ,
FEC_TERMINO_CONT date NOT NULL ,
COD_AREA char(4) NOT NULL ,
COD_CAR char(3) NOT NULL ,
SUELDO numeric(8,2) NOT NULL ,
COSTO_HORA numeric(8,2) NOT NULL ,

45

ESTADO_CONTRATO varchar(20) NOT NULL


)
go
ALTER TABLE CONTRATO
ADD CONSTRAINT XPKCONTRATO PRIMARY KEY CLUSTERED
(NUM_CONTRATO ASC)
go
CREATE NONCLUSTERED INDEX XIF1CONTRATO ON CONTRATO
(
CODPERS ASC
)
go
CREATE NONCLUSTERED INDEX XIF2CONTRATO ON CONTRATO
(
COD_CAR ASC
)
go
CREATE NONCLUSTERED INDEX XIF3CONTRATO ON CONTRATO
(
COD_AREA ASC
)
go
CREATE TABLE CTA_PERSONAL
(
NUMERO_CTA char(18) COLLATE Modern_Spanish_CI_AS NOT NULL ,
ENT_BANCARIA varchar(30) COLLATE Modern_Spanish_CI_AS NOT NULL ,
TIPO_CTA varchar(7) COLLATE Modern_Spanish_CI_AS NOT NULL ,
CODPERS char(6) COLLATE Modern_Spanish_CI_AS NOT NULL ,
CONCEPTO_CTA varchar(10) COLLATE Modern_Spanish_CI_AS NOT NULL ,
ESTADO_CTA varchar(7) COLLATE Modern_Spanish_CI_AS NOT NULL
)
ON "PRIMARY"
go

46

ALTER TABLE CTA_PERSONAL


ADD CONSTRAINT PK_CTAPERSONAL_NUMEROCTA PRIMARY KEY
NONCLUSTERED (NUMERO_CTA ASC)
go
CREATE TABLE CTAS_BANCARIAS
(
ID_BAN char(6) COLLATE Modern_Spanish_CI_AS NOT NULL ,
ENTIDAD_BANCARIA varchar(40) COLLATE Modern_Spanish_CI_AS NOT
NULL
)
ON "PRIMARY"
go
ALTER TABLE CTAS_BANCARIAS
ADD CONSTRAINT PK_CTAS_BANCARIAS_ID_BAN PRIMARY KEY
NONCLUSTERED (ID_BAN ASC)
go
CREATE TABLE DEPOSITOS
(
NUMERO_DEP char(13) COLLATE Modern_Spanish_CI_AS NOT NULL ,
NUMERO_CTA_DEP char(18) COLLATE Modern_Spanish_CI_AS NOT NULL ,
FECHA_DEP datetime NOT NULL ,
DESCRIPCION_DEPOSITO char(18) NOT NULL ,
IMPORTE_DEP numeric(8,2) NOT NULL ,
MOTIVO_DEP varchar(10) COLLATE Modern_Spanish_CI_AS NOT NULL ,
PERIODO_DOC varchar(8) COLLATE Modern_Spanish_CI_AS NOT NULL
)
ON "PRIMARY"
go
ALTER TABLE DEPOSITOS
ADD CONSTRAINT PK_DEPOSITOS_NUMERODEP PRIMARY KEY
NONCLUSTERED (NUMERO_DEP ASC)
go
CREATE TABLE DET_CTAS

47

(
TIPO_CTA
ID_BAN
NUM_CTA

)
ON "PRIMARY"
go

varchar(7) COLLATE Modern_Spanish_CI_AS NOT NULL ,


char(6) COLLATE Modern_Spanish_CI_AS NOT NULL ,
varchar(20) COLLATE Modern_Spanish_CI_AS NOT NULL

ALTER TABLE DET_CTAS


ADD CONSTRAINT U_TIPO_CTA PRIMARY KEY CLUSTERED (TIPO_CTA
ASC)
go
CREATE TABLE DET_PLANILLA
(
COD_PLANILLA int NOT NULL ,
CODPERS char(6) COLLATE Modern_Spanish_CI_AS NOT NULL ,
HRS_TRAB varchar(7) COLLATE Modern_Spanish_CI_AS NULL ,
GRATIFICACION numeric(8,2) NOT NULL ,
HRS_EXTRAS varchar(7) COLLATE Modern_Spanish_CI_AS NULL ,
BONIFICACION numeric(8,2) NULL ,
ASIGNACION_FAMILIAR numeric(8,2) NOT NULL ,
TOTAL_REMUNERACION money NOT NULL ,
TIPO_RETENCION char(2) COLLATE Modern_Spanish_CI_AS NOT NULL ,
TOT_SNP numeric(8,2) NOT NULL ,
COMISION_MIXTA numeric(8,2) NOT NULL ,
APORTE_OBLIGATORIO numeric(8,2) NOT NULL ,
PRIMA_SEGURO numeric(8,2) NOT NULL ,
COMISION_PENSION numeric(8,2) NOT NULL ,
QUINTA_CATEGORIA numeric(8,2) NOT NULL ,
TOTAL_RETENCION money NOT NULL ,
NETO_PAGAR money NOT NULL ,
ID_APORT char(2) COLLATE Modern_Spanish_CI_AS NOT NULL ,
TOTAL_ESSALUD numeric(8,2) NOT NULL ,
TOTAL_SCTR numeric(8,2) NOT NULL ,
TOTAL_APORT money NOT NULL ,
TOTAL_CTS numeric(8,2) NOT NULL
)
ON "PRIMARY"
go

48

ALTER TABLE DET_PLANILLA


ADD CONSTRAINT XPKDET_PLANILLA PRIMARY KEY CLUSTERED
(COD_PLANILLA ASC,CODPERS ASC)
go
CREATE TABLE DET_RETENCIONES
(
TIPO_RET char(2) COLLATE Modern_Spanish_CI_AS NOT NULL ,
APORTE_OBLIGATORIO numeric(8,2) NOT NULL ,
PRIMA_SEGURO numeric(8,2) NOT NULL ,
COMISION_PENSION numeric(8,2) NOT NULL ,
COMISION_MIXTA numeric(8,2) NOT NULL
)
ON "PRIMARY"
go
ALTER TABLE DET_RETENCIONES
ADD CONSTRAINT U_TIPO_RET PRIMARY KEY CLUSTERED (TIPO_RET
ASC)
go
CREATE TABLE DIRECTORIO_TELEFONICO_PERSONAL
(
COD_TEL char(4) COLLATE Modern_Spanish_CI_AS NOT NULL ,
CODPERS char(6) COLLATE Modern_Spanish_CI_AS NOT NULL ,
NUM_TEL varchar(10) COLLATE Modern_Spanish_CI_AS NOT NULL ,
DESCRIP_TEL varchar(25) COLLATE Modern_Spanish_CI_AS NOT NULL
)
ON "PRIMARY"
go
ALTER TABLE DIRECTORIO_TELEFONICO_PERSONAL
WITH NOCHECK ADD CONSTRAINT CHK_PERSONAL_NUM_TEL CHECK (
len([NUM_TEL]) >= 7 or len([NUM_TEL]) <= 10 )
go
ALTER TABLE DIRECTORIO_TELEFONICO_PERSONAL
ADD CONSTRAINT PK_TELEFONOS_COD_TEL PRIMARY KEY
NONCLUSTERED (COD_TEL ASC)

49

go
CREATE TABLE DISTRITO
(
COD_DIST char(3) COLLATE Modern_Spanish_CI_AS NOT NULL ,
NOM_DIST varchar(35) COLLATE Modern_Spanish_CI_AS NOT NULL
)
ON "PRIMARY"
go
ALTER TABLE DISTRITO
WITH CHECK ADD CONSTRAINT CHK_DISTRITO_COD_DIST CHECK (
len([COD_DIST]) = 3 and [COD_DIST] like 'L[0-9][0-9]' or [COD_DIST] like 'C[0-9][0-9]' )
go
ALTER TABLE DISTRITO
ADD CONSTRAINT PK_DISTRITO_COD_DIST PRIMARY KEY
NONCLUSTERED (COD_DIST ASC)
go
ALTER TABLE DISTRITO
ADD CONSTRAINT U_NNOM_DIST UNIQUE (NOM_DIST ASC)
go
CREATE TABLE ESTADO_PERSONAL
(
COD_EST char(5) COLLATE Modern_Spanish_CI_AS NOT NULL ,
NOM_EST varchar(35) COLLATE Modern_Spanish_CI_AS NOT NULL ,
OBSERVACION char(18) NOT NULL
)
ON "PRIMARY"
go
ALTER TABLE ESTADO_PERSONAL
WITH NOCHECK ADD CONSTRAINT CHK_ESTADO_PERSONAL_COD_EST
CHECK ( len([COD_EST]) = 4 and [COD_EST] like 'EST[0-9][0-9]' or [COD_EST] like 'EST[09][0-9]' )
go

50

ALTER TABLE ESTADO_PERSONAL


ADD CONSTRAINT PK_ESTADO_PERSONAL_COD_EST PRIMARY KEY
NONCLUSTERED (COD_EST ASC)
go
ALTER TABLE ESTADO_PERSONAL
ADD CONSTRAINT U_NNOM_EST UNIQUE (NOM_EST ASC)
go
CREATE TABLE FORMA_PAGO
(
ID_FORMA_PAGO
char(4) COLLATE Modern_Spanish_CI_AS NOT NULL
,

DESCRIPCION

varchar(20) COLLATE Modern_Spanish_CI_AS NOT

NULL
)
ON "PRIMARY"
go
ALTER TABLE FORMA_PAGO
WITH CHECK ADD CONSTRAINT CHK_FORMA_PAGO_ID_FORPAGO
CHECK ( [ID_FORPAGO] like 'F[0-9][0-9][0-9]' )
go
ALTER TABLE FORMA_PAGO
WITH CHECK ADD CONSTRAINT CHK_FORMA_PAGO_DESCRIPCION
CHECK ( [DESCRIPCION] = 'EMISION DE CHEQUE' or ([DESCRIPCION] = 'EFECTIVO' or
[DESCRIPCION] = 'DEPOSITO') )
go
ALTER TABLE FORMA_PAGO
ADD CONSTRAINT PK_FORMA_PAGO_DESCRIPCION PRIMARY KEY
NONCLUSTERED (ID_FORMA_PAGO ASC)
go
ALTER TABLE FORMA_PAGO
ADD CONSTRAINT U_NDESCRIPCION UNIQUE (DESCRIPCION ASC)
go

51

CREATE TABLE HORARIO_ESTABLECIDO


(
IDHORARIO char(5) NOT NULL ,
CODPERS char(6) COLLATE Modern_Spanish_CI_AS NOT NULL ,
H_INGRESO char(5) COLLATE Modern_Spanish_CI_AS NOT NULL ,
H_SALIDA_REFRIG char(5) NOT NULL ,
H_INGRESO_REFRIG char(5) NOT NULL ,
H_SALIDA char(5) COLLATE Modern_Spanish_CI_AS NOT NULL
)
ON "PRIMARY"
go
ALTER TABLE HORARIO_ESTABLECIDO
ADD CONSTRAINT PK_HE_COD_PERS PRIMARY KEY NONCLUSTERED
(IDHORARIO ASC)
go
CREATE TABLE MARCACION
(
IDMARCACION_ASISTENCIA char(18) NOT NULL ,
CODPERS char(6) NULL ,
FEC_MARC datetime NULL ,
H_INGRESO_REAL char(5) COLLATE Modern_Spanish_CI_AS NULL ,
H_SALIDA_REFRIG_REAL char(5) COLLATE Modern_Spanish_CI_AS NULL ,
H_INGRESO_REFRIG_REAL char(5) NOT NULL ,
H_SALIDA_REAL char(5) NOT NULL ,
H_TARDANZAS char(5) COLLATE Modern_Spanish_CI_AS NULL ,
H_EXTRAS char(5) COLLATE Modern_Spanish_CI_AS NULL ,
ESTADO_ASIST varchar(20) COLLATE Modern_Spanish_CI_AS NOT NULL
)
ON "PRIMARY"
go
ALTER TABLE MARCACION
WITH CHECK ADD CONSTRAINT CHK_MARCACION_ESTADO_ASIST
CHECK ( [ESTADO_ASIST] = 'PERMISO' or ([ESTADO_ASIST] = 'FERIADO' or
([ESTADO_ASIST] = 'FALTO' or [ESTADO_ASIST] = 'ASISTIO')) )
go
ALTER TABLE MARCACION

52

ADD CONSTRAINT XPKMARCACION PRIMARY KEY CLUSTERED


(IDMARCACION_ASISTENCIA ASC)
go
CREATE NONCLUSTERED INDEX XIF3MARCACION ON MARCACION
(
CODPERS ASC
)
go
CREATE TABLE PERSONAL
(
CODPERS char(6) COLLATE Modern_Spanish_CI_AS NOT NULL ,
APELLIDOS varchar(35) COLLATE Modern_Spanish_CI_AS NOT NULL ,
NOMBRES varchar(35) COLLATE Modern_Spanish_CI_AS NOT NULL ,
DNI char(8) COLLATE Modern_Spanish_CI_AS NOT NULL ,
FEC_NAC datetime NOT NULL ,
SEXO char(1) COLLATE Modern_Spanish_CI_AS NOT NULL ,
EST_CIVIL char(1) COLLATE Modern_Spanish_CI_AS NOT NULL ,
NRO_HIJOS int NULL ,
COD_DIST char(3) COLLATE Modern_Spanish_CI_AS NOT NULL ,
DIRECCION varchar(60) COLLATE Modern_Spanish_CI_AS NOT NULL ,
E_MAIL varchar(35) COLLATE Modern_Spanish_CI_AS NOT NULL ,
COD_EST char(5) COLLATE Modern_Spanish_CI_AS NOT NULL ,
LABORA char(2) COLLATE Modern_Spanish_CI_AS NOT NULL ,
FOTO image NULL
)
ON "PRIMARY"
TEXTIMAGE_ON [PRIMARY]
go
ALTER TABLE PERSONAL
WITH NOCHECK ADD CONSTRAINT CHK_PERSONAL_DNI CHECK (
len([DNI]) = 8 )
go
ALTER TABLE PERSONAL
WITH NOCHECK ADD CONSTRAINT CHK_PERSONAL_ESTADO_CIVIL
CHECK ( len([ESTADO_CIVIL]) = 1 and ([ESTADO_CIVIL] = 'V' or ([ESTADO_CIVIL] = 'D' or
([ESTADO_CIVIL] = 'C' or [ESTADO_CIVIL] = 'S'))) )

53

go
ALTER TABLE PERSONAL
WITH NOCHECK ADD CONSTRAINT CHK_PERSONAL_NRO_HIJOS CHECK
( [NRO_HIJOS] >= 0 )
go
ALTER TABLE PERSONAL
WITH NOCHECK ADD CONSTRAINT CHK_PERSONAL_EMAIL CHECK (
[E_MAIL] like '%@%' )
go
ALTER TABLE PERSONAL
WITH NOCHECK ADD CONSTRAINT CHK_PERSONAL_LABORA CHECK (
[LABORA] = 'NO' or [LABORA] = 'SI' )
go
ALTER TABLE PERSONAL
ADD CONSTRAINT PK_PERSONAL_COD_PERS PRIMARY KEY
NONCLUSTERED (CODPERS ASC)
go
ALTER TABLE PERSONAL
ADD CONSTRAINT UQ__PERSONAL__7A9C383C UNIQUE (DNI ASC)
go
ALTER TABLE PERSONAL
ADD CONSTRAINT U_NDNI UNIQUE (DNI ASC)
go
CREATE TABLE PLANILLA
(
COD_PLANILLA int NOT NULL ,
FEC_EMISION datetime NOT NULL ,
PERIODO_PLAN varchar(15) COLLATE Modern_Spanish_CI_AS NOT NULL ,
ESTADO varchar(7) COLLATE Modern_Spanish_CI_AS NOT NULL
)

54

ON "PRIMARY"
go
ALTER TABLE PLANILLA
WITH NOCHECK ADD CONSTRAINT CHK_PLANILLA_PERIODO_PLAN
CHECK ( [PERIODO_PLAN] like '[A-Z][A-Z][A-Z]-[0-9][0-9][0-9][0-9]' )
go
ALTER TABLE PLANILLA
WITH NOCHECK ADD CONSTRAINT CHK_PLANILLA_ESTADO CHECK (
[ESTADO] = 'OK' or [ESTADO] = 'ANULADO' )
go
ALTER TABLE PLANILLA
ADD CONSTRAINT PK_PLANILLA_COD_PLANILLA PRIMARY KEY
NONCLUSTERED (COD_PLANILLA ASC)
go
CREATE TABLE REGISTRO_CHEQUES
(
NUMCHEQUE char(12) COLLATE Modern_Spanish_CI_AS NOT NULL ,
NUMBOL char(10) COLLATE Modern_Spanish_CI_AS NOT NULL ,
ID_BAN char(6) COLLATE Modern_Spanish_CI_AS NOT NULL ,
NUMCTA varchar(10) COLLATE Modern_Spanish_CI_AS NOT NULL ,
TIPOCTA varchar(7) COLLATE Modern_Spanish_CI_AS NULL ,
FEC_GIRO datetime NOT NULL ,
MONTO_GIRAR_SOLES money NOT NULL ,
MONTO_GIRAR_DOLARES money NOT NULL ,
ESTADO_CHEQUE varchar(20) COLLATE Modern_Spanish_CI_AS NOT NULL
)
ON "PRIMARY"
go
ALTER TABLE REGISTRO_CHEQUES
WITH NOCHECK ADD CONSTRAINT
CHK_REGISTRO_CHEQUES_MONTO_GIRAR_SOLES CHECK ( [MONTO_GIRAR_SOLES]
>= 0 )
go

55

ALTER TABLE REGISTRO_CHEQUES


WITH NOCHECK ADD CONSTRAINT CHK_REGISTRO_CHEQUES_ESTADO
CHECK ( [ESTADO] = 'OK' or [ESTADO] = 'ANULADO' )
go
ALTER TABLE REGISTRO_CHEQUES
ADD CONSTRAINT PK_NUMCHEQUE_NUMBOL PRIMARY KEY
NONCLUSTERED (NUMCHEQUE ASC,NUMBOL ASC)
go
CREATE TABLE RETENCIONES
(
TIPO_RET char(2) COLLATE Modern_Spanish_CI_AS NOT NULL ,
NOM_RET varchar(35) COLLATE Modern_Spanish_CI_AS NOT NULL ,
PORCENTAJE numeric(8,2) NOT NULL
)
ON "PRIMARY"
go
ALTER TABLE RETENCIONES
ADD CONSTRAINT PK_RETENCIONES_TIPO_RET PRIMARY KEY
NONCLUSTERED (TIPO_RET ASC)
go
CREATE TABLE USUARIO
(
CODPERS char(6) NOT NULL ,
PASS varchar(10) COLLATE Modern_Spanish_CI_AS NOT NULL ,
CODUSER char(4) NOT NULL ,
ESTADO_USUARIO varchar(20) NOT NULL
)
ON "PRIMARY"
go
ALTER TABLE USUARIO
ADD CONSTRAINT PK_USUARIO_CODUSER PRIMARY KEY
NONCLUSTERED (CODPERS ASC)
go

56

CREATE UNIQUE NONCLUSTERED INDEX XIF1USUARIO ON USUARIO


(
CODPERS ASC
)
go
CREATE TABLE VACACIONES
(
IDVAC char(6) COLLATE Modern_Spanish_CI_AS NOT NULL ,
CODPERS char(6) COLLATE Modern_Spanish_CI_AS NOT NULL ,
FEC_SALIDA atetime NOT NULL ,
FEC_RETORNO datetime NOT NULL ,
PERIODO archar(15) COLLATE Modern_Spanish_CI_AS NOT NULL
)
ON "PRIMARY"
go
ALTER TABLE VACACIONES
ADD CONSTRAINT PK_VACACIONES_IDVAC PRIMARY KEY
NONCLUSTERED (IDVAC ASC)
go
ALTER TABLE ADELANTOS WITH NOCHECK
ADD CONSTRAINT FK_ADELANTOS_COD_PERS FOREIGN KEY
(CODPERS) REFERENCES PERSONAL(CODPERS)
ON DELETE NO ACTION
ON UPDATE NO ACTION
go
ALTER TABLE BOLETA_PAGO WITH CHECK
ADD CONSTRAINT FK_BOLETA_PAGOS_FORMA_PAGO FOREIGN KEY
(ID_FORMA_PAGO) REFERENCES FORMA_PAGO(ID_FORMA_PAGO)
ON DELETE NO ACTION
ON UPDATE CASCADE
go
ALTER TABLE BOLETA_PAGO WITH NOCHECK
ADD CONSTRAINT FK_BOLETA_PAGOS_PERSONAL FOREIGN KEY
(CODPERS) REFERENCES PERSONAL(CODPERS)

57

ON DELETE NO ACTION
ON UPDATE CASCADE
go
ALTER TABLE BONIFICACION WITH NOCHECK
ADD CONSTRAINT FK_BONIFICACION FOREIGN KEY (CODPERS)
REFERENCES PERSONAL(CODPERS)
ON DELETE NO ACTION
ON UPDATE CASCADE
go
ALTER TABLE CONTRATO
ADD CONSTRAINT R_40 FOREIGN KEY (CODPERS) REFERENCES
PERSONAL(CODPERS)
ON DELETE NO ACTION
ON UPDATE NO ACTION
go
ALTER TABLE CONTRATO
ADD CONSTRAINT R_41 FOREIGN KEY (COD_CAR) REFERENCES
CARGO(COD_CAR)
ON DELETE NO ACTION
ON UPDATE NO ACTION
go
ALTER TABLE CONTRATO
ADD CONSTRAINT R_42 FOREIGN KEY (COD_AREA) REFERENCES
AREA(COD_AREA)
ON DELETE NO ACTION
ON UPDATE NO ACTION
go
ALTER TABLE CTA_PERSONAL WITH NOCHECK
ADD CONSTRAINT FK_CTAPERSONAL_COD_PERS FOREIGN KEY
(CODPERS) REFERENCES PERSONAL(CODPERS)
ON DELETE NO ACTION
ON UPDATE CASCADE
go

58

ALTER TABLE DEPOSITOS WITH NOCHECK


ADD CONSTRAINT FK_DEPOSITOS_NUMERO_CTA FOREIGN KEY
(NUMERO_CTA_DEP) REFERENCES CTA_PERSONAL(NUMERO_CTA)
ON DELETE NO ACTION
ON UPDATE CASCADE
go
ALTER TABLE DET_CTAS WITH NOCHECK
ADD CONSTRAINT FK_DET_CTAS_ID_BAN FOREIGN KEY (ID_BAN)
REFERENCES CTAS_BANCARIAS(ID_BAN)
ON DELETE NO ACTION
ON UPDATE CASCADE
go
ALTER TABLE DET_PLANILLA WITH NOCHECK
ADD CONSTRAINT FK_DET_PLANILLA_PERSONAL FOREIGN KEY
(CODPERS) REFERENCES PERSONAL(CODPERS)
ON DELETE NO ACTION
ON UPDATE CASCADE
go
ALTER TABLE DET_PLANILLA WITH NOCHECK
ADD CONSTRAINT FK_DETPLANILLA_TIPO_APORT FOREIGN KEY
(ID_APORT) REFERENCES APORTACIONES(TIPO_APORT)
ON DELETE NO ACTION
ON UPDATE CASCADE
go
ALTER TABLE DET_PLANILLA WITH NOCHECK
ADD CONSTRAINT FK_DETPLANILLA_COD_PLANILLA FOREIGN KEY
(COD_PLANILLA) REFERENCES PLANILLA(COD_PLANILLA)
ON DELETE NO ACTION
ON UPDATE NO ACTION
go
ALTER TABLE DET_PLANILLA WITH NOCHECK
ADD CONSTRAINT FK_DETPLANILLA_TIPO_RET FOREIGN KEY
(TIPO_RETENCION) REFERENCES RETENCIONES(TIPO_RET)
ON DELETE NO ACTION

59

ON UPDATE CASCADE
go
ALTER TABLE DET_RETENCIONES WITH CHECK
ADD CONSTRAINT FK_DET_RETENCIONES_RETENCIONES FOREIGN KEY
(TIPO_RET) REFERENCES RETENCIONES(TIPO_RET)
ON DELETE NO ACTION
ON UPDATE NO ACTION
go
ALTER TABLE DIRECTORIO_TELEFONICO_PERSONAL WITH NOCHECK
ADD CONSTRAINT FK_TELEFONOS_COD_PERS FOREIGN KEY
(CODPERS) REFERENCES PERSONAL(CODPERS)
ON DELETE NO ACTION
ON UPDATE CASCADE
go
ALTER TABLE HORARIO_ESTABLECIDO WITH NOCHECK
ADD CONSTRAINT FK_HE_COD_PERS FOREIGN KEY (CODPERS)
REFERENCES PERSONAL(CODPERS)
ON DELETE NO ACTION
ON UPDATE CASCADE
go
ALTER TABLE MARCACION
ADD CONSTRAINT R_38 FOREIGN KEY (CODPERS) REFERENCES
PERSONAL(CODPERS)
ON DELETE NO ACTION
ON UPDATE NO ACTION
go
ALTER TABLE PERSONAL WITH NOCHECK
ADD CONSTRAINT FK_PERSONAL_COD_DIST FOREIGN KEY (COD_DIST)
REFERENCES DISTRITO(COD_DIST)
ON DELETE NO ACTION
ON UPDATE CASCADE
go

60

ALTER TABLE PERSONAL WITH NOCHECK


ADD CONSTRAINT FK_PERSONAL_COD_EST FOREIGN KEY (COD_EST)
REFERENCES ESTADO_PERSONAL(COD_EST)
ON DELETE NO ACTION
ON UPDATE CASCADE
go
ALTER TABLE REGISTRO_CHEQUES WITH NOCHECK
ADD CONSTRAINT FK_REGISTRO_CHEQUES_ID_BAN FOREIGN KEY
(ID_BAN) REFERENCES CTAS_BANCARIAS(ID_BAN)
ON DELETE NO ACTION
ON UPDATE CASCADE
go
ALTER TABLE REGISTRO_CHEQUES WITH NOCHECK
ADD CONSTRAINT FK_REGISTRO_CHEQUES_NUMBOL FOREIGN KEY
(NUMBOL) REFERENCES BOLETA_PAGO(NUM_BOL)
ON DELETE NO ACTION
ON UPDATE CASCADE
go
ALTER TABLE USUARIO
ADD CONSTRAINT R_39 FOREIGN KEY (CODPERS) REFERENCES
PERSONAL(CODPERS)
ON DELETE NO ACTION
ON UPDATE NO ACTION
go

ALTER TABLE VACACIONES WITH NOCHECK


ADD CONSTRAINT FK_VACACIONES_COD_PERS FOREIGN KEY
(CODPERS) REFERENCES PERSONAL(CODPERS)
ON DELETE NO ACTION
ON UPDATE CASCADE
go

61

3.7.

Insercin de Registros.

INSERT INTO DISTRITO VALUES('L01', 'CERCADO DE LIMA')


INSERT INTO DISTRITO VALUES('L02', 'ANCON')
INSERT INTO DISTRITO VALUES('L03', 'ATE')
INSERT INTO DISTRITO VALUES('L04', 'BARRANCO')
INSERT INTO DISTRITO VALUES('L05', 'BREA')
INSERT INTO DISTRITO VALUES('L06', 'CARABAYLLO')
INSERT INTO DISTRITO VALUES('L07', 'COMAS')
INSERT INTO DISTRITO VALUES('L08', 'CHACLACAYO')
INSERT INTO DISTRITO VALUES('L09', 'CHORRILLOS')
INSERT INTO DISTRITO VALUES('L10', 'EL AGUSTINO')
INSERT INTO DISTRITO VALUES('L11', 'JESUS MARIA')
INSERT INTO DISTRITO VALUES('L12', 'LA MOLINA')
INSERT INTO DISTRITO VALUES('L13', 'LA VICTORIA')
INSERT INTO DISTRITO VALUES('L14', 'LINCE')
INSERT INTO DISTRITO VALUES('L15', 'LURIGANCHO')
INSERT INTO DISTRITO VALUES('L16', 'LURIN')
INSERT INTO DISTRITO VALUES('L17', 'MAGDALENA')
INSERT INTO DISTRITO VALUES('L18', 'MIRAFLORES')
INSERT INTO DISTRITO VALUES('L19', 'PACHACAMAC')
INSERT INTO DISTRITO VALUES('L20', 'PUCUSANA')
INSERT INTO DISTRITO VALUES('L21', 'PUEBLO LIBRE')
INSERT INTO DISTRITO VALUES('L22', 'PUENTE PIEDRA')
INSERT INTO DISTRITO VALUES('L23', 'PUNTA NEGRA')
INSERT INTO DISTRITO VALUES('L24', 'PUNTA HERMOSA')
INSERT INTO DISTRITO VALUES('L25', 'RIMAC')
INSERT INTO DISTRITO VALUES('L26', 'SAN BARTOLO')
INSERT INTO DISTRITO VALUES('L27', 'SAN ISIDRO')
INSERT INTO DISTRITO VALUES('L28', 'INDEPENDENCIA')
INSERT INTO DISTRITO VALUES('L29', 'SAN JUAN DE MIRAFLORES')
INSERT INTO DISTRITO VALUES('L30', 'SAN LUIS')
INSERT INTO DISTRITO VALUES('L31', 'SAN MARTIN DE PORRAS')
INSERT INTO DISTRITO VALUES('L32', 'SAN MIGUEL')
INSERT INTO DISTRITO VALUES('L33', 'SANTIAGO DE SURCO')
INSERT INTO DISTRITO VALUES('L34', 'SURQUILLO')
INSERT INTO DISTRITO VALUES('L35', 'VILLA MARIA DE TRIUNFO')
INSERT INTO DISTRITO VALUES('L36', 'SAN JUAN DE LURIGANCHO')
INSERT INTO DISTRITO VALUES('L37', 'SANTA MARIA DEL MAR')
INSERT INTO DISTRITO VALUES('L38', 'SANTA ROSA')
INSERT INTO DISTRITO VALUES('L39', 'LOS OLIVOS')
INSERT INTO DISTRITO VALUES('L40', 'CIENEGUILLA')
INSERT INTO DISTRITO VALUES('L41', 'SAN BORJA')
INSERT INTO DISTRITO VALUES('L42', 'VILLA EL SALVADOR')
INSERT INTO DISTRITO VALUES('L43', 'SANTA ANITA')
INSERT INTO DISTRITO VALUES('C01', 'CALLAO')
INSERT INTO DISTRITO VALUES('C02', 'BELLAVISTA')
INSERT INTO DISTRITO VALUES('C03', 'CARMEN DE LA LEGUA')
INSERT INTO DISTRITO VALUES('C04', 'LA PERLA')
INSERT INTO DISTRITO VALUES('C05', 'LA PUNTA')
INSERT INTO DISTRITO VALUES('C06', 'VENTANILLA')
SELECT * FROM DISTRITO
ORDER BY NOM_DIST ASC

62

INSERT INTO AREA VALUES('AR01','GERENCIA')


INSERT INTO AREA VALUES('AR02','SOPORTE TECNICO')
INSERT INTO AREA VALUES('AR03','VENTAS')
SELECT * FROM AREA
GO

INSERT INTO CARGO VALUES('C01','TECNICO')


INSERT INTO CARGO VALUES('C02','GERENTE')
INSERT INTO CARGO VALUES('C03','ADMINISTRADOR')
SELECT * FROM CARGO
GO

INSERT INTO FORMA_PAGO VALUES('FP01','EFECTIVO')


INSERT INTO FORMA_PAGO VALUES('FP02','DEPOSITO')
INSERT INTO FORMA_PAGO VALUES('FP03','CHEQUES')
SELECT * FROM FORMA_PAGO
GO

63

INSERT INTO CTAS_BANCARIAS VALUES('CB01','SCOTIABANK')


INSERT INTO CTAS_BANCARIAS VALUES('CB02','BCP')
INSERT INTO CTAS_BANCARIAS VALUES('CB03','BBVA')
SELECT * FROM CTAS_BANCARIAS
GO

INSERT INTO DET_CTAS VALUES('CB01','4282806','DOLARES')


INSERT INTO DET_CTAS VALUES('CB02','027-3563567','SOLES')
SELECT * FROM DET_CTAS
GO

INSERT INTO ESTADO_PERSONAL VALUES('EP001','PERMISO','OBS')


INSERT INTO ESTADO_PERSONAL VALUES('EP002','RENUNCIO','OBS')
INSERT INTO ESTADO_PERSONAL VALUES('EP003','DESPEDIDO','OBS')
INSERT INTO ESTADO_PERSONAL VALUES('EP004','LABORANDO','OBS')
SELECT * FROM ESTADO_PERSONAL
GO

64

INSERT INTO PERSONAL VALUES('PER001','MAMANI VERGARA','ROGER


ALAN','M','18/10/1985','43210900','L36','LAS ORQUIDEAS MZ. H LT
6','ALANMAMANI@HOTMAIL.COM','EP004','S','0','SI',' ')
INSERT INTO PERSONAL VALUES('PER002','BARTOLO CUBA','JESUS
ENRIQUE','M','18/10/1975','06754567','L36','LOS JARDINEZ 345','JESUSBBC@GMAIL.COM','EP004','S','1','SI',' ')
INSERT INTO PERSONAL VALUES('PER003','ROJAS LOPEZ','PERCY','M','18/10/1978','40345566','L01','AV. 28
DE JULIO 456','USSPROJAS@HOTMAIL.COM','EP004','S','0','SI',' ')
SELECT * FROM PERSONAL
GO

INSERT INTO CONTRATO VALUES ('CONTSTAR001','PER001','C01','AR02','1200.00','5.00','ACTIVO','05/01/2016','05/01/2017')


INSERT INTO CONTRATO VALUES ('CONTSTAR002','PER002','C01','AR02','1600.00','6.67','ACTIVO','05/01/2016','05/01/2017')
INSERT INTO CONTRATO VALUES ('CONTSTAR003','PER003','C02','AR01','2500.00','10.42','ACTIVO','05/01/2016','05/01/2017')
SELECT * FROM CONTRATO
GO

INSERT INTO USUARIO VALUES ('IUJUI','US01','ACTIVO','PER001')


INSERT INTO USUARIO VALUES ('KJEIUR','US02','ACTIVO','PER002')
INSERT INTO USUARIO VALUES ('234565','US03','ACTIVO','PER003')
SELECT * FROM USUARIO
GO

INSERT INTO DIRECTORIO_TELEFONICO_PERSONAL VALUES ('TL01','PER001','7641353','NUMERO DE


CASA')
INSERT INTO DIRECTORIO_TELEFONICO_PERSONAL VALUES ('TL02','PER001','989270836','CELULAR')
INSERT INTO DIRECTORIO_TELEFONICO_PERSONAL VALUES ('TL03','PER002','989245444','CELULAR')
INSERT INTO DIRECTORIO_TELEFONICO_PERSONAL VALUES ('TL04','PER003','956054325','CELULAR')
SELECT * FROM DIRECTORIO_TELEFONICO_PERSONAL
GO

65

INSERT INTO HORARIO_ESTABLECIDO VALUES ('PER001','09:00','18:00','13:00','14:00','HR001')


INSERT INTO HORARIO_ESTABLECIDO VALUES ('PER002','09:00','18:00','13:00','14:00','HR002')
INSERT INTO HORARIO_ESTABLECIDO VALUES ('PER003','09:00','18:00','13:00','14:00','HR003')
SELECT * FROM HORARIO_ESTABLECIDO
GO

INSERT INTO CTA_PERSONAL VALUES


('009309878993890987','BCP','SUELDO','PER001','AHORROS','ACTIVO')
INSERT INTO CTA_PERSONAL VALUES ('002345878676790988','BCP','CTS','PER001','AHORROS','ACTIVO')
INSERT INTO CTA_PERSONAL VALUES
('002345878672523433','INTERBANK','CTS','PER002','AHORROS','ACTIVO')
INSERT INTO CTA_PERSONAL VALUES
('123412342345345244','SCOTIABANK','SUELDO','PER002','AHORROS','ACTIVO')
SELECT * FROM CTA_PERSONAL
GO

INSERT INTO ADELANTOS VALUES ('ADEL00000001','PER002','06/07/2016','100.00','DEBE')


INSERT INTO ADELANTOS VALUES ('ADEL00000002','PER002','08/07/2016','200.00','DEBE')
INSERT INTO ADELANTOS VALUES ('ADEL00000003','PER003','07/07/2016','600.00','DEBE')
INSERT INTO ADELANTOS VALUES ('ADEL00000004','PER001','06/07/2016','50.00','DEBE')
SELECT * FROM ADELANTOS
GO

INSERT INTO VACACIONES VALUES ('VAC001','PER001','20/07/2016','20/08/2016','30 DIAS')

66

INSERT INTO VACACIONES VALUES ('VAC002','PER002','20/06/2014','05/07/2016','15 DIAS')


INSERT INTO VACACIONES VALUES ('VAC003','PER002','05/09/2014','17/09/2016','15 DIAS')
INSERT INTO VACACIONES VALUES ('VAC004','PER003','20/07/2014','20/08/2016','30 DIAS')
SELECT * FROM VACACIONES
GO

INSERT INTO BONIFICACION VALUES ('1','PER001','08/07/2016','PREMIO','100.00')


INSERT INTO BONIFICACION VALUES ('2','PER002','08/07/2016','PREMIO','120.00')
INSERT INTO BONIFICACION VALUES ('3','PER003','08/07/2016','PREMIO','60.00')
SELECT * FROM BONIFICACION
GO

INSERT INTO DEPOSITOS VALUES


('1234567890098','009309878993890987','01/07/2016','400.00','SUELDO','JUN2016','CANCELACION')
INSERT INTO DEPOSITOS VALUES
('1234567890099','002345878676790988','01/07/2016','350.00','CTS','JUN2016','1RA CTS')
INSERT INTO DEPOSITOS VALUES
('1234567890100','002345878672523433','01/07/2016','800.00','SUELDO','JUN2016','CANCELACION')
INSERT INTO DEPOSITOS VALUES
('1234567890101','123412342345345244','01/07/2016','350.00','SUELDO','JUN2016','CANCELACION')
SELECT * FROM DEPOSITOS
GO

INSERT INTO MARCACION VALUES


('PER001','05/07/2016','09:05','12:40','00:05','00:00','LABORO','MARC00000000000001','01:40','18:00')
INSERT INTO MARCACION VALUES
('PER001','06/07/2016','09:00','12:40','00:05','00:00','LABORO','MARC00000000000002','01:40','18:00')
INSERT INTO MARCACION VALUES
('PER001','07/07/2016','09:00','12:40','00:05','00:00','LABORO','MARC00000000000003','01:40','18:00')
INSERT INTO MARCACION VALUES
('PER001','08/07/2016','09:03','12:40','00:05','00:00','LABORO','MARC00000000000004','01:40','18:00')

67

INSERT INTO MARCACION VALUES


('PER001','09/07/2016','09:04','12:40','00:05','00:00','LABORO','MARC00000000000005','01:40','18:00')
SELECT * FROM MARCACION

3.8.

Realizacin de Backup de la Base de Datos.


BACKUP DATABASE DB_ASISTENCIA_PLANILLA
TO DISK ='F:\BACKUP_DATABASE\DB_ASISTENCIA_PLANILLA.BAK'
WITH FORMAT
,DESCRIPTION = 'COPIA DE SEGURIDAD 11/07/2016'
,RESTART
,STATS=10

3.9.

Realizacin de Restauracin de la Base de Datos.


--RESTAURAR LA BASE DE DATOS
RESTORE DATABASE DB_ASISTENCIA_PLANILLA
FROM DISK ='F:\BACKUP_DATABASE\DB_ASISTENCIA_PLANILLA.BAK'
WITH REPLACE
,STATS=10

68

CONCLUSIONES
Al Realizar la presente monografa, desarrollamos ms acerca de
lo que es realmente El Modelamiento e Implementacin de una Base de
Datos de una empresa. Llegamos a las siguientes conclusiones:
Para almacenar y optimizar, los procesos de una empresa es
necesario la implementacin integral de una Base de Datos, previo
a un buen anlisis. Siguiendo los procesos de Normalizacin para
evitar la redundancia de informacin.
La documentacin de todas las fases para la implementacin de
una base de datos es vital para poder tener mayor control de
calidad al finalizar los procedimientos.

69

REFERENCIAS BIBLIOGRAFICAS
LIBROS

1. PIEIRO GMEZ, Jos Manuel: Bases de datos relacionales y


modelado de datos, Espaa, Ediciones Nobel, 2013, p. 11-12.
2. (FERNNDEZ ALARCN) (Desarrollo de sistemas de informacin:
una metodologa basada en el modelado, 2006)
3. EDGAR FRANK, Codd: A Relational Model of Data for Large Shared
Data Banks E. F. Codd IBM Research Lab. San Jose. CA.
4. PRINCE Jon, P Aprendiendo Microsoft Access 2002 en 21 lecciones
avanzadas.
5. MARGARET S. Wu (1992).

70

WEBGRAFIA
1. Edgar F. Codd:
https://es.wikipedia.org/wiki/Edgar_Frank_Codd
2. Edgar F. Codd: https://en.wikipedia.org/wiki/Domainkey_normal_form.
3. https://en.wikipedia.org/wiki/Microsoft_SQL_Server#SQL
_Server_2012.
4. http://image.slidesharecdn.com/requerimientos120904183834-phpapp02/95/requerimientos-deinstalacion-de-sql-2-728.jpg?cb=1346783973.