Upload
others
View
3
Download
0
Embed Size (px)
Citation preview
UNIVERSIDAD AUSTRAL DE CHILE Facultad de Ciencias de la Ingeniería
Escuela de Ingeniería en Computación
Diseño y Construcción de Sistema en Web para el análisis financiero de Empresas Asociativas Campesinas que operan con el INDAP
Seminario de Titulación para optar al título de
Ingeniero de Ejecución en Computación
Profesor Patrocinante: Sra: Claudia Gislaine Zil Bontes
Steve Miguel Hernaez Saldivia
Puerto Montt Chile 2003
A todos mis seres queridos. Que con su apoyo incondicional...
han logrado que mi alma alcance uno más de sus sueños.
INDICE
Portada Dedicatoria Indice Síntesis en castellano Síntesis en inglés 1 Introducción 1 1.1 Resumen de capítulos 7 2 Objetivos 10 2.1 Objetivo general 10 2.2 Objetivos específicos 10 3 Planteamiento del Problema 12 3.1 Antecedentes 12 3.2 Justificación 17 3.3 Delimitación 23 4 Metodología 25 4.1 Descripción de metodología 29 4.2 Comparación entre metodologías 30 4.3 Resumen de desarrollo proyectado 32 5 Recursos 35 5.1 Hardware 35 5.2 Software 37 5.3 Otros 39 6 Desarrollo según metodología 40 6.1 Resumen de productos 40 6.2 Desarrollo de productos 42 6.2.1 Productos etapas I y II 42 6.2.1.1 Reuniones, cuestionarios y observaciones 42 6.2.1.1.1 Reuniones 42 6.2.1.1.2 Cuestionarios 42 6.2.1.1.3 Observaciones directas 42 6.2.1.2 Requerimientos del sistema 43 6.2.1.2.1 Requerimientos iniciales 44 6.2.1.2.2 Requerimientos funcionales 45 6.2.1.2.3 Requerimientos de salidas 45 6.2.1.2.4 Requerimientos de entrada 46 6.2.1.2.5 Requerimientos de procedimientos 46 6.2.1.2.6 Requerimientos de Recursos Humanos 47
6.2.1.2.7 Requerimientos de Recursos financieros 48 6.2.1.2.8 Requerimientos de administración 48 6.2.1.2.9 Requerimientos de medición de desempeño 49 6.2.1.3 Resumen enumerado de requerimientos 50 6.2.1.4 Diagrama de Flujo de Datos 51 6.2.2 Productos etapa III 56 6.2.2.1 Diseño de la Base de Datos 56 6.2.2.1.1 Diseño de BdD Conceptual 57
6.2.2.1.1.1 Construir un modelo de datos conceptual local para cada vista de usuario 57
6.2.2.1.1.1.1 Identificar tipos de entidades 58 6.2.2.1.1.1.2 Identificar tipos de relaciones 60
6.2.2.1.1.1.3 Identificar y asociar atributos con una entidad o relación 65
6.2.2.1.1.1.4 Determinar dominios de atributos 78
6.2.2.1.1.1.5 Determinar clave candidatas y primarias de los atributos 80
6.2.2.1.1.1.6 Especializar/generalizar tipos de entidades (opcional) 82
6.2.2.1.1.1.7 Dibujar el diagrama ER 83 6.2.2.1.2 Diseño de BdD Lógico para el Modelo Relacional 85
6.2.2.1.2.1 Construir y validar el modelo de datos lógico local para cada vista de usuario 86
6.2.2.1.2.1.1 Transformar el modelo de datos conceptual local al modelo de datos lógico local 86
6.2.2.1.2.1.2 Derivar relaciones del modelo de datos lógico local 93 6.2.2.1.2.1.3 Validar modelo utilizando normalización 103 6.2.2.1.2.1.4 Validar modelo con las transacciones de usuarios 108 6.2.2.1.2.1.5 Dibujar diagrama ER final 111 6.2.2.1.2.1.6 Definir limitaciones de integridad 112 6.2.2.1.2.1.6.1 Datos requeridos 113 6.2.2.1.2.1.6.2 Restricciones de los dominios de los atributos 113 6.2.2.1.2.1.6.3 Integridad de entidades 114 6.2.2.1.2.1.6.4 Integridad referencial 115 6.2.2.1.2.1.6.5 Reglas de negocio 121 6.2.2.1.2.1.7 Revisar modelo de datos lógico local con el usuario 122 6.2.2.1.2.2 Construir y validar el modelo de datos lógico global 123 6.2.2.1.2.3 Mapa transaccional 124 6.2.2.1.3 Diseño de BdD Físico para el Modelo Relacional 126
6.2.2.1.4 Traducir el modelo lógico global para el DBMS especificado 127
6.2.2.1.4.1 Diseñar las relaciones bases para el DBMS especificado 128
6.2.2.1.4.2 Diseñar las restricciones de la empresa para el DBMS especificado 129
6.2.2.1.5 Diseñar representación física 130 6.2.2.1.5.1 Analizar transacciones 130 6.2.2.1.5.1.1 Diseño físico de transacciones 132 6.2.2.1.5.2 Elegir organización de archivos 138 6.2.2.1.5.3 Elegir índices secundarios 140
6.2.2.1.5.4 Considerar la introducción de redundancia controlada ( de-normalización) 142
6.2.2.1.5.5 Estimar los requerimientos de espacio en disco 144 6.2.2.1.6 Diseñar mecanismos de seguridad 149 6.2.2.1.6.1 Diseñar vistas de usuarios 150 6.2.2.1.6.2 Diseñar reglas de acceso 152 6.2.2.1.6.3 Monitoreo y refinamiento del sistema en operación 153 6.2.2.2 Diseño del sitio Web 154 6.2.2.2.1 Diseño Lógico 154 6.2.2.2.1.1 Diagrama del Sitio Web 155 6.2.2.2.1.2 Inventario de Páginas Web 156 6.2.2.2.2 Diseño Físico 158 6.2.2.2.2.1 Diagrama de montaje del sitio Web 158 6.2.2.2.2.2 Descripción del Software utilizado 160 6.2.2.2.2.2.1 Para Base de Datos 160 6.2.2.2.2.2.2 Para Sitio Web 163 6.2.2.2.2.3 Seguridad del Sitio Web 166 6.2.3 Productos etapa IV 170 6.2.3.1 Implementación de la Base de Datos 170 6.2.3.1.1 Script de la Base de Datos 171 6.2.3.1.2 Procedimientos Almacenados 200 6.2.3.1.3 Triggers o desencadenadores 205 6.2.3.1.4 Imágenes de la Base de Datos 207 6.2.3.2 Implementación del Sitio Web 209 6.2.3.2.1 Código de páginas del Sistema 209 6.2.3.2.2 Imágenes del Sitio Web 217 6.2.3.2.3 Referencias del desarrollo del Sitio Web 220 6.2.4 Productos etapa V 221 6.2.4.1 Descripción del desarrollo 221 6.2.4.2 Imágenes del desarrollo en otras aplicaciones 223 7 Conclusiones y/o Recomendaciones 228
8 Bibliografía 230 9 Anexos 232 9.1 A: Referencias para Reuniones, cuestionarios y entrevistas 232 9.1.1 Reuniones, cuestionarios y entrevistas efectivas 232 9.1.2 Formulario de preparación de una reunión 234 9.1.3 Reunión de ejemplo 237 9.1.4 Ejemplo de cuestionario 239 9.1.5 Apreciaciones personales 245 9.2 B:Referencias para Requerimientos 246 9.2.1 Descripción de tipos de requerimientos [Perez1988] 246 9.2.2 Listado de todos los requerimientos 250 9.3 C:Información relacionada con el DFD 252 9.3.1 Nomenclatura del DFD 252 9.3.2 Diagrama de Flujo de Datos detallado 253 9.4 D:Información relacionada con las Razones financieras. 266 9.4.1 Descripción de Razones financieras 266 9.4.2 Forma de calcular las Razones financieras 268 9.5 E:Descripción de tipos de Datos del SQL Server. 269
Tablas ID Descripción Pág. 1 Resumen de requerimientos más importantes 50 2 Identificación de entidades 58 3 Identificación de relaciones 61 4 Detalle de atributos con su leyenda 65 5 Detalle de los dominios determinados y su leyenda 78 6 Detalle de las claves primarias y candidatas 80 7 Relaciones redundantes 89 8 Transacciones más importantes 109 9 Requerimientos con Transacciones relacionadas 110 10 Posibles acciones entre relaciones Padre e hijo 116 11 Restricciones de integridad 119 12 Detalles o características importantes de las transacciones 131 13 Indices secundarios seleccionados 138 14 Atributos redundantes para optimizar el tiempo de acceso 142 15 Tamaño de registros de las relaciones 145 16 Tamaño de las tablas “fijas” del sistema. 146 17 Tamaño de las tablas “variables” 147 18 Inventario de páginas del Sitio Web 157 19 Listado de todos los requerimientos 251 20 Listado de Tipos de Datos del SQL Server 269
Figuras
ID Descripción Pág. 1 Diagrama jerárquico de entidades 4 2 Diagrama del flujo actual de datos 17 3 Diagrama de la Metodología [Perez1988] 26 4 Diagrama de la metodología [Connolly1988] 27 5 Diagrama de la metodología [Byrne2000] y [Maso1997] 28 6 Diagrama de la comparación entre metodologías 30 7 Diagrama de la metodología de desarrollo del Sitio Web 31 8 DFD, Diagrama Inicial 53 9 DFD, Diagrama de Contexto Modo de Trabajo 1 54
10 DFD, Diagrama de Contexto Modo de Trabajo 2 55 11 Modelo E-R preliminar 83 12 Transformación de Relaciones 87 13 Diagrama ER final 111 14 Mapa transaccional 125 15 Diagrama del Sitio Web 155 16 Proyecto Web 158 17 Nomenclatura DFD 252
SINTESIS
El objetivo principal de esta Tesis es desarrollar un sistema computacional
que ayude al “Instituto de Desarrollo Agropecuario” (INDAP) a tomar mejores
decisiones y en menos tiempo en su trabajo con las “Empresas Asociativas
Campesinas” (EAC).
El apoyo de la solución es de tipo financiero, al entregar información
detallada de las razones financieras de las EAC en conjunto con sus “Unidades
de Negocio” (UN) y clasificarlas en forma sintética.
Para lograr esto se usaron varias metodologías. Para el desarrollo del
Sistema en general se utilizó la metodología de [Perez1988], para el Diseño de
la Base de Datos la metodología de [Connolly1998] y para el Diseño del Sitio
Web se utilizaron las metodologías de [Byrne2000] y [Maso1997].
De este desarrollo se concluye que aún con las herramientas actuales para
crear sistemas en Web existen muchas limitaciones para lograr interfaces
amigables y en poco tiempo. Por esto último se debe optimizar la etapa de
Diseño al momento de desarrollar una solución.
SYNTHESIS
The primary target of this Thesis is to develop a computational system that
helps the “Instituto de Desarrollo Agropecuario” (INDAP), to make better
decisions and in less time in its work with the “Empresas Asociativas
Campesinas” (EAC).
The support of the solution is of financial type, when giving detailed
information of the financial reasons of the EAC altogether with its “Unidades de
Negocio” (UN) and of classifying them in synthetic form.
In order to obtain this several methodologies were used. For the
development of the System in general the methodology of [Perez1988] was
used, for Database Design the methodology of [Connolly1998] and for Web
Sites Design was used the methodologies of [Byrne2000] and [Maso1997].
Of this development one concludes that still with the present tools to create
systems in Web many limitations exist to obtain friendly interfaces and in just a
short time. At this last one the stage of Design at the time of developing a
solution is due to optimize.
1
1. Introducción
“Las fronteras de la ciencia se alejan en la medida que el ser humano intenta
alcanzarlas...”
La creciente globalización de los mercados y los mayores requerimientos
de competitividad, hacen necesario que los productores individuales busquen
mejorar sus posibilidades de interactuar con los agentes económicos, por la vía
de la asociatividad. Este es el camino que desde 1990 INDAP ha construido en
conjunto con los pequeños productores a través de sus diferentes programas.
De esta manera, se han originado proyectos de agroindustria y
comercialización, que posteriormente fueron evolucionando hacia el concepto
de agronegocios de carácter asociativo.
Estas sociedades mejoran su rendimiento al sumar las capacidades
productivas y de servicios de los productores individuales, además de estimular
su capacidad negociadora con sus proveedores, intermediarios, agroindustrias
y mercado financiero.
2
Las EAC (Empresas Asociativas Campesinas) que más allá de la
organización para reivindicar situaciones sociales, buscan la generación de
nuevos emprendimientos empresariales. Todo esto para aumentar sus
ingresos, mejorar su calidad de vida y en conjunto con otros organismos del
Estado (Salud, Vivienda, Educación, Obras Públicas, entre otros) mejorar la
habitabilidad del sector rural, lo que permitirá asentar con ventajas conjuntos
humanos en territorios rurales, aislados y fronterizos, atenuando la presión
sobre el sector urbano.
El creciente flujo de información de más de 100 Empresas Asociativas
Campesinas (EAC) que operan con el INDAP, con inversiones por $ 3.000
millones sólo en la Décima Región, exige la modernización de los sistemas de
captura, procesamiento y análisis de la información financiera, contable y
administrativa, a objeto de anticiparse a la presentación de situaciones de
conflicto, que eventualmente puedan poner en riesgo la viabilidad de las EAC y
las colocaciones de recursos del Estado.
Para ello el INDAP ha modelado algunas soluciones dentro de las cuales
se encuentra el proyecto de desarrollo de un sistema computacional para
automatizar los procesos de cálculos económicos, financieros y de los análisis a
corto, mediano y largo plazo.
3
En este proyecto se encuentran involucrados el Director Nacional, los
Directores Regionales, los Directores de las Unidades involucradas, Jefes de
Área, Operadores Técnicos, Representantes de las EAC y el alumno (ver figura
1).
El trabajo del alumno consiste en la construcción de la Base de Datos y del
Sitio Web capaz de apoyar el análisis financiero de las EAC y en especial de la
detección de los problemas económicos de las mismas.
4
Distribución de las entidades involucradas:
Figura 1: Diagrama jerárquico de las entidades involucradas.
5
En términos generales el funcionamiento del sistema será:
1. Cada UN entregará los datos a la EAC a la cual pertenece (No tienen
acceso a datos o informes en forma directa)
2. Cada EAC ingresará sus datos al sistema mediante un representante
interno o a través de un Operador Técnico del INDAP. Sólo tendrá acceso a
sus datos y a los informes relacionados con ellos.
3. Cada Operador Técnico ingresará y tendrá acceso a los datos de sus
clientes directos (EAC). Además, tendrá acceso a los Informes de sus EAC
directas y mediante la aprobación de una solicitud desde el sistema podrá
tener acceso a ciertos informes consolidados.
4. Cada Jefe de Unidad podrá acceder a los informes consolidados o
individuales de las EAC, pero sin el acceso directo a los datos.
5. Cada Jefe de Unidad de Estudio podrá acceder a los datos e informes de
todo tipo sin restricciones.
6
6. El Administrador de la Base de Datos Accederá a todos los recursos
desde el gestor de Base de Datos que se esté utilizando y si es necesario lo
podrá hacer desde el sistema. Esto último por seguridad.
7. El Director Nacional accede a todo exceptuando la administración del
sitio.
7
1.1 Resumen de Capítulos
Capítulo 1: Introducción
En este capítulo se intenta describir en forma general y resumida la
totalidad del desarrollo del proyecto.
Capítulo 2: Objetivos
En este capítulo se determinan los objetivos y directrices que deben ser
cumplidos al finalizar el desarrollo del sistema. Quedando en claro que el
objetivo principal es modernizar el método de trabajo de INDAP con relación a
las asesorías que entrega a las EAC para mejorar rapidez y eficiencia.
Capítulo 3: Planteamiento del Problema
En este capítulo se describe el problema que los usuarios de INDAP
desean solucionar. Se describen la situación antes del sistema, intentos
anteriores de solución y finalmente la solución propuesta. También se describen
las ventajas de utilizar un modo más automatizado y centralizado de manejo de
la información financiera y económica de las EAC.
8
Capítulo 4: Metodología
En este capítulo se describe la metodología a seguir para desarrollar el
sistema que solucione los problemas de los usuarios.
Se explican las diferentes metodologías utilizadas en conjunto para generar la
Base de Datos y el Sitio Web. Además, se entrega un resumen de los productos
que se esperan obtener.
Capítulo 5: Recursos
En este capítulo se describen los recursos necesarios en hardware y
software para desarrollar el proyecto. Se describen los equipos y programas
necesarios para implantar el sistema y mantenerlo funcionando.
Capítulo 6: Desarrollo según metodología
En este capítulo se detallan los pasos seguidos, según las metodologías,
para generar el sistema solución.
Se detallan los subproductos de la Base de Datos y del sitio Web. Se
muestran los diseños lógicos y físicos que son la Base del Sistema.
Se describen aspectos técnicos del desarrollo y también prácticos, es
decir, se muestran la Teoría y la Práctica.
9
Capítulo 7: Conclusiones y recomendaciones
En este capítulo se resumen las conclusiones y recomendaciones que
son abstraídas del desarrollo del proyecto. Son análisis de sucesos negativos y
positivos que fueron encontrados mientras se desarrollaba la solución.
10
2. Objetivos
2.1 Objetivo general
Diseñar, construir e implementar un sitio Web conectado a una Base de
Datos para dar apoyo a las asesorías que realiza INDAP con sus EAC.
2.2 Objetivos específicos
• Permitir operar el sistema en dos modos de trabajo. El primero con el
ingreso de información directa a las EAC. El segundo con el ingreso de
información a las UN de cada EAC, para luego y en forma automática
“sumarizar” o consolidar los datos de las UN generando la información de
las EAC.
• Permitir cambiar de modo de trabajo en una fecha definible en tiempo de
ejecución, es decir, cuando el sitio Web esté operando.
• Permitir calcular en forma automática las razones financieras para las
EAC y las UN.
11
• Permitir generar los informes de las EAC para diferentes periodos
agrupando los datos en base a diferentes parámetros.
• Permitir clasificar en forma Sintética a las EAC en base a las razones
financieras en periodos anuales.
• Realizar Análisis Automático, es decir, asistir los análisis de las EAC en
base a frases predefinidas.
12
3. Planteamiento del Problema
3.1 Antecedentes
El problema que se intenta solucionar es el de mejorar la forma de
procesar los datos de las EAC y optimizar la forma de medir los aspectos
financieros de las mismas.
Actualmente sólo se cuenta con el manejo de datos en planillas Excel y
el intercambio de información se efectúa mediante disquetes. Además de ser en
extremo lento no cumple con ningún nivel de seguridad, confidencialidad y
sobre todo no cubre las necesidades del Instituto de Desarrollo Agropecuario
para la gestión de las EAC.
Para este fin se aplicará un nuevo modelo informático de manejo y
recopilación de datos reales y periódicos desde su fuente de origen, la
empresa, hacia las Agencias de Áreas y Dirección Regional. Estos datos serán
procesados para generar información hacia el nivel estratégico, ejecutivo y
operacional del INDAP, orientando sus esfuerzos en apoyo a la pequeña
agricultura regional.
13
La interfaz de captura o subsistema de ingreso de datos será diseñada
de acuerdo a varios niveles de usuarios, es decir, según los conocimientos
operativos computacionales y los niveles de seguridad que correspondan.
Los datos de entrada al sistema se recopilarán de los pasivos de corto y
largo plazo, balances tributarios, balances clasificados y estados de resultados
de cada unidad de negocio. Con estos datos se obtendrán razones financieras
de liquidez, endeudamiento y rentabilidad que sumados a los aspectos
administrativos y de gestión, permitirá tener una interpretación razonable del
desempeño financiero, viabilidad actual y de las principales limitantes de cada
empresa.
Se podrán catalogar las EAC utilizando la clasificación sintética, es decir,
analizando los niveles operacionales, de endeudamiento y de dependencia con
INDAP.
Esta clasificación divide a las empresas en:
Categoría A: Organizaciones económicas que poseen evaluación positiva en
las tres evaluaciones. Se pueden considerar “exitosas”.
14
Categoría B: Organizaciones con dos evaluaciones positivas. Esta categoría
necesita orientación por parte del INDAP para no empeorar su situación.
Subcategoría B-I: Evaluación negativa de los resultados operacionales.
Subcategoría B-II: Evaluación negativa en sus niveles de endeudamiento.
Subcategoría B-III: Evaluación negativa en su grado de dependencia con el
INDAP.
Categoría C: Organizaciones económicas con una de las evaluaciones positiva.
Son empresas con alto riesgo y que necesitan urgentemente el apoyo de
alguna unidad del INDAP.
Subcategoría C-I: Evaluación positiva en su grado de dependencia con el
INDAP.
Subcategoría C-II: Evaluación positiva en sus resultados operacionales.
Subcategoría C-III: Evaluación positiva en sus niveles de endeudamiento.
Con esto se pretende generar los cuadros que muestren los riesgos
financieros de las EAC para estimar las acciones pertinentes según la categoría
a la cual pertenecen.
15
La información de las EAC podrá ser consolidada en el territorio de la
Agencia de Área, Provincia, Región, o por la orientación económica de cada
una de ellas, lo que permitirá al INDAP tomar decisiones en cuanto al uso de los
recursos de crédito, subsidios, asesorías técnicas, auditorias y capacitación.
El proyecto de seminario será asumido como un medio de modernización
del procesamiento de la información de las EAC, para lo cual cuenta con el
apoyo de los cuadros profesionales de las Unidades de Informática, Control de
Gestión, Finanzas y Administración, Unidad Técnico Empresarial y Dirección
Regional, en aspectos de formulación teórica y práctica de los diferentes
aspectos del proyecto de seminario.
El equipo de Recursos Humanos de apoyo al desarrollo del proyecto está
conformado por los siguientes profesionales de INDAP:
Estudios y Control de Gestión :
Carlos A. Cristi Vargas, Medico Veterinario;
Rolando Leichtle Rosemberg, Ingeniero Agrónomo.
Finanzas y Administración :
Pedro Santana Cárcamo, Contador Auditor, Msc (c)
Técnico Empresarial :
Jaime Andrade Uribe, Ingeniero Comercial.
16
El alumno se responsabilizará de las siguientes actividades:
• Desarrollo del sistema, según metodología, hasta el módulo de
implementación. Para esto se desarrollarán:
• Una Base de Datos,
• Un Sitio Web conectado a la Base de Datos (páginas, Scripts de
servidor y Scripts de clientes, etc.)
• Instalación y configuración, en el servidor NT de la dirección
regional, de los servicios de Web o WWW y MSSQLSRV.
17
3.2 Justificación
Situación Actual.
CLIENTES SERVIDOR
Figura 2: Diagrama del flujo actual de datos en disquetes y formularios Excel. • Actualmente la Unidad de Estudios del INDAP en Puerto Montt recibe los
datos de las EAC en planillas Excel u otro tipo de documentos no
estandarizados para ser consolidados en forma manual. La forma de envío y/o
recepción de estos datos es por medio de discos 3½, informes impresos o por
medio de correos electrónicos. (Ver figura superior).
18
• La consolidación de los datos se efectúa reingresando o copiando los
datos de cada EAC en una hoja Excel. Luego se formulan los consolidados
recorriendo cada hoja para conectar los datos con la hoja del informe
consolidado.
Problemas comunes:
• Obtención de informes incompletos, porque en la unidad central no
cuentan con el tiempo suficiente para solicitar el reenvío de los datos faltantes y
tampoco cuenta con el tiempo necesario para procesarlos.
• Obtención de errores en los informes, porque los datos actualizados
están accesibles sólo por las áreas, y porque los datos modificados no son
notificados a su contra-parte desde las áreas o unidad central.
• Dificultad en la validación y manejo de los datos, porque no existen
normas para la captura y manejo de ellos (cada EAC entrega los datos que
estima necesarios y sin un formato estándar).
19
Ejemplos:
o Un error típico en el ingreso de los datos es el dato Rut en blanco o
inválido.
o Los Nombres se ingresan con diferente orden, es decir, Nombres-
Apellidos, Apellidos-Nombres, o con diferencias entre mayúsculas y
minúsculas e incluso con espacios en blanco al inicio.
o Se encuentran los nombres o Rut de las empresas repetidos.
o Se realiza redondeo de cifras en algunas secciones y en otras no, lo que
provoca inconsistencia a la hora de confeccionar los consolidados de los
balances.
• Otro aspecto importante es que el manejo de los datos es sólo a nivel de
EAC y no por unidad de negocio, lo cual dificulta la detección de los problemas
reales de las EAC. Por ejemplo: Una EAC con tres unidades de negocios puede
estar en peligro financiero y ser salvada eliminando una de las unidades de
negocio.
20
Situación con el sistema propuesto.
Con el sistema propuesto se obtendría información más segura, confiable
y con mayor rapidez. No se incurriría en gastos de desarrollo e implementación
de clientes como con otras plataformas de desarrollo que se estaban
evaluando. Se manejaría la información de cada unidad de negocio, lo que
implica la mejor determinación del comportamiento financiero de las EAC. Se
realizaría automáticamente la clasificación sintética de las EAC. Se realizarían
automáticamente los preinformes financieros.
Planteamiento de soluciones a los problemas detectados y otras
características del sistema propuesto:
• Para solucionar los informes con datos incompletos se realizarán
validaciones que impidan nombres de empresas con una longitud menor a tres
caracteres, Rut inválidos, etc.
21
• Para mantener la consistencia y la exactitud de los datos se impedirá el
redondeo de cifras utilizándose los valores en su forma real, es decir, en pesos
y no en miles o millones. Por ejemplo: En la sumatoria de los activos fijos, se
pueden encontrar valores en pesos y otros en millones por lo cual la suma de
ellos conlleva inconsistencia sin la transformación adecuada. Además, las
transformaciones provocan retraso en los cálculos.
• Se reduce el tiempo de envío de los datos por medio del acceso por la
Intranet. Esto porque los datos demoran unos segundos en ser trasladados por
la red y en forma física (documentos o disquetes) se demoran días incluso
semanas.
• Se reducen los costos de envío, porque los costos de mantención de la
Intranet relativos al volumen de datos enviados no superan los costos en papel,
tinta, disquetes, encomiendas, etc.
• El formato estándar facilita el manejo de los datos, ya que la búsqueda
por ejemplo de la Empresa (XXXXXX, YYYYYY) es bajo este formato
solamente y no bajo (Xxxxxx, Yyyyyy) o (YYYYYY, XXXXXX) etc.
22
• El manejo de los datos a nivel de unidad de negocio facilita la detección
de los problemas de las EAC.
23
3.3 Delimitación
• Algunos detalles de diseño e implementación estarán sujetos al trabajo
que se realice en conjunto con el equipo de trabajo del INDAP.
• El manual no se desarrollará por falta de tiempo pero se realizarán
capacitaciones personalizadas.
• No se desarrollarán las salidas en formato Excel y PDF, por el tiempo
necesario para organizar los datos en los informes y porque la única forma
encontrada para desarrollar la salida en formato PDF fue con el PDF
Machine (driver de impresora con salida de archivo PDF creado
específicamente para Windows 95) que no es compatible con la plataforma
de desarrollo del sistema.
• La validación de datos desde el sitio Web será limitada por el tiempo que
se requiere para generar el código que detecte los errores, es decir, la base
de datos será la encargada de mantener la integridad y consistencia de los
Datos.
24
• No se realizará el asistente de informes o análisis automático, porque no
se entregó a tiempo la información necesaria para desarrollarlo.
25
4. Metodología
4.1 Descripción de metodologías.
La metodología utilizada para el desarrollo del sistema es una agrupación
de varias metodologías. La idea original o proyectada era utilizar las
metodologías de la siguiente forma:
1. METODOLOGIA DE DISEÑO GENERAL DEL SISTEMA: [Perez1988]
(Ver figura Nº 3)
2. METODOLOGIA DE DISEÑO DE BASE DE DATOS: [Connolly1998]
(Ver figura Nº 4)
3. METODOLOGIA DE DISEÑO DEL SITIO WEB: [Byrne2000] y [Maso1997]
(Ver figura Nº 5)
Metodología de Víctor Pérez y José Pino. [Perez1988]
Percepción
Necesidades
Estudio de
Factibilidad
Diseño Lógico del
Sistema
Diseño Físico del
Sistema Construcción
Prueba e
Implementación
Definición del
problema.
¿Es beneficioso
llevarlo a cabo?
¿Se puede
llevar a cabo?
¿Se puede
operar?
¿Qué es lo que
se quiere con el
sistema?
¿Dónde se
ubica dentro del
contexto de la
Organización?
¿Cuál es la
configuración
computacional?
¿Cómo se
llevarán a cabo
las actividades
del sistema?
Construcción
de los
programas y
demás apoyos
de software.
Ensamble de
las diferentes
partes que
conforman el
sistema.
Figura 3: Diagrama esquemático de la Metodología de desarrollo de sistemas propuesta por Víctor Pérez y José Pino. [Perez1988]
Control de las etapas del desarrollo. Participación de los niveles más altos de la Organización en el Proyecto. Interacciones con el diseño, la operación y la mantención de otros sistemas dentro de la Organización.
ADMINISTRACION DEL PROYECTO
DOCUMENTACION
27
Metodología de Thomas Connolly y Carolyn Begg.
Figura 4: Diagrama esquemático de la metodología de desarrollo de sistemas
con bases de Datos propuesta por Thomas Connolly.
28
Metodología de desarrollo del Sitio Web [Byrne2000] y [Maso1997]
29
4.1 Descripción de Metodología. (continuación)
La forma real para determinar la metodología total de desarrollo del
sistema fue utilizar las dos primeras metodologías [Perez1988] y
[Connolly1998] como base del desarrollo del proyecto en general, al ser
prácticamente equivalentes y complementarias entre sí. (Ver figura Nº 6)
Con respecto a la metodología del desarrollo del sitio Web se debe tomar
en consideración que al momento de buscar una metodología para desarrollar
sitios Web no se encontró ninguna que fuera normada y estructurada.
(Anteproyecto de Tesis)
Pero al momento de desarrollar el sistema se encontró en el Manual de
desarrollo de aplicaciones con Visual InterDev, que trae incluido el MSDN
Library Visual Studio 6.0a, una metodología robusta y estructurada. Por esto se
utilizó esta metodología como base para desarrollar el sitio Web en conjunto
con extractos de los Libros [Byrne2000] y [Maso1997]. (Ver figura Nº 7)
30
4.2 Comparación entre Metodologías.
Diagrama esquemático de equivalencias y complementos entre
metodologías [Perez1988] y [Connolly1998].
Figura 6: Diagrama esquemático de la comparación entre metodologías para determinar una metodología final de desarrollo en base a [Perez1988] y [Connolly1998].
31
Metodología de desarrollo del Sitio Web
Figura 7: Diagrama esquemático de la metodología de desarrollo del Sitio Web.
32
4.3 Resumen General del desarrollo proyectado del sistema de análisis
financiero.
El proyecto comenzará por la Definición del sistema en donde se
establecerán los márgenes o los límites con el medio ambiente, es decir, se
definirán el problema y el ámbito del proyecto, se evaluarán posibles sistemas
anteriores que intentaron dar solución al problema, se generarán soluciones
factibles y se someterán a evaluaciones económicas, técnicas y operacionales
para seleccionar la mejor alternativa, etc.
Luego de esto se realizará la Recolección y Análisis de
requerimientos en donde el usuario será el partícipe más importante, porque
es quien entrega la información necesaria para definir los requerimientos del
proyecto.
Se continuará desarrollando el sistema con la Etapa de Diseño, dividida
en dos: Diseño Lógico y Diseño Físico. En esta etapa se trabajarán en forma
paralela los diseños lógicos y físicos de la Base de Datos y del Sitio Web. Con
respecto al desarrollo de la Base de Datos se desarrollarán las etapas de
Diseño Conceptual, Diseño Lógico y Diseño Físico en donde se determinarán el
manejo de los datos, de las entradas, de las salidas, se seleccionará el gestor
de la Base de Datos, se determinarán niveles de seguridad, etc.
33
Con respecto al Diseño de la Aplicación o Diseño del Sitio Web es en
esta etapa donde se definirán todas las características del mismo, por ejemplo,
Diagrama del sitio, formato de páginas, enlace con la Base de Datos, etc.
A continuación se realizará la Construcción del Prototipo el cual servirá
para perfeccionar los Diseños anteriores y para que los usuarios verifiquen el
cumplimiento de sus requerimientos.
En esta etapa se trabajará en conjunto con todos los usuarios para someter a
prueba el prototipo y para detectar o corregir los errores. Se podrá ajustar el
diseño del sistema volviendo atrás en las etapas de la metodología en la
medida en que se encuentren problemas en la operación del prototipo. Por esto
último se deberá tener cuidado en no crear un ciclo infinito de rediseñado en
busca de la perfección.
Finalmente se llegará a la etapa final del proyecto en donde se realizará
la Implementación del sistema. En esta etapa se implementará el sistema que
cumple con todos los requerimientos de los usuarios y que no presenta errores
para su operación posterior en las pruebas a nivel de prototipo. El cual deberá
ser explotado posteriormente.
34
Las etapas de Conversión de Datos, Pruebas y Mantenimiento
Operacional están fuera del rango de cobertura del desarrollo del sistema
propuesto.
35
5. Recursos
5.1 Hardware
CARACTERISTICAS (Requerimientos Mínimos para un buen desempeño)
SERVIDOR
PROCESADOR: Pentium II a 400[MHZ] o un sistema Alpha o compatible.
DISCO DURO: 180[MB] en disco duro para instalación completa.
OTRAS UTILIDADES:
Utilidades de gestión: 90[MB].
Servicios OLAP: 50[MB].
Options English Query: 12[MB].
MEMORIA RAM: 64[MB].
RED: Adaptador de red apropiado o el adaptador LoopBack de
Microsoft.
OPCIONALES: Unidad de CD-ROM (Sólo sino se instala desde la red)
Discos Duros en espejo o sistema RAID.
UPS (Unidad de poder ininterrumpida)
Tarjeta de video con 4 MB o superior.
Adaptador SCSI.
36
CLIENTE (Para desarrollo y prueba del sistema)
PROCESADOR: Pentium a 166[MHZ] o un sistema Alpha o compatible.
DISCO DURO: 20[MB] en disco duro para caché de navegación.
OTRAS:
Componentes cliente: 10[MB].
Plantillas y otros: 20[MB].
MEMORIA RAM: 32[MB].
RED: Adaptador de red apropiado y/o modem.
OPCIONALES: En evaluación.
37
5.2 Software
SERVIDOR
Sistema operativo: WINDOWS NT.
Aplicación servidor: IIS (Internet Information Server) + MS SQL
Server.
Aplicación para pruebas: Navegador.
Base de datos: MS SQL Server 7 o MS SQL Server 2000.
CLIENTE (Para prueba del sistema)
Sistema operativo: Todas las plataformas que soportan navegador
con HTML (versión de HTML en evaluación)
Aplicación cliente: Internet Explorer 4.0 o superior.
Lenguaje: ASP (HTML+ SQL + Script [+ ActiveX]).
Script servidor: Visual Basic Scripting (VBScript),
Script cliente: Java Script (JScript).
Restricciones: En evaluación.
38
CLIENTE (para desarrollo del sistema)
Sistema operativo: Windows9X+ o compatible.
Aplicación cliente: Visual Studio 6, Netscape y/o Internet Explorer y
Personal Web Server (PWS)
Lenguaje: ASP (HTML+ SQL + Script [+ ActiveX]).
Script: (VBScript, JScript).
Restricciones: En evaluación.
Comentario : La elección de la plataforma de desarrollo “Microsoft” (Sistema
Operativo, Base de Datos y Software de desarrollo para el Sitio Web) es
decisión institucional, es decir, el departamento de Informática de INDAP es
quién seleccionó esta plataforma.
39
5.3 Otros
Utilización de los recursos:
SERVIDOR
Equipo para el Sitio Web y la(s) Base(s) de Datos:
• Servidor Web: Que contenga un sitio Web dado de alta para albergar los
componentes del sistema desarrollado y someterlo a prueba.
• Servidor de Base de Datos para el desarrollo de la(s) Base(s) de Datos.
• Contenedor de la(s) Base(s) de Datos.
CLIENTE
Equipo para:
• Desarrollar el sitio Web, es decir, que contenga el software para diseñar
y construir las páginas con ASP, controles de ActiveX, etc.
• Pruebas de clientes conectados al sitio Web desde la Intranet y por
acceso remoto por medio de navegadores. Esto es para probar la rapidez y
seguridad tanto de la Intranet como del servidor de SQL.
40
6. Desarrollo según Metodologías.
Nota: Por la gran cantidad de documentación generada en el desarrollo, se opta
por resumirla en forma de ejemplos clasificados por sección.
6.1 Resumen de productos
6.2.1 ETAPAS I y II:
I. Definición del Sistema.
II. Recolección y Análisis de requerimientos.
RESUMEN DE PRODUCTOS:
6.2.1.1 Reuniones, cuestionarios y observaciones.
6.2.1.1.1 Reuniones.
6.2.1.1.2 Cuestionarios.
6.2.1.1.3 Observaciones directas.
6.2.1.2 Requerimientos del sistema.
6.2.1.2.1 Requerimientos iniciales
6.2.1.2.2 Requerimientos funcionales
6.2.1.2.3 Requerimientos de salidas
6.2.1.2.4 Requerimientos de entrada
6.2.1.2.5 Requerimientos de procedimientos
6.2.1.2.6 Requerimientos de Recursos Humanos.
6.2.1.2.7 Requerimientos de Recursos financieros
41
6.2.1.2.8 Requerimientos de administración
6.2.1.2.9 Requerimientos de medición de desempeño
6.2.1.3 Diagrama de Flujo de Datos.
6.2.2 ETAPA III:
III. Diseño.
RESUMEN DE PRODUCTOS:
6.2.2.1 Diseño de la Base de Datos
6.2.2.2 Diseño del sitio Web
6.2.3 ETAPA IV:
IV. Implementación.
RESUMEN DE PRODUCTOS:
6.2.3.1 Base de Datos
6.2.3.2 Sitio Web
6.2.4 ETAPA V: (adicional)
V. Desarrollo de programas.
RESUMEN DE PRODUCTOS:
6.2.4.1 Descripción del desarrollo.
6.2.4.2 Imágenes del desarrollo en otras aplicaciones
42
6.2 Desarrollo de productos
6.2.1 ETAPAS I y II.
6.2.1.1 Reuniones, cuestionarios y observaciones.
Para conocer el método utilizado para realizar las reuniones ver Anexo A:
sección 9.1.1. y sección 9.1.2.
6.2.1.1.1 Reuniones.
Ver ejemplo en Anexo A: sección 9.1.3.
6.2.1.1.2 Cuestionarios
Ver ejemplo en Anexo A: sección 9.1.4.
6.2.1.1.3 Observaciones directas.
Ver ejemplo en Anexo A: sección 9.1.5.
43
6.2.1.2 Requerimientos del sistema.
REQUERIMIENTOS DEL SISTEMA (Metodología [Pérez y Pino])
Ver la descripción de los tipos de requerimientos en Anexo B: sección 9.2.1.
Forma de Desarrollo de la sección de requerimientos:
Nomenclatura:
DESCRITO: Se desarrolla en forma de narración escrita.
DFD: Se desarrolla por medio de un Diagrama de Flujo de Datos.
REQUERIMIENTOS INICIALES. (DESCRITO)
REQUERIMIENTOS FUNCIONALES. (DFD)
REQUERIMIENTOS DE SALIDAS. (DESCRITO Y DFD)
REQUERIMIENTOS DE ENTRADA. (DESCRITO Y DFD)
REQUERIMIENTOS DE PROCEDIMIENTOS. (DFD)
REQUERIMIENTOS DE RECURSOS HUMANOS. (DESCRITO)
REQUERIMIENTOS DE RECURSOS FINANCIEROS. (DESCRITO)
REQUERIMIENTOS DE ADMINISTRACION. (DESCRITO)
REQUERIMIENTOS DE MEDICION DE DESEMPEÑO. (DESCRITO)
44
6.2.1.2.1 Requerimientos iniciales
o Permitir trabajar en dos modos de trabajo.
o Permitir almacenar la información de las EAC.
o Permitir almacenar la información de las UN.
o Permitir manejar los datos en forma trimestral y anual.
o Que el acceso de los usuarios sea restringido.
o Que se puedan generar informes consolidados organizados por
Areas, Región, etc.
o Que se calculen las razones financieras de las EAC y UN.
o Que se clasifique en forma sintética a las EAC.
o Que se asista al usuario al generar los análisis de las EAC, es decir,
que el sistema debe automatizar en cierta medida el análisis de las
razones financieras y agrupaciones entre ellas mismas.
o Que el ingreso de los Datos tenga orden lógico, es decir, que el
ingreso de los Costos y Gastos junto al de los Ingresos deben ser
previos al ingreso de los Estados de Resultados y a su vez estos
últimos deben ser ingresados antes que los Balances.
o Que los informes se puedan imprimir directamente desde el sitio Web.
45
6.2.1.2.2 Requerimientos funcionales
Estos pueden ser observados en el DFD, figuras 8, 9 y 10 y la figura Nº 1.
6.2.1.2.3 Requerimientos de salida.
(En general en el DFD y en detalle en el desarrollo del Sitio Web)
o Informe de Datos Generales
o Informe de Recursos Humanos
o Informe de Inventarios
o Informe de Vencimientos de Pasivos (corto y largo plazo)
o Informe de Situación de la empresa
o Informe de Problemas y Soluciones.
o Informe de Ingresos (EAC y UN)
o Informe de Costos y Gastos (EAC y UN)
o Informe de Estados de Resultados (EAC y UN)
o Informe de Balances (EAC y UN)
o Informe de Razones financieras (EAC y UN)
o Informe de Clasificación sintética
o Informe de Análisis automático.
46
6.2.1.2.4 Requerimientos de entrada
(En general en el DFD y en detalle en el desarrollo del Sitio Web)
o Ingreso de Datos Generales
o Ingreso de Recursos Humanos
o Ingreso de Inventarios
o Ingreso de Vencimientos de Pasivos (corto y largo plazo)
o Ingreso de Situación de la empresa
o Ingreso de Problemas y Soluciones.
o Ingreso de Ingresos (EAC y UN)
o Ingreso de Costos y Gastos (EAC y UN)
o Ingreso de Estados de Resultados (EAC y UN)
o Ingreso de Balances (EAC y UN)
6.2.1.2.5 Requerimientos de procedimientos
El resumen de los requerimientos de procedimientos se encuentra implícito
en el DFD adjunto.
o Calcular Razones financieras (EAC y UN)
o Clasificar en forma sintética
o Generar Análisis Automático
47
6.2.1.2.6 Requerimientos humanos
Como el sistema consta de un sitio Web montado sobre IIS y conectado a
una Base de Datos SQL Server los requerimientos humanos son:
Administrador(es):
Conocimientos en Bases de Datos, de preferencia en Microsoft SQL
Server 7 o 2000. Conocimientos Administrativos en Redes Windows NT,
para la administración de usuarios, de recursos como el servicio Web,
Servicio FTP, Servicio MS SQL Agent, Gestión desde MMC, etc.
Conocimientos de programación en ASP, en HTML y en SQL.
Usuarios:
Conocimientos a nivel usuario del manejo de Sistemas operativos
compatibles con el navegador Internet Explorer 4.0 o superior. Además
de conocimientos básicos sobre el manejo del navegador Internet
Explorer 4.0 o superior.
48
6.2.1.2.7 Requerimientos de recursos financieros
Con respecto al costo de desarrollo y de implementación para el INDAP se
puede decir que su costo involucra los siguientes ítems:
• Software de Desarrollo: Licencia para un usuario de Microsoft Visual
Studio 6.
• Hardware de Servidor: Ninguno. (El Servidor Web y de SQL ya
estaban en existencia y solo se amplió su utilidad con el desarrollo de
este sistema, ya existían los puntos de Red, etc.)
• Manuales para el desarrollador: Copias de los manuales de Microsoft
Visual InterDev. (2 libros)
• Mano de Obra del desarrollador: sin costo.
• Entre otros costos indirectos que no se toman en cuenta por no ser
costos directos del desarrollo.
6.2.1.2.8 Requerimientos de Administración
El tiempo aproximado para el desarrollo del Diseño Físico es de 3 meses. La
estimación de Costos Administrativos no se realizó.
49
6.2.1.2.9 Requerimientos de medición de desempeño
Los requerimientos que se deben tener en cuenta son los de tiempo y
capacidad, es decir, se debe intentar optimizar el rendimiento del sistema
con respecto al tiempo de respuesta y con respecto a grado de capacidad
del sistema bajo gran carga de trabajo.
50
6.2.1.3 Resumen enumerado para referencia de los requerimientos más
importantes.
El listado completo y enumerado se encuentra en el Anexo B: sección
9.2.2.
ID DETALLE REQUERIMIENTO CLASIFICACION
R-2 Permitir almacenar la información de las EAC ENTRADA DE DATOS
R-3 Permitir almacenar la información de las UN ENTRADA DE DATOS
R-5 Que el acceso de los usuarios sea restringido. SEGURIDAD
R-6 Que se puedan generar informes consolidados organizados por Areas, Región, etc. SALIDAS DE INFORMES
R-25 Ingreso de Datos Generales ENTRADA DATOS
R-26 Ingreso de Recursos Humanos ENTRADA DATOS
R-28 Ingreso de Vencimientos de Pasivos (corto y largo plazo) ENTRADA DATOS
R-29 Ingreso de Situación de la empresa ENTRADA DATOS
R-30 Ingreso de Problemas y Soluciones. ENTRADA DATOS
R-31 Ingreso de Ingresos (EAC y UN) ENTRADA DATOS
R-33 Ingreso de Estados de Resultados (EAC y UN) ENTRADA DATOS
R-34 Ingreso de Balances (EAC y UN) ENTRADA DATOS
R-38 Que permita buscar los datos de las EAC mediante parámetros BUSQUEDA DE DATOS
R-40 Que permita buscar la clasificación sintética de las Empresas BUSQUEDA DE DATOS
R-41 Que permita buscar las razones financieras de las Empresas BUSQUEDA DE DATOS
Leyenda
CLASIFICACION DESARROLLADO EN:
PROCEDIMIENTOS SITIO WEB
ENTRADA DATOS TRANSACCION EN BASE DE DATOS
SALIDAS DE INFORMES TRANSACCION EN BASE DE DATOS (CONSULTA)
BUSQUEDA DE DATOS TRANSACCION EN BASE DE DATOS (CONSULTA)
SEGURIDAD MIXTO ENTRE SITIO WEB Y BASE DE DATOS
Tabla 1: Tabla resumen de requerimientos más importantes identificadoscon su leyenda.
51
6.2.1.4 Diagrama de Flujo de Datos General
Aclaraciones del diagrama de flujo de datos:
MODOS DE TRABAJO:
Para que el sistema pueda ser implementado rápidamente éste deberá
permitir trabajar en dos modos mutuamente excluyentes.
El modo de trabajo 1 (definitivo) reemplazará al modo de trabajo 2 en una fecha
determinada por la Unidad de Estudios. La determinación de la fecha se
realizará al momento de la implantación del sistema y está podrá ser cambiada
hasta con un día de anticipación de dicha fecha.
La razón de implementar los modos de trabajo es porque las EAC aún no
cuentan con la información contable y financiera de sus Unidades de Negocio.
Está situación deberá cambiar en una fecha aún no determinada. (fecha de
cambio de modo)
El primer modo de trabajo permitirá el ingreso y/o modificación de los
Datos de las Unidades de Negocio y se podrán generar en forma automática los
datos relacionados de la Empresa.
El segundo modo de trabajo no permite el Ingreso y/o modificación de los
Datos de las Unidades de Negocio y por ello no se podrán generar en forma
automática los datos relacionados de la Empresa. Estos Datos deberán ser
ingresados en forma manual mientras el modo de trabajo esté operativo.
52
Vencimiento de los Pasivos:
El flujo de Datos llamado Vencimiento de Pasivos se asume como uno
solo flujo de datos aunque puede ser dividido en dos: Vencimiento de Pasivos
de Corto Plazo y Vencimiento de Pasivos de Largo Plazo. Esto porque
administrativamente se manejan unidos y también para facilitar la comprensión
del DFD del Sistema propuesto.
Detalle de los informes:
Con respecto al DFD los Informes que generará el sistema han sido
resumidos a los informes básicos o críticos. La razón de hacer esto es la de
simplificar visualmente el DFD. Los informes básicos o críticos serán detallados
en los requerimientos de informes mostrando los informes derivados de los
mismos.
53
DIAGRAMA INICIAL “Usuarios del Sistema”
Figura 8: Diagrama de Flujo de Datos. Diagrama Inicial
54
DIAGRAMA DE CONTEXTO (“Modo de trabajo 1: Definitivo”)
Figura 9: Diagrama de Contexto Modo de Trabajo 1
55
DIAGRAMA DE CONTEXTO ( “Modo de trabajo 2: Temporal”) Para ver más en detalle el DFD ir a Anexo C: sección 9.3.2.
Informe Clasificación Sintética
Informe Análisis Automático
Informe Costos y Gastos
Informe Ingresos
Informe Razones financieras
Informe Problemas y Soluciones
Balances
Estados de Resultados
Costos y Gastos
Ingresos
Informe Vencimientos de Pasivos
Informe Estados de Resultados
Informe Balances
Informe Situación de la Empresa
Informe Inventario
Informe Recursos Humanos
Informe Datos Generales
Usuario Válido del sistema
1,2,3,4 o 5
Recursos Humanos
Inventario
Datos Generales
Vencimientos de Pasivos
Situación de la Empresa
Problemas y Soluciones
Usuario Válido del sistema
1 o 4
Figura 10: Diagrama de Contexto Modo de Trabajo 2
0
Sistema de Análisis Financiero
56
6.2.2 ETAPA III
6.2.2.1 Diseño de la Base de Datos
Las bases de datos almacenan, como su nombre dice, datos. Estos
datos son representaciones de sucesos y objetos, a diferente nivel, existentes
en el mundo real: en conjunto, representan algún tipo de entidad existente.
En el mundo real se tiene percepción sobre las entidades u objetos y
sobre los atributos de esos objetos; en el mundo de los datos, hay registros de
eventos y datos de eventos. Además, en ambos escenarios se puede incluso
distinguir una tercera faceta: aquella que comprende las definiciones de las
entidades externas, o bien las definiciones de los registros y de los datos.
El objetivo principal de esta etapa del desarrollo es generar un diseño de la
Base de Datos robusto y óptimo para dar soporte a los datos del Sistema
Solución.
La información necesaria para este desarrollo se basa en los requerimientos
obtenidos con anticipación y en el trabajo conjunto con los usuarios.
Esta etapa se divide en tres secciones:
o Diseño de la Base de Datos Conceptual,
o Diseño de Base de Datos Lógico y
o Diseño de Base de Datos Físico.
57
6.2.2.1.1 Diseño de Base de Datos Conceptual
La fase de Diseño Conceptual se alimenta del Análisis de Requerimientos y
produce un diseño que trata de reflejar como son los datos.
Es una práctica común que estas dos primeras fases sean hechas de
manera participativa y a través de refinamientos sucesivos. Esto último se logra
mediante la interacción de los diseñadores con los usuarios del sistema. El
diseño conceptual trata de crear un Modelo Parcial del Universo donde se trata
de capturar lo suficiente para poder soportar todas las funciones a las que
servirá el sistema final.
El resultado final de esta fase es un Esquema de la Base de Datos. Este
esquema no necesariamente será implementado directamente en algún
manejador de base de datos.
Dentro de esta fase es común el uso del modelo Entidad - Relación.
6.2.2.1.1.1 Construir un modelo de datos local y conceptual de la
empresa para cada vista especifica del usuario.
En esta etapa se analiza el problema a solucionar y se determinan las
entidades, relaciones y atributos que lo definen.
58
6.2.2.1.1.1.1 Identificación de entidades
En esta etapa se definen las entidades en base a sustantivos y pronombres
desde los requerimientos de los usuarios y la interacción repetitiva con los
mismos.
El resultado de esta etapa se puede visualizar en la siguiente figura:
ENTIDADES
ENTIDAD DESCRIPCION ALIASES OCURRENCIA ADMINISTRADOR DE
EMPRESA Persona que administra una EAC. Administradores Una persona Administra una EAC
AREAS División por zonas que determinan el ámbito de acción. No tiene Un Area tiene X Comunas
BALANCE DE UNIDAD DE NEGOCIO Balances anuales de cada UN. UN X Balances Todo Balance de UN
pertenece a una sola UN
CIUDADES Todas las ciudades chilenas donde existen EAC apoyadas por INDAP. No tiene Una ciudad tiene X EAC
CLASE DE UNIDAD DE NEGOCIO
Clasificación del tipo de Unidad de Negocio. Clase_UN Cada Clase de UN tiene X
Tipos de UN CONSTRUCCION E
INFRAESTRUCTURA DE INVENTARIO
Sección de construcciones e infraestructuras de los Inventarios de
cada EAC.
Empresa X Inventario X
Construc_infraes
Toda Construc. e Infra. de Inventario pertenece solo a
una EAC
COSTOS DE EMPRESA Costos y gastos trimestrales de cada EAC. Empresa X Costos Cada Costo de Empresa
pertenece solo a una EAC
COSTOS DE UNIDAD DE NEGOCIO
Costos y gastos trimestrales de cada UN. UN X Costos Cada Costo de UN pertenece
sola a una EAC
EMPRESAS Datos generales de cada EAC. No tiene Una EAC tiene X UN
ESTADO DE RESULTADO DE EMPRESA
Estados de Resultado por periodos trimestrales de cada EAC.
Empresa X Estados Resultados
Cada Estado de Resultado de Empresa pertenece solo a una
EAC
INGRESOS DE EMPRESA Ingresos monetarios percibidos en un trimestre por cada EAC. Empresa X Ingresos Todo Ingreso de Empresa
pertenece solo a una EAC
MAQUINARIAS Y EQUIPOS DE INVENTARIO
Clasificación de Inventario por Maquinaria y Equipos de la Empresa.
Empresa X Inventario X Maquinarias y
Equipos
Toda Maq. Y Equipo de Inventario pertenece solo a
una EAC
OPERADORES Personal de INDAP encargado de entregar la asesoría a una EAC. No tiene Un operador tiene X EAC
59
PROBLEMAS DE EMPRESA
Especificación de problemas y soluciones de cada EAC. Empresa X Problemas Cada Problema de Empresa
pertenece solo a una EAC
RECURSOS HUMANOS DE EMPRESA
Detalle por cargos y cantidades del personal de cada EAC. Empresa X RRHH
Todo Recurso Humano de Empresa pertenece solo a una
EAC
REGIONES Regiones del país. No tiene Una Región tiene X Provincias y X Areas
REPRESENTANTE DE EMPRESA El o los representantes de cada EAC. Empresa X
Representantes Una persona puede
representar una o más EAC
SITUACION DE EMPRESA
Detalle de la información entregada por cada EAC referente a este Sistema
de Análisis.
Empresa X Situaciones
Toda Situación de Empresa pertenece solo a una EAC
TERRENOS DE INVENTARIO
Clasificación de Inventario por Terreno de Empresa.
Empresa X Inventario X Terrenos
Todo Terreno de Inventario pertenece solo a una EAC
TIPOS DE CLASIFICACION Tipos de clasificaciones sintéticas. Tipos_clasificación Un tipo de Clasificación tiene
X EAC
TIPOS DE ESTADO Tipo de estado en el que se encuentran solucionados los
problemas de cada EAC. Tipos_Estados Cada Tipo de Estado tiene X
Problemas de Empresa
TIPOS DE PROBLEMAS Tipificación de los problemas. Tipos_Problemas Cada Tipo de Problema tiene X Problemas de Empresa
TIPOS DE UNIDADES DE NEGOCIO Tipificación de las UN. Tipos_UN Todo Tipo de UN tiene X UN
UNIDAD DE MEDIDA Todas las unidades de medida de los elementos del sistema UM Cada UM tiene X Ingresos de
EAC y/o UN
UNIDAD DE NEGOCIO Todas las UN que pertenecen a cada EAC. UN Cada UN pertenece solo a
una EAC
USUARIOS Todos los usuarios válidos del Sistema. No tiene Todo Usuario pertenece solo
a un Tipo de Usuario
VENCIMIENTO DE LOS PASIVOS DE CORTO
PLAZO
Detalle mes a mes de los Vencimientos de pasivos en el Año de
cada EAC.
Empresa X Vencimiento X PCP
Cada Venc. De PCP pertenece solo a una EAC
VENCIMIENTO DE LOS PASIVOS DE LARGO
PLAZO
Detalle año tras año de los Vencimientos proyectados de cada
EAC.
Empresa X Vencimiento X PLP
Cada Venc. De PLP pertenece solo a una EAC
Tabla 2: Tabla de identificación de entidades.
60
6.2.2.1.1.1.2 Identificación de relaciones
En esta etapa se procede a identificar las relaciones que asocian las
distintas entidades definidas en el ítem anterior, su cardinalidad, es decir, de
que tipo son, uno a uno(1:1), uno a muchos(1:N), muchos a uno(N:1), muchos a
muchos(N:M), y finalmente la existencia que indica si la relación es mandatoria
(M), la cuál indica que siempre debe ir, u opcional (O), que puede o no ir.
61
El resultado de esta etapa se puede apreciar en la siguiente tabla:
RELACIONES
PARTICIPACION TIPO ENTIDAD RELACION TIPO ENTIDAD CARD.
MIN MAX MIN MAX TIPO
ADMINISTRADOR DE EMPRESA
Tiene EMPRESAS 1:M 1 N 1 1 M:M
Tiene CIUDADES 1:M 0 N 1 1 O:M
Tiene COMUNAS 1:M 0 N 1 1 O:M
Tiene EMPRESAS 1:M 0 N 1 1 O:M
Pertenece a PROVINCIA 1:1 1 1 0 N M:O
AREA
Pertenece a REGION 1:1 1 1 0 N M:O
BALANCE DE UNIDAD DE NEGOCIO Pertenece a UNIDAD DE NEGOCIO 1:1 1 1 0 N M:O
BALANCE DE EMPRESA Pertenece a EMPRESA 1:1 1 1 0 N M:O
Pertenece a AREA 1:1 1 1 0 N M:O
Pertenece a COMUNA 1:1 1 1 0 N M:O
Tiene EMPRESAS 1:M 0 N 1 1 O:M
Pertenece a PROVINCIA 1:1 1 1 0 N M:O
CIUDAD
Pertenece a REGION 1:1 1 1 0 N M:O
Tiene TIPO DE UNIDAD 1:M 0 N 1 1 O:M CLASE DE UNIDAD DE
NEGOCIO Tiene UNIDADES DE NEGOCIO 1:M 0 N 1 1 O:M
Pertenece a AREA 1:1 1 1 0 N M:O
Tiene CIUDADES 1:M 0 N 1 1 O:M
Tiene EMPRESAS 1:M 0 N 1 1 O:M
Pertenece a PROVINCIA 1:1 1 1 0 N M:O
COMUNA
Pertenece a REGION 1:1 1 1 0 N M:O
CONSTRUCCION E INFRAESTRUCTURA DE
INVENTARIO Pertenece a EMPRESA 1:1 1 1 0 N M:O
COSTOS DE EMPRESA Pertenece a EMPRESA 1:1 1 1 0 N M:O
COSTOS DE UNIDAD DE NEGOCIO Pertenece a UNIDAD DE NEGOCIO 1:1 1 1 0 N M:O
Tiene INGRESOS DE EMPRESA 1:M 0 N 1 1 O:M
DESTINO DE LA PRODUCCION
Tiene INGRESOS DE UNIDAD DE NEGOCIO 1:M 0 N 1 1 O:M
62
Tiene ADMINISTRADOR DE EMPRESA
1:1 1 1 1 N M:M
Pertenece a AREA 1:1 1 1 0 N M:O
Tiene BALANCES DE EMPRESA 1:M 0 N 1 1 O:M
Pertenece a CIUDAD 1:1 1 1 0 N M:O
Pertenece a COMUNA 1:1 1 1 0 N M:O
Tiene CONSTRUCCIONES E
INFRAESTRUCTURAS DE INVENTARIO
1:M 0 N 1 1 O:M
Tiene COSTOS DE EMPRESA 1:M 0 N 1 1 O:M
Tiene ESTADOS DE RESULTADO DE EMPRESA
1:M 0 N 1 1 O:M
Tiene GRUPO DE TRABAJO 1:1 1 1 1 1 M:M
Tiene INGRESOS DE EMPRESA 1:M 0 N 1 1 O:M
Tiene MAQUINARIAS Y EQUIPOS DE INVENTARIO
1:M 0 N 1 1 O:M
Tiene OPERADOR 1:1 1 1 1 1 M:M
Tiene OTROS ACTIVOS DE INVENTARIO
1:M 0 N 1 1 O:M
Tiene PROBLEMAS DE EMPRESA 1:M 0 N 1 1 O:M
Pertenece a PROVINCIA 1:1 1 1 0 N M:O
Tiene RECURSOS HUMANOS DE EMPRESA
1:M 0 N 1 1 O:M
Pertenece a REGION 1:1 1 1 0 N M:O
Tiene REPRESENTANTE(S) DE EMPRESA
N:M 1 2 1 N M:M
Tiene SITUACION DE EMPRESA 1:M 0 N 1 1 O:M
Tiene TERRENOS DE INVENTARIO
1:M 0 N 1 1 O:M
Tiene TIPOS DE CLASIFICACION 1:1 1 1 1 1 M:M
Tiene USUARIOS 1:1 1 1 0 N M:O
Tiene UNIDADES DE NEGOCIO 1:M 1 N 1 1 M:M
Tiene VENCIMIENTO DE LOS PASIVOS DE CORTO
PLAZO 1:M 0 N 1 1 O:M
EMPRESAS
Tiene VENCIMIENTO DE LOS PASIVOS DE LARGO
PLAZO 1:M 0 N 1 1 O:M
63
ESTADO DE RESULTADO DE EMPRESA
Pertenece a EMPRESA 1:1 1 1 0 N M:O
ESTADO DE RESULTADO DE UNIDAD DE NEGOCIO
Pertenece a UNIDAD DE NEGOCIO 1:1 1 1 0 N M:O
GRUPOS DE TRABAJO Tiene EMPRESAS 1:M 0 N 1 1 O:M
Pertenece a EMPRESA 1:1 1 1 0 N M:O
Pertenece a DESTINO DE LA PRODUCCION 1:1 1 1 0 N M:O INGRESOS DE EMPRESA
Tiene UNIDAD DE MEDIDA 1:1 1 1 0 N M:O
Pertenece a UNIDAD DE NEGOCIO 1:1 1 1 0 N M:O
Pertenece a DESTINO DE LA PRODUCCION 1:1 1 1 0 N M:O INGRESOS DE UNIDAD DE
NEGOCIO
Tiene UNIDAD DE MEDIDA 1:1 1 1 0 N M:O
MAQUINARIAS Y EQUIPOS DE INVENTARIO
Pertenece a EMPRESA 1:1 1 1 0 N M:O
OPERADORES Tiene EMPRESAS 1:M 0 N 1 1 O:M
OTROS ACTIVOS DE INVENTARIO
Pertenece a EMPRESA 1:1 1 1 0 N M:O
Pertenece a EMPRESA 1:1 1 1 0 N M:O
Tiene TIPO ESTADO 1:1 1 1 1 1 M:M PROBLEMAS DE EMPRESA
Tiene TIPO PROBLEMA 1:1 1 1 1 1 M:M
Tiene AREAS 1:M 0 N 1 1 O:M
Tiene CIUDADES 1:M 0 N 1 1 O:M
Tiene COMUNAS 1:M 0 N 1 1 O:M
Tiene EMPRESAS 1:M 0 N 1 1 O:M
PROVINCIAS
Pertenece a REGION 1:1 1 1 0 N M:O
RECURSOS HUMANOS DE EMPRESA Pertenece a EMPRESA 1:1 1 1 0 N M:O
Tiene AREAS 1:M 0 N 1 1 O:M
Tiene CIUDADES 1:M 0 N 1 1 O:M
Tiene COMUNAS 1:M 0 N 1 1 O:M
Tiene EMPRESAS 1:M 0 N 1 1 O:M
REGION
Tiene PROVINCIAS 1:M 0 N 1 1 O:M
REPRESENTANTE DE EMPRESA
Tiene EMPRESAS N:M 1 N 1 N M:M
SITUACION DE EMPRESA Pertenece a EMPRESA 1:1 1 1 0 N M:O
TERRENOS DE INVENTARIO
Pertenece a EMPRESA 1:1 1 1 0 N M:O
64
TIPOS DE CLASIFICACION Tiene EMPRESAS 1:M 0 N 1 1 O:M
TIPOS DE ESTADO Tiene PROBLEMAS DE EMPRESA 1:M 0 N 1 1 O:M
TIPOS DE PROBLEMAS Tiene PROBLEMAS DE EMPRESA 1:M 0 N 1 1 O:M
Tiene UNIDADES DE NEGOCIO 1:M 0 N 1 1 O:M TIPOS DE UNIDADES DE
NEGOCIO Pertenece a CLASES DE UNIDADES
DE NEGOCIO 1:1 1 1 0 N M:O
TIPOS DE USUARIOS Tiene USUARIOS 1:M 0 N 1 1 O:M
Tiene INGRESOS DE EMPRESA 1:M 0 N 1 1 O:M
UNIDAD DE MEDIDA Tiene INGRESOS DE UNIDAD
DE NEGOCIO 1:M 0 N 1 1 O:M
Tiene BALANCE DE UNIDAD DE NEGOCIO
1:M 0 N 1 1 O:M
Pertenece a CLASE DE UNIDAD DE NEGOCIO
1:1 1 1 0 N M:O
Tiene COSTOS DE UNIDAD DE NEGOCIO
1:M 0 N 1 1 O:M
Tiene ESTADO DE RESULTADO DE UNIDAD DE NEGOCIO
1:M 0 N 1 1 O:M
Tiene INGRESOS DE UNIDAD DE NEGOCIO
1:M 0 N 1 1 O:M
Pertenece a EMPRESAS 1:M 1 1 1 N M:M
UNIDAD DE NEGOCIO
Pertenece a TIPOS DE UNIDADES DE NEGOCIO
1:1 1 1 0 N M:O
Tiene EMPRESAS 1:M 0 N 1 1 O:M USUARIOS
Pertenece a TIPO DE USUARIO 1:1 1 1 0 N M:O
VENCIMIENTO DE LOS PASIVOS DE CORTO
PLAZO Pertenece a EMPRESA 1:1 1 1 0 N M:O
VENCIMIENTO DE LOS PASIVOS DE LARGO
PLAZO Pertenece a EMPRESA 1:1 1 1 0 N M:O
Tabla 3: Tabla de identificación de relaciones.
65
6.2.2.1.1.1.3 Identificación y asociación de atributos con una entidad o
relación.
Cada entidad o relación tiene asociados atributos, que son datos que
pertenecen a ésta y entregan información de la misma.
Los resultados de esta etapa se pueden visualizar en la siguiente tabla:
ATRIBUTOS
ENTIDAD O RELACION NOMBRE ALIAS TIPO DATO T VALOR POR
DEFECTO N D M C
RUT RUT_ADMIN Numérico 8 NO NO NO NO
DIGITO DIG_ADMIN Alfanumérico 1 NO NO NO NOADMINISTRADOR DE
EMPRESA
NOMBRE NOMBRE_ADMIN Alfabético 40 NO NO NO SI
AREA ID_AREA Alfanumérico 2 NO NO NO NO
REGION ID_REGION Alfanumérico 2 NO NO NO NOAREAS
NOMBRE NOMBRE_AREA Alfabético 20 NO NO NO NOIDENTIFICADOR DE BALANCE UN ID_BAL_UN Numérico 9 NO NO NO NO
AÑO AÑO_BAL Numérico 4 AÑO_ACTUAL NO NO NO NO
UN ID_UN Numérico 9 NO NO NO NO
DISPONIBLE CAJA DISPONIBLE_CAJA_BAL_UN Numérico 9 0 NO NO NO NO
DISPONIBLE BANCOS DISPONIBLE_BANCOS_BAL_UN Numérico 9 0 NO NO NO NO
DEPOSITOS A PLAZO DEPOSITO_PLAZOS_BAL_UN Numérico 9 0 NO NO NO NO
VALORES NEGOCIABLES VALORES_NEGOCIABLES_BAL_UN Numérico 9 0 NO NO NO NO
DEUDORES POR VENTA DEUDORES_VENTA_BAL_UN Numérico 9 0 NO NO NO NO
DOCUMENTOS POR COBRAR DOCUMENTOS_COBRAR_BAL_UN Numérico 9 0 NO NO NO NO
DEUDORES VARIOS DEUDORES_VARIOS_BAL_UN Numérico 9 0 NO NO NO NO
EXISTENCIAS EXISTENCIAS_BAL_UN Numérico 9 0 NO NO NO NO
IMPUESTOS POR RECUPERAR IMPUESTOS_RECUPERAR_BAL_UN Numérico 9 0 NO NO NO NOOTROS ACTIVOS CIRCULANTES OTROS_ACTIVOS_CIRCULANTES_BAL_UN Numérico 9 0 NO NO NO NO
TOTAL ACTIVO CIRCULANTE TOTAL_ACTIVO_CIRC_BAL_UN Numérico 9 0 NO SI NO NO
TERRENOS TERRENOS_BAL_UN Numérico 9 0 NO NO NO NO
BALANCE DE UNIDAD DE NEGOCIO
CONSTRUCCIONES Y OBRAS DE INFRAESTRUCTURA CONSTRUCCIONES_INFRA_BAL_UN Numérico 9 0 NO NO NO NO
66
MAQUINARIAS Y EQUIPOS MAQUINARIAS_EQUIPOS_BAL_UN Numérico 9 0 NO NO NO NO
MUEBLES MUEBLES_BAL_UN Numérico 9 0 NO NO NO NO
VEHICULOS VEHICULOS_BAL_UN Numérico 9 0 NO NO NO NOACCIONES DE OTRAS EMPRESAS ACCIONES_OTRAS_EMP_BAL_UN Numérico 9 0 NO NO NO NO
OTROS ACTIVOS FIJOS OTROS_ACTIVOS_FIJOS_BAL_UN Numérico 9 0 NO NO NO NO
SUBTOTAL SUBTOTAL_BAL_UN Numérico 9 0 NO SI NO NO
DEPRECIACION ACUMULADA DEPRECIACION_ACUM_BAL_UN Numérico 9 0 NO NO NO NO
TOTAL ACTIVO FIJO NETO TOTAL_ACTIVO_FIJO_NETO_BAL_UN Numérico 9 0 NO SI NO NO
INVERSIONES EN EMPRESAS RELACIONADAS INVERSIONES_EMP_REL_BAL_UN Numérico 9 0 NO NO NO NOINVERSIONES EN OTRAS SOCIEDADES INVERIONES_OTRAS_SOC_BAL_UN Numérico 9 0 NO NO NO NO
DEUDORES A LARGO PLAZO DEUDORES_LP_BAL_UN Numérico 9 0 NO NO NO NO
OTROS ACTIVOS OTROS_ACTIVOS_BAL_UN Numérico 9 0 NO NO NO NO
TOTAL OTROS ACTIVOS TOTAL_OTROS_ACT_BAL_UN Numérico 9 0 NO SI NO NO
TOTAL ACTIVOS TOTAL_ACTIV_BAL_UN Numérico 9 0 NO SI NO NOCREDITOS A CORTO PLAZO INDAP CRED_CP_INDAP_BAL_UN Numérico 9 0 NO NO NO NOCREDITOS A CORTO PLAZO BANCOS CRED_CP_BANCOS_BAL_UN Numérico 9 0 NO NO NO NO
CREDITOS A LARGO PLAZO INDAP, PORCION CIRCULANTE CRED_LP_INDAP_PC_BAL_UN Numérico 9 0 NO NO NO NOCREDITOS A LARGO PLAZO BANCOS, PORCION CIRCULANTE CRED_LP_BANCOS_PC_BAL_UN Numérico 9 0 NO NO NO NO
DIVIDENDOS POR PAGAR DIVIDENDOS_PAGAR_BAL_UN Numérico 9 0 NO NO NO NO
OBLIGACIONES CON OTRAS INSTITUCIONES OBLIGACIONES_INSTITU_BAL_UN Numérico 9 0 NO NO NO NO
CUENTAS POR PAGAR CUENTAS_PAGAR_BAL_UN Numérico 9 0 NO NO NO NO
ACREEDORES VARIOS ACREEDORES_BAL_UN Numérico 9 0 NO NO NO NO
DOCUMENTOS POR PAGAR DOCUMENTOS_PAGAR_BAL_UN Numérico 9 0 NO NO NO NO
IMPUESTOS POR PAGAR IMPUESTOS_PAGAR_BAL_UN Numérico 9 0 NO NO NO NO
PROVISIONES PROVISIONES_BAL_UN Numérico 9 0 NO NO NO NO
RETENCIONES RETENCIONES_BAL_UN Numérico 9 0 NO NO NO NOOTROS PASIVOS CIRCULANTES OTROS_PASIVOS_CIRC_BAL_UN Numérico 9 0 NO NO NO NO
TOTAL PASIVO CIRCULANTE TOTAL_PC_BAL_UN Numérico 9 0 NO SI NO NO
OBLIGACIONES CON INDAP OBLIGACIONES_INDAP_BAL_UN Numérico 9 0 NO NO NO NOOBLIGACIONES CON BANCOS E INSTITUCIONES FINANCIERAS OBLIGACIONES_BANCOS_BAL_UN Numérico 9 0 NO NO NO NO
OBLIGACIONES CON OTRAS INSTITUCIONES PLP OBLIGACIONES_INSTITU_PLP_BAL_UN Numérico 9 0 NO NO NO NO
ACREEDORES VARIOS PLP ACREEDORES_PLP_BAL_UN Numérico 9 0 NO NO NO NODOCUMENTOS POR PAGAR PLP DOCUMENTOS_PAGAR_PLP_BAL_UN Numérico 9 0 NO NO NO NO
PROVISIONES PLP PROVISIONES_PLP_BAL_UN Numérico 9 0 NO NO NO NO
OTROS PLP OTROS_PLP_BAL_UN Numérico 9 0 NO NO NO NO
TOTAL PLP TOTAL_PLP_BAL_UN Numérico 9 0 NO SI NO NO
CAPITAL PAGADO CAPITAL_PAGADO_BAL_UN Numérico 9 0 NO NO NO NO
REVALORACION CAPITAL PROPIO REVALORACION_CP_BAL_UN Numérico 9 0 NO NO NO NO
67
OTRAS RESERVAS OTRAS_RESERVAS_BAL_UN Numérico 9 0 NO NO NO NO
UTILIDADES O PERDIDAS ACUMULADAS UTILIDADES_PERD_ACUM_BAL_UN Numérico 9 0 NO NO NO NO
UTILIDADES O PERDIDAS DEL EJERCICIO UTILIDADES_PERD_EJER_BAL_UN Numérico 9 0 NO SI NO NORESERVAS FUTUROS DIVIDENDOS RESERV_FUTUROS_DIV_BAL_UN Numérico 9 0 NO NO NO NO
DIVIDENDOS PROVISORIOS DIVIDENDOS_PROV_BAL_UN Numérico 9 0 NO NO NO NO
OTROS PASIVOS OTROS_PASIV_BAL_UN Numérico 9 0 NO NO NO NO
TOTAL PATRIMONIO TOTAL_PAT_BAL_UN Numérico 9 0 NO SI NO NO
TOTAL PASIVO Y PATRIMONIO TOTAL_PASIV_BAL_UN Numérico 9 0 NO SI NO NO
IDENTIFICADOR DE BALANCE DE EMPRESA ID_BAL_EMP Numérico 9 NO NO NO NO
RUT EMPRESA RUT_EMPRESA Numérico 8 NO NO NO NO
AÑO AÑO_BAL_UN Numérico 4 AÑO_ACTUAL NO NO NO NO
DISPONIBLE CAJA DISPONIBLE_CAJA_BAL Numérico 9 0 NO NO NO NO
DISPONIBLE BANCOS DISPONIBLE_BANCOS_BAL Numérico 9 0 NO NO NO NO
DEPOSITOS A PLAZO DEPOSITO_PLAZOS_BAL Numérico 9 0 NO NO NO NO
VALORES NEGOCIABLES VALORES_NEGOCIABLES_BAL Numérico 9 0 NO NO NO NO
DEUDORES POR VENTA DEUDORES_VENTA_BAL Numérico 9 0 NO NO NO NO
DOCUMENTOS POR COBRAR DOCUMENTOS_COBRAR_BAL Numérico 9 0 NO NO NO NO
DEUDORES VARIOS DEUDORES_VARIOS_BAL Numérico 9 0 NO NO NO NO
EXISTENCIAS EXISTENCIAS_BAL Numérico 9 0 NO NO NO NO
IMPUESTOS POR RECUPERAR IMPUESTOS_RECUPERAR_BAL Numérico 9 0 NO NO NO NOOTROS ACTIVOS CIRCULANTES OTROS_ACTIVOS_CIRCULANTES_BAL Numérico 9 0 NO NO NO NO
TOTAL ACTIVO CIRCULANTE TOTAL_ACTIVO_CIRC_BAL Numérico 9 0 NO SI NO NO
TERRENOS TERRENOS_BAL Numérico 9 0 NO NO NO NO
CONSTRUCCIONES Y OBRAS DE INFRAESTRUCTURA CONSTRUCCIONES_INFRA_BAL Numérico 9 0 NO NO NO NO
MAQUINARIAS Y EQUIPOS MAQUINARIAS_EQUIPOS_BAL Numérico 9 0 NO NO NO NO
MUEBLES MUEBLES_BAL Numérico 9 0 NO NO NO NO
VEHICULOS VEHICULOS_BAL Numérico 9 0 NO NO NO NOACCIONES DE OTRAS EMPRESAS ACCIONES_OTRAS_EMP_BAL Numérico 9 0 NO NO NO NO
OTROS ACTIVOS FIJOS OTROS_ACTIVOS_FIJOS_BAL Numérico 9 0 NO NO NO NO
SUBTOTAL SUBTOTAL_BAL Numérico 9 0 NO SI NO NO
DEPRECIACION ACUMULADA DEPRECIACION_ACUM_BAL Numérico 9 0 NO NO NO NO
TOTAL ACTIVO FIJO NETO TOTAL_ACTIVO_FIJO_NETO_BAL Numérico 9 0 NO SI NO NO
INVERSIONES EN EMPRESAS RELACIONADAS INVERSIONES_EMP_REL_BAL Numérico 9 0 NO NO NO NOINVERSIONES EN OTRAS SOCIEDADES INVERIONES_OTRAS_SOC_BAL Numérico 9 0 NO NO NO NO
DEUDORES A LARGO PLAZO DEUDORES_LP_BAL Numérico 9 0 NO NO NO NO
OTROS ACTIVOS OTROS_ACTIVOS_BAL Numérico 9 0 NO NO NO NO
TOTAL OTROS ACTIVOS TOTAL_OTROS_ACT_BAL Numérico 9 0 NO SI NO NO
TOTAL ACTIVOS TOTAL_ACTIV_BAL Numérico 9 0 NO SI NO NOCREDITOS A CORTO PLAZO INDAP CRED_CP_INDAP_BAL Numérico 9 0 NO NO NO NO
BALANCES DE EMPRESA
CREDITOS A CORTO PLAZO BANCOS CRED_CP_BANCOS_BAL Numérico 9 0 NO NO NO NO
68
CREDITOS A LARGO PLAZO INDAP, PORCION CIRCULANTE CRED_LP_INDAP_PC_BAL Numérico 9 0 NO NO NO NOCREDITOS A LARGO PLAZO BANCOS, PORCION CIRCULANTE CRED_LP_BANCOS_PC_BAL Numérico 9 0 NO NO NO NO
DIVIDENDOS POR PAGAR DIVIDENDOS_PAGAR_BAL Numérico 9 0 NO NO NO NO
OBLIGACIONES CON OTRAS INSTITUCIONES OBLIGACIONES_INSTITU_BAL Numérico 9 0 NO NO NO NO
CUENTAS POR PAGAR CUENTAS_PAGAR_BAL Numérico 9 0 NO NO NO NO
ACREEDORES VARIOS ACREEDORES_BAL Numérico 9 0 NO NO NO NO
DOCUMENTOS POR PAGAR DOCUMENTOS_PAGAR_BAL Numérico 9 0 NO NO NO NO
IMPUESTOS POR PAGAR IMPUESTOS_PAGAR_BAL Numérico 9 0 NO NO NO NO
PROVISIONES PROVISIONES_BAL Numérico 9 0 NO NO NO NO
RETENCIONES RETENCIONES_BAL Numérico 9 0 NO NO NO NOOTROS PASIVOS CIRCULANTES OTROS_PASIVOS_CIRC_BAL Numérico 9 0 NO NO NO NO
TOTAL PASIVO CIRCULANTE TOTAL_PC_BAL Numérico 9 0 NO SI NO NO
OBLIGACIONES CON INDAP OBLIGACIONES_INDAP_BAL Numérico 9 0 NO NO NO NOOBLIGACIONES CON BANCOS E INSTITUCIONES FINANCIERAS OBLIGACIONES_BANCOS_BAL Numérico 9 0 NO NO NO NO
OBLIGACIONES CON OTRAS INSTITUCIONES PLP OBLIGACIONES_INSTITU_PLP_BAL Numérico 9 0 NO NO NO NO
ACREEDORES VARIOS PLP ACREEDORES_PLP_BAL Numérico 9 0 NO NO NO NODOCUMENTOS POR PAGAR PLP DOCUMENTOS_PAGAR_PLP_BAL Numérico 9 0 NO NO NO NO
PROVISIONES PLP PROVISIONES_PLP_BAL Numérico 9 0 NO NO NO NO
OTROS PLP OTROS_PLP_BAL Numérico 9 0 NO NO NO NO
TOTAL PLP TOTAL_PLP_BAL Numérico 9 0 NO SI NO NO
CAPITAL PAGADO CAPITAL_PAGADO_BAL Numérico 9 0 NO NO NO NOREVALORACION CAPITAL PROPIO REVALORACION_CP_BAL Numérico 9 0 NO NO NO NO
OTRAS RESERVAS OTRAS_RESERVAS_BAL Numérico 9 0 NO NO NO NO
UTILIDADES O PERDIDAS ACUMULADAS UTILIDADES_PERD_ACUM_BAL Numérico 9 0 NO NO NO NO
UTILIDADES O PERDIDAS DEL EJERCICIO UTILIDADES_PERD_EJER_BAL Numérico 9 0 NO SI NO NORESERVAS FUTUROS DIVIDENDOS RESERV_FUTUROS_DIV_BAL Numérico 9 0 NO NO NO NO
DIVIDENDOS PROVISORIOS DIVIDENDOS_PROV_BAL Numérico 9 0 NO NO NO NO
OTROS PASIVOS OTROS_PASIV_BAL Numérico 9 0 NO NO NO NO
TOTAL PATRIMONIO TOTAL_PAT_BAL Numérico 9 0 NO SI NO NO
TOTAL PASIVO Y PATRIMONIO TOTAL_PASIV_PAT Numérico 9 0 NO SI NO NO
CIUDAD ID_CIUDAD Alfanumérico 4 NO NO NO NO
NOMBRE NOMBRE_CIUDAD Alfabético 20 NO NO NO NOCIUDADES
COMUNA ID_COMUNA Alfanumérico 5 NO NO NO NO
CLASE DE UN ID_CLASE_UN Alfanumérico 4 NO NO NO NOCLASE DE UNIDAD DE NEGOCIO
NOMBRE NOMBRE_CLASE_UN Alfabético 40 NO NO NO NO
COMUNA ID_COMUNA Alfanumérico 5 NO NO NO NO
NOMBRE NOMBRE_COMUNA Alfabético 20 NO NO NO NOCOMUNAS
PROVINCIA ID_PROVINCIA Alfanumérico 4 NO NO NO NO
69
IDENTIFICADOR DE CONSTRUCCION DE INVENTARIO ID_CONSTRUC Numérico 9 NO NO NO NO
RUT EMPRESA RUT_EMPRESA Numérico 8 NO NO NO NO
AÑO AÑO_CONSTRUC Numérico 4 AÑO_ACTUAL NO NO NO NO
TIPO TIPO_CONSTRUC Alfabético 30 NO NO NO NO
CAPACIDAD CAPACIDAD_CONSTRUC Numérico 8 1 NO NO NO NO
MATERIAL MATERIAL_CONSTRUC Alfabético 30 NO NO NO NO
EDAD EDAD_CONSTRUC Numérico 2 1 NO NO NO NO
VIDA UTIL RESTANTE VIDA_UTIL_CONSTRUC Numérico 2 1 NO NO NO NO
USO USO_CONSTRUC Alfabético 30 SI NO NO NO
CONSTRUCCION E INFRAESTRUCTURA
DE INVENTARIO
VALOR DE REGISTRO VALOR_REGISTRO_CONSTRUC Numérico 9 0 NO NO NO NO
IDENTIFICADOR DE COSTOS DE EMPRESA ID_COSTOS Numérico 9 NO NO NO NO
RUT EMPRESA RUT_EMPRESA Numérico 8 NO NO NO NO
AÑO AÑO_COSTOS Numérico 8 AÑO_ACTUAL NO NO NO NO
TRIMESTRE TRIMESTRE_COSTOS Numérico 1 TRIMES_ACTUAL NO NO NO NO
INVENTARIO INICIAL DE MATERIA PRIMA INVENT_INIC_MP_COSTOS Numérico 9 0 NO NO NO NOCOMPRAS NETAS DE MATERIA PRIMA COMPRAS_NETAS_MP_COSTOS Numérico 9 0 NO NO NO NO
INVENTARIO FINAL DE MATERIA PRIMA INVENT_FIN_MP_COSTOS Numérico 9 0 NO NO NO NO
TOTAL SALIDAS DE MATERIA UTILIZADA TOTAL_SAL_MP_COSTOS Numérico 9 0 NO SI NO NO
MANO DE OBRA DIRECTA MANO_OBRA_DIREC_COSTOS Numérico 9 0 NO NO NO NO
COSTOS INDIRECTOS DE PRODUCCION COSTOS_INDIREC_COSTOS Numérico 9 0 NO NO NO NOTOTAL COSTOS DE PRODUCCION TOTAL_COSTOS_PROD_COSTOS Numérico 9 0 NO SI NO NO
INVENTARIO INICIAL DE PRODUCTOS TERMINADOS INVENT_INIC_PROD_TERM_COSTOS Numérico 9 0 NO NO NO NO
INVENTARIO FINAL DE PRODUCTOS TERMINADOS INVENT_FIN_PROD_TERM_COSTOS Numérico 9 0 NO NO NO NOCOSTOS DE ARTICULOS VENDIDOS COSTOS_ARTIC_VEND_COSTOS Numérico 9 0 NO SI NO NOINVENTARIO INICIAL DE PRODUCTOS INVENT_INIC_PROD_COSTOS Numérico 9 0 NO NO NO NOCOMPRAS NETAS DE PRODUCTOS COMPRAS_NETAS_PROD_COSTOS Numérico 9 0 NO NO NO NOINVENTARIO FINAL DE PRODUCTOS INVENT_FIN_PROD_COSTOS Numérico 9 0 NO NO NO NO
TOTAL COSTOS DE VENTAS TOTAL_COSTOS_V_COSTOS Numérico 9 0 NO SI NO NO
SUELDOS SUELDOS_COSTOS Numérico 9 0 NO NO NO NO
HONORARIOS HONORARIOS_COSTOS Numérico 9 0 NO NO NO NO
VIATICOS VIATICOS_COSTOS Numérico 9 0 NO NO NO NO
CONSUMOS BASICOS CONSUMOS_BASIC_COSTOS Numérico 9 0 NO NO NO NO
COMBUSTIBLE COMBUSTIBLE_COSTOS Numérico 9 0 NO NO NO NO
FLETES Y MOVILIZACION FLETES_MOV_COSTOS Numérico 9 0 NO NO NO NO
SEGUROS SEGUROS_COSTOS Numérico 9 0 NO NO NO NO
COMISIONES COMISIONES_COSTOS Numérico 9 0 NO NO NO NO
COSTOS DE EMPRESA
OTROS OTROS_COSTOS Numérico 9 0 NO NO NO NO
70
TOTAL GASTOS DE ADMINISTRACION Y VENTAS TOTAL_GASTOS_ADMIN_V_COSTOS Numérico 9 0 NO SI NO NO
TOTAL DE COSTOS Y GASTOS TOTAL_COSTOS_GASTOS_COSTOS Numérico 9 0 NO SI NO NO
IDENTIFICADOR DE COSTOS DE UNIDAD DE NEGOCIO ID_COSTOS_UN Numérico 9 NO NO NO NO
AÑO AÑO_COSTOS_UN Numérico 4 AÑO_ACTUAL NO NO NO NO
UN ID_UN Numérico 9 NO NO NO NO
TRIMESTRE TRIMESTRE_COSTOS_UN Numérico 1 TRIMES_ACTUAL NO NO NO NO
INVENTARIO INICIAL DE MATERIA PRIMA INVENT_INIC_MP_COSTOS_UN Numérico 9 0 NO NO NO NOCOMPRAS NETAS DE MATERIA PRIMA COMPRAS_NETAS_MP_COSTOS_UN Numérico 9 0 NO NO NO NO
INVENTARIO FINAL DE MATERIA PRIMA INVENT_FIN_MP_COSTOS_UN Numérico 9 0 NO NO NO NO
TOTAL SALIDAS DE MATERIA UTILIZADA TOTAL_SAL_MP_COSTOS_UN Numérico 9 0 NO SI NO NO
MANO DE OBRA DIRECTA MANO_OBRA_DIREC_COSTOS_UN Numérico 9 0 NO NO NO NO
COSTOS INDIRECTOS DE PRODUCCION COSTOS_INDIREC_COSTOS_UN Numérico 9 0 NO NO NO NOTOTAL COSTOS DE PRODUCCION TOTAL_COSTOS_PROD_COSTOS_UN Numérico 9 0 NO SI NO NO
INVENTARIO INICIAL DE PRODUCTOS TERMINADOS INVENT_INIC_PROD_TERM_COSTOS_UN Numérico 9 0 NO NO NO NO
INVENTARIO FINAL DE PRODUCTOS TERMINADOS INVENT_FIN_PROD_TERM_COSTOS_UN Numérico 9 0 NO NO NO NOCOSTOS DE ARTICULOS VENDIDOS COSTOS_ARTIC_VEND_COSTOS_UN Numérico 9 0 NO SI NO NOINVENTARIO INICIAL DE PRODUCTOS INVENT_INIC_PROD_COSTOS_UN Numérico 9 0 NO NO NO NOCOMPRAS NETAS DE PRODUCTOS COMPRAS_NETAS_PROD_COSTOS_UN Numérico 9 0 NO NO NO NOINVENTARIO FINAL DE PRODUCTOS INVENT_FIN_PROD_COSTOS_UN Numérico 9 0 NO NO NO NO
TOTAL COSTOS DE VENTAS TOTAL_COSTOS_V_COSTOS_UN Numérico 9 0 NO SI NO NO
SUELDOS SUELDOS_COSTOS_UN Numérico 9 0 NO NO NO NO
HONORARIOS HONORARIOS_COSTOS_UN Numérico 9 0 NO NO NO NO
VIATICOS VIATICOS_COSTOS_UN Numérico 9 0 NO NO NO NO
CONSUMOS BASICOS CONSUMOS_BASIC_COSTOS_UN Numérico 9 0 NO NO NO NO
COMBUSTIBLE COMBUSTIBLE_COSTOS_UN Numérico 9 0 NO NO NO NO
FLETES Y MOVILIZACION FLETES_MOV_COSTOS_UN Numérico 9 0 NO NO NO NO
SEGUROS SEGUROS_COSTOS_UN Numérico 9 0 NO NO NO NO
COMISIONES COMISIONES_COSTOS_UN Numérico 9 0 NO NO NO NO
OTROS OTROS_COSTOS_UN Numérico 9 0 NO NO NO NO
TOTAL GASTOS DE ADMINISTRACION Y VENTAS TOTAL_GASTOS_ADMIN_V_COSTOS_UN Numérico 9 0 NO SI NO NO
COSTOS DE UNIDAD DE NEGOCIO
TOTAL DE COSTOS Y GASTOS TOTAL_COSTOS_GASTOS_COSTOS_UN Numérico 9 0 NO SI NO NO
DESTINO DE LA PRODUCCION ID_DESTINO_PROD Alfanumérico 4 NO NO NO NODESTINO DE LA PRODUCCION
NOMBRE NOMBRE_DEST_PROD Alfabético 40 NO NO NO NO
RUT RUT_EMPRESA Numérico 9 NO NO NO NO
DIGITO DIGITO_EMP Alfanumérico 1 NO NO NO NO
NOMBRE NOMBRE_EMP Alfabético 40 NO NO NO NO
EMPRESAS
RAZON SOCIAL RAZON_SOC_EMP Alfabético 50 NO NO NO NO
71
FECHA CONSTITUCION FECHA_CONST_EMP Fecha 4 AÑO_ACTUAL SI NO NO NO
FONO FONO_EMP Alfanumérico 20 SI NO NO NO
FAX FAX_EMP Alfanumérico 20 SI NO NO NO
REGION ID_REGION Alfanumérico 2 NO NO NO NO
PROVINCIA ID_PROVINCIA Alfanumérico 2 NO NO NO NO
COMUNA ID_COMUNA Alfanumérico 5 NO NO NO NO
CIUDAD ID_CIUDAD Alfanumérico 4 NO NO NO NO
CALLE CALLE_EMP Alfabético 20 SI NO NO NO
NUMERO NUMERO_EMP Numérico 9 SI NO NO NO
OFICINA OFICINA_EMP Alfanumérico 3 SI NO NO NO
PISO PISO_EMP Numérico 3 SI NO NO NO
AREA ID_AREA Alfanumérico 2 NO NO NO NO
GRUPO ID_GRUPO Alfanumérico 4 NO NO NO NO
OPERADOR ID_OPERADOR Alfanumérico 4 NO NO NO NO
GIRO COMERCIAL GIRO_COMERCIAL_EMP Alfabético 60 SI NO NO NO
FECHA INICIO ACTIVIDADES FECHA_INIC_EMP Fecha 4 AÑO_ACTUAL SI NO NO NO
NUMERO DE SOCIOS N_SOCIOS_EMP Numérico 4 1 NO NO NO NO
NUMERO DE MUJERES N_MUJERES_EMP Numérico 4 0 NO NO NO NO
NUMERO DE JOVENES (MENORES DE 35) N_JOVENES_EMP Numérico 4 0 NO NO NO NO
NUMERO DE ETNIA INDIGENA N_ETNIA_EMP Numérico 4 0 NO NO NO NO
NUMERO DE PROVEEDORES N_PROVEEDORES_EMP Numérico 4 0 NO NO NO NO
VECES EN MOROCIDAD VECES_MOROS_EMP Numérico 2 0 NO NO NO NO
VECES DE CONDONACIONES VECES_CONDON_EMP Numérico 2 0 NO NO NO NO
VECES DE RENEGOCIACIONES VECES_RENEG_EMP Numérico 2 0 NO NO NO NO
TIPO DE CLASIFICACION ID_TIPO_CLASIFICACION Alfanumérico 4 SI SI NO NO
PROPIETARIO ID_USUARIO Alfanumérico 8 NO NO NO NO
RAZON FINANCIERA CAPITAL DE TRABAJO R_CAPITAL_TRABAJO Numérico 3 0 NO SI NO NO
RAZON FINANCIERA RAZON CORRIENTE R_RAZON_CORRIENTE Numérico 3 0 NO SI NO NORAZON FINANCIERA PRUEBA ACIDA R_PRUEBA_ACIDA Numérico 3 0 NO SI NO NORAZON FINANCIERA LEVERAGE R_LEVERAGE Numerico 3 0 NO SI NO NORAZON FINANCIERA LEVERAGE MERCADO FINANCIERO R_LEVERAGE_MERCADO Numérico 3 0 NO SI NO NORAZON FINANCIERA SOLVENCIA R_SOLVENCIA Numérico 3 0 NO SI NO NO
RAZON FINANCIERA RENTABILIDAD BRUTA R_RENTABILIDAD_BRUTA Numérico 3 0 NO SI NO NO
RAZON FINANCIERA RENTABILIDAD OPERACIONAL R_RENTABILIDAD_OPERACIONAL Numérico 3 0 NO SI NO NO
RAZON FINANCIERA RENTABILIDAD NETA R_RENTABILIDAD_NETA Numérico 3 0 NO SI NO NO
RAZON FINANCIERA RAZON OPERATIVA R_RAZON_OPERATIVA Numérico 3 0 NO SI NO NO
RAZON FINANCIERA RAZON DE DEUDA R_RAZON_DEUDA Numérico 3 0 NO SI NO NO
72
RAZON FINANCIERA RAZON DE DEPENDENCIA R_RAZON_DEPENDENCIA Numérico 3 0 NO SI NO NO
RAZON FINANCIERA ROTACION DE ACTIVOS R_ROTACION_ACTIVOS Numérico 3 0 NO SI NO NO
RAZON FINANCIERA RAZON DE LA CALIDAD DE LA DEUDA R_RAZON_CALIDAD Numérico 3 0 NO SI NO NO
RAZON FINANCIERA COBERTURA FINANCIERA R_COBERTURA_FINANCIERA Numérico 3 0 NO SI NO NO
RAZON FINANCIERA DEPENDENCIA FINANCIERA R_DEPENDENCIA_FINANCIERA Numérico 3 0 NO SI NO NORAZON FINANCIERA DEPENDENCIA FINANCIERA CORTO PLAZO R_DEPENDENCIA_CP Numérico 3 0 NO SI NO NO
RAZON FINANCIERA DEPENDENCIA FINANCIERA LARGO PLAZO R_DEPENDENCIA_LP Numérico 3 0 NO SI NO NO
IDENTIFICADOR DE ESTADOS DE RESULTADOS ID_EST_RES Numérico 9 NO NO NO NO
RUT EMPRESA RUT_EMPRESA Numérico 8 NO NO NO NO
AÑO AÑO_EST_RES Numérico 4 AÑO_ACTUAL NO NO NO NO
TRIMESTRE TRIMESTRE_EST_RES Numérico 1 TRIMES_ACTUAL NO NO NO NO
INGRESO DE EXPLOTACION INGRESO_EXPLOTACION_EST_RES Numérico 9 0 NO SI NO NO
COSTO DE EXPLOTACION COSTO_EXPLOTACION_EST_RES Numérico 9 0 NO SI NO NO
MARGEN DE EXPLOTACION MARGEN_EXPLOTACION_EST_RES Numérico 9 0 NO SI NO NO
GASTOS DE ADMINISTRACION Y VENTAS GASTOS_ADMIN_EST_RES Numérico 9 0 NO SI NO NO
RESULTADO OPERACIONAL RESULT_OP_EST_RES Numérico 9 0 NO SI NO NO
INGRESOS FINANCIEROS INGRESOS_FINAN_EST_RES Numérico 9 0 NO NO NO NO
OTROS INGRESOS FUERA DE EXPLOTACION OTROS_INGRESOS_EST_RES Numérico 9 0 NO NO NO NO
GASTOS FINANCIEROS GASTOS_FINAN_EST_RES Numérico 9 0 NO NO NO NO
OTROS EGRESOS FUERA DE EXPLOTACION OTROS_EGRESOS_EST_RES Numérico 9 0 NO NO NO NO
CORRECCION MONETARIA CORRECCION_MON_EST_RES Numérico 9 0 NO NO NO NORESULTADO NO OPERACIONAL RES_NO_OP_EST_RES Numérico 9 0 NO SI NO NO
RESULTADO ANTES DE IMPUESTO A LA RENTA IMPUESTO_RENTA_EST_RES Numérico 9 0 NO SI NO NO
IMPUESTO A LA RENTA IMPUESTO_EST_RES Numérico 9 0 NO NO NO NO
ESTADO DE RESULTADO DE
EMPRESA
UTILIDAD O PERDIDA DEL EJERCICIO UTILIDAD_PERDIDA_EJER_EST_RES Numérico 9 0 NO SI NO NO
IDENTIFICADOR DE ESTADOS DE RESULTADOS UN ID_EST_RES_UN Numérico 9 NO NO NO NO
AÑO AÑO_EST_RES_UN Numérico 4 AÑO_ACTUAL NO NO NO NO
UN ID_UN Numérico 9 NO NO NO NO
TRIMESTRE TRIMESTRE_EST_RES_UN Numérico 1 TRIMES_ACTUAL NO NO NO NO
INGRESO DE EXPLOTACION INGRESO_EXPLOTACION_EST_RES_UN Numérico 9 0 NO SI NO NO
COSTO DE EXPLOTACION COSTO_EXPLOTACION_EST_RES_UN Numérico 9 0 NO SI NO NO
MARGEN DE EXPLOTACION MARGEN_EXPLOTACION_EST_RES_UN Numérico 9 0 NO SI NO NO
GASTOS ADMINISTTRATIVOS Y VENTAS GASTOS_ADMIN_EST_RES_UN Numérico 9 0 NO SI NO NO
RESULTADO OPERACIONAL RESULT_OP_EST_RES_UN Numérico 9 0 NO SI NO NO
ESTADO DE RESULTADO DE
UNIDAD DE NEGOCIO
INGRESOS FINANCIEROS INGRESOS_FINAN_EST_RES_UN Numérico 9 0 NO NO NO NO
73
OTROS INGRESOS FUERA DE EXPLOTACION OTROS_INGRESOS_EST_RES_UN Numérico 9 0 NO NO NO NO
GASTOS FINANCIEROS GASTOS_FINAN_EST_RES_UN Numérico 9 0 NO NO NO NO
OTROS EGRESOS FUERA DE EXPLOTACION OTROS_EGRESOS_EST_RES_UN Numérico 9 0 NO NO NO NO
CORRECCION MONETARIA CORRECCION_MON_EST_RES_UN Numérico 9 0 NO NO NO NO
RESULTADO NO OPERACIONAL RES_NO_OP_EST_RES_UN Numérico 9 0 NO SI NO NO
RESULTADO ANTES DE IMPUESTO A LA RENTA IMPUESTO_RENTA_EST_RES_UN Numérico 9 0 NO SI NO NO
IMPUESTO A LA RENTA IMPUESTO_EST_RES_UN Numérico 9 0 NO NO NO NO
UTILIDAD O PERDIDA DEL EJERCICIO UTILIDAD_PERDIDA_EJER_EST_RES_UN Numérico 9 0 NO SI NO NO
GRUPO ID_GRUPO Alfanumérico 4 NO NO NO NOGRUPOS DE TRABAJO
NOMBRE NOMBRE_GRUPO Alfabético 40 NO NO NO NO
IDENTIFICADOR DE INGRESOS DE EMPRESA ID_ING Numerico 9 NO NO NO NO
RUT EMPRESA RUT_EMPRESA Numérico 8 NO NO NO NO
AÑO AÑO_ING Numérico 4 AÑO_ACTUAL NO NO NO NO
TRIMESTRE TRIMESTRE_ING Numérico 1 TRIMES_ACTUAL NO NO NO NOCANTIDAD VENDIDA O ENTREGADA CANTIDAD_VEND_ING Numérico 9 1 NO NO NO NO
UNIDAD DE MEDIDA ID_UM Alfanumérico 4 SI NO NO NO
PRECIO UNITARIO PU_ING Numérico 9 1 NO NO NO NO
VALOR PRODUCIDO VALOR_PROD_ING Numérico 9 1 NO NO NO NO
DESTINO DE LA PRODUCCION ID_DESTINO_PRODUCCION Alfanumérico 4 SI NO NO NO
INGRESOS DE EMPRESA
PRODUCTOS Y/O SERVICIOS PROD_SERV_ING Alfabético 30 NO NO NO NOIDENTIFICADOR DE INGRESOS DE UN ID_ING_UN Numérico 9 NO NO NO NO
AÑO AÑO_ING_UN Numérico 4 AÑO_ACTUAL NO NO NO NO
UN ID_UN Numérico 9 NO NO NO NO
TRIMESTRE TRIMESTRE_ING_UN Numérico 1 TRIMES_ACTUAL NO NO NO NOCANTIDAD VENDIDA O ENTREGADA CANTIDAD_VEND_ING_UN Numérico 9 1 NO NO NO NO
UNIDAD DE MEDIDA ID_UM Alfanumérico 2 SI NO NO NO
PRECIO UNITARIO PU_ING_UN Numérico 9 1 NO NO NO NO
VALOR PRODUCIDO VALOR_PROD_ING_UN Numérico 9 1 NO NO NO NO
DESTINO DE LA PRODUCCION ID_DESTINO_PRODUCCION Alfanumérico 15 SI NO NO NO
INGRESOS DE UNIDAD DE NEGOCIO
PRODUCTOS Y/O SERVICIOS PROD_SERV_ING_UN Alfabético 30 NO NO NO NOIDENTIFICADOR DE MAQUINARIAS ID_MAQ Numérico 9 NO NO NO NO
RUT EMPRESA RUT_EMPRESA Numérico 8 NO NO NO NO
AÑO AÑO_MAQ Numérico 4 AÑO_ACTUAL NO NO NO NO
TIPO TIPO_MAQ Alfabético 20 SI NO NO NO
NUMERO MAQUINARIA N_MAQ_MAQ Alfanumérico 9 NO NO NO NO
MARCA MARCA_MAQ Alfabético 20 SI NO NO NO
EDAD EDAD_MAQ Numérico 2 1 NO NO NO NO
VIDA UTIL RESTANTE VIDA_UTIL_MAQ Numérico 2 1 NO NO NO NO
MAQUINARIAS Y EQUIPOS DE INVENTARIO
ESTADO ESTADO_MAQ Alfabético 20 SI NO NO NO
74
VALOR DEL REGISTRO VALOR_REGISTRO_MAQ Numérico 9 0 NO NO NO NO
OPERADOR ID_OPERADOR Alfanumérico 4 NO NO NO NOOPERADORES
NOMBRE NOMBRE_OPERADOR Alfabético 40 NO NO NO NO
IDENTIFICADOR DE OTROS ACTIVOS DE INVENTARIO ID_OTROS_ACT_INV Numérico 9 NO NO NO NO
RUT EMPRESA RUT_EMPRESA Numérico 8 NO NO NO NO
AÑO AÑO_OTROS_ACT Numérico 4 AÑO_ACTUAL NO NO NO NO
TIPO TIPO_OTRO_ACT Alfabético 20 SI NO NO NO
NUMERO OTRO ACTIVO N_OTRO_ACT Numérico 4 NO NO NO NO
MARCA MARCA_OTRO_ACT Alfabético 20 SI NO NO NO
EDAD EDAD_OTRO_ACT Numérico 2 1 NO NO NO NO
VIDA UTIL RESTANTE VIDA_UTIL_OTRO_ACT Numérico 2 1 NO NO NO NO
ESTADO ESTADO_OTRO_ACT Alfabético 20 SI NO NO NO
OTROS ACTIVOS DE INVENTARIO
VALOR DE REGISTRO VALOR_REG_OTRO_ACT Numérico 9 NO NO NO NO
IDENTIFICADOR DE PROBLEMAS DE EMPRESA ID_PROB Numérico 9 NO NO NO NO
RUT EMPRESA RUT_EMPRESA Numérico 8 NO NO NO NO
AÑO AÑO_PROB Numérico 4 AÑO_ACTUAL NO NO NO NO
TIPO PROBLEMA ID_TIPO_PROBLEMA Alfanumérico 4 NO NO NO NO
DESCRIPCION DESCRIP_PROB Alfabético 30 NO NO NO NO
SOLUCION SOL_PROB Alfabético 80 SI NO NO NO
PROBLEMAS DE EMPRESA
ESTADO ID_ESTADO_PROB Alfabético 4 NO NO NO NO
PROVINCIA ID_PROVINCIA Alfanumérico 4 NO NO NO NO
REGION ID_REGION Alfanumérico 2 NO NO NO NOPROVINCIAS
NOMBRE NOMBRE_PROVINCIA Alfabético 20 NO NO NO NO
IDENTIFICAOR DE RECURDOS HUMANOS ID_RRHH Numérico 9 NO NO NO NO
RUT EMPRESA RUT_EMPRESA Numérico 8 NO NO NO NO
AÑO AÑO_RRHH Numérico 4 AÑO_ACTUAL NO NO NO NO
NUMERO DE PRESIDENTES N_PRE_RRHH Numérico 2 0 NO NO NO NO
NUMERO DE GERENTES N_GER_RRHH Numérico 2 0 NO NO NO NONUMERO DE ADMINISTRADORES N_ADM_RRHH Numérico 2 0 NO NO NO NO
NUMERO DE SECRETARIAS N_SEC_RRHH Numérico 3 0 NO NO NO NO
NUMERO DE CONTADORES N_CON_RRHH Numérico 2 0 NO NO NO NO
NUMERO DE PROFESIONALES N_PRO_RRHH Numérico 3 0 NO NO NO NO
NUMERO DE TECNICOS N_TEC_RRHH Numérico 3 0 NO NO NO NO
NUMERO DE OBREROS N_OBR_RRHH Numérico 4 0 NO NO NO NONUMERO DE OTROS FUNCIONARIOS N_OTR_RRHH Numérico 4 0 NO NO NO NO
CANTIDAD POR PRESIDENTES C_PRE_RRHH Numérico 9 0 NO NO NO NO
CANTIDAD POR GERENTES C_GER_RRHH Numérico 9 0 NO NO NO NOCANTIDAD POR ADMINISTRADORES C_ADM_RRHH Numérico 9 0 NO NO NO NO
RECURSOS HUMANOS DE
EMPRESA
CANTIDAD POR SECRETARIAS C_SEC_RRHH Numérico 9 0 NO NO NO NO
75
CANTIDAD POR CONTADORES C_CON_RRHH Numérico 9 0 NO NO NO NOCANTIDAD POR PROFESIONALES C_PRO_RRHH Numérico 9 0 NO NO NO NO
CANTIDAD POR TECNICOS C_TEC_RRHH Numérico 9 0 NO NO NO NO
CANTIDAD POR OBREROS C_OBR_RRHH Numérico 9 0 NO NO NO NO
CANTIDAD POR OTROS FUNCIONARIOS C_OTR_RRHH Numérico 9 0 NO NO NO NO
REGION ID_REGION Alfanumérico 4 NO NO NO NOREGIONES
NOMBRE NOMBRE_REGION Alfabético 20 NO NO NO NO
RUT RUT_REP Numérico 8 NO NO NO NO
DIGITO DIG_REP Alfanumerico 1 NO NO NO NOREPRESENTANTE DE
EMPRESA
NOMBRE NOMBRE_REP Alfabético 40 NO NO NO NO
IDENTIFICADOR DE SITUACION ID_SIT Numerico 9 NO NO NO NO
RUT EMPRESA RUT_EMPRESA Numérico 8 NO NO NO NO
AÑO AÑO_SIT Numérico 4 AÑO_ACTUAL NO NO NO NO
TRIMESTRE TRIMESTRE_SIT Numérico 1 TRIMES_ACTUAL NO NO NO NO
ESTADO DE RESULTADOS EST_RES_SIT Numérico 1 0 NO SI NO NOESTADO DE RESULTADOS POR UN EST_RES_UN_SIT Numérico 1 0 NO SI NO NO
BALANCE BALANCE_SIT Numérico 1 0 NO SI NO NO
BALANCE POR UN BALANCE_UN_SIT Numérico 1 0 NO SI NO NOPLANILLAS DE PAGO AFP O ISAPRES PLANILLAS_SIT Numérico 1 0 NO NO NO NO
CONTRATOS DE PERSONAL ACTUALIZADOS CONTRATOS_SIT Numérico 1 0 NO NO NO NOCOMPROBANTES DE PAGOS DE SUELDOS Y SALARIOS AL DIA COMPROBANTES_SIT Numérico 1 0 NO NO NO NO
DECLARACION DE RENTA DECLARACION_SIT Numérico 1 0 NO NO NO NO
IVA ACTUALIZADO IVA_SIT Numérico 1 0 NO NO NO NO
LIBRO DE ACTA LIBRO_SIT Numérico 1 0 NO NO NO NOREGISTRO ACTUALIZADO DE SOCIOS REGISTRO_SOCIOS_SIT Numérico 1 0 NO NO NO NO
ESTATUTOS ESTATUTOS_SIT Numérico 1 0 NO NO NO NO
ORGANIGRAMA ORGANIGRAMA_SIT Numérico 1 0 NO NO NO NO
SISTEMA DE INFORMACION DE COSTOS SISTEMA_INF_COSTOS_SIT Numérico 1 0 NO NO NO NO
SITUACION DE EMPRESA
INVENTARIO AL DIA INVENTARIO_SIT Numérico 1 0 NO SI NO NO
IDENTIFICADOR DE TERRENO ID_TER Numérico 9 NO NO NO NO
RUT EMPRESA RUT_EMPRESA Numérico 8 NO NO NO NO
AÑO AÑO_TER Numérico 4 AÑO_ACTUAL NO NO NO NO
TIPO TIPO_TER Alfanumérico 40 NO NO NO NO
SUPERFICIE SUPERFICIE_TER Numérico 9 1 NO NO NO NO
USOS USOS_TER Alfabético 40 SI NO NO NO
TERRENOS DE INVENTARIO
VALORES DE REGISTRO VALORES_TER Numérico 9 0 NO NO NO NO
TIPO DE CLASIFICACION ID_TIPO_CLASIFICACION Alfanumérico 4 NO NO NO NOTIPOS DE CLASIFICACION
DESCRIPCION DESCRIP_TIPO_CLAS Alfabético 20 NO NO NO NO
TIPOS DE ESTADO TIPO DE ESTADO ID_TIPO_ESTADO Alfabético 4 NO NO NO NO
76
DESCRIPCION DESCRIP_TIPO_EST Alfabético 20 NO NO NO NO
TIPO DE PROBLEMA ID_TIPO_PROBLEMA Alfanumérico 4 NO NO NO NOTIPOS DE PROBLEMAS
NOMBRE NOMBRE_TIPO_PROBLEMA Alfabético 20 NO NO NO NO
TIPO DE UN ID_TIPO_UN Alfanumérico 4 NO NO NO NOTIPOS DE UNIDADES DE NEGOCIO
DESCRIPCION DESCRIP_TIPO_UN Alfabético 20 NO NO NO NO
TIPO USUARIO ID_TIPO_USUARIO Alfanumérico 4 NO NO NO NOTIPOS DE USUARIOS
NOMBRE NOMBRE_TIPO_USUARIO Alfabético 20 NO NO NO NO
UM ID_UM Alfanumérico 4 NO NO NO NOUNIDAD DE MEDIDA
NOMBRE NOMBRE_UM Alfabético 20 NO NO NO NO
UN ID_UN Numérico 9 NO NO NO NO
NOMBRE NOMBRE_UN Alfabético 20 NO NO NO NO
RUT EMPRESA RUT_EMPRESA Numérico 8 NO NO NO NO
UNIDAD DE NEGOCIO
TIPO UN ID_TIPO_UN Alfanumérico 2 NO NO NO NO
PRIMER NOMBRE P_NOM_USU Alfabético 10 NO NO NO NO
SEGUNDO NOMBRE S_NOM_USU Alfabético 10 NO NO NO NO
APELLIDO PATERNO AP_PAT_USU Alfabético 10 NO NO NO NO
APELLIDO MATERNO AP_MAT_USU Alfabético 10 NO NO NO NO
USERNAME USERNAME Alfanumérico 10 NO NO NO NO
PASSWORD PASSWORD Alfanumerico 8 NO NO NO NO
OTROS OTROS_USU Alfanumérico 20 SI NO NO NO
USUARIOS
TIPO USUARIO ID_TIPO_USUARIO Alfanumérico 4 NO NO NO NO
IDENTIFICADOR DE VENCIMIENTO DE PCP ID_VENC_PCP Numérico 9 NO NO NO NO
RUT EMPRESA RUT_EMPRESA Numérico 8 NO NO NO NO
AÑO AÑO_VENC_PCP Numérico 4 AÑO_ACTUAL NO NO NO NO
MES MES_PCP Numérico 1 MES_ACTUAL NO NO NO NOCREDITO CORTO PLAZO CON INDAP CRED_CP_INDAP_PCP Numérico 9 0 NO NO NO NOCREDITO CORTO PLAZO CON BANCOS CRED_CP_BANCOS_PCP Numérico 9 0 NO NO NO NOCREDITO LARGO PLAZO PORCION CIRCULANTE CON INDAP CRED_LP_PC_INDAP_PCP Numérico 9 0 NO NO NO NOCREDITO LARGO PLAZO PORCION CIRCULANTE CON BANCOS CRED_LP_PC_BANCOS_PCP Numérico 9 0 NO NO NO NO
DIVIDENDOS POR PAGAR DIVIDENDOS_PAGAR_PCP Numérico 9 0 NO NO NO NO
OBLIGACIONES CON OTRAS INSTITUCIONES OBLIGACIONES_PCP Numérico 9 0 NO NO NO NO
CUENTAS POR PAGAR CUENTAS_PAGAR_PCP Numérico 9 0 NO NO NO NO
ACREEDORES VARIOS ACREEDORES_PCP Numérico 9 0 NO NO NO NO
DOCUMENTOS POR PAGAR DOCUMENTOS_PAGAR_PCP Numérico 9 0 NO NO NO NO
PROVISIONES PROVISIONES_PCP Numérico 9 0 NO NO NO NO
RETENCIONES RETENSIONES_PCP Numérico 9 0 NO NO NO NOOTROS PASIVOS CIRCULANTES OTROS_PC_PCP Numérico 9 0 NO NO NO NO
VENCIMIENTO DE LOS PASIVOS DE CORTO PLAZO
TOTAL PASIVOS CIRCULANTES TOTAL_PASIV_CIRC_PCP Numérico 9 0 NO NO NO NO
77
IDENTIFICADOR DE VENCIMIENTO DE PLP ID_VENC_PLP Numérico 9 NO NO NO NO
RUT EMPRESA RUT_EMPRESA Numérico 8 NO NO NO NO
AÑO AÑO_PLP Numérico 4 AÑO_ACTUAL NO NO NO NO
AÑO DESCRITO AÑO_DESCRITO_PLP Numérico 4 AÑO_ACTUAL NO NO NO NO
OBLIGACIONES CON INDAP OBLIGACIONES_PLP Numérico 9 0 NO NO NO NOOBLIGACIONES CON BANCOS E INSTITUCIONES FINANCIERAS OBLIGACIONES_BANCOS_PLP Numérico 9 0 NO NO NO NO
OBLIGACIONES CON OTRAS INSTITUCIONES OBLIGACIONES_INSTITU_PLP Numérico 9 0 NO NO NO NO
ACREEDORES VARIOS ACREEDORES_VARIOS_PLP Numérico 9 0 NO NO NO NO
DOCUMENTOS POR PAGAR DOCUMENTOS_PAGAR_PLP Numérico 9 0 NO NO NO NO
PROVISIONES PROVISIONES_PLP Numérico 9 0 NO NO NO NOOTROS PASIVOS A LARGO PLAZO OTROS_PASIV_PLP Numérico 9 0 NO NO NO NO
VENCIMIENTO DE LOS PASIVOS DE
LARGO PLAZO
TOTAL PASIVOS LARGO PLAZO TOTAL_PLP_PLP Numérico 9 0 NO NO NO NO
Leyenda
ABREVIACION DESCRIPCION T TAMAÑO N VALOR NULO D DERIVADO M MULTIVALORICO C COMPUESTO
Tabla 4: Tabla de detalle de atributos con su leyenda.
78
6.2.2.1.1.1.4 Determinación de dominios de los atributos
El dominio consiste en un rango o conjunto de valores que puede tomar
cierto atributo. En esta etapa se definen las características de los atributos.
Los resultados de esta etapa se pueden visualizar en las siguientes tablas:
NOMBRE FORMATO DESCRIPCION RANGO EJEMPLOS
D_RUT 9(8) 13121855, 11111111
D_DIGITO 9 o "K" desde 0 a 9 y carácter K 2,5,K
D_NOMBRE AP_PAT AP_MAT P_NOM S_NOM
Barria Asencio Pablo Andrés
AP_PAT X(10) donde X es Afabético Barrientos, Carcamo, Soto
AP_MAT X(10) donde X es Alfabético Andrade, Olavarría, González
P_NOM X(10) donde X es Alfabético Sergio, Pablo, Luisa
S_NOM X(10) donde X es Alfabético Valeria, Pedro, José
D_AÑO 9(4) 1998,2005,2000
D_MES 9(2) donde X es Numérico desde 0 hasta 12 2,3,6
D_ALFA X(?) donde X es Alfabético desde a hasta z y A hasta Z Panguipulli, Lanco, Francia
D_BETA D_ALFA [|+" "+ D_ALFA|(?)]
D_TRIMESTRE 9 donde X es Numérico desde 1 a 3 2,3,1
D_CELULAR 9(8) donde X es Numérico 4708936
D_COD_FONO 9(3) donde X es Numérico 65,9,2
D_FONO 9(6) donde X es Numérico 259053, 321145, 112233
D_FONOS
|[D_COD_FONO + "-" +] D_CELULAR o D_FONO [+" " + / + " "]|(?)
65-259053, 2-2344567 / 201156
D_NUMERO 9(?) 20, 345, 67889
D_DINERO [-]D_NUMERO -23456, 4567, -56
D_CADENA X(?) 05, A45, Activo 123D
D_BOOLEAN 0 o 1 0 = NO ; 1 = SI
D_PORC 9,99 desde 0,00 a 1,00 0,12 ; 0,34; 0,01
79
Leyenda
ITEM DESCRIPCION X Cualquier carácter 9 Solo números
Z Muestra los ceros a la izquierda como espacios
, Inserta comas . Inserta puntos / Muestra diagonal - Muestra un guión () Repeticiones [] Opcional + Concatena || Agrupa ? Valor variable O O Lógico D_ DOMINIO
Tabla 5: Tabla de detalle de los dominios determinados y su leyenda.
80
6.2.2.1.1.1.5 Identificación de claves candidatas y claves primarias
Las claves candidatas o alternas son atributos únicos, que no se repiten
entre tuplas. Del conjunto de claves candidatas se selecciona la clave primaria,
la cual permite acceder en forma unívoca a la fila de una tabla.
Los resultados de esta etapa pueden visualizarse en la siguiente tabla.
CLAVES PRIMARIAS Y CANDIDATAS
ENTIDAD CLAVE PRIMARIA CLAVES CANDIDATAS ADMINISTRADOR DE
EMPRESA RUT_ADMIN RUT_ADMIN, NOMBRE_ADMIN
AREAS ID_AREA ID_AREA+ID_REGION, ID_AREA BALANCE DE UNIDAD
DE NEGOCIO ID_BALANCE_UN ID_BALANCE, RUT_EMPRESA+AÑO+UN
BALANCES DE EMPRESA
ID_BALANCE ID_BALANCE, RUT_EMPRESA+AÑO
CIUDADES ID_CIUDAD ID_CIUDAD, NOMBRE_CIUDAD, CLASE DE UNIDAD DE
NEGOCIO ID_CLASE_UN ID_CLASE_UN, NOMBRE_CLASE_UN
COMUNAS ID_COMUNA ID_COMUNA, NOMBRE_COMUNA CONSTRUCCION E
INFRAESTRUCTURA DE INVENTARIO
ID_CONSTRUC ID_CONTRUC, RUT_EMPRESA+AÑO_CONSTRUC
COSTOS DE EMPRESA ID_COSTOS RUT_EMPRESA+AÑO_COSTOS+TRIMESTRE_COSTOS, ID_COSTOS
COSTOS DE UNIDAD DE NEGOCIO
ID_COSTOS_UN RUT_EMPRESA+AÑO_COSTOS+TRIMESTRE_COSTOS+ID_UN, ID_COSTOS
DESTINO DE LA PRODUCCION
ID_DESTINO_PROD ID_DESTINO_PROD, NOMBRE_DESTINO_PROD
EMPRESAS RUT_EMP RUT_EMP, NOMBRE_EMP ESTADO DE
RESULTADO DE EMPRESA
ID_EST_RES RUT_EMPRESA+AÑO_EST_RES+TRIMESTRE_EST_RES, ID_EST_RES
ESTADO DE RESULTADO DE
UNIDAD DE NEGOCIO ID_EST_RES_UN RUT_EMPRESA+AÑO_EST_RES+TRIMESTRE_EST_RES+ID_UN,
ID_EST_RES
GRUPOS DE TRABAJO ID_GRUPO ID_GRUPO, NOMBRE_GRUPO, NOMBRE_GRUPO+ID_OPERADOR, ID_GRUPO+ID_OPERADOR
INGRESOS DE EMPRESA
ID_ING RUT_EMPRESA+AÑO_ING+TRIMESTRE_ING, ID_ING
INGRESOS DE UNIDAD DE NEGOCIO
ID_ING_UN ID_ING_UN, RUT_EMPRESA_UN+AÑO_ING_UN+TRIMESTRE_ING_UN
81
MAQUINARIAS Y EQUIPOS DE INVENTARIO
ID_MAQ ID_MAQ, RUT_EMPRESA+AÑO_MAQ
OPERADORES ID_OPERADOR ID_OPERADOR, NOMBRE_OPERADOR OTROS ACTIVOS DE
INVENTARIO ID_OTROS_ACT ID_OTROS_ACT, RUT_EMPRESA+AÑO_OTROS_ACT
PROBLEMAS DE EMPRESA
ID_PROB ID_PROB, RUT_EMPRESA+AÑO_PROB, DESCRIP_PROB
PROVINCIAS ID_PROVINCIA ID_PROVINCIA, NOMBRE_PROVINCIA, ID_PROVINCIA+ID_REGION
RECURSOS HUMANOS DE EMPRESA
ID_RRHH ID_RRHH, RUT_EMPRESA+AÑO_RRHH
REGIONES ID_REGION ID_REGION, NOMBRE_REGION REPRESENTANTE DE
EMPRESA RUT_REP RUT_REP, NOMBRE_REP
SITUACION DE EMPRESA
ID_SIT ID_SIT, RUT_EMPRESA+AÑO_SIT+TRIMESTRE_SIT
TERRENOS DE INVENTARIO
ID_TER ID_TER, RUT_EMPRESA+AÑO_TER
TIPOS DE CLASIFICACION
ID_TIPO_CLASIFICACION ID_TIPO_CLASIFICACION, DESCRIP_TIPO_CLAS
TIPOS DE ESTADO ID_TIPO_ESTADO ID_TIPO_ESTADO, DESCRIP_TIPO_EST TIPOS DE PROBLEMAS ID_TIPO_PROBLEMA ID_TIPO_PROBLEMA, NOMBRE_TIPO_PROBLEMA TIPOS DE UNIDADES
DE NEGOCIO ID_TIPO_UN ID_TIPO_UN, DESCRIP_TIPO_UN, ID_TIPO_UN+ID_CLASE_UN
TIPOS DE USUARIOS ID_TIPO_USUARIO ID_TIPO_USUARIO, NOMBRE_TIPO_USUARIO UNIDAD DE MEDIDA ID_UM ID_UM, NOMBRE_UM
UNIDAD DE NEGOCIO ID_UN ID_UN, NOMBRE_UN, ID_UN+RUT_EMPRESA, NOMBRE_UN+RUT_EMPRESA
USUARIOS USERNAME USERNAME, P_NOM_USU+S_NOM_USU+AP_PAT_USU+AP_MAT_USU, USERNAME+PASSWORD
VENCIMIENTO DE LOS PASIVOS DE CORTO
PLAZO ID_VENC_PCP ID_VENC_PCP, RUT_EMPRESA+AÑO_VENC_PCP+MES_PCP
VENCIMIENTO DE LOS PASIVOS DE LARGO
PLAZO ID_VEC_PLP ID_VENC_PLP,
RUT_EMPRESA+AÑO_VENC_PLP+AÑO_DESCRITO_PLP
Tabla 6: Tabla de detalle de las claves primarias y candidatas.
82
6.2.2.1.1.1.6 Especializar y/o Generalizar tipos de entidades (Opcional)
En esta etapa no se encontraron entidades que deban ser
Especializadas y/o Generalizadas por lo cual no es necesario documentar en
esta sección.
83
6.2.2.1.1.1.7 Modelo conceptual Entidad Relación
Balances UN
Balances EAC
Clases de UN
Construcciones eInfraestructuras
Invent.
Costos de EAC
Costos de UN
Destino Producción
Estados deResultados EAC
Estados deResultados UN
Grupos
Ingresos de EAC
Ingresos de Un
Maquinarias YEquipos de Invent.
Operadores
Otros Activos deInventario
Problemas deEAC
Recursos Humanosde EAC
Representantes
Situaciones
Terrenos deInventario
Tipos deClasificación
Tipos de Estados
Tipos de Problemas
Tipos de UN
Tipos de Usuarios
Unidades de Medida
Unidades deNegocio
Usuarios(Propietario)
Vencimiento PasivosCorto Plazo
Vencimiento PasivosLargo Plazo
Tiene
Tiene
Tiene
Tiene
Tiene
Tiene
Tiene
Tiene
Tiene
Tiene
Tiene
Tiene
Tiene
Tiene
Tiene
Tiene
Tiene
Tiene
Tiene
Tiene
Tiene
Tiene
Tiene
Tiene
Tiene
Tiene
Tiene
Administradores
Areas
Ciudades
Comunas
Empresas
Provincias
Regiones
Tiene
Tiene
Tiene
Tiene
Tiene Tiene
Tiene
Tiene
Tiene
Tiene
Tiene
Tiene
Tiene
Figura 11: Modelo E-R preliminar.
84
Nota: Dada la complejidad visual del diagrama anterior (ver figura 14), no se
graficaron las relaciones redundantes nombradas en la tabla 9 y descartadas en
la sección 6.2.2.1.2.2, ítem (g).
Esto último, porque el incluir las relaciones redundantes en el modelo ER
dificultarían el entendimiento del mismo.
85
6.2.2.1.2 Diseño de base de datos lógico
Tomando el esquema de la base de datos de la fase de Diseño
Conceptual, esta fase produce un diseño que se acerca más a la
implementación en un Sistema Manejador de Base de Datos. En esencia esta
fase transforma el modelo Entidad - Relación en tablas que podrán ser
implementadas en un sistema manejador de base de datos particular. El modelo
de datos que usaremos para esta etapa es el modelo ELKA(EntityLink Key
Attribute). Una vez que el modelo Entidad - Relación es transformado a tablas y
produce el modelo ELKA, se eliminan ciertas anomalías, debidas principalmente
a la redundancia, el proceso a través del cuál se da esto se conoce como
NORMALIZACIÓN.
Es importante comentar que el proceso de NORMALIZACIÓN es un
Medio y no un Fin.
86
6.2.2.1.2.1 Construcción y validación del modelo de datos lógico local
para cada vista de usuario
El objetivo de esta etapa es construir un modelo de datos lógico para
cada vista de usuario y después realizar la validación de este modelo utilizando
normalización.
6.2.2.1.2.2 Transformación del modelo de datos local conceptual al
modelo lógico local
En esta etapa se persigue el refinamiento del modelo de datos
conceptual local, removiendo las características no deseables y luego
transformando este modelo al modelo de datos lógico local. Para esto se deben
realizar los siguientes pasos:
a) Eliminar relaciones de mucho a mucho
b) Eliminar relaciones mucho a mucho complejas de tres o más entidades
c) Eliminar relaciones recursivas
d) Eliminar relaciones con atributos
e) Eliminar atributos multivalóricos
f) Reexaminar relaciones de uno a uno
g) Eliminar relaciones redundantes
87
Una vez realizado este proceso se encontraron y solucionaron las
anomalías representadas en las siguientes figuras:
a) Eliminar relaciones de mucho a mucho
Relación Mucho a Mucho por corregir:
RepresentantesTieneEmpresas
Relación corregida:
RepresentantesTieneEmpresas REL_EMP_REP Tiene
Relación Mucho a Mucho por corregir:
ComunasTieneAreas
Relación corregida:
ComunasTieneAreas REL_AREA_COM Tiene
Figura 12: Transformación de Relaciones.
88
b) Eliminar relaciones mucho a mucho complejas de tres o más entidades
c) Eliminar relaciones recursivas
d) Eliminar relaciones con atributos
e) Eliminar atributos multivalóricos
f) Reexaminar relaciones de uno a uno
Se realizaron estas revisiones, pero no se encontraron entidades con estas
situaciones.
g) Eliminar relaciones redundantes
La relaciones redundantes son relaciones cuyo contenido puede ser
extraído desde otras relaciones. Esto último las hace parecer inútiles a
simple vista por el volumen de datos que ocupan.
Pero la redundancia de algunas de estas relaciones aportan un mejor
rendimiento a la Base de Datos en lo que a consultas se refiere, por lo cual,
no todas las relaciones redundantes son eliminadas.
89
Las relaciones redundantes son:
PARTICIPACION ID TIPO ENTIDAD RELACION TIPO ENTIDAD CARD.
MIN MAX MIN MAX TIPO Tiene CIUDADES 1:M 0 N 1 1 O:M
1 AREA Pertenece a PROVINCIA 1:1 1 1 0 N M:O
Pertenece a AREA 1:1 1 1 0 N M:O Pertenece a PROVINCIA 1:1 1 1 0 N M:O 2 CIUDAD Pertenece a REGION 1:1 1 1 0 N M:O
3 CLASE DE UN Tiene UNIDADES DE NEGOCIO 1:M 0 N 1 1 O:M
Tiene EMPRESAS 1:M 0 N 1 1 O:M
4 COMUNA Pertenece a REGION 1:1 1 1 0 N M:O
Pertenece a COMUNA 1:1 1 1 0 N M:O
Pertenece a PROVINCIA 1:1 1 1 0 N M:O 5 EMPRESAS
Pertenece a REGION 1:1 1 1 0 N M:O
Tiene CIUDADES 1:M 0 N 1 1 O:M 6 PROVINCIAS
Tiene EMPRESAS 1:M 0 N 1 1 O:M
Tiene CIUDADES 1:M 0 N 1 1 O:M
Tiene COMUNAS 1:M 0 N 1 1 O:M 7 REGION
Tiene EMPRESAS 1:M 0 N 1 1 O:M
8 UN Pertenece a CLASE DE
UNIDAD DE NEGOCIO
1:1 1 1 0 N M:O
Tabla 7: Tabla que refleja las relaciones redundantes.
90
Descripción de resultados: Se obvian las relaciones, porque existen
conexiones mediante las relaciones:
Relación 1, Area con:
a) CIUDAD: area-comuna, comuna-ciudad.
b) PROVINCIA: area-comuna, comuna-provincia.
Relación 2, Ciudad:
a) AREA: ídem a (Relación 1, a).
b) PROVINCIA: ciudad-comuna, comuna-provincia.
c) REGION: ciudad-comuna, comuna-provincia, provincia-región.
Relación 3, Clase de UN:
a) UN: clase_un-tipo_un, tipo_un-un.
Relación 4, Comuna:
a) EMPRESAS: comuna-ciudad, ciudad-empresa.
b) REGION: comuna-provincia, provincia-región.
91
Relación 5, Empresas:
a) COMUNA: ídem a (Relación 4,a).
b) PROVINCIA: empresa-ciudad, ciudad_comuna, comuna-provincia.
c) REGION: (2 rutas)
i. Empresa-area, area-región. (más corta)
ii. Empresa-ciudad, ciudad-comuna, comuna-provincia,
provincia-región.
Relación 6, Provincia con:
c) CIUDAD: ídem a (Relación 2,b)..
d) EMPRESA: ídem a (Relación 5,b).
Relación 7, Región:
d) CIUDAD: ídem a (Relación 2,c).
e) COMUNAS: ídem a (Relación 4,b).
f) EMPRESAS: ídem a (Relación 5,c).
Relación 8, UN:
g) CLASE_UN: un-tipo_un, tipo_un-clase_un.
92
Nota: Las relaciones transitivas que sirven para llegar desde una entidad a otra
son del tipo mandatorio, por lo cual la ruta que se sigue es única para cada
instancia desde la entidad inicial a la final.
Ejemplo desde Ciudad a Región (Relación 2, letra c):
Toda Ciudad pertenece a una Comuna y es única. Toda Comuna pertenece a
una Provincia y es única. Toda Provincia pertenece a una Región y es única.
Por esto último una ciudad pertenece a una Región y es única. (Proveniente de
los padres sucesivos)
93
6.2.2.1.2.1.2 Derivación de relaciones del modelo de datos lógico local
El objetivo de esta etapa es derivar relaciones del modelo de datos lógico
local, para esto se describen las relaciones utilizando lenguaje de definición de
base de datos (DBDL) o DataBase Definition Language.
La relación entre entidades se refleja por el mecanismo de clave primaria
/ clave foránea. Se deben identificar las entidades padre e hijo. La entidad
padre almacena su clave primaria como clave foránea en la entidad hijo.
Formato de documentación de la etapa:
Nombre_relacionA(atributo_1,atributo_2,...,atributo_N)
Primary Key (atributo_X)
Alternate Key (atributo_Y)
Foreign Key atributo_Z references Nombre_relacionB (atributo_Z)
Nota: Por la gran cantidad de atributos de algunas de las relaciones se utilizará
el símbolo * (asterisco) para representarlos.
Por ejemplo:
Se describe la relación Balances_de_EMP (id_balance, rut_empresa,
año_bal, disponible_caja_bal, disponible_bancos_bal, *), por lo cual se asume
que la relación tiene más atributos y están implícitamente incluidos.
94
Administrador_de_empresa (rut_admin, dig_admin, nombre_admin)
Primary Key (rut_admin)
Areas (id_area, id_region, nombre_area)
Primary Key (id_area)
Foreign Key id_region references Regiones (id_region)
Balances_de_UN (id_balance_un, año_bal_un, id_un, disponible_caja_bal_un,
disponible_bancos_bal_un, *)
Primary Key (id_balance_un)
Foreign Key id_un references UN (id_un)
Balances_de_EMP (id_balance, rut_empresa, año_bal, disponible_caja_bal,
disponible_bancos_bal, *)
Primary Key (id_balance)
Foreign Key rut_empresa references Empresas (rut_empresa)
Ciudades (id_ciudad, nombre_ciudad, id_comuna)
Primary Key (id_ciudad)
Foreign Key id_comuna references Comunas (id_comuna)
95
Clases_de_UN (id_clase_un, nombre_clase_un)
Primary Key (id_clase_un)
Comunas (id_comuna, nombre_comuna, id_provincia)
Primary Key (id_comuna)
Foreign Key id_provincia references Provincias (id_provincia)
Construc_inv (id_construc, rut_empresa, año_construc, tipo_construc, *)
Primary Key (id_construc)
Foreign Key rut_empresa references Empresas (rut_empresa)
Costos_de_EMP (id_costos, rut_empresa, año_costos, trimestre_costos,
invent_inic_mp_costos, *)
Primary Key (id_costos)
Foreign Key rut_empresa references Empresas (rut_empresa)
Costos_de_UN (id_costos_un, id_un, año_costos_un, trimestre_costos_un,
invent_inic_mp_costos_un, …)
Primary Key (id_costos_un)
Foreign Key id_un references UN (id_un)
96
Destino_de_Prod (id_destino_prod, nombre_destino_prod)
Primary Key (id_destino_prod)
Empresas (rut_empresa, digito_emp, nombre_emp, razon_soc_emp,
fecha_const_emp, fono_emp, fax_emp, id_ciudad, id_area, calle_emp,
numero_emp, oficina_emp, piso_emp, id_grupo, id_operador,
giro_comerc_emp, fecha_inic_emp, n_socios_emp, n_mujeres_emp,
n_jovenes_emp, n_etnia_emp, veces_moro_emp, veces_condo_emp,
veces_reneg_emp, id_tipo_cla, id_usuario, id_administrador, *)
Primary Key (rut_empresa)
Foreign Key id_ciudad references Ciudades (id_ciudad)
Foreign Key id_area references Areas (id_area)
Foreign Key id_grupo references Grupos (id_grupo)
Foreign Key id_operador references Operadores (id_operador)
Foreign Key id_tipo_cla references Tipos_clasificaciones (id_tipo_cla)
Foreign Key id_usuario references Usuarios (username)
Foreign Key id_administrador references Administradores (rut_admin)
97
Estado_res_EMP (id_est_res, rut_empresa, año_est_res, trimestre_est_res,
ingreso_explotacion_est_res, costo_explotacion_est_res, *)
Primary Key (id_est_res)
Foreign Key rut_empresa references Empresas (rut_empresa)
Estado_res_UN (id_est_res_un, id_un, año_est_res_un, trimestre_est_res_un,
ingreso_explotacion_est_res_un, costo_explotacion_est_res_un, *)
Primary Key (id_est_res_un)
Foreign Key id_un references UN (id_un)
Grupos (id_grupo, nombre_grupo)
Primary Key (id_grupo)
Ingresos_EMP (id_ing, rut_empresa, año_ing, trimestre_ing,
cantidad_vend_ing, id_um, id_destino_prod, *)
Primary Key (id_ing)
Foreign Key rut_empresa references Empresas (rut_empresa)
Foreign Key id_um references UM (id_um)
Foreign Key id_destino_prod references Destinos_produccion
(id_destino_prod)
98
Ingresos_UN (id_ing_un, id_un, año_ing_un, trimestre_ing_un,
cantidad_vend_ing_un, id_um, id_destino_prod, *)
Primary Key (id_ing)
Foreign Key id_un references UN (id_un)
Foreign Key id_um references UM (id_um)
Foreign Key id_destino_prod references Destinos_produccion
(id_destino_prod)
Maquinarias_inv (id_maq, rut_empresa, año_maq, tipo_maq, n_maq_maq,
marca_maq, edad_maq, vida_util_maq, estado_maq, valor_registro_maq)
Primary Key (id_maq)
Foreign Key rut_empresa references Empresas (rut_empresa)
Operadores (id_operador, nombre_operador)
Primary Key (id_operador)
Otros_activos_inv (id_otros_act, rut_empresa, año_otros_act, tipo_otro_act,
n_otro_activo, marca_otro_act, edad_otros_act, vida_util_otro_act,
estado_otros_act, valor_registro_otro_act)
Primary Key (id_otros_act)
Foreign Key rut_empresa references Empresas (rut_empresa)
99
Problemas_empresa (id_prob, rut_empresa, año_prob, id_tipo_prob,
descrip_prob, sol_prob, id_tipo_estado)
Primary Key (id_prob)
Foreign Key rut_empresa references Empresas (rut_empresa)
Foreign Key id_tipo_estado references Tipos_problemas (id_tipo_problema)
Foreign Key id_tipo_estado references Tipos_estado (id_tipo_estado)
Provincias (id_provincia, id_region, nombre_provincia)
Primary Key (id_provincia)
Foreign Key id_region references Regiones (id_region)
Recursos_humanos (id_rrhh, rut_empresa, año_rrhh, n_pre_rrhh, n_ger_rrhh,
*)
Primary Key (id_rrhh)
Foreign Key rut_empresa references Empresas (rut_empresa)
Regiones (id_region, nombre_region)
Primary Key (id_region)
Representantes (rut_rep, dig_rep, nombre_rep)
Primary Key (rut_rep)
100
REL_EMP_REP (rut_empresa, rut_rep)
Primary Key (rut_empresa, rut_rep)
Foreign Key rut_empresa references Empresas (rut_empresa)
Foreign Key rut_rep references Representantes (rut_rep)
Situacion_EMP (id_sit, rut_empresa, año_sit, trimestre_sit, est_res_sit, *)
Primary Key (id_sit)
Foreign Key rut_empresa references Empresas (rut_empresa)
Terrenos_inv (id_ter, rut_empresa, año_ter, tipo_ter, superficie_ter, usos_ter,
valores_ter)
Primary Key (id_ter)
Foreign Key rut_empresa references Empresas (rut_empresa)
Tipos_clasificaciones (id_tipo_cla, descrip_tipo_cla)
Primary Key (id_tipo_cla)
Tipos_estado (id_tipo_est, descrip_tipo_est)
Primary Key (id_tipo_est)
Tipos_problemas (id_tipo_pro, descrip_tipo_pro)
Primary Key (id_tipo_pro)
101
Tipos_UN (id_tipo_un, descrip_tipo_un)
Primary Key (id_tipo_un)
Tipos_usuario (id_tipo_usu, descrip_tipo_usu)
Primary Key (id_tipo_usu)
UM (id_um, descrip_um)
Primary Key (id_um)
UN (id_un, nombre_un, rut_empresa, id_tipo_un)
Primary Key (id_un)
Foreign Key rut_empresa references Empresas (rut_empresa)
Foreign Key id_tipo_un references Tipos_UN (id_tipo_un)
Usuarios (username, password, p_nom_usu, s_nom_usu, ap_pat_usu,
ap_mat_usu, otros_usu, id_tipo_usuario)
Primary Key (username)
Foreign Key id_tipo_usuario references Tipos_usuario (id_tipo_usu)
102
Venc_pcp (id_venc_pcp, rut_empresa, año_venc_pcp, mes_venc_pcp,
cred_cp_indap_pcp, cred_cp_bancos_pcp, *)
Primary Key (id_venc_pcp)
Foreign Key rut_empresa references Empresas (rut_empresa)
Venc_plp (id_venc_plp, rut_empresa, año_venc_plp, año_desc_venc_plp,
cred_cp_indap_plp, cred_cp_bancos_plp, *)
Primary Key (id_venc_plp)
Foreign Key rut_empresa references Empresas (rut_empresa)
103
6.2.2.1.2.1.3 Validación del modelo utilizando normalización
La normalización.
El modelo conceptual de datos obtenido mediante la técnica de entidad-
relación será refinado y convertido en un modelo lógico relacional, utilizando la
normalización, lo que ofrecerá como resultado el conjunto de tablas a
implementar en la base de datos (JACKSON, 1990; MIGUEL Y PIATTINI, 1993:
425-674). Su finalidad es reducir las inconsistencias y redundancias de los
datos, facilitar el mantenimiento y evitar las anomalías en las manipulaciones de
datos. El objetivo será obtener un modelo lógico normalizado que represente las
entidades normalizadas y las interrelaciones existentes entre ellas. Para ello, se
toma como punto teórico de partida el concepto de dependencia funcional, que
dice: "Un atributo B depende funcionalmente de otro atributo A, de la misma
entidad si a cada valor de A le corresponde sólo un valor de B." Lo anterior se
completa mediante la dependencia funcional completa y la dependencia
transitiva.
Todo el proceso se basa en que una primera relación universal plantearía
enormes problemas de redundancia, consistencia e integridad de los datos, por
lo que es necesario mejorar las relaciones. Estas mejoras deben dar como
resultado tablas equivalentes y mejores que sus respectivas originales, y poseer
siempre tres propiedades: conservación de la información (de atributos y de
104
tuplas), conservación de dependencias y mínima redundancia de los datos. Las
mejoras introducidas obligan a plantear hasta que Forma Normal es necesario
llegar, es decir, a que nivel de depuración. Normalmente, es recomendable
alcanzar la máxima Forma Normal, aunque luego es muy probable que
restricciones existentes, de algún tipo, obliguen a retroceder a un nivel inferior
de normalización, o incluso a cierto nivel de "desnormalización".
A continuación se describen las tres primeras formas normales
propuestas por EF. Codd.
Primera forma normal
Para que una relación esté en primera forma normal (1 FN), debe ser
solamente una relación propia, una matriz m por n, donde:
• Ninguna celda de la matriz está vacía;
• El valor n cualquier columna está definido por el dominio para dicho atributo.
• Cada tupla tiene una clave que la identifica en forma unívoca, pero dicha clave
no significa orden.
105
Segunda Forma Normal
Una relación está en segunda forma normal (2FN) solamente si todos los
atributos son dependientes en forma completa de la clave.
Su nombre ya nos indica el hecho de que la segunda forma normal es
por lo general el próximo paso de normalización y descomposición. Para ser
accesible a la normalización, y poder ser puesta en segunda forma normal, la
relación debe poseer las siguientes propiedades:
• Debe estar en primera forma normal
• Debe tener una clave compuesta.
La consecuencia inmediata de los requerimientos expresados más arriba
es que cualquier relación en primera forma normal que tiene una clave simple,
está automáticamente en segunda forma normal.
106
Tercera forma normal
Una relación se encuentra en tercera forma normal (3FN) si no existen
transitividades entre sus atributos y si ya se encuentra en 2 FN.
Descripción
Una relación R para ser puesta en tercera forma normal debe estar en la
segunda forma normal. Es muy común que R sea una sub-relación; la relación
original estaba en primera forma normal (para ponerla en segunda forma normal
fue descompuesta en varias sub-relaciones). Estas son ahora candidatas a una
descomposición adicional.
Recordamos que las propiedades de la segunda forma normal (2Fn) son:
• Tenemos una matriz m x n con un valor determinado para cada
componente de cada tupla.
• Cada valor es obtenido a partir de un dominio propiamente
definimos
• Cada valor contiene una clave, ya sea simple o compuesta
• Cada componente no clave es dependiente en forma completa
de su clave.
107
En consecuencia es evidente que tenemos, o bien una clave simple, o
una clave compuesta de la cual todos los componentes no clave son
dependientes en forma completa.
El objeto de esta fase es determinar todas las dependencias transitivas;
la descomposición producirá a continuación sub-relaciones para las cuales no
existirán dependencias transitivas
Nota: Las demás formas normales no se verificaron.
Resultado:
Dada la revisión de todas las tablas y verificando el cumplimiento de las
tres formas normales para cada una de ellas no se debieron realizar
modificaciones.
108
6.2.2.1.2.1.4 Validación del modelo contra las transacciones de usuarios
En esta etapa se debe verificar que el sistema soporta todos los
requerimientos de los usuarios. Para ello se deben desarrollar y comprobar que
las transacciones soportan todas las funciones del sistema solución.
La comprobación de esto se realiza formando una matriz entre
requerimientos y transacciones. La cual se analiza celda por celda, es decir, se
revisan todos los pares (Requerimiento, Transacción).
Cada requerimientos debe tener al menos una transacción asociada y se
debe revisar que todas las transacciones están bien definidas.
109
Los resultados de esta etapa se pueden visualizar en las siguientes
tablas:
ID DESCRIPCION TRANSACCION T-1 Ingreso de Empresa T-2 Ingreso de UN T-3 Ingreso de Región T-4 Ingreso de Ciudad T-5 Ingreso de Costos de empresa T-6 Ingreso de Representante T-7 Ingreso de REL_EMP_REP T-8 Ingreso de Recursos Humanos T-9 Ingreso de Vencimientos de Pasivos Corto Plazo
T-10 Ingreso Vencimiento de Pasivos Largo Plazo T-11 Ingreso de Situación de la empresa T-12 Ingreso de Problemas y Soluciones. T-13 Ingreso de Ingresos de EAC T-14 Ingreso de Estados de Resultados UN T-15 Ingreso de Balances EAC T-16 Búsqueda de Usuario valido T-17 Búsqueda de clasificación sintética de EAC T-18 Búsqueda de razones financieras
Tabla 8: Listado de las transacciones más importantes.
110
Mapeado de Transacciones que cumplen con los requerimientos más
importantes:
T / R R-2 R-3 R-5 R-6 R-25 R-26 R-28 R-29 R-30 R-31 R-33 R-34 R-38 R-40 R-41T-1 X X T-2 X X T-3 X T-4 X T-5 X T-6 X X T-7 X X T-8 X X T-9 X X
T-10 X X T-11 X X T-12 X X T-13 X X T-14 X X X T-15 X X T-16 X T-17 X X X T-18 X X X
Tabla 9: Tabla de Requerimientos con Transacciones relacionadas.
111
6.2.2.1.2.1.5 Diagrama ER final
Balances UN
Balances EAC
Clases de UN
Construcciones eInfraestructuras
Invent.
Costos de EAC
Costos de UN
Destino Producción
Estados deResultados EAC
Estados deResultados UN
Grupos
Ingresos de EAC
Ingresos de Un
Maquinarias YEquipos de Invent.
Operadores
Otros Activos deInventario
Problemas deEAC
Recursos Humanosde EAC
Representantes
Situaciones
Terrenos deInventario
Tipos deClasificación
Tipos de Estados
Tipos de Problemas
Tipos de UN
Tipos de Usuarios
Unidades de Medida
Unidades deNegocio
Usuarios(Propietario)
Vencimiento PasivosCorto Plazo
Vencimiento PasivosLargo Plazo
Tiene
Tiene
Tiene
Tiene
Tiene
Tiene
Tiene
Tiene
Tiene
Tiene
Tiene
Tiene
Tiene
Tiene
Tiene
Tiene
Tiene
Tiene
Tiene
Tiene
Tiene
Tiene
Tiene
Tiene
Tiene
Tiene
Tiene
Administradores
Areas
Ciudades
Comunas
Empresas
Provincias
Regiones
Tiene
Tiene
Tiene
Tiene
Tiene Tiene
Tiene
Tiene
Tiene
Tiene
Tiene
Tiene
Tiene
REL_AREA_COM
Tiene
TieneREL_EMP_REP
Figura 13: Diagrama ER final.
112
6.2.2.1.2.1.6 Definición de las limitaciones o restricciones de integridad
Las restricciones de integridad se utilizan para proteger la base de datos
de errores e inconsistencias. En esta etapa no se analizan las restricciones en
base a un DBMS específico, al contrario, sólo se analizan las reglas en forma
independiente
Los tipos de restricciones de integridad son los siguientes:
o Datos requeridos
o Restricciones de los dominios de los atributos
o Integridad de entidades
o Integridad Referencial
o Reglas de Negocio o de Empresa
113
6.2.2.1.2.1.6.1 Datos requeridos (por obligatoriedad o datos críticos)
Existen atributos en las relaciones que siempre deben tener un valor
válido. Para cumplir con esta regla se debe restringir el atributo para que no
quede en blanco, nulo o indefinido.
RESULTADOS:
Ver Tabla Nº 4, “Tabla de detalle de atributos con su leyenda”. Diseño
Conceptual de la Base de Datos”.
6.2.2.1.2.1.6.2 Restricciones de los dominios de los atributos
Cada atributo tiene un dominio, es decir, que todo atributo pertenece a un
dominio y éste a su vez es un conjunto válido de elementos. Estos elementos
pueden ser numéricos, alfanuméricos, alfabéticos, etc. Los dominios al ser
conjuntos deben cumplir con reglas de cerradura para sus elementos,
operadores, etc.
RESULTADOS:
Ver Tabla Nº 5, “Tabla de detalle de los dominios determinados” .
114
6.2.2.1.2.1.6.3 Integridad de entidades
La integridad de entidades se logra al no permitir que las claves primarias
acepten valores nulos. Esto implica que toda instancia de una relación debe ser
identificable.
RESULTADOS:
Ver Tabla Nº 4, “Tabla de detalle de atributos con su leyenda” y Tabla Nº 6,
“Tabla de detalle de las claves primarias y candidatas”
115
6.2.2.1.2.1.6.4 Integridad referencial
Cuando se define una columna como clave foránea, las filas de la tabla
pueden contener en esa columna o bien el valor nulo (ningún valor), o bien un
valor que existe en la otra tabla, un error sería asignar a un habitante una
población que no está en la tabla de poblaciones. Eso es lo que se denomina
integridad referencial y consiste en que los datos que referencian otros
(claves foráneas) deben ser correctos. La integridad referencial hace que
el sistema gestor de la base de datos se asegure de que no hayan en las
claves foráneas valores que no estén en la tabla principal.
La integridad referencial se activa en cuanto creamos una clave
foránea y a partir de ese momento se comprueba cada vez que se modifiquen
datos que puedan alterarla.
Las ocurrencias o acciones que pueden suceder con una relación son:
o Inserción o Agregación,
o Modificación o Actualización y
o Eliminación o Borrado.
116
Como una referencia consta de una entidad Padre y una entidad Hijo
podemos representar las posibilidades de acción entre las relaciones Padre e
Hijo como:
ACC \ REL PADRE HIJO
INSERCION 4 1
MODIFICACION 6 3
ELIMINACION 5 2
Leyenda POSIBLE ERROR
SIN ERRORES POSIBLES
Tabla 10: Tabla que ejemplifica las posibles acciones entre relaciones Padree hijo y sus respectivos Casos.
117
• Caso 1 : Ocurrencia de inserción en la relación hijo.
Se debe verificar la existencia de la clave foránea en forma válida o que sea
nula y se acepte como tal.
• Caso 2 : Ocurrencia de eliminación de la relación hijo.
Sin problemas.
• Caso 3 : Ocurrencia de actualización de la clave foránea en la relación hijo.
ídem al Caso 1.
• Caso 4 : Ocurrencia de inserción en la relación padre.
Sin problemas.
• Caso 5 : Ocurrencia de eliminación de la relación padre.
En el caso de la eliminación de un Padre, la integridad referencial se pierde si
existe una instancia del hijo que se refiere al padre. En otras palabras, se pierde
la integridad referencial si se elimina un padre que maneja o tiene uno o más
hijos. Existen varias estrategias que se deben considerar:
118
• NO ACTION : Prevenir que se elimine la relación padre si existe un
hijo
• CASCADE : Cuando se elimina el padre, automáticamente se elimina
cualquier referencia del hijo. En el caso que el hijo también actúe
como padre para otra relación, se utiliza la misma regla y se elimina
en cascada.
• SET NULL : Cuando se elimina una instancia del padre, la clave
foránea en el hijo es actualizada con un valor nulo.
• SET DEFAULT : Cuando se elimina una instancia del padre, las
claves foráneas de todos los hijos referenciados son puestas en su
valor por defecto.
• NO CHECK : Cuando se elimina una instancia del padre, no se hace
nada.
• Caso 6 : Ocurrencia de actualización de la clave primaria de la relación
padre.
Si se actualiza al padre existiendo hijos con la referencia antigua, la integridad
referencial se pierde. Para asegurar la integridad referencial se pueden utilizar
las estrategias mencionadas en el caso 5.
En el caso de CASCADE o cascada, todos los hijos deben ser actualizados.
119
RESULTADOS:
Los resultados de esta etapa se aprecian en la siguiente tabla:
INTEGRIDAD REFERENCIAL
ACCION ACCION
PADRE MODIFICACION ELIMINACION
HIJO INSERSION o MODIFICACION
Administradores Cascade No action Empresas Restringir Cascade No action REL_AREA_COM Restringir Areas
Cascade No action Empresas Restringir
Ciudad Cascade No action Empresas Restringir Clase de UN Cascade No action Tipos de UN Restringir
Cascade No action REL_AREA_COM Restringir Comunas Cascade No action Ciudades Restringir
Cascade No action Ingresos de Empresa Restringir Destinos de la Producción
Cascade No action Ingresos de UN Restringir Cascade No action Balances de Empresa Restringir Cascade No action Construcc. Inv Restringir Cascade No action Costos Empresa Restringir Cascade No action Estados de Resultados Restringir Cascade No action Ingresos de empresa Restringir Cascade No action Maquinarias Inv Restringir Cascade No action Otros Activos Inv. Restringir Cascade No action Problemas Restringir Cascade No action Recursos humanos Restringir Cascade No action REL_EMP_REP Restringir Cascade No action Situación Restringir Cascade No action Terrenos de Inv. Restringir Cascade No action Unidades de Negocio Restringir Cascade No action Vencimiento PCP Restringir
Empresas
Cascade No action Vencimiento PLP Restringir Grupos de Trabajo Cascade No action Empresas Restringir
Operadores Cascade No action Empresas Restringir Provincias Cascade No action Comunas Restringir
Cascade No action Areas Restringir Regiones Cascade No action Provincias Restringir
Representantes Cascade No action REL_EMP_REP Restringir Tipos de Clasificación Cascade No action Empresas Restringir
Tipos de Estados Cascade No action Problemas Restringir Tipos de Problemas Cascade No action Problemas Restringir
120
Tipos de Unidades de Negocio Cascade No action Unidades de Negocio Restringir
Tipos de usuarios Cascade No action Usuarios Restringir Cascade No action Ingresos de Empresa Restringir Unidad de Medida
Cascade No action Ingresos de UN Restringir Cascade No action Balances de UN Restringir Cascade No action Costos de UN Restringir Cascade No action Estado de Resultados de UN Restringir
Unidad de Negocio Cascade No action Ingresos de UN Restringir
Usuarios Cascade No action Empresas Restringir
Esta tabla muestra las relaciones Padre e Hijo y las acciones que se
determinaron para activarse cuando se realizan las inserciones y
modificaciones en el Padre (clave primaria) y las inserciones y/o modificaciones
en la relación Hijo (clave foránea).
Ejemplos:
Cuando se intenta eliminar una tupla de la relación Administradores
(Padre) cuando existen Empresas (Hijos) que la tienen como referencia se
activa la acción “No action” que implica la negación del intento de eliminación.
Cuando se realiza una Actualización (Update o Modificación) en una
tupla de la relación Administradores (Padre) se activa la acción “Cascade” la
cual implica modificar en cascada, es decir, actualizar la referencia o clave
foránea de todas las Empresas (Hijos) con respecto al Administrador.
La acción “Restringir” implica que la clave foránea de la “Empresa” debe
tener un valor idéntico y válido de una clave primaria de los Administradores.
Tabla 11: Tabla que muestra las restricciones de integridad para lasdiferentes relaciones del sistema solución.
121
6.2.2.1.2.1.6.5 Reglas de Negocio o de Empresa
Estás reglas son aquellas que impone la Organización o la Empresa
según su propio criterio de manejo de la Información. Existen muchos criterios
posibles para determinar las reglas de negocio, por lo cual, no se pueden
estandarizar todas ellas. Lo que se puede decir es que son reglas que se
manejan en la vida real.
RESULTADOS:
o La empresa puede tener como máximo dos representantes
o Los Balances deben estar cuadrados. (Total Activos = Total Pasivos +
Patrimonio)
o Que la información de las EAC y de las UN se debe completar al cierre
anual, es decir, que no falte información al 31 de diciembre de cada año.
o Que si una EAC se mantiene sobre un 5% del mínimo de una categoría
de la clasificación sintética por más de dos años, esta debe ser
“castigada” y debe bajar a la categoría inferior, esto es inversamente
proporcional a las EAC que están un %5 por debajo de una categoría, las
cuales son ascendidas.
122
6.2.2.1.2.1.7 Revisión del modelo de datos lógico con los usuarios
Objetivo: Asegurar que el modelo de datos lógico local sea una representación
real de la visión de los usuarios.
RESULTADOS:
El trabajo en esta etapa fue iterativo. Como productos de esta parte del
desarrollo se obtuvieron el DFD del sistema y el modelo de datos lógico local
final. Estos modelos fueron aprobados por los usuarios.
123
6.2.2.1.2.2 Construcción y validación del modelo de datos lógico global
Objetivo: Combinar los modelos de datos lógicos individuales en un modelo de
datos lógico global, el cual pueda ser usado para representar la parte de la
empresa que nos interesa en el modelo.
RESULTADOS:
Se realizaron los siguientes pasos:
o Se mezclaron los modelos de datos lógicos individuales en uno
global.
o Se valido el modelo de datos lógico global.
o Se revisaron los posible crecimientos a futuro del sistema y de la
Organización.
o Se dibujó el diagrama ER final.
o Se revisó con los usuarios el modelo de datos lógico global.
124
6.2.2.1.2.3 Mapa transaccional
Objetivo: Mostrar gráficamente la importancia de las interacciones entre las
transacciones, entidades y relaciones del sistema.
Esta etapa ayuda a determinar:
o Las rutas de las transacciones con respecto a las relaciones.
o Determinar cuales relaciones son más frecuentemente accedidas
por las transacciones y
o Analizar las transacciones seleccionadas que involucran estas
relaciones.
Por la gran cantidad de transacciones y de relaciones del sistema se han
tenido que resumir las representaciones de los diversos análisis de estas
últimas. Se describen solamente las transacciones más importantes destacando
gráficamente como interactúan con las diversas entidades y relaciones.
RESULTADOS:
Mapa o diagrama de transacciones que complementa al diagrama ER final.
Ver Figura Nº 14 “Diagrama ER final”.
125
Balances UN
Balances EAC
Clases de UN
Construcciones eInfraestructuras
Invent.
Costos de EAC
Costos de UN
Destino Producción
Estados deResultados EAC
Estados deResultados UN
Grupos
Ingresos de EAC
Ingresos de Un
Maquinarias YEquipos de Invent.
Operadores
Otros Activos deInventario
Problemas deEAC
Recursos Humanosde EAC
Representantes
Situaciones
Terrenos deInventario
Tipos deClasificación
Tipos de Estados
Tipos de Problemas
Tipos de UN
Tipos de Usuarios
Unidades de Medida
Unidades deNegocio
Usuarios(Propietario)
Vencimiento PasivosCorto Plazo
Vencimiento PasivosLargo Plazo
Tiene
Tiene
Tiene
Tiene
Tiene
Tiene
Tiene
Tiene
Tiene
Tiene
Tiene
Tiene
Tiene
Tiene
Tiene
Tiene
Tiene
Tiene
Tiene
Tiene
Tiene
Tiene
Tiene
Tiene
Tiene
Tiene
Tiene
Administradores
Areas
Ciudades
Comunas
Empresas
Provincias
Regiones
Tiene
Tiene
Tiene
Tiene
Tiene Tiene
Tiene
Tiene
Tiene
Tiene
Tiene
Tiene
Tiene
REL_AREA_COM
Tiene
TieneREL_EMP_REP
2
3
4
5
6
7
8
9
10
11
12
1314
15
16
17
18
1
1
1
1
Figura 14: Mapa transaccional
126
6.2.2.1.3 Diseño Físico de Base de datos
Objetivo: El proceso de producir una descripción de la implementación de la
Base de Datos en un medio de almacenamiento secundario, describiendo las
estructuras de almacenamiento y los métodos de acceso usados para acceder
en forma eficiente a los datos almacenados.
Una vez que tenemos las tablas resultantes del Diseño Lógico es
importante decidir las estructuras de almacenamiento y las estrategias de
acceso. La estructura de almacenamiento se refiere a como almacenar los
datos, y la estrategia de acceso se refiere a como llegar a los datos. Algunos
ejemplos de estructuras de almacenamiento son: Archivos Planos, Archivos
Comprimidos, Archivos Codificados, Formatos Específicos (DBF, DAT, DBM,
etc.) Las estrategias de acceso pueden ser: Acceso Secuencial, Acceso Binario,
Acceso Heap, Acceso usando Btrees, etc.
Cada vez es más común que los sistemas manejadores de base de
datos tengan ya predefinida la estructura de almacenamiento y como estrategia
de acceso tengan solo dos: Acceso Secuencial y Acceso usando B-Trees.
127
Entonces esta etapa se reduce en términos simples a la selección de los
ÍNDICES para acelerar el acceso. En ocasiones por eficiencia es posible que en
esta fase del proceso se realice una DESNORMALIZACIÓN, es decir aceptar
una Forma Normal de Menor Nivel que a la que se puede llegar, recuérdese
que la NORMALIZACIÓN es un medio y no un fin.
6.2.2.1.4 Traducción del modelo lógico global para el DBMS
especificado
Objetivo: Producir un esquema básico de trabajo con la base de datos
relacional desde el modelo de datos lógico global.
128
6.2.2.1.4.1 Diseño de relaciones bases para el DBMS especificado
Objetivo: Decidir como representar las relaciones de la base de datos que han
sido identificadas en el modelo de datos lógico global para un DBMS específico.
(DBMS= “DataBase Management System” o Sistema gestor de base de datos)
RESULTADOS:
DBMS seleccionado: Microsoft SQL Server 2000.
El listado de relaciones traducidas desde el modelo de datos lógico global al
DBMS seleccionado puede ser visto en la sección de implementación.
129
6.2.2.1.4.2 Diseñar las restricciones especificas de la empresa para el
DBMS especificado.
En esta etapa se desarrollan las reglas de negocio en forma especifica del
DBMS.
RESULTADOS:
Identificación de reglas de negocio sección 6.2.2.1.2.1.6.5
Ejemplo de Reglas:
Esta regla restringue al valor de una columna a los valores del domino. La regla
debe estar enlazada a la columna. (Fechas)
CREATE RULE range_rule
AS
@range >= 1999 AND @range < 2500
130
6.2.2.1.5 Diseño de representación física
Objetivo: Determinar la organización de los archivos y métodos de acceso que
serán utilizados para almacenar las relaciones.
6.2.2.1.5.1 Análisis de transacciones
Objetivo: Comprender las funcionalidades de las transacciones que
funcionaran en la base de datos y analizar la importancia de las transacciones.
RESULTADOS:
Se documentaron las características más importantes de las
transacciones, Funcionalidad, Formato de salida, Tipo acceso (inserción,
modificación, consulta, eliminación), atributos usados en algunos predicados
(parámetros de la cláusula WHERE), atributos en relaciones entre varias tablas
(JOIN).
La frecuencia y las restricciones de tiempo (time out o máximo) no fueron
determinadas porque la Etapa de Pruebas está fuera del alcance la este
Seminario.
131
Tabla de detalle de Transacciones:
ID ACCESO PARAMETROS TABLAS T-1 INSERCION Ninguno Empresas T-2 INSERCION rut_empresa, tipo_un Unidades de Negocio T-3 INSERCION Ninguno Regiones T-4 INSERCION Comuna Ciudades T-5 INSERCION rut_empresa, Costos EAC T-6 INSERCION Ninguno Representantes T-7 INSERCION rut_empresa, rut_representante REL_EMP_REP T-8 INSERCION rut_empresa Recursos Humanos T-9 INSERCION rut_empresa Vencimiento PCP
T-10 INSERCION rut_empresa Vencimiento PLP T-11 INSERCION rut_empresa Situación EAC T-12 INSERCION rut_empresa Problemas EAC T-13 INSERCION rut_empresa Ingresos EAC T-14 INSERCION id_un Estados Resultados UN T-15 INSERCION rut_empresa Balances EAC T-16 CONSULTA user, pass Usuarios T-17 CONSULTA Rut Empresas T-18 CONSULTA Rut Empresas
Tabla 12: Tabla que muestra algunos detalles o características importantesde las transacciones.
132
6.2.2.1.5.1.1 Diseño físico de transacciones
Objetivo: Definir la estructura o código especifico para el DBMS seleccionado
de las transacciones. La implementación de ella se realiza por medio de
procedimientos almacenados.
Nota: Por la gran cantidad de atributos de algunas de las relaciones se utilizará
el símbolo * (asterisco) para representarlos.
Por ejemplo:
Se describe la relación Balances_de_EMP (id_balance, rut_empresa,
año_bal, disponible_caja_bal, disponible_bancos_bal, *), por lo cual se asume
que la relación tiene más atributos y están implícitamente incluidos.
133
Listado de Transacciones:
T-1:
INSERT INTO Empresas (rut_empresa, digito_emp, nombre_emp,
razon_soc_emp, fecha_const_emp, fono_emp, fax_emp, id_ciudad, id_area,
calle_emp, numero_emp, oficina_emp, piso_emp, id_grupo, id_operador,
giro_comerc_emp, fecha_inic_emp, n_socios_emp, n_mujeres_emp,
n_jovenes_emp, n_etnia_emp, veces_moro_emp, veces_condo_emp,
veces_reneg_emp, id_tipo_cla, id_usuario, id_administrador, *)
VALUES (rut, dig, nombre, razon, fecha_c, fono, fax, ciudad, area, calle,
numero, oficina, piso, grupo, operador, giro, fecha_i, n_soc, n_muj, n_jov,
n_etnia, v_mor, v_con, v_ren, clasi, user, admin, *)
T-2:
INSERT INTO UN (id_un, nombre_un, rut_empresa, id_tipo_un)
VALUES (un, nombre, rut, tipo_un)
T-3:
INSERT INTO Regiones (id_region, nombre_region)
VALUES (region, nombre)
134
T-4
INSERT INTO Ciudades (id_ciudad, nombre_ciudad, id_comuna)
VALUES (ciudad, nombre, comuna)
T-5:
INSERT INTO Costos_de_EMP (id_costos, rut_empresa, año_costos,
trimestre_costos, invent_inic_mp_costos, *)
VALUES (costos, rut, año, trimestre, inv_inic_mp, *)
T-6:
INSERT INTO Representantes (rut_rep, dig_rep, nombre_rep)
VALUES (rep, dig, nombre)
T-7:
INSERT INTO REL_EMP_REP (rut_empresa, rut_rep)
VALUES (rut, rep)
T-8:
INSERT INTO Recursos_humanos (id_rrhh, rut_empresa, año_rrhh,
n_pre_rrhh, n_ger_rrhh, *)
VALUES (hr., rut, año, n_pre, n_ger,*)
135
T-9:
INSERT INTO Venc_pcp (id_venc_pcp, rut_empresa, año_venc_pcp,
mes_venc_pcp, cred_cp_indap_pcp, cred_cp_bancos_pcp, *)
VALUES (venc, rut, año, mes, cred_cp_indap, cred_cp_bancos, *)
T-10:
INSERT INTO Venc_plp (id_venc_plp, rut_empresa, año_venc_plp,
año_desc_venc_plp, cred_cp_indap_plp, cred_cp_bancos_plp, *)
VALUES (venc, rut, año, año_d, cred_cp_indap, cred_cp_bancos, *)
T-11:
INSERT INTO Situacion_EMP (id_sit, rut_empresa, año_sit, trimestre_sit,
est_res_sit, *)
VALUES (sit, rut, año, trimestre, est_res, *)
T-12:
INSERT INTO Problemas_empresa (id_prob, rut_empresa, año_prob,
id_tipo_prob, descrip_prob, sol_prob, id_tipo_estado)
VALUES (prob, rut, año, tipo_prob, descrip, sol, estado)
136
T-13:
INSERT INTO Ingresos_EMP (id_ing, rut_empresa, año_ing, trimestre_ing,
cantidad_vend_ing, id_um, id_destino_prod, *)
VALUES (ing, rut, año, trimestre, cantidad, um, destino, *)
T-14:
INSERT INTO Estado_res_UN (id_est_res, id_un, año_est_res,
trimestre_est_res, ingreso_explotacion_est_res, costo_explotacion_est_res, *)
VALUES (est_res, un, año, trimestre, ing_exp, costo_exp, *)
T-15
INSERT INTO Balances_de_EMP (id_balance, rut_empresa, año_bal,
disponible_caja_bal, disponible_bancos_bal, *)
VALUES (balance, rut, año, caja, bancos, *)
T-16:
SELECT * FROM Usuarios
WHERE usuarios.username=user AND usuarios.password=pass
137
T-17:
SELECT Empresas.id_tipo_cla FROM Empresas
WHERE Empresas.rut_empresa = rut
T-18:
SELECT empresas.r_capital_trabajo, empresas.r_razon_corriente,
empresas.r_prueba_acida, empresas.r_leverage,
empresas.r_leverage_mercado, empresas.r_solvencia,
empresas.r_rentabilidad_bruta, empresas.r_rentabilidad_operacional,
empresas.r_rentabilidad_neta, empresas.r_razon_operativa,
empresas.r_razon_deuda, empresas.r_razon_dependencia,
empresas.r_rotacion_activos, empresas.r_razon_calidad,
empresas.r_cobertura_financiera, empresas.r_dependencia_cp,
empresas.r_dependencia_lp
FROM Empresas
WHERE Empresas.rut_empresa = rut
138
6.2.2.1.5.2 Elegir la organización de archivos
Objetivo: Determinar una organización eficiente de archivos para cada relación
base.
La organización de los archivos es manejada por el DBMS. La forma básica de
almacenamiento de la Base de Datos de SQL Server es en base a tres tipos de
archivos:
o Archivos de datos principales. El archivo de datos principal es el punto
de partida de la base de datos y apunta a los otros archivos de la base
de datos. Cada base de datos tiene un archivo de datos principal. La
extensión de nombre de archivo recomendada para los archivos de datos
principales es .MDF.
o Archivos de datos secundarios. Los archivos de datos secundarios
son todos los archivos de datos menos el archivo de datos principal.
Puede que algunas bases de datos no tengan archivos de datos
secundarios, mientras que otras pueden tener varios archivos de datos
secundarios. La extensión de nombre de archivo recomendada para los
archivos de datos secundarios es .NDF.
139
o Archivos de registro. Los archivos de registro almacenan toda la
información de registro que se utiliza para recuperar la base de datos.
Como mínimo, tiene que haber un archivo de registro por cada base de
datos, aunque puede haber varios. La extensión de nombre de archivo
recomendada para los archivos de registro es .LDF.
SQL Server 2000 no exige las extensiones de nombre de archivo .MDF, .NDF y
.LDF, pero dichos extensiones son las recomendadas para identificar el uso de
cada archivo.
140
6.2.2.1.5.3 Elegir índices secundarios
Objetivo: Determinar cuales índices secundarios que se puedan agregar
mejorarían el desempeño o rendimiento del sistema.
SQL Server 2000 tiene una utilidad o herramienta para la optimización de
índices. Para ello el asistente necesita analizar una carga de trabajo de la Base
de Datos. Una carga de trabajo consta de una secuencia de comandos SQL o
de una traza del Analizador de SQL guardada en un archivo o en una tabla que
contiene clases de sucesos de llamada a procedimiento remoto (RPC) o lotes
SQL y las columnas de datos Event Class y Text.
La siguiente tabla de índices secundarios fue realizada en base a las consultas
del sistema.
NOTA: Como regla general, se debe crear un índice en una tabla sólo si los
datos de las columnas indexadas se van a consultar con frecuencia. Los índices
ocupan espacio en disco y pueden ralentizar las acciones de agregar, eliminar y
actualizar filas. En la mayoría de las situaciones, estas desventajas de los
índices son compensadas sobradamente por la ventaja que supone recuperar
datos a gran velocidad. Sin embargo, si la aplicación actualiza datos con mucha
frecuencia o se tienen limitaciones de espacio en disco, puede que sea
conveniente limitar el número de índices.
141
RESULTADOS:
Listado de índices secundarios seleccionados.
ENTIDAD INDICE SECUNDARIO EMPRESAS NOMBRE_EMP
OPERADORES NOMBRE_OPERADOR
UNIDAD DE NEGOCIO NOMBRE_UN
Tabla 13: Tabla que muestra los índices secundarios seleccionados.
142
6.2.2.1.5.4 Considerar la introducción de redundancia controlada (de-
normalización)
Objetivo: Determinar cuales introducciones de redundancia pueden mejorar el
rendimiento del sistema.
RESULTADOS:
Listado de redundancia introducida a la Base de Datos para mejorar el
rendimiento del sistema.
ENTIDAD ATRIBUTOS REDUNDANTES DESCRIPCION
TOTAL_ACTIVO_CIRC_BAL_UN Calculado SUBTOTAL_BAL_UN Calculado TOTAL_ACTIVO_FIJO_NETO_BAL_UN Calculado TOTAL_OTROS_ACT_BAL_UN Calculado TOTAL_ACTIV_BAL_UN Calculado TOTAL_PC_BAL_UN Calculado TOTAL_PLP_BAL_UN Calculado TOTAL_PAT_BAL_UN Calculado
BALANCES DE UNIDADES DE NEGOCIO
TOTAL_PASIV_BAL_UN Calculado TOTAL_ACTIVO_CIRC_BAL Calculado SUBTOTAL_BAL Calculado TOTAL_ACTIVO_FIJO_NETO_BAL Calculado TOTAL_OTROS_ACT_BAL Calculado TOTAL_ACTIV_BAL Calculado TOTAL_PC_BAL Calculado TOTAL_PLP_BAL Calculado TOTAL_PAT_BAL Calculado
BALANCES DE EMPRESAS
TOTAL_PASIV_BAL Calculado TOTAL_SAL_MP_COSTOS Calculado TOTAL_COSTOS_PROD_COSTOS Calculado
COSTOS DE EMPRESA
COSTOS_ARTIC_VEND_COSTOS Calculado
143
TOTAL_COSTOS_V_COSTOS Calculado TOTAL_GASTOS_ADMIN_V_COSTOS Calculado
TOTAL_COSTOS_GASTOS_COSTOS Calculado TOTAL_SAL_MP_COSTOS_UN Calculado TOTAL_COSTOS_PROD_COSTOS_UN Calculado COSTOS_ARTIC_VEND_COSTOS_UN Calculado TOTAL_COSTOS_V_COSTOS_UN Calculado TOTAL_GASTOS_ADMIN_V_COSTOS Calculado
COSTOS DE UNIDADES DE NEGOCIO
TOTAL_COSTOS_GASTOS_COSTOS Calculado ID_REGION Referencia ID_PROVINCIA Referencia ID_COMUNA Referencia R_CAPITAL_TRABAJO Calculado R_RAZON_CORRIENTE Calculado R_PRUEBA_ACIDA Calculado R_LEVERAGE Calculado R_LEVERAGE_MERCADO Calculado R_SOLVENCIA Calculado R_RENTABILIDAD_BRUTA Calculado R_RENTABILIDAD_OPERACIONAL Calculado R_RENTABILIDAD_NETA Calculado R_RAZON_OPERATIVA Calculado R_RAZON_DEUDA Calculado R_RAZON_DEPENDENCIA Calculado R_ROTACION_ACTIVOS Calculado R_RAZON_CALIDAD Calculado R_COBERTURA_FINANCIERA Calculado R_DEPENDENCIA_FINANCIERA Calculado R_DEPENDENCIA_CP Calculado
EMPRESAS
R_DEPENDENCIA_LP Calculado RESULT_OP_EST_RES Calculado RES_NO_OP_EST_RES Calculado ESTADO DE RESULTADO EMPRESAS UTILIDAD_PERDIDA_EJER_EST_RES Calculado
RESULT_OP_EST_RES_UN Calculado RES_NO_OP_EST_RES_UN Calculado ESTADO DE RESULTADO UNIDADES DE
NEGOCIO UTILIDAD_PERDIDA_EJER_EST_RES_UN Calculado
VENCIMIENTO DE PASIVOS CORTO PLAZO TOTAL_PASIV_CIRC_PCP Calculado VENCIMIENTO DE PASIVOS LARGO PLAZO TOTAL_PLP_PLP Calculado
Tabla 14: Tabla de atributos redundantes para optimizar el tiempo de accesopara consultas
144
6.2.2.1.5.5 Estimar los requerimientos de espacio en disco
Objetivo: Determinar la cantidad de espacio en disco necesario para almacenar
la Base de Datos, y su posible crecimiento.
RESULTADOS
Antecedentes para realizar cálculos de utilización de espacio en disco.
o Todos los cálculos son aproximados.
o Cantidad Base de EAC: 7000 (unidades)
o EAC nuevas: entre 0 y 300 (unidades)
o Del punto anterior se asume un crecimiento de 300 (unidades)
o EAC abandonan: entre 0 y 100 (unidades)
o Del punto anterior se asume un abandono de 0 unidades.
o Promedio de UN por EAC: 3
o Máximo número de UN por EAC: 10
o De los dos puntos anteriores se asumen 6 UN por EAC.
o Cantidad (promedio) de Grupos por Región: 40; total = 520 (13 regiones
* 40 grupos)
145
Tamaños aproximados de un Registro por Tabla. Se deben tomar en cuenta
que hay varios atributos del tipo variable. La columna “ADICIONAL OTROS” se
refiere a un 10% de tolerancia o ajuste de aproximación. Además es importante
destacar que la estimación es al máximo del tamaño por registro o tupla.
ENTIDAD TAMAÑO (BYTES) ADICIONAL OTROS TOTAL (BYTES) ADMINISTRADOR DE EMPRESA 46 4 50 AREAS 26 2 28 BALANCE DE UNIDAD DE NEGOCIO 482 48 530 BALANCES DE EMPRESA 482 48 530 CIUDADES 29 2 31 CLASE DE UNIDAD DE NEGOCIO 44 4 48 COMUNAS 29 2 31 CONSTRUCCION E INFRAESTRUCTURA DE INVENTARIO 122 12 134 COSTOS DE EMPRESA 214 21 235 COSTOS DE UNIDAD DE NEGOCIO 214 21 235 DESTINO DE LA PRODUCCION 44 4 48 EMPRESAS 403 40 443 ESTADO DE RESULTADO DE EMPRESA 126 12 138 ESTADO DE RESULTADO DE UNIDAD DE NEGOCIO 126 12 138 GRUPOS DE TRABAJO 44 4 48 INGRESOS DE EMPRESA 76 7 83 INGRESOS DE UNIDAD DE NEGOCIO 76 7 83
MAQUINARIAS Y EQUIPOS DE INVENTARIO 83 8 91 OPERADORES 44 4 48 OTROS ACTIVOS DE INVENTARIO 78 7 85 PROBLEMAS DE EMPRESA 130 13 143 PROVINCIAS 28 2 30 RECURSOS HUMANOS DE EMPRESA 102 10 112 REGIONES 24 2 26 REPRESENTANTE DE EMPRESA 46 4 50 SITUACION DE EMPRESA 29 2 31 TERRENOS DE INVENTARIO 105 10 115 TIPOS DE CLASIFICACION 24 2 26 TIPOS DE ESTAD 24 2 26 TIPOS DE PROBLEMAS 24 2 26 TIPOS DE UNIDADES DE NEGOCIO 24 2 26 TIPOS DE USUARIOS 24 2 26 UNIDAD DE MEDIDA 24 2 26 UNIDAD DE NEGOCIO 34 3 37 USUARIOS 82 8 90
146
VENCIMIENTO DE LOS PASIVOS DE CORTO PLAZO 118 11 129 VENCIMIENTO DE LOS PASIVOS DE LARGO PLAZO 78 7 85
Cálculo de Tablas “fijas”. (menos variables)
TABLA REGISTROS Tamaño por
registro (bytes) TOTAL (bytes) ADMINISTRADORES 7000 26 182000 REGIONES 13 26 338 PROVINCIAS 51 30 1530 AREAS 115 28 3220 COMUNAS 342 31 10602 CIUDADES * 3000 31 93000 CLASES DE UN 17 48 816 DESTINO DE PRODUCCION 20 48 960 GRUPOS DE TRABAJO 520 48 24960 TIPOS DE CLASIFICACION 8 26 208 TIPOS DE UN 59 26 1534 UNIDADES DE MEDIDA 15 26 390 EMPRESAS 7000 443 3101000 USUARIOS 300 90 27000 TIPOS DE USUARIOS 6 26 156 TIPOS DE ESTADOS 4 26 104 TIPOS DE PROBLEMAS 30 26 780 REPRESENTANTES 9000 50 450000 TOTAL 3898598
TOTAL FIJO= 3898598 bytes o 3808,2 Kbytes o 3,7 Mbytes.
Tabla 15: Tabla que muestra el tamaño en bytes de cada registro asumiendoel registro como fijo.
Tabla 16: Tabla que muestra el tamaño en bytes de las tablas “fijas” delsistema.
147
Cálculo de Tabla variables. (crecimiento anual)
Ejemplos de Interpretación:
“4 X 7000” implica 4 UN por cada EAC y esto multiplicado por la cantidad total
de EAC =7000.
“3 X 7000” implica ítem trimestral por cantidad de EAC.
TABLA FORMULA CANTIDAD ITEM (bytes) TOTAL (bytes)UNIDADES DE NEGOCIO 4 X7000 28000 37 1036000BALANCES DE EMPRESA 1 X 7000 7000 530 3710000BALANCE DE UNIDAD DE NEGOCIO 1 X 7000 X 4 28000 530 14840000RECURSOS HUMANOS DE EMPRESA 1 X 7000 7000 112 784000COSTOS EMPRESA 3 X 7000 21000 235 4935000COSTOS UN 3 X 7000 X 4 84000 235 19740000ESTADOS RESULTADO EMPRESA 3 X 7000 21000 138 2898000ESTADO RESULTADO UN 3 X 7000 X 4 84000 138 11592000INGRESOS EMPRESAS 3 X 7000 21000 83 1743000INGRESOS UN 3 X 7000 X 4 84000 83 6972000SITUACION EMPRESA 1 x 7000 7000 31 217000VENC. PCP 12 X 7000 84000 129 10836000VENC. PLP 10 X 7000 70000 85 5950000CONSTRUC. INFRA. INVENT. 30 X 7000 210000 134 28140000MAQUINARIAS Y EQUIP. INVENT 30 X 7000 210000 91 19110000OTROS ACTIVOS INVENT. 30 X 7000 210000 85 17850000PROBLEMAS DE EMPRESA 10 X 7000 70000 143 10010000TERRENOS DE INVENT. 20 X 7000 140000 115 16100000 TOTAL 176463000
TOTAL VARIABLE= 176463000 bytes o 172327,1 Kbytes o 168,3 Mbytes
Tabla 17: Tabla que muestra el tamaño en bytes de las tablas “variables”, esdecir, de aquellas que siempre crecerán por año o trimestre.
148
RESUMEN DE ETAPA:
Total fijo o estado inicial: 3,7 Mbytes
Total variable o crecimiento anual: 168,3 Mbytes
Tamaño estimado para el primer año: 168,3 + 3,7 = 172 Mbytes.
Este cálculo estimado no involucra el almacenamiento de la estructura
total de la Base de Datos, es decir, no incluye las necesidades de espacio en
disco del DBMS.
Para prevenir un crecimiento mayor se proyecta un crecimiento del triple
de este valor por lo cual el disco duro y la forma de respaldo (CDS) cumplen
con soportar el almacenamiento de la Base de Datos.
Nota: La conversión de medida se usa con el Kilobyte del sistema binario o
nomenclatura “física” el cual es 1024 bytes o 2 a la potencia de 10. Según la
IEEE la norma para identificar entre el kilo decimal (1000 o “lógico”) y el binario
es escribir K en mayúscula para referirse a 1024 y k en minúscula para referirse
a 1000.
149
6.2.2.1.6 Diseñar mecanismos de seguridad
Objetivo: Designar los aspectos de seguridad para la Base de Datos según las
especificaciones de los usuarios.
RESULTADOS:
La seguridad de la Base de Datos consta de:
o Seguridad Externa o accesos externos: Restricción por clave de
usuarios administradores y/o clave del creador de la Base de Datos.
o Seguridad Interna o accesos internos: Restricción por medio de
vistas de usuarios y por tipo de usuario.
Se detallan las restricciones de los tipos de usuarios en el desarrollo del Stio
Web y las vistas de usuarios en la siguiente sección.
150
6.2.2.1.6.1 Diseñar vistas de usuarios
Objetivo: Designar las vistas de los usuarios que fueron definidas en el Diseño
conceptual.
Nota: Las vistas no pueden tener parámetros, pero de igual forma son muy
útiles para dividir las Base de Datos y para mejorar la seguridad de las mismas.
RESULTADOS
Ejemplos de vistas de Datos:
Ejemplo 1
Objetivo: Crear una vista que muestre sólo las empresas de la Categoría “C1”,
Si un Jefe de Area con acceso a EAC de ese nivel quiere ver EAC de otros
niveles se le niega el acceso al darle la autorización solamente a los ingresos
de empresas del nivel referenciado.
SELECT dbo.EMPRESAS.*, dbo.EMPRESAS.ID_TIPO_CLASIFICACION AS Expr1
FROM dbo.EMPRESAS INNER JOIN
dbo.[EMPRESA X INGRESOS] ON dbo.EMPRESAS.RUT_EMPRESA =
dbo.[EMPRESA X INGRESOS].RUT_EMPRESA
WHERE (dbo.EMPRESAS.ID_TIPO_CLASIFICACION = 'C1')
151
Ejemplo 2
Objetivo: Crear una vista que muestre sólo las empresas que no han caido en
mora. En la Gestión de Creditos es importante negar nuevos créditos si aún
existen deudas pendientes y se puede realizar un “filtro” mediante esta vista de
usuario.
SELECT dbo.EMPRESAS.*, VECES_MOROCIDAD AS Expr1
FROM dbo.EMPRESAS
WHERE (VECES_MOROCIDAD = 0)
152
6.2.2.1.6.2 Diseñar reglas de acceso
Objetivo: Designar las reglas de acceso a las relaciones basándose en las
vistas de los usuarios.
RESULTADOS:
Las reglas de acceso a las relaciones del sistema son todas las vistas de
usuarios que limitan el acceso a la base de las relaciones. Todo usuario está
restringido según su tipo de usuario para acceder a las partes del sitio web y a
su vez al contenido de las tablas. Ejemplo: Existen restricciones específicas de
los usuarios (Operadores Técnicos) para acceder solamente a EAC donde ellos
son propietarios.
153
6.2.2.1.6.3 Monitoreo y Refinamiento del sistema en operación
Objetivo: Monitorear la operación del sistema y aumentar el rendimiento del
sistema al corregir las decisiones inapropiadas de diseño o reflejando los
cambios de requerimientos.
RESULTADOS
Esta etapa queda fuera del ámbito del proyecto porque está relacionada
con la etapa de Pruebas del Sistema.
154
6.2.2.2 Diseño del Sitio Web
Objetivo: Definir un diseño que integre todos los componentes del Sitio Web,
es decir, Diseñar la Interfaz que facilite a los usuarios el interactuar con la Base
de Datos del sistema.
Nota: Por la gran cantidad de información generada en esta etapa solo se
detallarán los productos más importantes.
6.2.2.2.1 Diseño Lógico del Sitio Web
Objetivo: Determinar el ambiente del sitio Web, en otras palabras, definir el
“que hacer” en el Sitio Web. Para ello se deben determinar los elementos que lo
componen, organizarlos, relacionarlos en forma integrada, etc.
155
6.2.2.2.1.1 Diagrama del Sitio Web
Paginaautenticación
Clasificador deusuario
EAC Unidad deEstudios
OperadorTécnico Area Region Especial
Pagina Principal
Los usuarios acceden a los datos mediante vistas y control de páginas según tipo usuario para que se utilicen lasmismas paginas de gestion de Tablas
MENU DINAMICO DE NAVEGACION
Despliegue de un Registromodificable y Listado de toda la
Tabla
Opciones
NUEVOCANCELARELIMINARGUARDARBUSCAR
Se trabaja con las Tablas en dos modos: EDICION y EXPLORACION
MODO EDICION
MOVIMIENTO DE REGISTROS
MENU DINAMICO DE NAVEGACION
Despliegue de un Registro yListado de toda la Tabla
Opciones
BUSCAR
MODO EXPLORACION
MOVIMIENTO DE REGISTROSMenu Principal
Empresas InformesConsolidados
Balances EAC Estado deResultados
Unidades deNegocio
Consultaspredefinidas
Otraspáginas de
Gestión
Balances UN Estado deResultados UN
Otraspáginas de
Gestión
Otraspáginas de
Gestión
Figura 15 : Diagrama del Sitio Web.
156
6.2.2.2.1.2 Inventario de páginas del Sitio Web
Nombre de la Página Descripción
default.htm Página inicial donde se solicitan los datos de usuario y clave
valida.asp Página ASP con el código que clasifica a los usuarios y filtra la entrada al Sitio WEb
menu_principal.asp Pagina principal de los usuarios configurada según el tipo de usuario
gestión_empresas.asp Pagina de manejo de los Datos generales de la empresa y acceso a páginas relacionadas
gestión_consultas.asp Página de manejo de consultas predefinidas e interactivas
gestión_informes_consolidados.asp Página de manejo de los informes consolidados por parámetros
gestión_un.asp Página de manejo de Unidades de Negocio gestión_balances_eac.asp Página de manejo de Balances de las EAC gestión_balances_un.asp Página de manejo deBalances de UN
gestión_administradores.asp Página de manejo de Administradores
gestión_contruc_invent.asp Página de manejo de contrucciones de Inventario
gestión_costos_eac.asp Página de manejo de Costos de las EAC gestión_costos_un.asp Página de manejo de Costos de las UN
gestión_estado_resultado_eac.asp Página de manejo de Estado de Resultado de las EAC
gestión_estado_resultado_un.asp Página de manejo de los Estados de Resultado de las UN
Gestión_grupos.asp Página de manejo de los Grupos gestión_ingresos_eac.asp Página de manejo de los ingresos de las EAC gestión_ingresos_un.asp Página de manejo de los ingresos de las UN
gestión_maquinarias_invet.asp Página de manejo de las maquinarias de inventario
gestión_otros_activos.asp Página de manejo de los otros activos de inventario
gestión_problemas.asp Página de manejo de los problemas de las EAC
gestión_rrhh.asp Página de manejo de los Recursos Humanos
gestión_representantes.asp Página de manejo de los representantes de las EAC
gestión_situación.asp Página de manejo de las situaciones de las Eac
157
gestión_terrenos_invent.asp Página de manejo de los terrenos de inventario
gestión_venc_pcp.asp Página de manejo de los vencimientos de PCP
Nivel_?.asp Paginas de clasificación de usuarios y Menu de navegación dinámico
gestión_venc_plp.asp Página de manejo de los vencimientos de PLP
Tabla 18: Inventario de páginas Web
158
6.2.2.2.2 Diseño físico del Sitio Web
Objetivo: Desarrollar la abstracción de los elementos del sistema para lograr
esquematizar la forma de desarrollarlos posteriormente . Intentando siempre
generar una interfaz amigable y lo más simple de utilizar.
6.2.2.2.2.1 Diagrama de montaje del Sitio Web
El proyecto Web y dos aplicaciones Web
Las aplicaciones Web contienen los archivos que albergan el contenido y
la funcionalidad Web, como los archivos .htm, .asp y los archivos de imagen, de
todo o parte del sitio Web. Mediante los proyectos Web de Visual InterDev,
puede identificar y manipular los archivos de la aplicación Web. El proyecto no
forma parte del conjunto de archivos de la aplicación Web, sino que es un
archivo que usa Visual InterDev para señalar los archivos asociados con la
aplicación Web.
Cada programador crea un proyecto Web para poder trabajar en la
aplicación Web. El proyecto Web proporciona una representación gráfica de los
archivos de la aplicación Web en el Explorador de proyectos. El archivo del
proyecto Web permanece en el equipo local del programador y no forma parte
de la aplicación Web. Cuando se distribuye una aplicación Web, el archivo de
proyecto no se copia con ella, sino que sólo se copian los archivos que albergan
el contenido y la funcionalidad Web.
159
Al crear un proyecto Web, en realidad trabaja con dos aplicaciones Web
independientes. Una de ellas es el conjunto principal de archivos situado en el
servidor Web maestro; en su equipo hay un segundo conjunto de archivos.
Cuando se realicen cambios en los archivos Web del proyecto, dichos cambios
se aplicarán directamente en el conjunto de archivos local.
Los proyectos Web señalan a dos aplicaciones Web
La arquitectura de proyectos proporciona diversas ventajas. Visual
InterDev utiliza el proyecto Web con sus punteros a las versiones local y
maestra de la aplicación Web para llevar a cabo los comandos y realizar el
mantenimiento de los dos conjuntos de archivos.
Figura 16: Proyecto Web
160
6.2.2.2.2.2 Descripción del Software utilizado
6.2.2.2.2.2.1 Para Base de Datos:
SQL SERVER 2000
Analizador de Consultas de SQL
Por medio de esta herramienta se pueden desarrollar procedimientos
almacenados, consultas, etc. Además se pueden comprobar su
funcionamiento.
161
Administrador corporativo de SQL Server
Esta herramienta se basa en el MMC y desde él se gestiona la totalidad
del desarrollo, mantención, visualización de la Base de Datos
162
Generador de Vistas de SQL
Esta herramienta permite sin mucho esfuerzo desarrollar las vistas de
usuarios, por medio de código SQL, o en forma gráfica. Además comprueba la
sintaxis y muestra los resultados al ejecutar una consulta.
163
6.2.2.2.2.2.2 Para el Sitio Web:
Visual Studio 6
Para lal edición de página ASP y HTML se utilizó el Programa Visual Interdev.
164
Para la edición de imágenes el programa Paint Shop Pro v.7.04
165
Para la manipulación visual de páginas Web se utilizó el programa
Frontpage 2000
166
6.2.2.2.2.3 Seguridad del Sitio Web
1 Diagrama general
DIAGRAMA DE FLUJO DE DATOS Capa de seguridad de acceso al sitio
Notas: Verificar método de Encriptación de datos.
Verificar si IIS anula la sesión por sobre el rango máximo de
usuarios conectados configurado para el sitio.
Consulta solicitud
Respuesta solicitud
Usuario rechazado
Usuario aceptado
Solicitud de Ingreso
Usuario Clasificado
USUARIO AUTENTICADO POR
WINDOWS NT (Intranet)
USUARIOS SITIO WEB
1
Validar solicitud
2
Clasificar usuario
167
DIAGRAMA DE FLUJO DE DATOS Capa de seguridad de acceso al sitio (DISEÑO LOGICO)
DETALLE PROCESO 1 (Validar Solicitud)
1.1 Comprobar datos solicitud: 1.1.1 Verificar datos nulos o en blanco. 1.1.2 Verificar longitud mínima de los datos. 1.1.3 Verificar el formato permitido de los datos.
1.2 Validar datos de la solicitud. 1.2.1 Comprobar usuario y clave en almacén “Usuarios”. 1.2.2 Verificar si el usuario ya existe en una Sesión de la Aplicación. 1.2.3 Verificar si el usuario está bloqueado. 1.2.4 Verificar si el usuario debe ser desbloqueado. 1.2.5 Verificar el Nº de intentos.
Tipos de rechazo:
1. Usuario invalido (Por nombre de usuario y/o clave) 2. Usuario concurrente.(usuario actualmente activo) 3. Usuario Bloqueado. (número de intentos >2)
Usuario aceptado
Nombre de usuario y clave (Sitio Web)
Solicitud rechazada
Nombre de usuario y clave (Sitio Web)
Solicitud rechazada
USUARIO AUTENTICADO POR
WINDOWS NT (Intranet)
CLIENTE SERVIDOR
1.1
Comprobar datos
solicitud
1.2
Validar datos
solicitud
Usuario Clasificado
2
Clasificar usuario
SITIO WEB
168
DIAGRAMA DE FLUJO DE DATOS Capa de seguridad de acceso al sitio
DETALLE PROCESO 2 (Clasificar Usuario)
2.1. Crear Usuario en Aplicación:
2.1.1 Verificar el número máximo de usuarios activos en la aplicación.
(sólo si iis no realiza esta tarea)
2.1.2 Crear las variables “user” y “tipo” en la sesión del usuario.
(valida al usuario para ver las páginas),
Usuario clasificado
Activar usuario
Datos usuario
Datos usuario
Consulta datos usuario
Usuario aceptado
USUARIOS
1
Validar solicitud
2.2
Crear usuario en
aplicación y clasificar
2.1
Consultar datos
usuario
2.3
Enviar usuario a página de
inicio
169
Ejemplos de Limitaciones de los tipos de usuarios:
DETALLE DE LOS TIPOS DE USUARIOS
EAC: Empresa Asociativa Campesina. DATOS: LECTURA: Solo los datos de la Empresa y sus Unidades de Negocio.
ESCRITURA: Solo los datos de la Empresa y sus Unidades de Negocio.
INFORMES: Informes relacionados a los datos de la Empresa y sus Unidades de
Negocio. OTE: Operador Técnico.
DATOS: LECTURA: Solo los datos de la EAC que son sus clientes directos y las
Unidades de Negocio asociadas a las mismas. ESCRITURA: Solo los datos de la EAC que son sus clientes directos y las
Unidades de Negocio asociadas a las mismas.
INFORMES: Informes relacionados a los datos de la Empresa que son sus clientes directos y
sus Unidades de Negocio asociadas a las mismas. Informes especiales, previa solicitud y
aceptación de los mismos por la Unidad de Estudios.
AREA: Cualquiera de las Areas con las que cuenta el INDAP. DATOS: LECTURA: Solo los datos de la EAC que se encuentran dentro del Area y
las Unidades de Negocio asociadas a las mismas. ESCRITURA: No pueden modificar datos.
INFORMES: Informes relacionados a los datos de la Empresa que se encuentran en el Area
y sus Unidades de Negocio asociadas a las mismas.Informes especiales, previa solicitud y
aceptación de los mismos por la Unidad de Estudios.
170
6.2.3 ETAPA IV
6.2.3.1 Implementación de la Base de Datos
Objetivos: Instalar la Base de Datos desarrollada en las secciones anteriores,
comprobando su integración con el Sitio Web, verificando la seguridad del
sistema, etc.
Ejemplos de códigos en la Base de Datos:
Valores preterminados definidos por el usuario:
AÑO_ACTUAL: Year(Getdate())
MES_ACTUAL: Month(Getdate())
171
6.2.3.1.1 Script de la Base de Datos
Archivo generador de la Base de Datos.
GO
CREATE TABLE [dbo].[ADMINISTRADORES] (
[RUT_ADMIN] [numeric](18, 0) NOT NULL ,
[DIG_ADMIN] [char] (1) COLLATE Modern_Spanish_CI_AS
NOT NULL ,
[NOMBRE_ADMIN] [varchar] (40) COLLATE
Modern_Spanish_CI_AS NOT NULL
) ON [PRIMARY]
GO
CREATE TABLE [dbo].[AREAS] (
[ID_AREA] [char] (4) COLLATE Modern_Spanish_CI_AS NOT
NULL ,
[ID_REGION] [char] (4) COLLATE Modern_Spanish_CI_AS
NOT NULL ,
[NOMBRE_AREA] [varchar] (20) COLLATE
Modern_Spanish_CI_AS NOT NULL
) ON [PRIMARY]
GO
CREATE TABLE [dbo].[CIUDADES] (
[ID_CIUDAD] [char] (5) COLLATE Modern_Spanish_CI_AS
NOT NULL ,
172
[ID_COMUNA] [char] (5) COLLATE Modern_Spanish_CI_AS
NOT NULL ,
[NOMBRE_CIUDAD] [varchar] (20) COLLATE
Modern_Spanish_CI_AS NOT NULL
) ON [PRIMARY]
GO
CREATE TABLE [dbo].[CLASES DE UN] (
[CLASE_UN] [char] (4) COLLATE Modern_Spanish_CI_AS
NOT NULL ,
[DESCRIPCION] [varchar] (40) COLLATE
Modern_Spanish_CI_AS NULL
) ON [PRIMARY]
GO
CREATE TABLE [dbo].[COMUNAS] (
[ID_COMUNA] [char] (5) COLLATE Modern_Spanish_CI_AS
NOT NULL ,
[ID_PROVINCIA] [char] (4) COLLATE Modern_Spanish_CI_AS
NOT NULL ,
[NOMBRE_COMUNA] [varchar] (20) COLLATE
Modern_Spanish_CI_AS NOT NULL
) ON [PRIMARY]
GO
CREATE TABLE [dbo].[DESTINOS DE LA PRODUCCION] (
173
[ID_DESTINO_PRODUCCION] [char] (4) COLLATE
Modern_Spanish_CI_AS NOT NULL ,
[DESCRIPCION] [varchar] (40) COLLATE
Modern_Spanish_CI_AS NOT NULL
) ON [PRIMARY]
GO
CREATE TABLE [dbo].[EMPRESA X BALANCES] (
[ID_BAL_EMP] [numeric](10, 0) NOT NULL ,
[RUT_EMPRESA] [numeric](10, 0) NOT NULL ,
[AÑO_BAL] [smallint] NOT NULL ,
[DISPONIBLE_CAJA_BAL] [money] NOT NULL ,
[DISPONIBLE_BANCOS_BAL] [money] NOT NULL ,
[DEPOSITO_PLAZOS_BAL] [money] NOT NULL ,
[VALORES_NEGOCIABLE_BAL] [money] NOT NULL ,
[DEUDORES_VENTA_BAL] [money] NOT NULL ,
[DOCUMENTOS_COBRAR_BAL] [money] NOT NULL ,
[DEUDORES_VARIOS_BAL] [money] NOT NULL ,
[EXISTENCIAS_BAL] [money] NOT NULL ,
[IMPUESTOS_RECUPERAR_BAL] [money] NOT NULL ,
[OTROS_ACTIVOS_CIRC_BAL] [money] NOT NULL ,
[TOTAL_ACTIVO_CIRC_BAL] [money] NOT NULL ,
[TERRENOS_BAL] [money] NOT NULL ,
[CONTRUCCIONES_INFRA_BAL] [money] NOT NULL ,
[MAQUINARIAS_EQUIPOS_BAL] [money] NOT NULL ,
[MUEBLES_BAL] [money] NOT NULL ,
174
[VEHICULOS_BAL] [money] NOT NULL ,
[ACCIONES_OTRAS_EMP_BAL] [money] NOT NULL ,
[OTROS_ACTIVOS_FIJOS_BAL] [money] NOT NULL ,
[SUBTOTAL_BAL] [money] NOT NULL ,
[DEPRECIACION_ACUM_BAL] [money] NOT NULL ,
[TOTAL_ACTIVOS_FIJO_NETO_BAL] [money] NOT NULL ,
[INVERSIONES_EMP_REL_BAL] [money] NOT NULL ,
[INVERSIONES_OTRAS_SOC_BAL] [money] NOT NULL ,
[DEUDORES_LP_BAL] [money] NOT NULL ,
[OTROS_ACTIVOS_BAL] [money] NOT NULL ,
[CRED_CP_INDAP_BAL] [money] NOT NULL ,
[CRED_CP_BANCOS_BAL] [money] NOT NULL ,
[CRED_LP_INDAP_PC_BAL] [money] NOT NULL ,
[CRED_LP_BANCOS_PC_BAL] [money] NOT NULL ,
[DIVIDENDOS_PAGAR_BAL] [money] NOT NULL ,
[OBLIGACIONES_INSTITU_BAL] [money] NOT NULL ,
[CUENTAS_PAGAR_BAL] [money] NOT NULL ,
[ACREEDORES_BAL] [money] NOT NULL ,
[DOCUMENTOS_PAGAR_BAL] [money] NOT NULL ,
[IMPUESTOS_PAGAR_BAL] [money] NOT NULL ,
[PROVISIONES_BAL] [money] NOT NULL ,
[RETENCIONES_BAL] [money] NOT NULL ,
[OTROS_PASIVOS_CIRC_BAL] [money] NOT NULL ,
[TOTAL_PC_BAL] [money] NOT NULL ,
[OBLIGACIONES_INDAP_BAL] [money] NOT NULL ,
[OBLIGACIONES_BANCOS_BAL] [money] NOT NULL ,
175
[OBLIGACIONES_INSTITU_PLP_BAL] [money] NOT NULL ,
[ACREEDORES_PLP_BAL] [money] NOT NULL ,
[DOCUMENTOS_PAGAR_PLP_BAL] [money] NOT NULL ,
[PROVISIONES_PLP_BAL] [money] NOT NULL ,
[OTROS_PLP_BAL] [money] NOT NULL ,
[TOTAL_PLP_BAL] [money] NOT NULL ,
[CAPITAL_PAGADO_BAL] [money] NOT NULL ,
[REVALORACION_CP_BAL] [money] NOT NULL ,
[OTRAS_RESERVAS_BAL] [money] NOT NULL ,
[UTILIDADES_PERD_ACUM_BAL] [money] NOT NULL ,
[UTILIDADES_PERD_EJER_BAL] [money] NOT NULL ,
[RESEV_FUTUROS_DIV_BAL] [money] NOT NULL ,
[DIVIDENDOS_PROV_BAL] [money] NOT NULL ,
[OTROS_PASIV_BAL] [money] NOT NULL ,
[TOTAL_PAT_BAL] [money] NOT NULL ,
[TOTAL_PASIV_PAT] [money] NOT NULL
) ON [PRIMARY]
GO
CREATE TABLE [dbo].[EMPRESA X COSTOS] (
[ID_COSTOS] [numeric](10, 0) NOT NULL ,
[RUT_EMPRESA] [numeric](10, 0) NOT NULL ,
[AÑO_COSTOS] [smallint] NOT NULL ,
[TRIMESTRE_COSTOS] [smallint] NOT NULL ,
[INVENT_INIC_MP_COSTOS] [money] NULL ,
[COMPRAS_NETAS_MP_COSTOS] [money] NULL ,
176
[INVENT_FIN_MP_COSTOS] [money] NULL ,
[TOTAL_SAL_MP_COSTOS] [money] NULL ,
[MANO_OBRA_DIREC_COSTOS] [money] NULL ,
[COSTOS_INDIREC_COSTOS] [money] NULL ,
[TOTAL_COSTOS_PROD_COSTOS] [money] NULL ,
[INVENT_INIC_PROD_TERM_COSTOS] [money] NULL ,
[INVENT_FIN_PROD_TERM_COSTOS] [money] NULL ,
[COSTOS_ARTIC_VEND_COSTOS] [money] NULL ,
[INVENT_INIC_PROD_COSTOS] [money] NULL ,
[COMPRAS_NETAS_PROD_COSTOS] [money] NULL ,
[INVENT_FIN_PROD_COSTOS] [money] NULL ,
[TOTAL_COSTOS_V_COSTOS] [money] NULL ,
[SUELDOS_COSTOS] [money] NULL ,
[HONORARIOS_COSTOS] [money] NULL ,
[VIATICOS_COSTOS] [money] NULL ,
[COSUMOS_BASIC_COSTOS] [money] NULL ,
[COMBUSTIBLE_COSTOS] [money] NULL ,
[FLETES_MOV_COSTOS] [money] NULL ,
[SEGUROS_COSTOS] [money] NULL ,
[COMISIONES_COSTOS] [money] NULL ,
[OTROS_COSTOS] [money] NULL ,
[TOTAL_GASTOS_ADMIN_V_COSTOS] [money] NULL ,
[TOTAL_COSTOS_GASTOS_COSTOS] [money] NULL
) ON [PRIMARY]
177
GO
CREATE TABLE [dbo].[EMPRESA X ESTADOS RESULTADOS] (
[ID_EST_RES] [numeric](18, 0) IDENTITY (1, 1) NOT NULL ,
[RUT_EMPRESA] [numeric](10, 0) NOT NULL ,
[AÑO_EST_RES] [smallint] NOT NULL ,
[TRIMESTRE_EST_RES] [smallint] NOT NULL ,
[INGRESO_EXPLOTACION_EST_RES] [money] NULL ,
[COSTO_EXPLOTACION_EST_RES] [money] NULL ,
[MARGEN_EXPLOTACION_EST_RES] [money] NULL ,
[GASTOS_ADMIN_EST_RES] [money] NULL ,
[RESULT_OP_EST_RES] [money] NULL ,
[INGRESOS_FINAN_EST_RES] [money] NULL ,
[OTROS_INGRESOS_EST_RES] [money] NULL ,
[GASTOS_FINAN_EST_RES] [money] NULL ,
[OTROS_EGRESOS_EST_RES] [money] NULL ,
[CORRECCION_MON_EST_RES] [money] NULL ,
[RES_NO_OP_V] [money] NULL ,
[IMPUESTO_RENTA_EST_RES] [money] NULL ,
[IMPUESTO_EST_RES] [money] NULL ,
[UTILIDAD_PERDIDA_EJER_EST_RES] [money] NULL
) ON [PRIMARY]
GO
CREATE TABLE [dbo].[EMPRESA X INGRESOS] (
[ID_ING] [numeric](18, 0) NOT NULL ,
[RUT_EMPRESA] [numeric](10, 0) NOT NULL ,
178
[AÑO_ING] [smallint] NOT NULL ,
[TRIMESTRE_ING] [smallint] NOT NULL ,
[CANTIDAD_VEND_ING] [numeric](18, 0) NOT NULL ,
[ID_UM] [char] (4) COLLATE Modern_Spanish_CI_AS NULL ,
[PU_ING] [int] NOT NULL ,
[VALOR_PROD_ING] [money] NOT NULL ,
[ID_DESTINO_PRODUCCION] [char] (4) COLLATE
Modern_Spanish_CI_AS NULL ,
[PROD_SERV_ING] [char] (30) COLLATE
Modern_Spanish_CI_AS NOT NULL
) ON [PRIMARY]
GO
CREATE TABLE [dbo].[EMPRESA X INVENTARIO X CONSTRUC_INFRAES] (
[ID_CONSTRUC] [numeric](10, 0) NOT NULL ,
[RUT_EMPRESA] [numeric](10, 0) NOT NULL ,
[AÑO_CONSTRUC] [smallint] NOT NULL ,
[TIPO_CONSTRUC] [varchar] (30) COLLATE
Modern_Spanish_CI_AS NOT NULL ,
[CAPACIDAD_CONSTRUC] [numeric](10, 0) NOT NULL ,
[MATERIAL_CONSTRUC] [varchar] (30) COLLATE
Modern_Spanish_CI_AS NOT NULL ,
[EDAD_CONSTRUC] [smallint] NOT NULL ,
[VIDA_UTIL_CONSTRUC] [smallint] NOT NULL ,
[USO_CONSTRUC] [varchar] (30) COLLATE
Modern_Spanish_CI_AS NULL ,
179
[VALOR_REGISTRO_CONSTRUC] [numeric](10, 0) NOT NULL
) ON [PRIMARY]
GO
CREATE TABLE [dbo].[EMPRESA X INVENTARIO X MAQUINARIAS Y EQUIPOS] (
[ID_MAQ] [numeric](10, 0) NOT NULL ,
[RUT_EMPRESA] [numeric](10, 0) NOT NULL ,
[AÑO_MAQ] [smallint] NOT NULL ,
[TIPO_MAQ] [varchar] (20) COLLATE Modern_Spanish_CI_AS
NULL ,
[N_MAQ_MAQ] [varchar] (9) COLLATE
Modern_Spanish_CI_AS NULL ,
[MARCA_MAQ] [varchar] (20) COLLATE
Modern_Spanish_CI_AS NULL ,
[EDAD_MAQ] [numeric](10, 0) NULL ,
[VIDA_UTIL_MAQ] [numeric](10, 0) NULL ,
[ESTADO_MAQ] [varchar] (20) COLLATE
Modern_Spanish_CI_AS NULL ,
[VALOR_REGISTRO_MAQ] [money] NULL
) ON [PRIMARY]
GO
CREATE TABLE [dbo].[EMPRESA X INVENTARIO X OTROS ACTIVOS] (
[ID_OTROS_ACT] [numeric](10, 0) NOT NULL ,
[RUT_EMPRESA] [numeric](10, 0) NOT NULL ,
[AÑO_OTROS_ACT] [smallint] NOT NULL ,
180
[TIPO_OTROS_ACT] [varchar] (20) COLLATE
Modern_Spanish_CI_AS NULL ,
[N_OTROS_ACT] [numeric](10, 0) NULL ,
[MARCA_OTROS_ACT] [varchar] (20) COLLATE
Modern_Spanish_CI_AS NULL ,
[EDAD_OTROS_ACT] [numeric](18, 0) NULL ,
[VIDA_UTIL_OTROS_ACT] [numeric](10, 0) NULL ,
[ESTADO_OTROS_ACT] [varchar] (20) COLLATE
Modern_Spanish_CI_AS NULL ,
[VALOR_REG_OTROS_ACT] [money] NULL
) ON [PRIMARY]
GO
CREATE TABLE [dbo].[EMPRESA X INVENTARIO X TERRENOS] (
[ID_TER] [numeric](18, 0) NOT NULL ,
[RUT_EMPRESA] [numeric](10, 0) NOT NULL ,
[AÑO_TER] [smallint] NOT NULL ,
[TIPO_TER] [varchar] (40) COLLATE Modern_Spanish_CI_AS
NULL ,
[SUPERFICIE_TER] [numeric](10, 0) NULL ,
[USOS] [varchar] (40) COLLATE Modern_Spanish_CI_AS NULL
,
[VALOR_REG_TER] [money] NULL
) ON [PRIMARY]
181
GO
CREATE TABLE [dbo].[EMPRESA X PROBLEMAS] (
[ID_PROB] [numeric](10, 0) NOT NULL ,
[RUT_EMPRESA] [numeric](10, 0) NOT NULL ,
[AÑO_PROB] [smallint] NOT NULL ,
[ID_TIPO_PROB] [char] (4) COLLATE Modern_Spanish_CI_AS
NULL ,
[DESCRIP_PROB] [varchar] (30) COLLATE
Modern_Spanish_CI_AS NULL ,
[SOLUCION_PROB] [varchar] (80) COLLATE
Modern_Spanish_CI_AS NULL ,
[ID_ESTADO_PROB] [char] (4) COLLATE
Modern_Spanish_CI_AS NULL
) ON [PRIMARY]
GO
CREATE TABLE [dbo].[EMPRESA X REPRESENTANTES] (
[RUT_REP] [numeric](10, 0) NOT NULL ,
[DIG_REP] [char] (1) COLLATE Modern_Spanish_CI_AS NOT
NULL ,
[NOMBRE_REP] [varchar] (40) COLLATE
Modern_Spanish_CI_AS NOT NULL
) ON [PRIMARY]
182
GO
CREATE TABLE [dbo].[EMPRESA X RRHH] (
[ID_RRHH] [numeric](18, 0) NOT NULL ,
[RUT_EMPRESA] [numeric](10, 0) NOT NULL ,
[AÑO_RRHH] [smallint] NOT NULL ,
[N_PRE_RRHH] [int] NULL ,
[N_GER_RRHH] [int] NULL ,
[N_CON_RRHH] [int] NULL ,
[N_SEC_RRHH] [int] NULL ,
[N_ADM_RRHH] [int] NULL ,
[N_OBR_RRHH] [int] NULL ,
[N_TEC_RRHH] [int] NULL ,
[N_PRO_RRHH] [int] NULL ,
[N_OTROS_RRHH] [int] NULL ,
[C_PRE_RRHH] [money] NULL ,
[C_GER_RRHH] [money] NULL ,
[C_CON_RRHH] [money] NULL ,
[C_SEC_RRHH] [money] NULL ,
[C_ADM_RRHH] [money] NULL ,
[C_OBR_RRHH] [money] NULL ,
[C_TEC_RRHH] [money] NULL ,
[C_PRO_RRHH] [money] NULL ,
[C_OTROS_RRHH] [money] NULL
) ON [PRIMARY]
183
GO
CREATE TABLE [dbo].[EMPRESA X SITUACION] (
[ID_SIT] [numeric](18, 0) NOT NULL ,
[RUT_EMPRESA] [numeric](10, 0) NOT NULL ,
[AÑO_SIT] [smallint] NOT NULL ,
[TRIMESTRE_SIT] [smallint] NOT NULL ,
[EST_RES_SIT] [bit] NULL ,
[EST_RES_UN_SIT] [bit] NULL ,
[BALANCE_SIT] [bit] NULL ,
[BALANCE_UN_SIT] [bit] NULL ,
[PLANILLAS_SIT] [bit] NULL ,
[CONTRATOS_SIT] [bit] NULL ,
[COMPROBANTES_SIT] [bit] NULL ,
[DECLARACION_SIT] [bit] NULL ,
[IVA_SIT] [bit] NULL ,
[LIBRO_SIT] [bit] NULL ,
[REGISTRO_SOCIOS_SIT] [bit] NULL ,
[ESTATUTOS_SIT] [bit] NULL ,
[ORGANIGRAMA_SIT] [bit] NULL ,
[SISTEMA_INF_COSTOS_SIT] [bit] NULL ,
[INVENTARIO_SIT] [bit] NULL
) ON [PRIMARY]
184
GO
CREATE TABLE [dbo].[EMPRESA X VENCIMIENTO X PCP] (
[ID_VENC_PCP] [numeric](18, 0) NOT NULL ,
[RUT_EMPRESA] [numeric](10, 0) NOT NULL ,
[AÑO_PCP] [smallint] NOT NULL ,
[MES_PCP] [int] NOT NULL ,
[CRED_CP_INDAP_PCP] [money] NULL ,
[CRED_BANCOS_PCP] [money] NULL ,
[CRED_LP_PC_INDAP_PCP] [money] NULL ,
[CRED_LP_PC_BANCOS_PCP] [money] NULL ,
[DIVIDENDOS_PAGAR_PCP] [money] NULL ,
[OBLIGACIONES_PAGAR_PCP] [money] NULL ,
[CUENTAS_PAGAR_PCP] [money] NULL ,
[ACREEDORES_PCP] [money] NULL ,
[DOCUMENTOS_PAGAR_PCP] [money] NULL ,
[PROVISIONES_PCP] [money] NULL ,
[RETENCIONES_PCP] [money] NULL ,
[OTROS_PC_PCP] [money] NULL ,
[TOTAL_PASIV_CIRC_PCP] [money] NULL
) ON [PRIMARY]
185
GO
CREATE TABLE [dbo].[EMPRESA X VENCIMIENTO X PLP] (
[ID_VENC_PLP] [numeric](18, 0) NOT NULL ,
[RUT_EMPRESA] [numeric](10, 0) NOT NULL ,
[AÑO_PLP] [smallint] NOT NULL ,
[AÑO_DESCRITO] [smallint] NOT NULL ,
[OBLIGACIONES_PLP] [money] NULL ,
[OBLIGACIONES_BANCOS_PLP] [money] NULL ,
[OBLIGACIONES_INSTITU_PLP] [money] NULL ,
[ACREEDORES_VARIOS_PLP] [money] NULL ,
[DOCUMENTOS_PAGAR_PLP] [money] NULL ,
[PROVISIONES_PLP] [money] NULL ,
[OTROS_PASIV_PLP] [money] NULL ,
[TOTAL_PLP_PLP] [money] NULL
) ON [PRIMARY]
GO
CREATE TABLE [dbo].[EMPRESAS] (
[RUT_EMPRESA] [numeric](10, 0) NOT NULL ,
[DIGITO] [char] (1) COLLATE Modern_Spanish_CI_AS NOT
NULL ,
[AÑO] [varchar] (4) COLLATE Modern_Spanish_CI_AS NOT
NULL ,
[NOMBRE_EMPRESA] [varchar] (40) COLLATE
Modern_Spanish_CI_AS NULL ,
186
[RAZON_SOCIAL] [varchar] (50) COLLATE
Modern_Spanish_CI_AS NULL ,
[FECHA_CONSTITUCION] [varchar] (8) COLLATE
Modern_Spanish_CI_AS NULL ,
[FONO] [varchar] (20) COLLATE Modern_Spanish_CI_AS
NULL ,
[FAX] [varchar] (20) COLLATE Modern_Spanish_CI_AS NULL ,
[ID_ADMINISTRADOR] [numeric](18, 0) NULL ,
[ID_REGION] [char] (4) COLLATE Modern_Spanish_CI_AS
NULL ,
[ID_PROVINCIA] [char] (4) COLLATE Modern_Spanish_CI_AS
NULL ,
[ID_COMUNA] [char] (5) COLLATE Modern_Spanish_CI_AS
NULL ,
[ID_CIUDAD] [char] (5) COLLATE Modern_Spanish_CI_AS
NULL ,
[CALLE] [varchar] (20) COLLATE Modern_Spanish_CI_AS
NULL ,
[NUMERO] [varchar] (20) COLLATE Modern_Spanish_CI_AS
NULL ,
[OFICINA] [varchar] (20) COLLATE Modern_Spanish_CI_AS
NULL ,
[PISO] [varchar] (20) COLLATE Modern_Spanish_CI_AS NULL
,
[ID_AREA] [char] (4) COLLATE Modern_Spanish_CI_AS NULL
,
187
[ID_GRUPO] [char] (4) COLLATE Modern_Spanish_CI_AS
NULL ,
[ID_OPERADOR] [char] (4) COLLATE Modern_Spanish_CI_AS
NULL ,
[GIRO_COMERCIAL] [varchar] (80) COLLATE
Modern_Spanish_CI_AS NULL ,
[FECHA_INICIO_ACTIVIDADES] [varchar] (8) COLLATE
Modern_Spanish_CI_AS NULL ,
[N_SOCIOS] [numeric](18, 0) NULL ,
[N_MUJERES] [numeric](18, 0) NULL ,
[JOVENES] [numeric](18, 0) NULL ,
[N_ETNIA] [numeric](18, 0) NULL ,
[N_PROVEEDORES] [numeric](18, 0) NULL ,
[VECES_MOROCIDAD] [numeric](18, 0) NULL ,
[VECES_CONDONACIONES] [numeric](18, 0) NULL ,
[VECES_RENEGOCIACIONES] [numeric](18, 0) NULL ,
[ID_TIPO_CLASIFICACION] [char] (4) COLLATE
Modern_Spanish_CI_AS NULL ,
[ID_USUARIO] [varchar] (10) COLLATE
Modern_Spanish_CI_AS NULL ,
[R_CAPITAL_TRABAJO] [float] NULL ,
[R_RAZON_CORRIENTE] [float] NULL ,
[R_PRUEBA_ACIDA] [float] NULL ,
[R_LEVERAGE] [float] NULL ,
[R_LEVERAGE_MERCADO] [float] NULL ,
[R_SOLVENCIA] [float] NULL ,
188
[R_RENTABILIDAD_BRUTA] [float] NULL ,
[R_RENTABILIDAD_OPERACIONAL] [float] NULL ,
[R_RENTABILIDAD_NETA] [float] NULL ,
[R_RAZON_OPERATIVA] [float] NULL ,
[R_RAZON_DEUDA] [float] NULL ,
[R_RAZON_DEPENDENCIA] [float] NULL ,
[R_ROTACION_ACTIVOS] [float] NULL ,
[R_RAZON_CALIDAD] [float] NULL ,
[R_COBERTURA_FINANCIERA] [float] NULL ,
[R_DEPENDENCIA_FINANCIERA] [float] NULL ,
[R_DEPENDENCIA_CP] [float] NULL ,
[R_DEPENDENCIA_LP] [float] NULL
) ON [PRIMARY]
GO
CREATE TABLE [dbo].[GRUPOS] (
[ID_GRUPO] [char] (4) COLLATE Modern_Spanish_CI_AS NOT
NULL ,
[DESCRIPCION] [varchar] (40) COLLATE
Modern_Spanish_CI_AS NOT NULL
) ON [PRIMARY]
GO
CREATE TABLE [dbo].[OPERADORES] (
[ID_OPERADOR] [char] (4) COLLATE Modern_Spanish_CI_AS
NOT NULL ,
189
[NOMBRE_OPERADOR] [varchar] (40) COLLATE
Modern_Spanish_CI_AS NULL
) ON [PRIMARY]
GO
CREATE TABLE [dbo].[PARAMETROS] (
[AÑO] [char] (4) COLLATE Modern_Spanish_CI_AS NOT NULL
,
[FECHA_CADUCA] [datetime] NULL ,
[CADUCA_MODO1] [datetime] NULL ,
[UF] [money] NULL ,
[IVA] [numeric](18, 0) NULL
) ON [PRIMARY]
GO
CREATE TABLE [dbo].[PROVINCIAS] (
[ID_PROVINCIA] [char] (4) COLLATE Modern_Spanish_CI_AS
NOT NULL ,
[ID_REGION] [char] (4) COLLATE Modern_Spanish_CI_AS
NOT NULL ,
[NOMBRE_PROVINCIA] [varchar] (20) COLLATE
Modern_Spanish_CI_AS NOT NULL
) ON [PRIMARY]
190
GO
CREATE TABLE [dbo].[REGIONES] (
[ID_REGION] [char] (4) COLLATE Modern_Spanish_CI_AS
NOT NULL ,
[NOMBRE_REGION] [varchar] (20) COLLATE
Modern_Spanish_CI_AS NOT NULL
) ON [PRIMARY]
GO
CREATE TABLE [dbo].[REL_AREA_COMUNA] (
[ID_AREA] [char] (4) COLLATE Modern_Spanish_CI_AS NOT
NULL ,
[ID_COMUNA] [char] (5) COLLATE Modern_Spanish_CI_AS
NOT NULL
) ON [PRIMARY]
GO
CREATE TABLE [dbo].[REL_EMP_REP] (
[RUT_EMPRESA] [numeric](10, 0) NOT NULL ,
[RUT_REP] [numeric](10, 0) NOT NULL
) ON [PRIMARY]
191
GO
CREATE TABLE [dbo].[TIPOS DE ESTADOS] (
[ID_TIPO_ESTADO] [char] (4) COLLATE
Modern_Spanish_CI_AS NOT NULL ,
[DESCRIPCION] [varchar] (20) COLLATE
Modern_Spanish_CI_AS NOT NULL
) ON [PRIMARY]
GO
CREATE TABLE [dbo].[TIPOS DE PROBLEMAS] (
[ID_TIPO_PROBLEMA] [char] (4) COLLATE
Modern_Spanish_CI_AS NOT NULL ,
[DESCRIP_TIPO_PROB] [varchar] (5020) COLLATE
Modern_Spanish_CI_AS NULL
) ON [PRIMARY]
GO
CREATE TABLE [dbo].[TIPOS_CLASIFICACION] (
[TIPO_CLASIFICACION] [char] (4) COLLATE
Modern_Spanish_CI_AS NOT NULL ,
[DESCRIP_TIPO_CLAS] [varchar] (20) COLLATE
Modern_Spanish_CI_AS NULL
) ON [PRIMARY]
192
GO
CREATE TABLE [dbo].[TIPOS_DE_USUARIOS] (
[ID_TIPO_USUARIO] [char] (4) COLLATE
Modern_Spanish_CI_AS NOT NULL ,
[NOMBRE_TIPO_USUARIO] [varchar] (20) COLLATE
Modern_Spanish_CI_AS NOT NULL
) ON [PRIMARY]
GO
CREATE TABLE [dbo].[TIPOS_UN] (
[ID_TIPO_UN] [char] (4) COLLATE Modern_Spanish_CI_AS
NOT NULL ,
[DESCRIP_TIPO_UN] [varchar] (20) COLLATE
Modern_Spanish_CI_AS NULL ,
[ID_CLASE_UN] [char] (4) COLLATE Modern_Spanish_CI_AS
NULL
) ON [PRIMARY]
GO
CREATE TABLE [dbo].[UN] (
[ID_UN] [numeric](10, 0) NOT NULL ,
[NOMBRE_UN] [varchar] (20) COLLATE
Modern_Spanish_CI_AS NOT NULL ,
[RUT_EMPRESA] [numeric](10, 0) NOT NULL ,
[ID_TIPO_UN] [char] (4) COLLATE Modern_Spanish_CI_AS
NOT NULL
193
) ON [PRIMARY]
GO
CREATE TABLE [dbo].[UN X BALANCES] (
[ID_BALANCE_UN] [numeric](18, 0) NOT NULL ,
[AÑO_BAL] [smallint] NOT NULL ,
[ID_UN] [numeric](10, 0) NOT NULL ,
[DISPONIBLE_CAJA_BAL_UN] [money] NOT NULL ,
[DISPONIBLE_BANCOS_BAL_UN] [money] NOT NULL ,
[DEPOSITO_PLAZOS_BAL_UN] [money] NOT NULL ,
[VALORES_NEGOCIABLES_BAL_UN] [money] NOT NULL ,
[DEUDORES_VENTA_BAL_UN] [money] NOT NULL ,
[DOCUMENTOS_COBRAR_BAL_UN] [money] NOT NULL ,
[DEUDORES_VARIOS_BAL_UN] [money] NOT NULL ,
[EXISTENCIAS_BAL_UN] [money] NOT NULL ,
[IMPUESTOS_RECUPERAR_BAL_UN] [money] NOT NULL ,
[OTROS_ACTIVOS_CIRCULANTES_BAL_UN] [money] NOT
NULL ,
[TOTAL_ACTIVO_CIRC_BAL_UN] [money] NOT NULL ,
[TERRENOS_BAL_UN] [money] NOT NULL ,
[CONSTRUCCIONES_INFRA_BAL_UN] [money] NOT NULL ,
[MAQUINARIAS_EQUIPOS_BAL_UN] [money] NOT NULL ,
[MUEBLES_BAL_UN] [money] NOT NULL ,
[VEHICULOS_BAL_UN] [money] NOT NULL ,
[ACCIONES_OTRAS_EMP_BAL_UN] [money] NOT NULL ,
[OTROS_ACTIVOS_FIJOS_BAL_UN] [money] NOT NULL ,
194
[SUBTOTAL_BAL_UN] [money] NOT NULL ,
[DEPRECIACION_ACUM_BAL_UN] [money] NOT NULL ,
[TOTAL_ACTIVO_FIJO_NETO_BAL] [money] NOT NULL ,
[INVERSIONES_EMP_REL_BAL_UN] [money] NOT NULL ,
[INVERSIONES_OTRAS_SOC_BAL_UN] [money] NOT NULL ,
[DEUDORES_LP_BAL_UN] [money] NOT NULL ,
[OTROS_ACTIVOS_BAL_UN] [money] NOT NULL ,
[TOTAL_OTROS_ACT_BAL_UN] [money] NOT NULL ,
[TOTAL_ACTIV_BAL_UN] [money] NOT NULL ,
[CRED_CP_INDAP_BAL_UN] [money] NOT NULL ,
[CRED_CP_BANCOS_BAL_UN] [money] NOT NULL ,
[CRED_LP_INDAP_PC_BAL_UN] [money] NOT NULL ,
[CRED_LP_BANCOS_PC_BAL_UN] [money] NOT NULL ,
[DIVIDENDOS_PAGAR_BAL_UN] [money] NOT NULL ,
[OBLIGACIONES_INSTITU_BAL_UN] [money] NOT NULL ,
[CUENTAS_PAGAR_BAL_UN] [money] NOT NULL ,
[ACREEDORES_BAL_UN] [money] NOT NULL ,
[DOCUMENTOS_PAGAR_BAL_UN] [money] NOT NULL ,
[IMPUESTOS_PAGAR_BAL_UN] [money] NOT NULL ,
[PROVISIONES_BAL_UN] [money] NOT NULL ,
[RETENCIONES_BAL_UN] [money] NOT NULL ,
[OTROS_PASIVOS_CIRC_BAL_UN] [money] NOT NULL ,
[TOTAL_PC_BAL_UN] [money] NOT NULL ,
[OBLIGACIONES_INDAP_BAL] [money] NOT NULL ,
[OBLIGACIONES_BANCOS_BAL] [money] NOT NULL ,
195
[OBLIGACIONES_INSTITU_PLP_BAL_UN] [money] NOT NULL
,
[ACREEDORES_PLP_BAL_UN] [money] NOT NULL ,
[DOCUMENTOS_PAGAR_PLP_BAL_UN] [money] NOT NULL ,
[PROVISIONES_PLP_BAL_UN] [money] NOT NULL ,
[OTROS_PLP_BAL_UN] [money] NOT NULL ,
[TOTAL_PLP_BAL_UN] [money] NOT NULL ,
[CAPITAL_PAGADO_BAL_UN] [money] NOT NULL ,
[REVALORACION_CP_BAL_UN] [money] NOT NULL ,
[OTRAS_RESERVAS_BAL_UN] [money] NOT NULL ,
[UTILIDADES_PERD_ACUM_BAL_UN] [money] NOT NULL ,
[UTILIDADES_PERD_EJER_BAL_UN] [money] NOT NULL ,
[RESERV_FUTUROS_DIV_BAL_UN] [money] NOT NULL ,
[DIVIDENDOS_PROV_BAL_UN] [money] NOT NULL ,
[OTROS_PASIV_BAL_UN] [money] NOT NULL ,
[TOTAL_PAT_BAL_UN] [money] NOT NULL ,
[TOTAL_PASIV_BAL_UN] [money] NOT NULL
) ON [PRIMARY]
GO
CREATE TABLE [dbo].[UN X COSTOS] (
[ID_COSTOS_UN] [numeric](18, 0) NOT NULL ,
[AÑO_COSTOS_UN] [smallint] NOT NULL ,
[ID_UN] [numeric](10, 0) NOT NULL ,
[TRIMESTRE] [smallint] NOT NULL ,
[INVENT_INIC_MP_COSTOS_UN] [money] NULL ,
196
[COMPRAS_NETAS_MP_COSTOS_UN] [money] NULL ,
[INVENT_FIN_MP_COSTOS_UN] [money] NULL ,
[TOTAL_SAL_MP_COSTOS_UN] [money] NULL ,
[MANO_OBRA_DIREC_COSTOS_UN] [money] NULL ,
[COSTOS_INDIREC_COSTOS_UN] [money] NULL ,
[TOTAL_COSTOS_PROD_COSTOS_UN] [money] NULL ,
[INVENT_INIC_PROD_TERM_COSTOS_UN] [money] NULL ,
[INVENT_FIN_PROD_TERM_COSTOS_UN] [money] NULL ,
[COSTOS_ARTIC_VEND_COSTOS_UN] [money] NULL ,
[INVENT_INIC_PROD_COSTOS_UN] [money] NULL ,
[COMPRAS_NETAS_PROD_COSTOS_UN] [money] NULL ,
[INVENT_FIN_PROD_COSTOS_UN] [money] NULL ,
[SUELDOS_COSTOS_UN] [money] NULL ,
[HONORARIOS_COSTOS_UN] [money] NULL ,
[VIATICOS_COSTOS_UN] [money] NULL ,
[CONSUMOS_BASIC_COSTOS_UN] [money] NULL ,
[COMBUSTIBLE_COSTOS_UN] [money] NULL ,
[FLETES_MOV_COSTOS_UN] [money] NULL ,
[SEGUROS_COSTOS_UN] [money] NULL ,
[COMISIONES_COSTOS_UN] [money] NULL ,
[OTROS_COSTOS_UN] [money] NULL ,
[TOTAL_GASTOS_ADMIN_V_COSTOS_UN] [money] NULL ,
[TOTAL_COSTOS_GASTOS_COSTOS_UN] [money] NULL
) ON [PRIMARY]
197
GO
CREATE TABLE [dbo].[UN X ESTADOS DE RESULTADOS] (
[ID_EST_RES_UN] [numeric](10, 0) NOT NULL ,
[AÑO_EST_RES_UN] [smallint] NOT NULL ,
[ID_UN] [numeric](10, 0) NOT NULL ,
[TRIMESTREEST_RES_UN] [smallint] NOT NULL ,
[INGRESOS_EXPLOTACIONEST_RES_UN] [money] NULL ,
[COSTO_EXPLOTACION_EST_RES_UN] [money] NULL ,
[MARGEN_EXPLOTACIONEST_RES_UN] [money] NULL ,
[GASTOS_ADMIN_EST_RES_UN] [money] NULL ,
[RESULT_OP_EST_RES_UN] [money] NULL ,
[INGRESOS_FINAN_EST_RES_UN] [money] NULL ,
[OTROS_INGRESOS_EST_RES_UN] [money] NULL ,
[GASTOS_FINAN_EST_RES_UN] [money] NULL ,
[OTROS_EGRESOS_EST_RES_UN] [money] NULL ,
[CORRECCION_MON_EST_RES_UN] [money] NULL ,
[RES_NO_OP_EST_RES_UN] [money] NULL ,
[IMPUESTO_RENTA_EST_RES_UN] [money] NULL ,
[IMPUESTO_EST_RES_UN] [money] NULL ,
[UTILIDAD_PERDIDA_EJER_V] [money] NULL
) ON [PRIMARY]
198
GO
CREATE TABLE [dbo].[UN X INGRESOS] (
[ID_ING_UN] [numeric](18, 0) NOT NULL ,
[ID_UN] [numeric](10, 0) NOT NULL ,
[AÑO_ING_UN] [smallint] NOT NULL ,
[TRIMESTRE_ING_UN] [smallint] NOT NULL ,
[CANTIDAD_VEND_ING_UN] [int] NOT NULL ,
[ID_UM] [char] (4) COLLATE Modern_Spanish_CI_AS NULL ,
[PU_ING_UN] [money] NOT NULL ,
[VALOR_PROD_ING_UN] [money] NOT NULL ,
[ID_DESTINO_PRODUCCION] [char] (4) COLLATE
Modern_Spanish_CI_AS NULL ,
[PROD_SERV_ING_UN] [char] (30) COLLATE
Modern_Spanish_CI_AS NOT NULL
) ON [PRIMARY]
GO
CREATE TABLE [dbo].[UNIDADES DE MEDIDA] (
[ID_UM] [char] (4) COLLATE Modern_Spanish_CI_AS NOT
NULL ,
[NOMBRE_UM] [varchar] (20) COLLATE
Modern_Spanish_CI_AS NOT NULL
) ON [PRIMARY]
199
GO
CREATE TABLE [dbo].[USUARIOS] (
[USERNAME] [varchar] (10) COLLATE Modern_Spanish_CI_AS
NOT NULL ,
[P_NOM_USU] [varchar] (10) COLLATE
Modern_Spanish_CI_AS NOT NULL ,
[S_NOM_USU] [varchar] (10) COLLATE
Modern_Spanish_CI_AS NOT NULL ,
[AP_PAT_USU] [varchar] (10) COLLATE
Modern_Spanish_CI_AS NOT NULL ,
[AP_MAT_USU] [varchar] (10) COLLATE
Modern_Spanish_CI_AS NOT NULL ,
[PASSWORD] [varchar] (50) COLLATE
Modern_Spanish_CI_AS NOT NULL ,
[OTROS] [varchar] (20) COLLATE Modern_Spanish_CI_AS
NULL ,
[ID_TIPO_USU] [char] (4) COLLATE Modern_Spanish_CI_AS
NOT NULL
) ON [PRIMARY]
GO
200
6.2.4.1.1 Procedimientos almacenados
En esta sección se muestran algunos de los procedimientos
almacenados implementados en la Base de Datos
Procedimientos de SELECCIÓN:
/* --- Busca las empresas y las devuelve como lista --- */ CREATE PROCEDURE Busca_empresas AS SELECT * FROM empresas /* --- Busca una empresa específica --- */ CREATE PROCEDURE Busca_empresa @rut numeric(9) AS SELECT * FROM empresas WHERE rut_empresa=@rut /* --- Busca los Balances de una empresa específica ---*/ CREATE PROCEDURE Busca_balance_empresa @rut numeric(9) AS SELECT * FROM [empresas x balances] WHERE rut_empresa=@rut
201
/* --- Busca las UN de una empresa específica ---*/ CREATE PROCEDURE Busca_UNs_empresa @rut numeric(9) AS SELECT * FROM UN WHERE rut_empresa=@rut /* --- Busca todos los ingresos de una empresa específica y de cierto año---*/ CREATE PROCEDURE Busca_ING_FECHA_empresa @rut numeric(9), @año numeric(4) AS SELECT * FROM [empresa x ingresos] WHERE rut_empresa=@rut AND año_ing=@año /*--- Genera un listado de todos los problemas de una empresa específica, de cierto año y la ordena por tipo de Problema---*/ CREATE PROCEDURE Lista_ordenada_PROB_empresa @rut numeric(9), @año numeric(4) AS SELECT * FROM [empresa x problemas] WHERE rut_empresa=@rut AND año_prob=@año ORDER BY id_tipo_prob
202
Procedimientos de ELIMINACION /* --- Eliminación de una empresa ---*/ CREATE PROCEDURE Elimina_empresa @rut numeric(9) AS DELETE FROM empresas WHERE rut_empresa=@rut /* --- Eliminación de todas las UN de una empresa ---*/ CREATE PROCEDURE Elimina_Uns_empresa @rut numeric(9) AS DELETE FROM UN WHERE rut_empresa=@rut /* --- Eliminación de todos los Balances de una UN específica de cierto año ---*/ CREATE PROCEDURE Elimina_balances_UN_FECHA @u numeric(9), @año numeric(4) AS DELETE FROM [un x balances] WHERE id_un=@u AND año_bal_un=@año /* --- Eliminación de una UM ---*/ CREATE PROCEDURE Elimina_UM @u char(4) AS DELETE FROM [unidades de medida] WHERE id_um=@u /* --- Eliminación de los Costos de una empresa específica cuyo valor total es cero (sin valores) ---*/ CREATE PROCEDURE Elimina_coostos_empresa @rut numeric(9) AS DELETE FROM [empresa x costos] WHERE rut_empresa=@rut AND total_costos_gastos_costos=0
203
Procedimientos de ACTUALIZACION /*--- Actualización de todos los datos de un GRUPO---*/ CREATE PROCEDURE Actualiza_grupo @id char(4), @de varchar(40) AS UPDATE grupos SET id_grupo=@id, descripcion=@de /*--- Actualiza a Nulo todas las empresas que referencian a un operador ---*/ CREATE PROCEDURE Actualiza_nulo_operador AS UPDATE empresas SET id_operador=null /*--- Actualiza un operador por otro de todas las empresas ---*/ CREATE PROCEDURE Actualiza_operador_empresas @id1 char(4), @id2 char(4) AS UPDATE empresas SET id_operador=@id2 WHERE id_operador=@id1 /*--- Actualiza la clasificación sintética de una empresa ---*/ CREATE PROCEDURE Actualiza_clasificacion_empresa @rut numeric(9), @cla char(4) AS UPDATE empresas SET id_tipo_clasificacion=@cla WHERE rut_empresa=@rut
204
/*--- Actualiza el Precio Unitario de un producto o servicio del ingreso de una UN---*/ CREATE PROCEDURE Actualiza_PU_UN @u numeric(9), @pu numeric(9) AS UPDATE [un x ingresos] SET pu_ing_un=@pu WHERE id_un=@u Procedimientos de INSERCION /*--- Ingreso de un nuevo representante---*/ CREATE PROCEDURE Ingresa_representante @rut numeric(9), dig char(1), @nom varchar(40) AS INSERT INTO [empresa x representantes] (rut_rep, dig_rep, nombre_rep) VALUES (@rut, @dig, @nom) /*--- Ingreso de un Nuevo usuario --- */ CREATE PROCEDURE Ingresa_usuario @user varchar(10), @pnom varchar(10), @snom varchar(10), @apat varchar(10), @amat varchar(10), @pass varchar(10), @otros varchar(20), @id_tipo char(4) AS INSERT INTO usuarios (username, p_nom_usu, s_nom_usu, ap_pat_usu, ap_mat_usu, password, otros, id_tipo_usu) VALUES (@user, @pnom, @snom, @apat, @amat, @pass, @otros, @id_tipo)
205
6.2.4.1.2 Triggers o desencadenadores
En esta sección se muestran algunos de los triggers implementados o
utilizados en la Base de Datos
Ejemplo 1
Objetivo: Demostrar como se utilizan procedimientos almacenados disponibles
del SQL Server. Crear un plan de mantenimiento de la Base de Datos.
Sintaxis:
sp_add_maintenance_plan [ @plan_name = ] 'plan_name' , @plan_id = 'plan_id'
OUTPUT
Argumentos [@plan_name =] 'plan_name' Especifica el nombre del plan de mantenimiento
que va a agregarse. plan_name es de tipo varchar(128).
@plan_id = 'plan_id' Especifica el Id. del plan de mantenimiento. plan_id es de
tipo uniqueidentifier.
Valores del código de retorno
0 (correcto) o 1 (error)
206
Declaración para utilizarlo. DECLARE @myplan_id UNIQUEIDENTIFIER
EXECUTE sp_add_maintenance_plan N'Myplan',@plan_id=@myplan_id OUTPUT
PRINT 'The id for the maintenance plan "Myplan" is:'+convert(varchar(256),@myplan_id)
GO Nota: La Base de Datos a planificar en el ejemplo se llama “Myplan”.
Si el plan de mantenimiento se crea con éxito, se devolverá el Id. del plan.
'The id for the maintenance plan "Myplan" is:' FAD6F2AB-3571-11D3-9D4A-00C04FB925FC
Ejemplo 2
Objetivo: Demostrar como se utilizan procedimientos almacenados en la Base
de Datos cuando se activan por un tipo de acceso a la tabla o relación que lo
contiene.
Tipo de Acceso: ELIMINACION CREATE TRIGGER Eliminación_tipo_problema ON [tipos de problemas] FOR DELETE AS Begin /*--- Se borrarán los hijos de la Tabla Problemas EAC---*/ DELETE [empresa x problemas] FROM [empresa x problemas], deleted WHERE id_tipo_prob = id_tipo_problema Return End
207
6.2.4.1.3 Imágenes de la Base de Datos.
Diagrama de la Base de Datos en SQL Server 2000
208
209
6.2.4.2 Implementación del Sitio Web
Objetivo: Desarrollar la implantación del Servidor Web, configurarlo, subir el
sitio Web y dejarlo accesible desde para la Intranet. Para ello es necesario
desarrollar el código de las páginas ASP que soportan el sistema.
6.2.4.2.1 Código de páginas del Sitio Web
Nota: Debido a la utilización de Controles en tiempo de diseño del Visual
Interdev, el código de las páginas es muy extenso y por eso solo se
documentan secciones de las páginas.
Ejemplos de páginas ASP
Página de envio de Datos del Usuario a página de validación
html> <head> <meta NAME="GENERATOR" Content="Microsoft Visual Studio 6.0"> <title></title> <LINK REL="stylesheet" TYPE="text/css" HREF="_Themes/technolo/THEME.CSS"
VI6.0THEME="Tecnología"> <LINK REL="stylesheet" TYPE="text/css" HREF="_Themes/technolo/GRAPH0.CSS"
VI6.0THEME="Tecnología"> <LINK REL="stylesheet" TYPE="text/css" HREF="_Themes/technolo/COLOR0.CSS"
VI6.0THEME="Tecnología"> <LINK REL="stylesheet" TYPE="text/css" HREF="_Themes/technolo/CUSTOM.CSS"
VI6.0THEME="Tecnología"></head> <body>
210
<p align="center"><font color="yellow" size="5" style="BACKGROUND-COLOR: black"><strong> SISTEMA DE ANALISIS FINANCIERO INDAP-EAC
</strong></font></p> <p align="center"><font color="black" style="BACKGROUND-COLOR:
#778899"><strong> VALIDACION DE USUARIO </strong></font></p> <p> <form action="./Paginas_especiales/val.asp" method="post" id="form1" name="form1"> <p align="center"> </p> <p align="center"> Nombre de Usuario <input name="txtuser"> </p> <p align="center">Clave de Acceso <input id="password1" name="pass" type="password"> </p> <p align="center"><input id="submit1" name="submit1" type="submit" value="INGRESAR"></p> </form> </body> </html>
Página de validación de usuarios:
<%@ Language=VBScript %> <% dim us dim pa us=Request.Form("txtuser") pa=Request.Form("pass") '--------------------------------- '----- comprobacion de clave ----- '--------------------------------- dim rs dim VALIDADO dim pagina set rs=server.createobject("adodb.recordset") connectme="DSN=BBDD_SAF_EAC;USER=Admin;Password=ARCANO" CADENA="SELECT USUARIOS.* FROM USUARIOS" ' WHERE (USERNAME="&us&") AND (PASSWORD="&pa&")" sqlstmt=CADENA rs.open sqlstmt,connectme VALIDADO=FALSE if rs.eof then Response.Write "<center>" Response.Write "USTED NO ESTA AUTORIZADO PARA INGRESAR!!!!" Response.end else do while not rs.eof
211
IF us=rs("USERNAME")and pa=rs("PASSWORD") then validado=true NIVEL=RS("ID_NIVEL") Session("VALIDA")=true Session("LEVEL")=NIVEL Session("USER")=us SESSION("ID_US")=RS("ID_USUARIO") 'exit end if rs.movenext loop end if if validado then select case NIVEL case 1 Response.Redirect "./nivel1.asp" case 3 Response.redirect "./nivel3.asp" case 4 Response.Redirect "./nivel4.asp" case 5 Response.Redirect "./nivel5.asp" end select else Response.Write "USTED NO ESTA AUTORIZADO!!!" Response.end end if %> <html> <head> <meta NAME="GENERATOR" Content="Microsoft Visual Studio 6.0"> <LINK REL="stylesheet" TYPE="text/css" HREF="../_Themes/technolo/THEME.CSS"
VI6.0THEME="Tecnología"> <LINK REL="stylesheet" TYPE="text/css" HREF="../_Themes/technolo/GRAPH0.CSS"
VI6.0THEME="Tecnología"> <LINK REL="stylesheet" TYPE="text/css" HREF="../_Themes/technolo/COLOR0.CSS"
VI6.0THEME="Tecnología"> <LINK REL="stylesheet" TYPE="text/css" HREF="../_Themes/technolo/CUSTOM.CSS"
VI6.0THEME="Tecnología"></head> <p> </p> <body> </body> </html>
212
Sección de la Página Gestión empresas
<%@ Language=VBScript %> <% ' Modelo de objetos de secuencia de comandos de VI 6.0 habilitado %> <!--#include file="../_ScriptLibrary/pm.asp"--> <% if StartPageProcessing() Then Response.End() %> <FORM name=thisForm METHOD=post> <% if session("VALIDA")="" then Response.Redirect "./ERROR.htm" end if %> <HTML> <HEAD> <META NAME="GENERATOR" Content="Microsoft Visual Studio 6.0"> </HEAD> <BODY> <P> <!--METADATA TYPE="DesignerControl" startspan <OBJECT classid="clsid:B6FC3A14-F837-11D0-9CC8-006008058731" id=BrowseBtn style="LEFT: 0px; TOP: 0px"> <PARAM NAME="_ExtentX" VALUE="4286"> <PARAM NAME="_ExtentY" VALUE="714"> <PARAM NAME="id" VALUE="BrowseBtn"> <PARAM NAME="Caption" VALUE="Modo de exploración"> <PARAM NAME="Image" VALUE=""> <PARAM NAME="AltText" VALUE=""> <PARAM NAME="Visible" VALUE="-1"> <PARAM NAME="Platform" VALUE="256"> <PARAM NAME="LocalPath" VALUE="../"> <!--DTCRUNTIME ?!--#INCLUDE FILE="../_ScriptLibrary/Button.ASP"--?<SCRIPT LANGUAGE=JavaScript RUNAT=Server> function _initBrowseBtn(){ BrowseBtn.value = 'Modo de exploración'; BrowseBtn.setStyle(0);}function _BrowseBtn_ctor(){
CreateButton('BrowseBtn', _initBrowseBtn, null);}</script><% BrowseBtn.display %> DTCRUNTIME--> </OBJECT> --> <!--#INCLUDE FILE="../_ScriptLibrary/Button.ASP"--> <SCRIPT LANGUAGE=JavaScript RUNAT=Server> function _initBrowseBtn() { BrowseBtn.value = 'Modo de exploración'; BrowseBtn.setStyle(0); } function _BrowseBtn_ctor() {
213
CreateButton('BrowseBtn', _initBrowseBtn, null); } </script> <% BrowseBtn.display %> <!--METADATA TYPE="DesignerControl" endspan--> <!--METADATA TYPE="DesignerControl" startspan <OBJECT classid="clsid:B6FC3A14-F837-11D0-9CC8-006008058731" id=EditBtn style="LEFT: 0px; TOP: 0px"> <PARAM NAME="_ExtentX" VALUE="3493"> <PARAM NAME="_ExtentY" VALUE="714"> <PARAM NAME="id" VALUE="EditBtn"> <PARAM NAME="Caption" VALUE="Modo de edición"> <PARAM NAME="Image" VALUE=""> <PARAM NAME="AltText" VALUE=""> <PARAM NAME="Visible" VALUE="-1"> <PARAM NAME="Platform" VALUE="256"> <PARAM NAME="LocalPath" VALUE="../"> <!--DTCRUNTIME <SCRIPT LANGUAGE=JavaScript RUNAT=Server>function _initEditBtn(){ EditBtn.value = 'Modo de edición'; EditBtn.setStyle(0);}function _EditBtn_ctor(){
CreateButton('EditBtn', _initEditBtn, null);}</script><% EditBtn.display %> DTCRUNTIME--> </OBJECT> --> <SCRIPT LANGUAGE=JavaScript RUNAT=Server> function _initEditBtn() { EditBtn.value = 'Modo de edición'; EditBtn.setStyle(0); } function _EditBtn_ctor() { CreateButton('EditBtn', _initEditBtn, null); } </script> <% EditBtn.display %> <!--METADATA TYPE="DesignerControl" endspan--> <br><br> <!--METADATA TYPE="DesignerControl" startspan <OBJECT classid="clsid:B6FC3A14-F837-11D0-9CC8-006008058731" id=InsertBtn style="LEFT: 0px; TOP: 0px"> <PARAM NAME="_ExtentX" VALUE="1799"> <PARAM NAME="_ExtentY" VALUE="714"> <PARAM NAME="id" VALUE="InsertBtn"> <PARAM NAME="Caption" VALUE="Insertar"> <PARAM NAME="Image" VALUE=""> <PARAM NAME="AltText" VALUE=""> <PARAM NAME="Visible" VALUE="-1">
214
<PARAM NAME="Platform" VALUE="256"> <PARAM NAME="LocalPath" VALUE="../"> <!--DTCRUNTIME <SCRIPT LANGUAGE=JavaScript RUNAT=Server>function _initInsertBtn(){ InsertBtn.value = 'Insertar'; InsertBtn.setStyle(0);}function _InsertBtn_ctor(){
CreateButton('InsertBtn', _initInsertBtn, null);}</script><% InsertBtn.display %> DTCRUNTIME--> </OBJECT> --> <SCRIPT LANGUAGE=JavaScript RUNAT=Server> function _initInsertBtn() { InsertBtn.value = 'Insertar'; InsertBtn.setStyle(0); } function _InsertBtn_ctor() { CreateButton('InsertBtn', _initInsertBtn, null); } </script> <% InsertBtn.display %> <!--METADATA TYPE="DesignerControl" endspan--> <!--METADATA TYPE="DesignerControl" startspan <OBJECT classid="clsid:B6FC3A14-F837-11D0-9CC8-006008058731" id=DeleteBtn style="LEFT: 0px; TOP: 0px"> <PARAM NAME="_ExtentX" VALUE="1905"> <PARAM NAME="_ExtentY" VALUE="714"> <PARAM NAME="id" VALUE="DeleteBtn"> <PARAM NAME="Caption" VALUE="Eliminar"> <PARAM NAME="Image" VALUE=""> <PARAM NAME="AltText" VALUE=""> <PARAM NAME="Visible" VALUE="-1"> <PARAM NAME="Platform" VALUE="256"> <PARAM NAME="LocalPath" VALUE="../"> <!--DTCRUNTIME <SCRIPT LANGUAGE=JavaScript RUNAT=Server>function _initDeleteBtn(){ DeleteBtn.value = 'Eliminar'; DeleteBtn.setStyle(0);}function _DeleteBtn_ctor(){
CreateButton('DeleteBtn', _initDeleteBtn, null);}</script><% DeleteBtn.display %> DTCRUNTIME--> </OBJECT> --> <SCRIPT LANGUAGE=JavaScript RUNAT=Server> function _initDeleteBtn() { DeleteBtn.value = 'Eliminar'; DeleteBtn.setStyle(0); } function _DeleteBtn_ctor()
215
{ CreateButton('DeleteBtn', _initDeleteBtn, null); } </script> <% DeleteBtn.display %> <!--METADATA TYPE="DesignerControl" endspan--> <!--METADATA TYPE="DesignerControl" startspan <OBJECT classid="clsid:B6FC3A14-F837-11D0-9CC8-006008058731" id=UpdateBtn style="LEFT: 0px; TOP: 0px"> <PARAM NAME="_ExtentX" VALUE="2223"> <PARAM NAME="_ExtentY" VALUE="714"> <PARAM NAME="id" VALUE="UpdateBtn"> <PARAM NAME="Caption" VALUE="Actualizar"> <PARAM NAME="Image" VALUE=""> <PARAM NAME="AltText" VALUE=""> <PARAM NAME="Visible" VALUE="-1"> <PARAM NAME="Platform" VALUE="256"> <PARAM NAME="LocalPath" VALUE="../"> <!--DTCRUNTIME <SCRIPT LANGUAGE=JavaScript RUNAT=Server>function _initUpdateBtn(){ UpdateBtn.value = 'Actualizar'; UpdateBtn.setStyle(0);} function _UpdateBtn_ctor(){ CreateButton('UpdateBtn', _initUpdateBtn, null);} </script><% UpdateBtn.display %> DTCRUNTIME--> </OBJECT> --> <SCRIPT LANGUAGE=JavaScript RUNAT=Server> function _initUpdateBtn() { UpdateBtn.value = 'Actualizar'; UpdateBtn.setStyle(0); } function _UpdateBtn_ctor() { CreateButton('UpdateBtn', _initUpdateBtn, null); } </script> <% UpdateBtn.display %> <!--METADATA TYPE="DesignerControl" endspan--> <!--METADATA TYPE="DesignerControl" startspan <OBJECT classid="clsid:B6FC3A14-F837-11D0-9CC8-006008058731" id=CancelBtn style="LEFT: 0px; TOP: 0px"> <PARAM NAME="_ExtentX" VALUE="2064"> <PARAM NAME="_ExtentY" VALUE="714"> <PARAM NAME="id" VALUE="CancelBtn"> <PARAM NAME="Caption" VALUE="Cancelar"> <PARAM NAME="Image" VALUE=""> <PARAM NAME="AltText" VALUE=""> <PARAM NAME="Visible" VALUE="-1">
216
<PARAM NAME="Platform" VALUE="256"> <PARAM NAME="LocalPath" VALUE="../"> <!--DTCRUNTIME <SCRIPT LANGUAGE=JavaScript RUNAT=Server>function _initCancelBtn(){ CancelBtn.value = 'Cancelar'; CancelBtn.setStyle(0);}function _CancelBtn_ctor(){
CreateButton('CancelBtn', _initCancelBtn, null);}</script><% CancelBtn.display %> DTCRUNTIME--> </OBJECT> --> <SCRIPT LANGUAGE=JavaScript RUNAT=Server> function _initCancelBtn() { CancelBtn.value = 'Cancelar'; CancelBtn.setStyle(0); } function _CancelBtn_ctor() { CreateButton('CancelBtn', _initCancelBtn, null); } </script> <% CancelBtn.display %>
217
6.2.4.2.2 Imágenes del Sitio Web
Página default.htm
218
Ejemplos visuales delos controles en tiempo de diseño utilizados para el
sistema
Pagina gestion_empresas.asp
219
220
6.2.4.2.3 Referencias del desarrollo del Sitio Web
Ejemplos de Código utilizados en el Sitio Web.
o Para destruir todas las variables de una sesión: SESSION.ABANDON.
o Para dar Formato especial al HTML: SERVER.HTMLEncode(“........”)
o Para incluir un archivo: <!-- #incluye file=”...............” -->
El archivo por ejemplo puede ser el código que restringue el
acceso directo a las páginas del Sitio Web:
<% if session("VALIDA")="" then
Response.Redirect "./ERROR.htm" end if
%>
o Es importante saber que el VBScript no diferencia las mayúsculas y el
JSCript sí.
o Existen varias formas de traspasar datos entre páginas. Por variables de
Aplicación, variables de Session, Cookies y la recomendada con tablas
de parámetros.
221
6.2.4 ETAPA VI
6.2.4.1 Descripción del desarrollo
Resumen de Desarrollo de programas para obtener la solución final:
1. Desarrollo de Programa “Intercambia en Excel”.
2. Desarrollo de Programa “Intercambia en Visual Basic”
3. Desarrollo de Prototipo en Access.
4. Desarrollo de Diccionario de Datos en Access.
1. Programa “Intercambia en Excel”
a. Objetivos:
i. Lograr obtener información de los datos reales.
1. Volumen de Datos diario, mensual y anual.
2. Tipos de Datos, valores mínimos, máximos, dominio,
valores predeterminados, valores nulos, etc.
3. Posibles errores que detectar, prevenir, etc.
4. Redundancia, omisiones, etc.
ii. Convertir los datos de años anteriores al nuevo formato:
1. Organizar los datos distribuidos en diferentes hojas
de las planillas Excel a una Base de Datos ordenada
en forma de tablas exportables a Access.
222
2. Programa “Intercambia en Visual Basic” Dada la menor capacidad
para desarrollo de programas del Visual Basic para aplicaciones, que
viene integrado con el Office, se debió desarrollar el programa de
Intercambio de Datos en Visual Basic 6.0.
b. Objetivos: los mismos que el anterior, adicionando los de mejorar
la velocidad de ejecución y simpleza de utilización.
3. Prototipo en Access:
c. Objetivos:
i. Mostrar a los usuarios la forma de manejo de la información
y los datos que soporta la solución propuesta.
ii. Servir de base para el desarrollo de la aplicación final por
ayudar a detectar errores, omisiones de información, etc.
iii. Acelerar el proceso de interacción de los usuarios con el
sistema al ser más rápido el desarrollo del prototipo en
Access que en SQL Server más visual InterDev.
4. Desarrollo de diccionario de datos en Access
d. Objetivos:
i. Servir de Registro de modificaciones en el diseño de la
Base de Datos.
ii. Estandarizar el desarrollo de este sistema y posteriores.
223
6.2.4.2 Imágenes del desarrollo en otras aplicaciones
6.2.4.2.1 Imagen del programa en Excel
224
6.2.4.2.2 Imagen del programa en Visual Basic
225
6.2.4.2.3 Imagenes del prototipo en Access
226
227
6.2.4.2.4 Imagen del Diccionario de Datos en Access
228
7. Conclusiones
El realizar un control exhaustivo y efectivo en cada etapa de un proyecto
es imperativo para lograr un desarrollo satisfactorio.
El mayor problema para cumplir con las diversas etapas es la falta de
experiencia.
El determinar los plazos adecuados es importante para mantener la
continuidad del desarrollo.
El buen trato social es muy importante para lograr la confianza de los
usuarios. Los cuales retribuyen entregando de mejor forma la
información necesaria para cumplir con sus requerimientos.
No siempre lo que el desarrollador determine es lo mejor para los
usuarios, es decir, se deben integrar todas las visiones en el sistema.
El tiempo invertido en el estudio de las herramientas de desarrollo se
recupera en la implementación del sistema.
229
El reciclar código, encapsularlo y reutilizarlo son una buena medida para
agilizar la programación del sistema.
El diseñar en conjunto ayudan en gran medida a entender de la misma
forma el problema y la forma de solucionarlo.
No se debe intentar solucionar “todo” con un solo sistema. Muchas veces
se intenta abarcar aspectos que están fuera del sistema y muy alejado
de lo práctico.
La tecnología es una herramienta y no un fin. Es muy importante ser
eficiente en seleccionar las tecnologías que se utilizarán y no intentar
abarcar todas ellas, porque no siempre son compatibles.
Nunca podemos estar tranquilos en el desarrollo de un proyecto, por
Ejemplo: Tres días después que el sistema se implantó se infectó el
servidor de Base de Datos SQL Server 2000 con el virus “Slammer”, el
cuál había aparecido un día antés de la infección. Por lo que se
recomienda respaldar las Bases de Datos en forma diaria y mantener un
nivel de seguridad alto con respecto al Internet.
230
8. Bibliografía
[Byrne2000] Byrne, Jeffry. Creación de sitios Web con SQL Server 7.
Prentice Hall. 2000.
[Connolly1988] Connolly, Thomas y Begg Carolyn. Database Systems.
Addison-Wesley, 2ª Edición.1988.
[Echeñique1990] Echeñique, Antonio. Auditoría en Informática.
McGraw-Hill.1990
[JupiterMedia2003]JupiterMedia Corporation. Webopedia. Disponible en:
http://www.wepopedia.com
2003.
[Lucas1984] Lucas, Henry. Sistemas de Información.
McGraw-Hill.1984.
[Maso1997] Maso, Brian. Manual de Visual InterDev.
McGraw-Hill. Primera edición 1997.
231
[Perez1988] Pérez, Victor y Pino, José. Etapas en el desarrollo de un
Sistema de Información Administrativo.
Editorial Universitaria. 1988.
[Rufo2002] Rufo, Pedro. ASPTutor. Disponible en:
http://www.asptutor.com/
2002.
[Tramullas2000] Tramullas, Jesús y Kronos. Introducción a la Documática.
Disponible en:
http://www.tramullas.com/nautica/documatica/indice.html
2000.
232
9. ANEXOS
En esta sección se presentan temas relacionados con el proyecto.
9.1 ANEXO A : Referencias para Reuniones, cuestionarios y entrevistas.
9.1.1 Reuniones, cuestionarios y entrevistas efectivas
Abstracción de lo necesario para realizar reuniones, cuestionarios y entrevistas
de buena forma.
Para realizar una reunión efectiva se debe:
o Definir el objetivo de su reunión
o Determinar la duración
o Invitar a las personas adecuadas
o Establecer las expectativas con los participantes
o Desarrollar una agenda
o Avisar por adelantado
o Utilizar un formulario de preparación de reuniones
Se debe determinar el tipo de reunión.
o Reunión informativa
o Reunión para solucionar problemas
o Otros tipos de reuniones
233
Se deben tomar las mejores decisiones:
• Una decisión en CONSENSO es una decisión en la que el grupo discute el
tema y finalmente llega a una solución que todos pueden apoyar
• Una decisión RÁPIDA es una decisión en la que alguien toma la decisión por
el grupo.
• Una decisión de EXPERTO es tomada por alguien que tiene información
especializada
• Una decisión BASADA EN CRITERIOS se toma desarrollando criterios
esenciales e identificando.
234
9.1.2 Formulario de preparación de una reunión
Establecer el objetivo de la reunión.
Responda a las siguientes preguntas:
1.- ¿Cuál es la razón de reunir a estas personas?
2.¿Cuáles son los resultados necesarios para proporcionarlos a la empresa?
3.- ¿Es la reunión la mejor manera de lograr estos objetivo? SI o No
En caso negativo ¿Cómo obtendría estos resultados?
a) Mensajes en un contestador telefónico
b) Conferencia telefónica
c) Mensaje electrónico
d) Hablar con la persona directamente
e) Almuerzo de trabajo
f) Videoconferencia
g) Memorándum
h) Fax
i) Sala de conferencias o mural de anuncios
j) Otros. (especificar)
235
Invitar a las personas adecuadas
4.- ¿Quién debe asistir a la reunión?
Uno se debe preguntar lo siguiente para seleccionar un participante.
¿Posee una información importante?
¿Es una persona que toma decisiones?
¿Es una persona que se vera afectada por las decisiones tomadas o las
acciones llevadas a cabo?
¿Es una persona que debe llevar a cabo las decisiones tomadas o las acciones
elegidas?
Documentar:
Nombre Departamento Conocimientos /
Función
5.- ¿Cuales son los tópicos a tratar y los resultados que deben
conseguirse?
Tópico Resultado
236
6.- Establezca una hora para la reunión.
7.- Prepare la sala de conferencias.
8.- Notifique por adelantado. (personalmente, fecha máxima para notificación,
etc)
237
9.1.3 Ejemplo de Reunión
Ejemplo de Agenda para una Reunión:
Objetivo:
Conocer las recomendaciones del encargado de Informática para el
desarrollo del sistema.
Resultados:
Establecer limitantes. Definir el ambiente del sistema.
Determinar el software y hardware.
Averiguar los recursos disponibles.
Fecha de la Reunión:
26 de Marzo de 2001
Hora de la Reunión:
9:30 am
Lugar de la Reunión
Casino de Dirección Regional de INDAP. Puerto Montt
Director de la Reunión:
Gustavo Rossati
238
Participantes:
Gustavo Rossati
Carlos Cristi
Steve Hernáez
239
9.1.4 Ejemplo de cuestionario
RESUMEN DE MÉTODOS DE RECOLECCIÓN DE DATOS:
OBSERVACIÓN DIRECTA, ENTREVISTAS Y CUESTIONARIOS LINEA BASE EMPRESAS ASOCIATIVAS CAMPESINAS
CUESTIONARIO Carlos A. Cristi Vargas Objetivos: Determinar Apreciación del proyecto para el personal de INDAP.
Recolectar información administrativa. Conocer mejor al personal y entablar confianza. Fomentar el apoyo al desarrollo al hacer que participen. Preguntas Iniciales:
1. Nombre del puesto que ocupa: Jefe de la Unidad de Estudios y Control de Gestión
2. Puesto del Jefe Inmediato: Director Regional INDAP Décima
Región
3. Puestos a que reporta: Director, Jefe de Operaciones
4. Puestos que reportan al entrevistado: Unidades de Operaciones y Agencias de Areas
5. Describa brevemente las actividades de su puesto con relación al
problema que debe ser solucionado: La Unidad de Estudios y Control de Gestión tiene por tarea tener una mirada critica frente al accionar institucional, evaluando el avance en las metas institucionales, programa de mejoramiento de la gestión y uso de los recursos. Al mismo tiempo observa y analiza la situación del entorno económico, social y expectativas de la situación silvoagropecuaria regional para reorientar la conducción de la institución. En este sentido, el INDAP ha privilegiado el trabajo con empresas asociativas campesinas, por lo que es del todo relevante conocer en forma sistematizada y oportuna, la situación económica, financiera, administrativa y organizacional de dichas empresas, a objeto de tomar decisiones institucionales.
240
Preguntas que determinan la visión de los usuarios 1. ¿Cómo definiría el problema que se intenta solucionar?
Se observa, en general, una falta de capacidad de análisis financiero de las Empresas Asociativas Campesinas por parte de los funcionarios y asesores técnicos que desempeñan funciones en el INDAP. Lo que impide un adecuado y oportuno diagnóstico de las empresas. Además, esta incapacidad impide tomar decisiones oportunas que ayuden a prevenir situaciones de riesgo, o una adecuada evaluación de los instrumentos de colocación de créditos o renegociación de deudas y/o subsidios.
2. ¿Qué consideraciones generales y objetivos deberían tomarse en cuenta para el desarrollo del Sistema? La Línea Base de Empresas Asociativas Campesinas debe ser un sistema simple, formulado en consideración a las normas de análisis financiero de general aceptación, los productos del análisis deben llevar al usuario a determinar con toda claridad la viabilidad financiera de la empresa, al mismo tiempo el soporte técnico debe cumplir algunas características: multiusuario, disponibilidad en red, cálculo inmediato de las razones financieras, multiempresas, con restricciones para diferentes niveles de usuarios (dado que se maneja información de empresas privadas), posibilidad de guardar los informes en medios magnéticos, imprimir informes, consolidar información de varias empresas o de un conjunto de ellas entre otros.
3. ¿Qué políticas y planes futuros se tienen que tomar en cuenta? El relacionamiento del INDAP con las EAC tiene que estar basado en realidades organizacionales, de viabilidad técnica de los proyectos, de viabilidad financiera y económica de cada una de ellas. Por lo cual se debe perfeccionar al máximo los mecanismos de traspaso y evaluación de información de las EAC al INDAP y viceversa, en la medida que el INDAP sea su principal proveedor de créditos y subsidios. También será necesario en el futuro, tener información de los sistemas de administración y contabilidad, controles internos y gestión de dichas empresas, a objeto de establecer políticas de fortalecimiento y apoyo desde el Estado, hasta que logren su absoluta autonomía. No se pretende con esto coadministrar las EAC, sino más bien tener información de alta calidad para que el INDAP tome decisiones correctas en cada caso, evitándose así llegar a situaciones críticas de difícil solución, sobre todo cuando se comprometen recursos de fomento del Estado.
4. Describa los métodos de trabajo actuales. En la actualidad se lleva un sistema de acompañamiento de EAC a través de Asistentes Técnicos contratados por INDAP, los que manejan la información en carpetas individuales, no existiendo una metodología de sistematización de la información que permita tener una mirada de Area, Provincial, Regional o por tipo de negocios de las EAC. En cada caso los Asistentes Técnicos interactúan con las EAC, siendo el principal problema la calidad de la información contable y financiera de la empresa, su actualización y capacidad de análisis. El Balance de 100 EAC del 31/12/99 fue analizado mediante un sistema elaborado por la Unidad de Estudios utilizando planillas Excel. Lo que permitió tener una primera aproximación al tema, aunque requirió un alto número de jornadas de trabajo en el ingreso de la información, procesamiento y elaboración de informes. Este proceso se caracterizó
241
por su excesivo centralismo, con escasa participación de las Agencias de Areas en el análisis y bajo nivel de apropiación de los resultados.
5. Tiene sugerencias acerca del desarrollo de una solución. Las soluciones se deben aplicar a varios niveles: EAC: informatización de la contabilidad de todas las empresas, centros de costos por unidad de negocios, mejoramiento de la administración y controles internos, evaluación periódica con cifras de la marcha de las empresas, elaboración de presupuestos, flujos de caja proyectados y control de los mismos. Empresa Servicio Técnico Empresarial: especializar el equipo en materias de contabilidad, administración, gestión, análisis financiero, desarrollo organizacional y estudio de mercados, a objeto de asesorar adecuadamente dichas empresas. Agencia de Area: fortalecer las capacidades de los Asistentes Técnicos y dotarlos de herramientas básicas de análisis financiero y medios de control administrativo, organizacional, del desarrollo de los negocios, endeudamiento y garantías. Proveduría de información al nivel regional. Dirección Regional: Implementar medios de captura de información eficaz, mediante un equipo de profesionales especializados, con el apoyo de software para el análisis de empresas, a objeto de monitorear las EAC y asesorar a las Agencias de Areas y Dirección Regional en la toma de decisiones.
6. ¿Qué consideraciones entre los departamentos de la organización involucrados se deben tomar en cuenta? Primero que los Departamentos realizan diferentes funciones como parte de un todo, y que suele suceder que se tiende a una excesiva departamentalización, por lo cual el sistema a aplicar debe ser de fácil acceso para todos aquellos que toman decisiones, o tienen interés en el desarrollo de las EAC. Por tanto, debe ser amigable y brindar la información que los diferentes actores buscan: Créditos, endeudamiento y capacidad de pago para el Servicio Financiero; desarrollo organizacional, solvencia y liquidez para el Servicio Técnico Empresarial, entre otros.
7. ¿Qué requerimientos tiene Usted para dar solución al sistema propuesto? Fácil acceso desde cualquier región o Agencia de Area en la Intranet. Rapidez para el ingreso de la información Que se detecten los errores evidentes (cuadratura de información) Que produzca todos los informes necesarios para el análisis Que genere parcialmente un informe que pueda ser completado por el analista. Que se pueda consolidar información en listados y grupos de empresas similares.
8. ¿Se ha intentado dar solución al problema anteriormente? Justifique. (¿Por qué sí?, ¿Porque no?, Si la respuesta es afirmativa, describa cómo se intento solucionar) Si, como ya se explicó en la pregunta Nº 4
242
9. ¿Qué servicios serán necesarios? Servicio de informática Servicio de procesamiento e interpretación de datos Capacitación de usuarios, asistentes técnicos, contadores EAC, personal de INDAP. Servicio de Asesoría a las Agencias de Areas, contadores de las EAC y directivos de empresas.
10. ¿Qué características tendrán dichos servicios? Estos servicios serán de la mejor calidad que sea posible conseguir en el mercado regional
11. ¿Cuántos recursos se requerirán? En general los mismos con que cuenta la institución, organizados en función del sistema
12. ¿Qué estudios van a ser realizados al respecto? Un estudio de la estructura de los balances y sus formatos de presentación de antecedentes, las razones financieras de utilidad para la LB EAC y los informes de mayor utilidad, lo cual ya se encuentra realizado por la Unidad de Estudios. Una Asesoría Técnica informática que permita crear una página Web que implique un sistema de análisis de datos. Procesamiento de información y entrega de resultados.
13. ¿Qué metodología se utilizará al respecto? Formación de un equipo de trabajo interdisciplinario: Profesionales del Agro, Contador, Profesionales de la informática. Determinación del modelo que permita recoger la información, procesar los datos y obtener los informes requeridos. Construcción del modelo informático. Prueba, ajustes y operación. Procesamiento de los primeros 100 balances de empresas asociativas con participación de toda la estructura institucional. Análisis de los productos, ajustes al sistema, presentación del sistema a nivel nacional, y entrega del sistema a la institución para su aplicación generalizada. Capacitación institucional en aspectos de análisis contables, análisis financiero, determinación de fortalezas y debilidades de las EAC, elaboración de programas de control y seguimiento
14. ¿Quién Administrará y realizará los Estudios? La Unidad de Estudios y Control de Gestión de INDAP Décima Región.
15. ¿Contemplan las ventajas de las nuevas tecnologías? Evidentemente, la aplicación del LB EAC desde una pagina Web en la Intranet del INDAP, le da cobertura nacional, permite que pueda ser utilizada por todos quienes tengan interés, y que se pueda llevar sistemas de control y seguimiento de las EAC, cada vez que se requiera. Una ventaja adicional será la estandarización de una metodología, lo que significa utilizar un lenguaje financiero común.
243
16. ¿Cuáles serán los conocimientos requeridos por los recursos humanos? A nivel informático serán los mínimos que sean necesarios para manejar el sistema, pues será totalmente amigable, existiendo un conjunto de ayudas al usuario. A nivel Contable, dado que se trabajará con el Balance Clasificado y Estados de Resultados previamente trabajados por los expertos contables de cada empresa, se prevé de todas maneras un proceso de capacitación. Los analistas requerirán un mayor dominio sobre análisis de Balance y estados financieros.
17. ¿Existe un estándar de desarrollo, de análisis y programación en la Institución? No antes del año 2001. Recientemente, a un alto costo el INDAP ha contratado auditores externos que han logrado analizar alrededor de 35 EAC en la Décima Región y un total de 150 en todo el país. La Empresa FUNDES ha desarrollado un complejo sistema de planillas Excel para análisis financiero para cada caso, lo que no tiene soporte para consolidar información de diferentes empresas.
18. ¿La gerencia participará en el desarrollo del sistema? La Dirección Regional ha tenido directa participación en el proyecto y tiene alto interés en los resultados para su aplicación urgente, sobre los balances y estados de situación de las EAC.
19. ¿Cuál es el costo beneficio del desarrollo propuesto? No existe un calculo numérico al respecto. Pero si se considera que los montos de inversión en EAC solo en la Décima Región superan los $ 6 mil millones y que comprometen alrededor de $ 3,5 mil millones de pesos de INDAP en créditos, se puede tener una aproximación al interés institucional en tener un sistema efectivo de aplicación regional.
20. ¿Qué seguridad deberá tener el sistema? Claves de seguridad para diferentes niveles: Regional, Areas, Operadores, EAC.
21. ¿Que formas de recuperación se utilizan actualmente (respaldo) y cuales deberían ser implementadas? Hoy la información se respalda en disquetes y papeles.
22. ¿Será necesario el desarrollo en forma aislada o como propuesta para un desarrollo integral? Debería ser un desarrollo integral pero la falta de organización para el desarrollo de este tipo de proyectos no dejan otra alternativa sino de generar soluciones aisladas.
23. ¿Cuál es la Información crítica o más importante que se manejará en el sistema? Información económica, financiera de las EAC de la región y del país.
244
24. ¿Qué mantenimientos serán necesarios? Ajustes, correcciones, sistemas de consolidación de información, sistemas de agrupamiento de EAC diferentes al diseño original, solución a problemas operacionales.
25. ¿Quiénes serán los que utilicen el sistema? ¿Qué harán? ¿Cómo lo harán? Los usuarios estarán a diferentes niveles: EAC, Operadores Técnicos, Agencias de Areas, Dirección Regional y probablemente la Dirección Nacional. Las EAC por el propio interés en el manejo de su empresa. Los otros niveles como analistas y asesores técnicos, y en el caso del INDAP como medio de información para la toma de decisiones en cada caso.
26. ¿Tiene alguna propuesta para controlar el buen funcionamiento del sistema? Debiera incluirse un link con la Unidad de Estudios para consultas y sugerencias.
27. Tabla de prioridades. Ordene de mayor a menor importancia las características del sistema propuesto:
• Facilidad de Uso. (Interfaz Amigable) • Mínimo espacio ocupado por los datos • Confiable. • Estable • Rapidez • Seguridad • Calidad visual. (Apariencia) • Escalabilidad (Integridad con otros sistemas) • Otros. (describa otras alternativas si son necesarias)
Ejemplos de observaciones del encuestado importantes para mejorar las
plantillas de cuestionarios:
1. Demasiado extenso
2. Falta claridad en las preguntas
3. Falta estructura en la orientación de las preguntas.
4. Falta la posibilidad de realizar comentarios fuera de preguntas.
245
9.1.5 Apreciaciones personales cuantitativas y cualitativas.
1. Se observa una gran preocupación por la presentación de los Datos en los
Informes.
2. Se tiene una importante dedicación a la validación y verificación de los
Datos.
3. El personal involucrado está muy motivado para colaborar con el desarrollo
de una solución, ya sean usuarios, gerencia, departamentos, etc.
4. La disponibilidad de equipamiento es adecuada.
5. El departamento de Informática carece de la cantidad de personal y del nivel
de capacitación adecuado para continuar con el mantenimiento del sistema
propuesto. Por ello el INDAP deberá realizar cursos de capacitación para el
personal actual y/o contratación del personal necesario.
6. Actualmente INDAP cuenta con varias normas para el desarrollo y
actualización de sistemas. Una de estas normas estipula que para el
desarrollo de un sistema nuevo se debe utilizar la plataforma de desarrollo
de Microsoft, más específicamente el entorno de desarrollo Visual Studio 6 y
con Bases de datos en Microsoft SQL Server 6.5 o 7. Por ello la decisión de
los recursos de software para el desarrollo del sistema será responsabilidad
del Departamento de Informática a nivel Nacional con que cuenta INDAP.
246
9.2 ANEXO B: Referencias para Requerimientos
9.2.1 Descripción de tipos de requerimientos [Perez1988]
a) REQUERIMIENTOS INICIALES.
“Son las consideraciones generales y objetivos a ser cumplidos por el SIA;
políticas y planes futuros de la Organización que deben ser tomados en
cuenta; descripción de los métodos de trabajo actuales; enfoques de
solución considerados; visión global de las alternativas factibles; relaciones
entre SIA en desarrollo y otros requerimientos existentes en la organización,
etc.”
b) REQUERIMIENTOS FUNCIONALES.
“Actividades generales y/o componentes funcionales a ser considerados por
dentro del SIA, relaciones interfuncionales requeridas, tanto a nivel de flujos
de decisiones-tipo como al nivel de flujos de información.”
c) REQUERIMIENTOS DE SALIDAS:
“Características acerca de la Información requerida por los usuarios, tales
como su tipo, naturaleza, forma de presentación, medio de transporte,
oportunidad del requerimiento, calidad, etc.”
247
d) REQUERIMIENTOS DE ENTRADA.
“Características acerca de los datos necesarios para generar la información
de salida del SIA.”
e) REQUERIMIENTOS DE PROCEDIMIENTOS:
“Presentación, ya sea en la forma de esquemas narrativos y/o mediante
técnicas adecuadas de documentación (diagramas de flujo, tablas de
decisión, etc.), de la manera en que los elementos del sistema interactúan
tanto con el resto de los sistemas de la Organización como dentro del
sistema mismo; esto es necesario para que el SIA lleve a cabo su cometido
en lo administrativo (flujo de información, direccionamiento-contenido-y –
medio físico de tales flujos, etc.) y en lo referente a la manipulación de la
información (tipos de procesamiento, formas en que se realizan, etc.)”
f) REQUERIMIENTOS DE RECURSOS HUMANOS.
“Características del personal necesario para operar el sistema (número,
especialización, nivel dentro de la estructura administrativa, planes de
entrenamiento, etc.)”
248
g) REQUERIMIENTOS DE RECURSOS FINANCIEROS
“Revisión de costos y beneficios estimados en la fase anterior; para ello
generalmente, se toma en cuenta las iteraciones realizadas con los aspectos
físicos, de los cuales se obtienen datos más afinados en lo referente a
equipos y al apoyo computacional, en caso de ser necesario”
h) REQUERIMIENTOS DE ADMINISTRACION.
“Características que detallan la programación (en tiempo y recursos) de las
diferentes actividades del desarrollo del SIA que continuarán después del
diseño lógico”
i) REQUERIMIENTOS DE MEDICION DE DESEMPEÑO.
“Durante esta fase se mejora la identificación de aquellos factores que
permitirán medir el desempeño del nuevo sistema, una vez que este
comience a operar. Tal como se ha dicho , estas evaluaciones pueden ser
directas y cuantitativas (costos de operación, duración de un determinado
proceso administrativo, etc.), indirectos o derivadas (retorno de la inversión,
rotación de stock, etc.) o bien cualitativas (prestigio del mercado, buen
servicio a clientes, etc. Dependerá de la situación particular de la
Organización, los factores que se elijan. Como ejemplos podríamos citar:
249
• Costo: de operación, de mantenimiento, por unidad (de producción y/o de
servicio) producida, por formulario llenado, etc.
• Tiempo: de “acceso” a la información, de “proceso” de una determinada
orden (de compra, de reposición, etc.), de “respuesta” a una determinada
entrada al sistema (llegada de factura), etc.
• Eficiencia: porcentaje de errores producidos, porcentaje de órdenes (de
compra, reposición, satisfechas, etc.
• Seguridad: Número de errores en las transacciones comerciales
realizadas, accesibilidad a la información clasificada, etc.
• Capacidad: comportamiento del sistema en periodos de carga baja, o
normal, o alta.”
250
9.2.2 Listado de todos los requerimientos
REQUERIMIENTOS
ID DETALLE REQUERIMIENTO CLASIFICACION
R-1 Permitir trabajar en dos modos de trabajo. PROCEDIMIENTOS R-2 Permitir almacenar la información de las EAC. ENTRADA DATOS
R-3 Permitir almacenar la información de las UN. ENTRADA DATOS
R-4 Permitir manejar los datos en forma trimestral y anual. PROCEDIMIENTOS
R-5 Que el acceso de los usuarios sea restringido. SEGURIDAD
R-6 Que se puedan generar informes consolidados organizados por Areas, Región, etc. SALIDAS DE INFORMES
R-7 Que se calculen las razones financieras de las EAC y UN. PROCEDIMIENTOS R-8 Que se clasifique en forma sintética a las EAC. PROCEDIMIENTOS
R-9 Que se asista al usuario al generar los análisis de las EAC, es decir, que el sistema debe automatizar en cierta medida el análisis de las razones financieras y agrupaciones entre ellas mismas.
PROCEDIMIENTOS
R-10
Que el ingreso de los Datos tenga orden lógico, es decir, que el ingreso de los Costos y Gastos junto al de los Ingresos deben ser previos al ingreso de los Estados de Resultados y a su vez estos últimos deben ser ingresados antes que los Balances.
PROCEDIMIENTOS
R-11 Que los informes se puedan imprimir directamente desde el sitio Web. PROCEDIMIENTOS FORMATO SALIDA
R-12 Informe de Datos Generales SALIDAS DE INFORMES R-13 Informe de Recursos Humanos SALIDAS DE INFORMES R-14 Informe de Inventarios SALIDAS DE INFORMES R-15 Informe de Vencimientos de Pasivos (corto y largo plazo) SALIDAS DE INFORMES R-16 Informe de Situación de la empresa SALIDAS DE INFORMES R-17 Informe de Problemas y Soluciones. SALIDAS DE INFORMES R-18 Informe de Ingresos (EAC y UN) SALIDAS DE INFORMES R-19 Informe de Costos y Gastos (EAC y UN) SALIDAS DE INFORMES R-20 Informe de Estados de Resultados (EAC y UN) SALIDAS DE INFORMES R-21 Informe de Balances (EAC y UN) SALIDAS DE INFORMES R-22 Informe de Razones financieras (EAC y UN) SALIDAS DE INFORMES R-23 Informe de Clasificación sintética SALIDAS DE INFORMES R-24 Informe de Análisis automático. SALIDAS DE INFORMES R-25 Ingreso de Datos Generales ENTRADA DATOS R-26 Ingreso de Recursos Humanos ENTRADA DATOS R-27 Ingreso de Inventarios ENTRADA DATOS R-28 Ingreso de Vencimientos de Pasivos (corto y largo plazo) ENTRADA DATOS R-29 Ingreso de Situación de la empresa ENTRADA DATOS R-30 Ingreso de Problemas y Soluciones. ENTRADA DATOS R-31 Ingreso de Ingresos (EAC y UN) ENTRADA DATOS R-32 Ingreso de Costos y Gastos (EAC y UN) ENTRADA DATOS
251
R-33 Ingreso de Estados de Resultados (EAC y UN) ENTRADA DATOS R-34 Ingreso de Balances (EAC y UN) ENTRADA DATOS R-35 Calcular Razones financieras (EAC y UN) PROCEDIMIENTOS R-36 Clasificar en forma sintética PROCEDIMIENTOS R-37 Generar Análisis Automático PROCEDIMIENTOS R-38 Que permita buscar los datos de la EAC mediante parámetros BUSQUEDA DE DATOS R-39 Que permita buscar los datos de las UN mediante parámetros BUSQUEDA DE DATOS R-40 Que permita buscar la clasificación sintética de las Empresas BUSQUEDA DE DATOS R-41 Que permita buscar las razones financieras de las Empresas BUSQUEDA DE DATOS
Tabla 19: Listado de todos los requerimientos
252
9.3 ANEXO C. Información relacionada con el DFD
9.3.1 Nomenclatura del DFD
Almacén de Datos:
Entidad:
Flujo de Datos:
Proceso:
Proceso particionado:
Flujo de
Datos
Entidad
0
0Proceso
Almacén de Datos D0
0Proceso
particionado
Figura 17: Nomenclatura DFD.
253
9.3.2 Diagrama de flujo de Datos detallado
En esta sección se detalla el DFD anteriormente mostrado. Ver figuras 8,
9 y 10.
Se detallan:
o Procesos
o Entradas
o Salidas
o Cálculos de Razones financieras
o Almacenamientos de datos
254
DIAGRAMA 0 (Modo de Trabajo 1)
Razones Financieras
BalancesUN
Balances
Estados de Resultados UN
I. Razones Financieras UN
I. Razones Financieras
I. Balances
I. Estado de Resultados
I. Ingresos
I. Costos y Gastos
I. Análisis Automático
I. Clasificación Sintética
Clasificación Sintética
Razones Financieras Clasificación
Razones Financieras Análisis
Análisis Automático
Razones Financieras UN
Estados de Resultados
Datos de la Empresa
Datos Procesados
I. Recursos Humanos
I. Datos Generales
Balances UN
Vencimientos de Pasivos
SISTEMA DE ANALISIS FINANCIERO
Estado de Resultados UN
Datos Generales
Recursos Humanos
Inventario
Ingresos UN
Costos y Gastos UN
Situación de la Empresa
0
Problemas y Soluciones
I. Balances UN
I. Vencimientos de Pasivos
1
Procesar Ingreso
de Datos
I. Estado de Resultados UN
I. Inventario
I. Ingresos UN
I. Costos y Gastos UN
I. Situación de la Empresa
I. Problemas y Soluciones
5Clasificar en
forma Sintética
2
Produce Informes de Datos
6Generar Análisis
Automático
3Calcular Razones
Financieras
Empresa D0
4Calcular Razones
Financieras UN
Empresa D0
255
DIAGRAMA 0 (Modo de Trabajo 2)
Razones Financieras Clasificación
Clasificación Sintética
I. Razones Financieras
I. Análisis Automático
I. Clasificación Sintética
Razones Financieras Análisis
Análisis Automático
Razones Financieras
Estados de Resultados
I. Balance
I. Estado de Resultados
I. Ingresos
I. Costos y Gastos
Datos de la Empresa
Datos Procesados
I. Recursos Humanos
I. Datos Generales
Balances
Vencimientos de Pasivos
Estado de Resultados
Datos Generales
Recursos Humanos
Inventario
Ingresos
Costos y Gastos
Situación de la Empresa
Problemas y Soluciones
I. Vencimientos de Pasivos
I. Inventario
I. Situación de la Empresa
I. Problemas y Soluciones
6Generar Análisis
Automático
Balances
3Calcular Razones
Financieras
5Clasificar en
forma Sintética
SISTEMA DE ANALISIS FINANCIERO
0
Empresa D0
Empresa D0 7
Procesar Ingreso
de Datos Modo 2
8
Produce Informes de Datos Modo 2
256
Detalle Proceso 1: “Procesar Ingreso de Datos” Modo de Trabajo 1
Datos Procesados
Vencimientos de Pasivos
Datos Generales
Recursos Humanos
Inventario
Situación de la Empresa
Problemas y Soluciones
Balances UN
Estado de Resultados UN
Ingresos UN
Costos y Gastos UN
Vencimientos de Pasivos
Datos Generales
Recursos Humanos
Inventario
Situación de la Empresa
Problemas y Soluciones
Datos Generales D1
Balances UN
Estado de Resultados UN
Ingresos UN
Costos y Gastos UN
Recursos Humanos
D2
Inventario D3
Vencimientos de los Pasivos
D4
Situación de la Empresa
D5
Problemas y soluciones
D6
Ingresos UN D7
Costos y Gastos UN
D8
Estados de Resultados UN
D9
Balances UN D10
1.1
Valida Ingreso
de Datos
Ingresos UN
Balances
Estado de Resultados
Ingresos
Costos y Gastos
Ingresos D11
Costos y Gastos D12
Estados de Resultados
D13
Balances D14 Balances UN
Estado de Resultados UN
Costos y Gastos UN
1.2
Revisa y Sumariza los Datos
257
Detalle Proceso 1.1: “Validar Ingreso de Datos” Modo de Trabajo 1 Nota:
D1: Son Datos recopilados desde los “Ingresos UN” y “Costos y
Gastos UN” hacia los resultados operacionales de los “Estados de
Resultados UN”.
D2: Son Datos recopilados desde los “Estados de Resultados UN” hacia
la utilidad o perdida del ejercicio en los “Balances UN”.
D2
D1
Vencimientos de Pasivos
Datos Generales
Recursos Humanos
Inventario
Situación de la Empresa
Problemas y Soluciones
Balances UN
Estado de Resultados UN
Ingresos UN
Costos y Gastos UN
1.1.3 Validar D2 y Estados de Resultados
UN
Ingresos UN
Costos y Gastos UN
1.1.1 Validar
Ingresos, Costos y Gastos
Estado de Resultados UN
1.1.2Validar D1 y Estados de Resultados
UN
Balances UN
258
Detalle Proceso 7: “Procesar Ingreso de Datos Modo 2” Modo de Trabajo 2
Balances
Estado de Resultados
Ingresos
Costos y Gastos
Balances
Estado de Resultados
Ingresos
Costos y Gastos
Datos Procesados
Vencimientos de Pasivos
Datos Generales
Recursos Humanos
Inventario
Situación de la Empresa
Problemas y Soluciones
Vencimientos de Pasivos
Datos Generales
Recursos Humanos
Inventario
Situación de la Empresa
Problemas y Soluciones
Datos Generales D1
Recursos Humanos
D2
Inventario D3
Vencimientos de los Pasivos
D4
Situación de la Empresa
D5
Problemas y soluciones
D6
Ingresos D11
Costos y Gastos D12
Estados de Resultados
D13
Balances D14
7.1
Valida Ingreso
de Datos Modo 2
259
Detalle Proceso 7.1: “Validar Ingreso de Datos Modo 2” Modo de Trabajo 2 Nota: D3: Son Datos recopilados desde los “Ingresos” y “Costos y Gastos”
hacia los resultados operacionales de los “Estados de Resultados”.
D4: Son Datos recopilados desde los “Estados de Resultados” hacia la
utilidad o perdida del ejercicio en los “Balances”.
D4
D3
Vencimientos de Pasivos
Datos Generales
Recursos Humanos
Inventario
Situación de la Empresa
Problemas y Soluciones
Balances
Estado de Resultados
Ingresos
Costos y Gastos
7.1.3 Validar D2 y Estados de Resultados
Ingresos
Costos y Gastos
7.1.1 Validar
Ingresos, Costos y Gastos
Estado de Resultados
7.1.2Validar D1 y Estados de Resultados
Balances
260
Detalle Proceso 2: “Produce Informes de Datos” Modo de Trabajo 1
Problemas y Soluciones
Clasificación Sintética
Estado de Resultados UN
Costos y Gastos UN
Problemas y Soluciones
Clasificación Sintética
I. Razones Financieras UN
Razones Financieras UN
Razones Financieras UN
I. Recursos Humanos
I. Datos Generales
I. Razones Financieras
I. Balances
I. Estado de Resultados
I. Ingresos
I. Costos y Gastos
I. Balances UN
I. Vencimientos de Pasivos
I. Estado de Resultados UN
I. Inventario
I. Ingresos UN
I. Costos y Gastos UN
I. Situación de la Empresa
I. Problemas y Soluciones
I. Análisis Automático
I. Clasificación Sintética
Razones Financieras
Balances
Estado de Resultados
Ingresos
Costos y Gastos
Recursos Humanos
Datos Generales
Balances UN
Vencimientos de Pasivos
Inventario
Ingresos UN
Situación de la Empresa
Análisis Automático
Recursos Humanos
D2
Inventario D3
Vencimientos de los Pasivos
D4
Situación de la Empresa
D5
Problemas y soluciones
D6
Ingresos UN D7
Costos y Gastos UN
D8
Estados de Resultados UN
D9
Balances UN D10
Ingresos D11
Costos y Gastos D12
Estados de Resultados
D13
Balances D14
Razones Financieras
D15 Razones Financieras
Balances
Estado de
Resultados
Ingresos
Costos y Gastos
Recursos Humanos
Datos Generales
Balances UN
Vencimientos de Pasivos
Estado de Resultados UN
Inventario
Ingresos UN
Costos y Gastos UN
Situación de la Empresa
Razones Financieras UN
D16
Datos Generales D1
Datos de la Empresa
2.1
Consolidar Datos de Informes
2.2
Formatear Informes
261
Detalle Proceso 8: “Produce Informes de Datos” Modo de Trabajo 2
262
Detalle Proceso 3: “Calcula Razones Financieras” Modo de Trabajo 1 y 2
Balances
Rentabilidad Neta
Rentabilidad Operacional
Rentabilidad Bruta
Solvencia
Leverage Mercado Financiero
Leverage
Prueba Acida
Razón Corriente
Capital de Trabajo
Balances
Estado de Resultados
Razones Financieras
D15
Razón de Dependencia
Razón Operativa
Razón de Deuda
Dependencia Financiera
Razón de la calidad de la Deuda
Cobertura Financiera
Rotación de Activos
Dependencia Financiera Corto Plazo
Dependencia Financiera Largo Plazo
3.1 Calcular
Razones de Liquidez
3.2 Calcular
Razones de Endeuda-
miento
3.3
Calcular Razones de Rentabilidad
3.4 Calcular
Razones para Clasificación
Sintética
Estado de Resultados
Balances
Balances
Estado de Resultados
Balances
3.5 Calcular
Razones para Análisis
Detallado
263
Detalle Proceso 4: “Calcula Razones Financieras” Modo de Trabajo 1
Balances UN
Rentabilidad Neta
Rentabilidad Operacional
Rentabilidad Bruta
Solvencia
Leverage Mercado Financiero
Leverage
Prueba Acida
Razón Corriente
Capital de Trabajo
Balances UN
Estado de Resultados UN
Razones Financieras UN
D16
4.1 Calcular
Razones de Liquidez UN
4.2 Calcular
Razones de Endeuda-miento UN
Balances UN
4.3 Calcular
Razones de Rentabilidad
UN
264
Detalle Proceso 5: “Clasificación Sintética” Modo de Trabajo 1 y 2
Razón de Dependencia
Clasificación Sintética Datos Generales D1
Razón Operativa
Razón de Deuda
Razones Financieras Clasificación
5Clasificar en
forma Sintética Razones
FinancierasD15
265
Detalle Proceso 6: “Generar Análisis Automático” Modo de Trabajo 1 y 2
Análisis Automático
Rentabilidad Neta
Rentabilidad Operacional
Rentabilidad Bruta
Solvencia
Leverage Mercado Financiero
Leverage
Prueba Acida
Razón Corriente
Capital de Trabajo
Análisis Razones Liquidez
Análisis Razones Endeudamiento
Análisis Razones Rentabilidad
6.2Análisis de
Razones Financieras de Endeuda-
miento
6.3Análisis de
Razones Financieras
de Rentabilidad
6.1Análisis de
Razones Financieras de Liquidez
Razones Financieras
D15
Razones Financieras
D15
Razones Financieras
D15
266
9.4 ANEXO D: Información relacionada con las Razones financieras
Este anexo profundiza el tema de las razones financieras describiendo de
mejor forma su interpretación y forma de ser calculadas.
9.4.1 Descripción de las Razones financieras
Estás muestran el comportamiento financiero de las empresas según el tipo
de razón financiera al que pertenezcan. En la práctica estas razones financieras
se comparan con los patrones de la industria o líneas de negocio dentro de las
cuales opera la empresa. Ellas son:
• Razones de liquidez. Miden la capacidad de la empresa para cumplir las
obligaciones que venzan a corto plazo.
• Razones de apalancamiento financiero. (Endeudamiento) Miden el grado en
que la empresa ha sido financiada mediante deudas.
• Razones de actividad. Miden la eficacia de la administración y como se
muestra en los rendimientos que se han generado con las ventas y la
inversión.
267
• Razones de rentabilidad. Miden la eficacia de la administración y cómo se
muestra en los rendimientos que se han generado con las ventas y la
inversión.
• Razones de crecimiento. Miden la capacidad de la empresa para mantener
su posición económica en el crecimiento de la economía y de la industria.
• Razones de valuación. Miden la capacidad que tiene la administración para
crear valores de mercado en exceso de los desembolsos del costo de la
inversión. Las razones de valuación son la medida más completa del
desempeño, en tanto que reflejan las razones de riesgo (las dos primeras) y
las razones de rendimiento (las tres siguientes).
Las razones de valuación tienen gran importancia, puesto que se relacionan
directamente con la meta de maximizar el valor de la empresa y la riqueza
de los accionistas.
268
9.4.2 Forma de calcular las Razones Financieras
Razones financieras de Liquidez:
CAPITAL DE TRABAJO: ACTIVO CIRCULANTE – PASIVO CIRCULANTE.
RAZON CORRIENTE: ACTIVO CIRCULANTE / PASIVO CIRCULANTE.
PRUEBA ACIDA: (ACTIVO CIRCULANTE – INVENTARIOS) / PASIVO CIRCULANTE
Razones financieras de Rentabilidad:
RENTABILIDAD BRUTA: UTILIDAD BRUTA/VENTAS *100
RENTABILIDAD OPERACIONAL: RESULTADOS OPERACIONALES / VENTAS NETAS * 100
RENTABILIDAD NETA: UTILIDAD DEL EJERCICIO / VENTAS NETAS *100
Razones financieras de Endeudamiento.
LEVERAGE: PASIVO EXIGIBLE / PATRIMONIO NETO
LEVERAGE MERCADO FINANCIERO: DEUDA BANCARIA, INDAP Y OTROS / PATRIMONIO NETO
SOLVENCIA: ACTIVO TOTAL / PASIVO EXIGIBLE.
269
9.5 ANEXO E: Descripción de tipos de Datos del SQL Server Tipo de dato Nombre Descripción
Entero Bit Datos enteros con valor 1 ó 0.
Entero Int Datos enteros (números enteros) comprendidos entre -
231 (-2.147.483.648) y 231 - 1 (2.147.483.647)
Entero SmallInt Datos enteros comprendidos entre 215 (-32.768) y 215 -
1 (32.767).
Entero TinyInt Datos enteros comprendidos 0 y 255.
Decimales y
Numéricos
Decimal Datos de precisión y escala numérica fijas
comprendidos entre -1038 -1 y 1038 -1.
Decimales y
Numéricos
Numérico Sinónimo de decimal.
Money Money Valores de moneda comprendidos entre -263 (-
922.337.203.685.477,5808) y 263 – 1
(+922.337.203.685.477,5807), con una precisión de
una diezmilésima de la unidad monetaria
Money Smallmoney Valores de moneda comprendidos entre -214.748,3648
y +214.748,3647, con una precisión de una
diezmilésima de la unidad monetaria.
Numéricos con
aproximación
Float Números con precisión de coma flotante comprendidos
entre -1,79E + 308 y 1,79E + 308.
Numéricos con
aproximación
Real Números con precisión de coma flotante comprendidos
entre -3,40E + 38 y 3,40E + 38.
Fecha Datetime Datos de fecha y hora comprendidos entre el 1 de
270
enero de 1753 y el 31 de diciembre de 9999, con una
precisión de un trescientosavo de segundo, o 3,33
milisegundos.
Fecha SmallDatetime Datos de fecha y hora comprendidos entre el 1 de
enero de 1900 y el 6 de junio de 2079, con una
precisión de un minuto.
Numérico Cursor 1.1.1.1.1.1 Una referencia a un cursor
Numérico Timestamp Es un número único para toda la base de datos.
Numérico UniqueIdentifier Un identificador exclusivo global (GUID)
Cadenas de
caracteres
Char Datos de caracteres no Unicode de longitud fija con
una longitud máxima de 8.000 caracteres.
Cadenas de
caracteres
Varchar Datos no Unicode de longitud variable con un máximo
de 8.000 caracteres
Cadenas de
caracteres
Text Datos no Unicode de longitud variable con una longitud
máxima de 231 - 1 (1.147.483.647) caracteres.
Cadenas de
caracteres
Unicode
Nchar Datos Unicode de longitud variable con una longitud
máxima de 4.000 caracteres.
Cadenas de
caracteres
Unicode
Nvarchar Datos Unicode de longitud variable con una longitud
máxima de 4.000 caracteres. Sysname es el tipo de
datos suministrado por el sistema y definido por el
usuario que es sinónimo de nvarchar(128) y que se
utiliza para hacer referencia a nombres de objetos de
bases de datos.
Cadenas de Ntext Datos Unicode de longitud variable con una longitud
271
caracteres
Unicode
máxima de 230 - 1 (1.073.741.823) caracteres.
Cadenas
binarias
Binary Datos binarios de longitud fija con una longitud máxima
de 8.000 bytes.
Cadenas
binarias
Varbinary Datos Unicode de longitud variable con una longitud
máxima de 8.000 bytes.
Cadenas
binarias
Image Datos Unicode de longitud variable con una longitud
máxima de 231 - 1 (1.147.483.647) bytes
Tabla 20: Listado de Tipos de Datos del SQL Server
272
10. GLOSARIO:
ACTIVO:
1. Cualquier cosa tangible o intangible sobre la que una persona natural o
jurídica posea un derecho de propiedad.
2. En un sentido restringido, el activo se limita a cosas materiales o
intangibles que tengan un valor monetario y que sean capaces de
generar un flujo de ingresos o beneficios futuros a su propietario.
3. Contablemente, es el conjunto de derechos de propiedad que posee una
empresa o persona sobre un bien y las obligaciones de terceros respecto
de ella. El activo siempre es igual al pasivo más el patrimonio. Para los
efectos de su presentación en el Balance Contable, actualmente se exige
en Chile que los activos se clasifiquen según su grado de liquidez, de la
siguiente manera:
a. Activo circulante: dinero, depósitos a la vista en bancos, cuentas
por cobrar, valores negociables, etc.
b. Activo nominal o intangible: patentes, marcas, franquicias
especiales, etc.
c. Activo fijo: terrenos, edificios, plantas y equipos, etc.
La característica económica esencial de un activo es su capacidad actual
o potencial de generar un flujo de ingresos o beneficios futuros a su poseedor.
273
AUTOMATIZACION:
Sistemas mecanizados de producción tecnológicamente avanzados que se
orientan a lograr el máximo de uniformidad, simplicidad y eficiencia en los
procesos industriales. Los sistemas automatizados generan información que
sirve para realimentar el proceso y con la cual pueden autorregularse,
permitiendo que el trabajo realizado por una máquina constituya un insumo de
otras que lo continúan.
BALANCE CONTABLE:
Muestra el valor de los activos de la empresa y de los derechos sobre
estos mismos en una fecha determinada. Los activos se disponen de arriba
hacia abajo por orden de liquidez decreciente; es decir; los activos de la parte
superior se convierten en efectivo más rápidamente que los ubicados bajo ellos.
Los que se espera se conviertan en efectivo dentro de un año se
designan como activos circulantes.
Los cuales no se esperan que se conviertan en efectivo dentro de un año
de designan como activos fijos.
Con respecto a los pasivos su designación también depende del tiempo
que se espera para pagar estas cuentas de esa forma las cuentas que se
esperan sean canceladas dentro de un año se denominan pasivos circulantes y
las que no se denominan pasivos fijos.
274
CETERIS PARIBUS:
Expresión latina que significa "todo lo demás constante". En economía es
un recurso metodológico al que se recurre para aislar la influencia que alguna
variable en particular ejerce sobre un fenómeno que esté condicionado por
muchos factores. Suponiendo que todos estos factores no cambian, es posible
analizar por separado la acción de la variable en cuestión sobre el fenómeno
estudiado. Por ejemplo, la demanda de automóviles depende del precio de los
mismos, del ingreso de las personas, del precio de otros bienes, de los gustos,
etc, variables que determinan en forma simultánea la demanda. Para conocer el
efecto sobre la demanda de automóviles de un cambio en el precio, se supone
que todas las demás variables permanecen constantes, consiguiendo de este
modo aislar analíticamente la influencia de la variable precio sobre la cantidad
demandada de automóviles. Sin embargo, hay que hacer notar que esto no es
más que un instrumento metodológico, y no una descripción de la realidad.
CONTABILIDAD: Técnica auxiliar de la administración de empresas mediante
la cual se registra toda la información respecto a las transacciones comerciales
y financieras con el fin de determinar la posición patrimonial y conocer la
situación de pérdidas y ganancias de la explotación. La información contable se
registra en libros especiales y las principales funciones que cumple son la de
revelar la situación financiera de la empresa, aportar antecedentes para
determinar su situación tributaria y proporcionar la información necesaria para
275
ejercer un control eficiente de la gestión empresarial. El sistema contable más
utilizado se basa en el principio de la partida doble, que reconoce que cada
transacción tiene un doble aspecto, la entrada y salida. Dicho principio nos lleva
a la igualdad fundamentalmente de la contabilidad que puede enunciarse como:
ACTIVO = PASIVO + PATRIMONIO
De esta manera, toda transacción se anotará en el debe de una cuenta y en
haber de otra, con lo cual siempre se estará modificando ambos lados de la
igualdad, revelando con ello el efecto que tiene para la empresa cualquier
movimiento contable.
276
EMPRESA:
En economía, agente económico o unidad autónoma de control y decisión que
al utilizar insumos o factores productivos los transforma en bienes y servicios o
en otros insumos. No se trata de una entidad legal, sino de una organización
que tiene objetivos definidos, como el lucro, el bien común o la beneficencia, y
para cuya consecución utiliza factores productivos y produce bienes y servicios.
ESTADO DE RESULTADO:
Muestra el valor de las ventas (superior) junto a los ingresos (inferior) para
finalizar con las utilidades o perdidas del ejercicio. Estas ultimas establecen un
estado de ganancia o perdida en el periodo.
FLUJO:
En economía se distingue entre variables de flujo y variables de stock. Para
ilustrar la diferencia pensemos en un estanque con agua. El nivel del agua en el
estanque es un stock, y se puede cuantificar como el número de litros
existentes. Si pensamos que además el estanque tiene una llave por la cual
entra agua y un desagüe por la que se elimina, tendremos entonces un flujo.
Este se puede medir como el número de litros por segundo. Vale decir, el flujo
necesariamente tiene una dimensión temporal, es una cantidad por período de
tiempo. En economía se pueden mencionar muchas variables de flujo, como la
277
demanda de trigo por período de tiempo, el consumo por período de tiempo, la
inflación, etc.
También existen variables de stocks, como la cantidad de trigo almacenada, el
stock de capital existente en un país, etc.
PASIVO:
Conjunto de deudas con terceras personas que tiene una empresa en un
momento dado. Para los efectos de su presentación en el Balance Contable, en
Chile actualmente se exige que los pasivos se clasifiquen en:
Pasivo exigible: representa deudas con personas naturales o jurídicas
distintas de los dueños de la empresa. Estos a su vez se clasifican de acuerdo
al plazo de su vencimiento, en pasivos exigibles de corto, mediano y largo
plazo.
Pasivo no exigible; representa las deudas que tiene la empresa respecto de
sus dueños, en cuanto constituye una persona jurídica distinta de las personas
naturales o jurídicas que son sus propietarios. En esta clasificación se incluyen
el capital o patrimonio, las reservas y las utilidades. Ver ACTIVO.