Está en la página 1de 16

Sistemas Administrativos de

Información Contable

SISTEMAS ADMINISTRATIVOS DE
INFORMACIÓN CONTABLE

TRABAJO PRÁCTICO Nº 9
Liquidación de sueldos – Base de datos

Trabajo práctico 9 – Liquidación de sueldos – Base de datos Página 1 de 16


Sistemas Administrativos de
Información Contable

A. INTRODUCCIÓN
En sus operaciones diarias, las organizaciones pueden recolectar enormes cantidades de
datos. Estos datos son la materia prima de una información muy valiosa, pero los datos no
sirven sin herramientas que los organicen y los guarden de una manera accesible y que los
manipulen para producir tal información. Estas funciones son la gran ventaja de las bases de
datos: conjuntos de datos interrelacionados que dentro de una organización y, en ocasiones,
entre las organizaciones, son compartidos por muchas unidades y contribuyen a la
productividad y eficiencia. (Oz, 2008)
Una base de datos es una colección organizada de datos que se relacionan en forma
significativa y que pueden ser accedidos en diferentes órdenes lógicos. Las bases de datos
son sistemas en los que la interpretación y almacenamiento de la información son de
importancia primaria. La base de dataos debería contener todos los datos necesarios para
una organización. Esto dará por resultado un gran volumen de datos, la necesidad de
almacenarlos en el largo plazo y las consideraciones sobre quiénes acceden a esos datos.
(S. Sumathi, 2007)
Las bases de datos hoy se pueden encontrar alojadas en un dispositivo como una PC, un
teléfono celular o una tablet o pueden estar alojadas en servidores en la nube. Esta
clasificación conforme su ubicación se la conoce como "on premise" o "cloud"
respectivamente.
Un sistema de administración de bases de datos (DBMS por sus siglas en inglés) es un
conjunto de datos interrelacionados y programas para acceder a los datos. Estos programas
facilitan el mantenimiento y utilización de una base de datos. (S. Sumathi, 2007)
Por ejemplo, ORACLE , MySQL, SQLite, MariaDB, SQLServer, MongoDB, Access son solo
algunos de los DBMS más conocidos.
Los celulares con sistema operativo Android tienen instalados de fábrica un DBMS llamado
SQLite, el cual usa el celular para almacenar datos repetitivos o estructurados.
(https://developer.android.com/training/data-storage/sqlite). Por ejemplo, los contactos de tu
teléfono celular Android, están guardados en una base de datos llamada com.android.contacts
al que se puede acceder con el DBMS llamado SQLite.
Notarás que las siglas SQL (Structured Query Language) o Lenguaje Estructurado de
Consultas aparece en varios de los nombres de DBMS citados. El SQL es un lenguaje para
ingresar, editar y eliminar información de una base de datos a través de un DBMS.

Trabajo práctico 9 – Liquidación de sueldos – Base de datos Página 2 de 16


Sistemas Administrativos de
Información Contable

B. ACTIVIDAD PROPUESTA
Se propone al alumno conocer a través de una experiencia directa la creación tablas, carga
de datos y consultas a una Base de datos, para lo cual se procederá a través de los siguientes
pasos: a) Instalar un DBMS en tu celular o notebook. c) Crear las tablas y cargar los datos
obtenidos de REGISOFT Sueldos. d) Realizar consultas a la base de datos para obtener
reportes con información para la toma de decisiones.

1) Instalo un administrador de base de datos (DBMS):


Descargar e instalar la aplicación SQLiteManager del Google Play Store en su teléfono celular
o tablet. Si va a usar una PC se recomienda descargar la aplicación BlueStacks y luego
descargarla del Google Play Store.

2) Deconstruyo mi base de datos


Una base de datos está compuesta por tablas (tables) y registros o filas (rows). A continuación,
le presentamos un diagrama de sistema y las tablas obtenidas de la aplicación Regisoft
Sueldos, a partir del práctico de sueldos visto en clases:
a) Diagrama de sistema de la aplicación Regisoft Sueldos
ENTRADA PROCESO SALIDA

PANTALLAS
BASE DE DATOS REGISOFT SUELDOS REGISOFT
REGISOFT SUELDOS SUELDOS

TABLAS BASE DE
DATOS REGISOFT
SUELDOS

REGITROS EN
LAS TABLAS

Trabajo práctico 9 – Liquidación de sueldos – Base de datos Página 3 de 16


Sistemas Administrativos de
Información Contable

Las tablas de Regisoft Sueldos con las que trabajaré serán: LEGAJOS, OBRASOCIAL y
BANCOS. La tabla LEGAJOS contiene la información de cada uno de los empleados, en tanto
la tabla OBRASOCIAL, contiene en nombre de la obra social por la que cada empleado ha
optado o le ha sido designada por el convenio en el cual está encuadrado. La tabla BANCOS
contiene el nombre del banco y el CBU en donde se le depositará el sueldo.
NOTA: es una convención que tanto los nombres de las tablas como los nombres de las columnas en
ellas, se escriban en mayúscula y sin espacios o con guiones bajos ( _ ,under score en inglés) como
espacio. Esto es una costumbre arraigada entre los programadores dado que en el inicio de muchos
de los lenguajes de programación los sistemas Windows no distinguían mayúsculas de minúsculas en
los nombres de archivos y los sistemas Linux (o UNIX) si lo hacían, por usaban todo mayúscula y sin
espacios para poder trabajar indistintamente con distintos sistemas operativos. A todos los efectos de
este práctico usaremos esa convención.
b) Tablas obtenidas del software Regisoft Sueldos con sus respectivos registros
Tabla legajo
P. a Puesto Obra Banco
Nº Apellido Nombre CUIL Nacimiento Tipo Ingreso Cargo Sind. social
Juan 1 1 1
11 Acosta Pedro 20-06071889-0 02/07/1955 M 01/01/2012 3.00 VERDADERO
1 2 2
22 Sandoval Carlos 20-12523300-8 27/09/1972 M 03/05/2011 2.00 VERDADERO
2 3 2
33 García José 20-21528852-9 05/02/1980 J 19/09/2010 1.00 FALSO
2 1 3
44 Angelotti Roberto 20-25979285-2 11/12/1969 J 01/08/2009 VERDADERO
3 4 3
55 Rodríguez Osvaldo 20-36982145-9 23/08/1965 M 03/05/2011 3.00 FALSO
4 5 4
56 Ramirez Cristian 20-31679565-0 14/06/1983 J 01/02/2012 FALSO
2 1 3
57 Rossi Roberto 20-16903504-1 30/11/1960 J 20/03/2008 1.00 VERDADERO
2 4 4
58 Zapata Alejandro 20-30256973-9 24/07/1980 J 15/10/2013 VERDADERO
2 2 3
59 Piersantelli Ramiro 20-21530784-1 16/11/1971 J 01/02/2014 VERDADERO

Tabla puesto
Puesto
Com - Administrativo 2
Cons - Obrero 1
Com - Viajante
Cons - Obrero 2

Tabla obra social

Obra Social
OSECAC
Galeno
Construir
OSDE
(sin o.social)

Trabajo práctico 9 – Liquidación de sueldos – Base de datos Página 4 de 16


Sistemas Administrativos de
Información Contable

Tabla banco

Banco
Efectivo
Nación - Rosario
Galicia - San Nicolás
Hipotecario -
Rosario

c) Tipos de contenidos de las tablas


Tan importante como reconocer las tablas es importante poder reconocer el contenido de
cada una de ellas clasificando cada una de sus columnas.
A las tablas de las bases de datos debo indicarle qué tipo de contenido van a llevar en su
interior. De esta forma, no es lo mismo que el contenido sea un número, una fechas o
textos. Los contenidos numéricos los voy a poder operar entre sí, ordenar y será más fácil
para la base de datos usarlos como identificador de cada uno de los registros o filas. Es
importante conocer que las bases de datos suelen distinguir el concepto de entero y
número (integer y number), siendo los enteros los más usados como tipo de datos para la
clave primaria. Los contenidos de tipo fecha (date) me permitirá calcular automáticamente
la antigüedad de un empleado o su edad y los contenidos tipo texto (text) me permiten
escribir texto libre como un nombre o una dirección postal. A todos los efectos de la base
de datos usada en este práctico, SQLite, usaremos para las fechas el tipo de dato texto
TEXT. Si querés conocer más sobre tipos de datos, podés encontrar información en
https://www.sqlite.org/datatype3.html .
La siguiente tabla resume los tipos de datos para la base de datos SQLite:
Contenido Tipo de datos
Números enteros o claves primarias Integer (entero)
Números decimales Numeric (número)
Texto y fechas Text (texto)

3) Planifico las relaciones entre las tablas


Uno de los componentes más importantes de una base de datos son las relaciones que
existen entre las distintas tablas. El identificador que usan las tablas para relacionarse entre
sí, lo llamamos clave primaria o clave secundaria. Las relaciones entre las claves pueden ser
de una a muchas, de muchas a una o de muchas a muchas. En nuestro caso todas las
relaciones son de una a muchas.
Para poder relacionar las tablas debo agregar una columna a cada de las tablas que permita
identificar en forma única, cada uno de sus registros. Esta columna es la clave primaria y
usualmente lleva el nombre ID que corresponde a la palabra identificación.

Trabajo práctico 9 – Liquidación de sueldos – Base de datos Página 5 de 16


Sistemas Administrativos de
Información Contable

Tabla Puesto
IDPUESTO Puesto
1 Com - Administrativo 2
2 Cons - Obrero 1
3 Com - Viajante
4 Cons - Obrero 2

Tabla Obra Social


IDOBRASOCIAL Obra Social
1 OSECAC
2 Galeno
3 Construir
4 OSDE
5 (sin o.social)

Tabla Banco
IDBANCO Banco
1 Efectivo
2 Nación – Rosario
3 Galicia - San Nicolás
Hipotecario -
4
Rosario

En la tabla LEGAJOS, no hizo falta ya que el número de legajo identificaba en forma única a
cada una de las personas (cada uno de los registros o filas). Nuestras tablas restantes
quedarían de la siguiente forma:
A continuación, verás cómo sería la representación gráfica de la relación entre las tablas vistas

Trabajo práctico 9 – Liquidación de sueldos – Base de datos Página 6 de 16


Sistemas Administrativos de
Información Contable

Relaciones de las tablas

Trabajo práctico 9 – Liquidación de sueldos – Base de datos Página 7 de 16


Sistemas Administrativos de
Información Contable

4) Creo las tablas


Procedo a crear una base de datos, sus tablas y columnas, que serán la estructura en la que
completaremos los datos.
a) Diagrama de sistema de la aplicación Regisoft Sueldos
Abro la aplicación SQLiteManager y hacemos click en el signo adición ( + ) en el ángulo inferior
derecho para crear una nueva base de datos:

Tipeo el nombre de nuestra nueva base de datos ( LEGAJOS ) y luego hago click en create.
A continuación, debo crear cada una de las tablas que la componen. Para crear cada una de
las tablas necesito conocer su estructura.
La estructura de cada una de las tablas a crear y el tipo de datos de cada una de sus columnas
es el siguiente:
Nombre original Nombre columna Tipo de datos ¿Es clave primaria?
Nº IDLEGAJO INTEGER SI
Apellido APELLIDO TEXT NO
Nombre NOMBRE TEXT NO
CUIL CUIL TEXT NO
Nacimiento FECHANACIMIENTO TEXT NO
Tipo TIPO TEXT NO
Ingreso FECHAINGRESO TEXT NO
P. a Cargo PERSONASACARGO INTEGER NO
Sind. SINDICATO TEXT NO
Puesto PUESTO INTEGER NO
Obra Social OBRASOCIAL INTEGRER NO
Banco BANCO INTEGRER NO

Trabajo práctico 9 – Liquidación de sueldos – Base de datos Página 8 de 16


Sistemas Administrativos de
Información Contable

Nombre original Nombre columna Tipo de datos ¿Es clave primaria?


IDOBRASOCIAL INTEGRER SI
Obra Social OBRASOCIAL TEXT NO

Nombre original Nombre columna Tipo de datos ¿Es clave primaria?


IDPUESTO INTEGRER SI
Puesto PUESTO TEXT NO

Nombre original Nombre columna Tipo de datos ¿Es clave primaria?


IDBANCO INTEGRER SI
Banco BANCO TEXT NO

Con esta información ya puedo comenzar a crear las tablas haciendo click en el botón de
adición, como indica la impresión de pantalla adjunta:

En donde dice Type table name ingreso el nombre de la tabla, para nuestro primer caso, es
LEGAJO:

Luego completo los nombres columnas y hago click en el botón ADD COLUMN para comenzar
a crear las columnas adicionales a las tres predeterminadas que nos muestra la aplicación.
La primera columna es IDLEGAJO y tal como te indicamos en los tipos de datos, esta columna
contendrá número enteros (INTEGER) y será clave primera (Primary key):

Trabajo práctico 9 – Liquidación de sueldos – Base de datos Página 9 de 16


Sistemas Administrativos de
Información Contable

Repitiendo los últimos tres pasos crearé todas las tablas con sus respectivas columnas que
serán las estructuras que contendrán nuestros datos en sus registros o filas (rows).
Para terminar mi tabla, haré click en el ícono de un diskette en el ángulo superior derecho.

Para finalizar, debo confirmar todos los cambios que he hecho. Se observa un número en rojo
en el ángulo superior derecho del diskette que usé para guardar. Debo hacer click en ese
diskette para confirmar todos los cambios que pueda haber realizado antes de salir del
programa.

Trabajo práctico 9 – Liquidación de sueldos – Base de datos Página 10 de 16


Sistemas Administrativos de
Información Contable

5) Cargo los datos en las tablas de la base de datos


Con las estructuras creadas, ya puedo comenzar a ingresar datos a cada una de las tablas.
Para esto, tengo que hacer click en el nombre de la tabla, y click en el signo adicción de abajo
a la derecha. Luego hago click en la primera columna para comenzar a cargar los datos del
primer registro o fila (row) y selecciono el tipo de datos.

Mientras cargo la información, voy haciendo click en el icono del diskette para pasar a la
información a completar de la columna siguiente. Observo que hay una casilla de verificación
que dice Set NULL (dejar en blanco) y lo que nos permite es decirle a la base de datos que
ese campo no tendrá contenido. Tal es el caso de las personas a cargo del Legajo 44,
Angelotti, que al no tener gente a cargo podríamos colocar Set NULL (dejar en blanco) o el
número 0. Para una base de datos NO es lo mismo dejar en blanco que tener el número cero,
pero considerando que estamos hablando de una cantidad y esa cantidad es ninguna persona
a cargo, podemos usar excepcionalmente el 0 o tildar Set NULL.
De esta forma debo continuar con la carga de todos los datos de las cuatro tablas que estamos
trabajando.

6) Consultar y editar los datos de las tablas


Existen diversas maneras de acceder a la información en la base de datos. Particularmente
en el programa SQLiteManager seguramente te resulte muy intuitivo encontrar la información
que necesites.
Abro la base de datos haciendo click en su respectivo nombre.

Hago click en el nombre de la tabla y podrás visualizar los datos, inclusive editarlos haciendo
click sobre cada uno de los registros o filas.

Trabajo práctico 9 – Liquidación de sueldos – Base de datos Página 11 de 16


Sistemas Administrativos de
Información Contable

Nota sobre seguridad informática: en este muy sencillo ejemplo podés visualizar lo importante que
es que el acceso a la base de datos se encuentre totalmente restringido. Los cambios que realizas a
nivel de base de datos impactan en todo el sistema (en nuestro caso Regisoft) pero no poseen la
restricción de acceso o el registro de quién realizó el cambio que podría tener la aplicación. Por ejemplo,
vos podrías cambiar el Banco en el que se le acredita el sueldo a una persona y cargarle el número de
CBU de tú cuenta bancaria.

7) Hago consultas en SQL


SQL (por sus siglas en inglés Structured Query Language; en español lenguaje de consulta
estructurada) es un lenguaje específico del dominio utilizado en programación, diseñado para
administrar, y recuperar información de sistemas de gestión de bases de datos relacionales.
Una de sus principales características es el manejo del álgebra y el cálculo relacional para
efectuar consultas con el fin de recuperar, de forma sencilla, información de bases de datos,
así como realizar cambios en ellas.
El origen del lenguaje SQL lo podemos trazar hasta un proyecto de investigación liderado por
IBM en sus laboratorios de investigación en San José, California, en el inicio de la década del
70. El objetivo del proyecto era desarrollar un Sistema de Gestión de Base de Datos
Relacionales ( Fundamentals of Relational Database Management Systems, Volumen 47 de
Studies in Computational Intelligence, Autores S. Sumathi, S. Esakkirajan, Springer
Science & Business Media, 2007)
SQL pasó a ser el estándar del Instituto Nacional Estadounidense de Estándares (ANSI) en
1986 y de la Organización Internacional de Normalización (ISO) en 1987.
Los usos de SQL son:
• SQL puede ejecutar consultas contra una base de datos.
• SQL puede recuperar datos de una base de datos.
• SQL puede insertar registros en una base de datos.
• SQL puede actualizar los registros en una base de datos.
• SQL puede eliminar registros de una base de datos.
• SQL puede crear nuevas bases de datos.
• SQL puede crear nuevas tablas en una base de datos.
• SQL puede crear procedimientos almacenados en una base de datos.
• SQL puede crear vistas en una base de datos.

Trabajo práctico 9 – Liquidación de sueldos – Base de datos Página 12 de 16


Sistemas Administrativos de
Información Contable

• SQL puede establecer permisos en las tablas, procedimientos y puntos de vista.

a) Realizo una consulta básica


Para realizar una consulta a la base de datos, usaremos la instrucción SELECT
La instrucción SELECT se utiliza para seleccionar datos de una base de datos. Los datos
devueltos se almacenan en una tabla de resultados, llamado el conjunto de resultados. Por
ejemplo:
SELECT columna1, columna2, ...FROM nombre_de_la_tabla;
Aquí, columna 1, columna2, ... son los nombres de las columnas de la tabla que deseo ver ya
que no siempre quiero ver todas las columnas al mismo tiempo. Si deseo seleccionar todos
los campos disponibles en la tabla, utilizo el * (asterisco) como forma de indicarle a SELECT
que quiero ver todas las columnas:
SELECT * FROM nombre_de_la_tabla;
En nuestro ejemplo, para ver todos los datos que contiene la tabla LEGAJOS, debería escribir
SELECT * FROM ‘LEGAJOS’;
Si sólo queremos ver las columnas APELLIDO y NOMBRE, la instrucción sería:
SELECT APELLIDO, NOMBRE FROM ‘LEGAJOS’;
NOTA: sobre la puntuación. Para separar elementos adentro de una instrucción de SELECT
uso el signo coma ( , ) y para darle el nombre a una tabla debo colocar su nombre en comillas
simples ( ‘ ).
En el programa SQLite Manager las consultas a la base de datos se ingresan en el área de
query o consultas en castellano:

A continuación, escribimos nuestra consulta y hacemos click en el botón de RUN o ejecutar:

Trabajo práctico 9 – Liquidación de sueldos – Base de datos Página 13 de 16


Sistemas Administrativos de
Información Contable

A efectos de poder practicar, te pedimos que ejecutes una nueva consulta que te permita ver
sólo el apellido, cuil y la fecha de nacimiento de cada uno de los empleados en la tabla legajo:

b) Realizo una consulta avanzada


Para poder visualizar los datos que cumplan una condición específica o una consulta de dos
o más tablas relacionadas entre sí, debo realizar una consulta avanzada.
b.1) Datos que cumplen una condición específica:
Para este tipo de consultas introduciremos la cláusula denominada WHERE.
Por ejemplo, si quiero que todas las columnas del legajo 55, la instrucción sería:
SELECT * FROM LEGAJO WHERE IDLEGAJO = 55;
En el caso que quisiera ver todos los empleados que se llaman ACOSTA de apellido, la
instrucción sería:
SELECT * FROM LEGAJO WHERE APELLIDO LIKE ‘ACOSTA’;
Podrás observar que para buscar un número utilizamos el signo igual ( = ) y para buscar
un apellido utilizamos la palabra LIKE ( COMO o PARECIDO A en inglés) y el texto que
buscábamos entre comillas simples ( ‘ ). Las columnas que definimos como tipo de datos
número o entero (number o integer) permiten que sus contenidos sean localizados con el
signo = y el número que contienen, en tanto que para las columnas que definimos como
tipo de dato texto uso la palabra LIKE y entre comillas simples el texto que queremos
buscar. En este último caso si quisiera buscar todos los apellidos que empiezan con A,
usaría la siguiente sentencia con el signo porcentaje (%):
SELECT * FROM LEGAJO WHERE APELLIDO LIKE ‘A%’;

b.2) Datos que cumplen una condición específica:


Para este tipo de consultas necesito conocer la clave primaria que identifica cada uno de
los registros de una tabla y la clave foránea que identifica los registros vinculados en la
segunda tabla a los de la primera. Para entender este concepto gráficamente te volvemos
a adjuntar el gráfico de nuestro modelo de datos:

Trabajo práctico 9 – Liquidación de sueldos – Base de datos Página 14 de 16


Sistemas Administrativos de
Información Contable

Clave primaria de la tabla LEGAJOS


Clave primaria de la tabla PUESTOS

Clave foránea de la tabla PUESTOS


en la tabla LEGAJOS

La instrucción SELECT para vincular dos tablas debe incluir, las columnas que queremos
mostrar (si queremos mostrar todas usamos el *), todas las tablas que queremos consultar
separadas por una coma ( , ) y la cláusula WHERE vinculando la clave foránea de una
tabla con la clave primaría de la segunda tabla:
SELECT * FROM LEGAJO,PUESTO WHERE LEGAJO.PUESTO = PUESTO.IDPUESTO;
Esta última consulta es la característica más importante de una base de datos y los
resultados que arroja la misma a través de las consultas SQL. Nos permite relacionar
prácticamente una cantidad infinita de datos en tanto compartan una clave llamada índice
o identificar en común entre todos esos datos. Todas las salidas o informes que
obtenemos en una ERP son resultado de alguno de estos tipos de consultas avanzadas.
Por ejemplo, el saldo de la cuenta contable
Mercadería en el balance de sumas y saldos, es el resultado de una consulta al mayor de
la cuenta mercadería que no es otra cosa más que una tabla llamada mercadería en la
base de datos. Esta tabla tiene en sus filas los movimientos (débitos y créditos) que ha
tenido la cuenta mercadería para un periodo determinado. Básicamente todo el balance
de sumas y saldos obtenido de un software ERP puede resumirse a un par de consultas
de SQL sobre la base de datos de ese ERP.

8) Actividades
a. Descargue en su celular, tablet, notebook o PC la aplicación SQLiteManager (en el caso
de un Notebook o PC descargue primero la aplicación BlueStacks y luego desde el Google
Play Store, descargue la aplicación SQLiteManager).
b. Cree todas las tablas con todos los registros indicados en el presente práctico.
c. Indique cuáles serían las consultas para obtener los siguientes informes requeridos por la
Gerencia Contable. Tome nota de la consulta ejecutada:

Trabajo práctico 9 – Liquidación de sueldos – Base de datos Página 15 de 16


Sistemas Administrativos de
Información Contable

Informe requerido por la Requerimiento sobre la


Sentencia de SQL ejecutada
gerencia base de datos
Listado de todos los Mostrar todos los
puestos de los empleados registros de la tabla
de la organización. PUESTO

Listado de cuándo Mostrar las columnas


ingreso cada uno de los IDLEGAJO, NOMBRE y
empleados de la FECHAINGRESO de la
organización. tabla LEGAJO

Informe de en qué Banco Mostrar el APELLIDO del


se le acredita el sueldo al LEGAJO 58 y el Banco en
empleado con el Legajo el cual se le acredita el
Número 58 sueldo
Muestre todas las
columnas APELLIDO y
Listado de las obras
NOMBRE de la tabla
sociales de todos los
LEGAJO y su
empleados
correspondiente
OBRASOCIAL

d. Responda el ejercicio de autoevaluación publicado en Econet (la fecha de la puesta a


disposición y entrega es conforme cronograma publicado).

Trabajo práctico 9 – Liquidación de sueldos – Base de datos Página 16 de 16

También podría gustarte