Está en la página 1de 243

DIMENSIONAMIENTO, DISEÑO E IMPLEMENTACION DE UN PROTOTIPO DE

OBSERVATORIO DE INDICADORES PARA EL SISTEMA DE ABASTECIMIENTO Y


SEGURIDAD ALIMENTARIA DE BOGOTA USANDO HERRAMIENTAS DE CÓDIGO
ABIERTO

GERMAN DAVID MARTINEZ OCHOA


LUIS GABRIEL NIÑO BRIJALDO

UNIVERSIDAD DISTRITAL FRANCISCO JOSÉ DE CALDAS


FACULTAD DE INGENIERÍA
PROYECTO CURRICULAR DE INGENIERÍA DE SISTEMAS
BOGOTÁ, D.C.
2007

1
DIMENSIONAMIENTO, DISEÑO E IMPLEMENTACION DE UN PROTOTIPO DE
OBSERVATORIO DE INDICADORES PARA EL SISTEMA DE ABASTECIMIENTO Y
SEGURIDAD ALIMENTARIA DE BOGOTA USANDO HERRAMIENTAS DE CÓDIGO
ABIERTO

GERMAN DAVID MARTINEZ OCHOA


LUIS GABRIEL NIÑO BRIJALDO

PROYECTO DE GRADO PARA OPTAR POR EL TÍTULO DE INGENIERO


DE SISTEMAS

DIRECTOR DEL PROYECTO


MG. HENRY ALBERTO DIOSA

UNIVERSIDAD DISTRITAL FRANCISCO JOSÉ DE CALDAS


FACULTAD DE INGENIERÍA
PROYECTO CURRICULAR DE INGENIERÍA DE SISTEMAS
BOGOTÁ, D.C.
2007

2
Nota de aceptación

________________________________
________________________________
________________________________
________________________________
________________________________
________________________________
________________________

________________________________
Presidente del Jurado

________________________________
Jurado

________________________________
Jurado

3
Nota de aceptación

________________________________
________________________________
________________________________
________________________________
________________________________
________________________________
________________________

________________________________
Presidente del Jurado

________________________________
Jurado

________________________________
Jurado

4
A Dios quien da
el conocimiento
y quien hace
posibles los
sueños. A mi
familia de quien
siempre recibí
apoyo
incondicional.

Germán David

A la familia por
el apoyo.
A los amigos por
la confianza
A ti mi vida por
estar estos años
conmigo.

Gabriel Niño

5
AGRADECIMIENTOS

Agradecemos a nuestras familias que nos estuvieron brindando apoyo en


cada momento, al director Henry Alberto Diosa quien nos ofreció de su ayuda
y conocimiento, indispensable para la culminación de este proyecto. A todas
las personas que de una u otra manera estuvieron presentes y listas a
colaborarnos en lo que necesitásemos. A la ciencia, cada día más extensa y
completa, que hace al hombre maravillarse.

6
CONTENIDO
Pág.
CAPITULO I. INTRODUCCIÓN 17
1.1 DESCRIPCIÓN DEL PROBLEMA 17
1.2. SOLUCIÓN PROPUESTA 18
1.3. CONTENIDO 19
1.4. RESUMEN 19
CAPITULO II. EL SISTEMA DE INFORMACIÓN DEL SAAB Y LA 21
INTELIGENCIA DE NEGOCIOS
2.1 EL SISTEMA DE INFORMACIÓN DEL SAAB 21
2.2 INTELIGENCIA DE NEGOCIOS 28
2.3 RESUMEN 39
CAPITULO III. INDICADORES DEL SISTEMA DE 40
ABASTECIMIENTO Y SEGURIDAD ALIMENTARIA DE
BOGOTÁ
3.1. ANÁLISIS DE REQUERIMIENTOS 40
3.2. ANÁLISIS DE LA BASE DE DATOS ORIGEN PARA LA 41
OBTENCIÓN DE INDICADORES
3.3. ANALISIS DE LOS DOCUMENTOS EXISTENTES PARA 43
OBTENCION DE INDICADORES
3.4 RESUMEN 44
CAPITULO IV. ARQUITECTURA TÉCNICA DE 46
IMPLEMENTACION
4.1. AMBIENTE TECNICO 46
4.2. PLAN DE ARQUITECTURA 48
4.3. RESUMEN 51
CAPITULO V. DISEÑO DEL MODELO DE BUSINESS 53
INTELLIGENCE
5.1. DISEÑO LÓGICO 53
5.2. DISEÑO FÍSICO 62
5.3. METADATA FUENTE – DESTINO 69
5.4. RESUMEN 69
CAPITULO VI. CONSTRUCCION DEL MODELO DE 71
INTELIGENCIA DE NEGOCIOS “BUSINESS INTELLIGENCE”
6.1. CREACIÓN DE LA BODEGA DE DATOS 71
6.2. PROCESO DE EXTRACCIÓN, TRANSFORMACIÓN Y CARGA 71

7
DE DATOS
6.3. GENERACIÓN DE LOS CUBOS 72
6.4. RESUMEN 73
CAPITULO VII CONCLUSIONES
7.1. CONCLUSIONES 74
7.2. APORTES ORIGINALES 75
7.3. TRABAJOS FUTUROS 76
BIBLIOGRAFÍA 78
ANEXOS 82
ANEXO 1. CREACIÓN DE CUBOS EN PENTAHO 70
ANEXO 2. SCRIPT DE LA BODEGA DE DATOS 91
ANEXO 3. PROCESO DE EXTRACCIÓN, TARNSFORMACION 120
Y CARGA
ANEXO 4. METADATA FUENTE – DESTINO 177

8
LISTA DE TABLAS Y FIGURAS
Pág.
Tabla 2.1 Actores por área funcional 26
Tabla 2.2 Sistemas y subsistemas 27
Tabla 2.3 Comparación entre una base de datos operacional y 32
una bodega de datos
Tabla 2.4 Evaluación de herramientas de inteligencia de 39
negocios
Tabla 3.1 Indicadores obtenidos a través del prototipo 42
Tabla 3.2 Indicadores de [15] que se obtendrán a través del 44
prototipo
Figura 4.1 Arquitectura Suite Pentaho [15] 48
Figura 4.2 Extracción de datos desde el SISAAB 49
Figura 4.3 Transformación de datos desde el SISAAB 50
Figura 4.4 Carga de datos desde el SISAAB 51
Tabla 5.1 Diseño lógico del Data Mart de transporte 54
Tabla 5.2 Diseño lógico del Data Mart de compras 56
Tabla 5.3 Diseño lógico del Data Mart de demanda – logística 57
Tabla 5.4 Diseño lógico del Data Mart de operadores red de 58
negociación
Tabla 5.5 Diseño lógico del Data Mart de oferta 59
Tabla 5.6 Diseño lógico del Data Mart de demanda 61
Figura 5.1 Data Mart de Transporte 63
Figura 5.2 Data Mart de Compras 64
Figura 5.3 Data Mart de Demanda Logística 65
Figura 5.4 Data Mart de Operadores Red de Negociación 66
Figura 5.5 Data Mart de Oferta 67
Figura 5.6 Data Mart de Demanda 68

9
GLOSARIO

Back End: Modelo físico elaborado por el experto en una aplicación de


inteligencia de negocios.

Cubo: Nombre para una estructura dimensional o proceso analítico en línea


(OLAP) en una plataforma de base de datos, originalmente refiriéndose a
tres dimensiones simples: producto, venta y tiempo [10].

“Dashboards”: En español cuadros de mando. Son páneles gráficos que


muestran el rendimiento de una empresa u organización. Entregan métricas
claves en una atractiva e intuitiva interface visual. Ofrece información crítica
a los usuarios, quienes necesitan entender y mejorar el rendimiento
organizacional [27].

“Data Warehouse” (DWH): En español bodega de datos, conglomeración de


los datos de una organización agrupados y presentado en áreas, donde los
datos operacionales son específicamente estructurados para sentencias de
consulta y análisis de fácil uso [10].

“Data Marts”: “Es un pequeño “Data Warehouse” (bodega de datos), para


un determinado número de usuarios, de un área funcional, para una
compañía específica. También es posible definir un “Data Mart” como un
subconjunto de una bodega de datos para un propósito específico. Su
función es apoyar a otros sistemas para la toma de decisiones” [2].

Dimensión: Entidad independiente en un modelo dimensional que sirve


como punto de entrada o como un mecanismo para observar las medidas
aditivas localizadas en la tabla de hechos de un modelo dimensional [10].

10
“Drill Down”: En español profundizar en los datos. Dicha profundización es
la habilidad de comenzar una sumarización y frenarla cuando se desea,
dentro de un fino y sucesivo conjunto de sumarizaciones o resúmenes [9].

Esquema Estrella: El esquema estrella refleja la visión del usuario final de


una consulta empresarial: hechos tales como ventas, compensación, pago y
facturas se califican por una o más dimensiones (por mes, por producto por
región geográfica) [2].

Expresiones Multidimensionales (MDX): (“Multidimensional Expressions”


en Inglés). MDX es un estándar para las expresiones multidimensionales.
MDX fue introducido por MICROSOFT con “Microsoft SQL Server OLAP
Services” alrededor 1998, como lenguaje de componente para OLAP [10].

“Extract, Transform and Load” (ETL): Extracción, transformación y carga


de datos en español. Proceso de aplicación para la toma datos integrándolos
en el DWH, el primer paso es extraerlos, luego transformarlos y por último
cargarlos en el DWH [9].

“Front End”: Modelo lógico que el usuario percibe del cubo desarrollado
[10].

Inteligencia de Negocios (BI): (“Business Intelligence” en Inglés). Término


genérico para describir controladamente la información interna y externa de
una organización para tomar mejores decisiones de negocio [10].

“METADATA”: Una de las novedades que aporta el Data Warehouse como


sistema de análisis de información es la meta-información (es muy común

11
utilizar el término inglés metadata). Cada dato está identificado por una
descripción, un origen, historial o forma inicial y sucesivas, etc. Este conjunto
de datos sobre los datos es lo que se denomina metadatos. El metadato
proporciona el contenido semántico necesario para que los datos puedan
ser interpretados [28].

MODELO E-R: El modelo entidad-relación es el modelo conceptual más


utilizado para el diseño conceptual de bases de datos. Fue introducido por
Peter Chen en 1976. El modelo entidad-relación está formado por un
conjunto de conceptos que permiten describir la realidad mediante un
conjunto de representaciones gráficas y lingüísticas.

Originalmente, el modelo entidad-relación sólo incluía los conceptos de


entidad, relación y atributo. Más tarde, se añadieron otros conceptos, como
los atributos compuestos y las jerarquías de generalización, en lo que se ha
denominado modelo entidad-relación extendido [31].

MONDRIAN: Es un servidor OLAP escrito en Java. Permite


Interactivamente a analizar muy grandes conjuntos de datos almacenados en
bases de datos SQL sin escribir SQL [26].

OLAP Híbrido (HOLAP): Es una combinación entre las arquitecturas


ROLAP, MOLAP y OLAP en esta tecnología se utilizan componentes
modelados en las tecnologías ROLAP, MOLAP y OLAP [2].

OLAP Multidimensional (MOLAP): Implementación de proceso analítico en


línea dedicado que no depende de una base de datos relacional. Aunque un
sistema MOLAP no es escalable al tamaño de un sistema de base de datos

12
relacional, típicamente aumenta el rendimiento y la integración de datos
desde distintas fuentes y permite cargar los datos de forma local [2].

OLAP Relacional (ROLAP): Implementación de proceso analítico en línea


dedicado que depende de una base de datos relacional. Aunque un sistema
ROLAP utiliza de los recursos del sistema relacional tiene grandes pérdidas
en el rendimiento de las consultas [2].

PENTAHO: Pentaho es una herramienta de código abierto que ofrece un


completo espectro de Business Intelligence (BI), incluye la presentación de
informes, análisis, paneles, minería de datos, integración de datos, y una
plataforma BI [14].

Procesamiento Analítico en Línea (OLAP): (“Online Analytic Processing”


en inglés). Comúnmente definido como el juego de principios provistos por
un ambiente dimensional para el soporte decisional [10].

Procesamiento Transaccional en Línea (OLTP): (“On – Line Transaction


Processing” en Inglés). Es un sistema de procesamiento de datos diseñado
para almacenar los registros de las transacciones del negocio de una
organización justo como ocurren [13].

Sistema de Abastecimiento y Seguridad Alimentaria Para Bogotá


(SAAB): Es una propuesta de organización del actual sistema
agroalimentario de la ciudad que busca garantizar la disponibilidad de
alimentos para toda la población en términos de calidad, cantidad y precio
asegurando una “nutrición a precio justo” [1].

13
Sistema de Información para el Sistema de Abastecimiento y Seguridad
Alimentaria para Bogotá (SISAAB): Sistema de Información que dará
soporte a los flujos de información y procesamiento en cada subsistema de
informático del SAAB [12].

Tabla de Hechos (Fact Table): (“Fact table” en Inglés). En un esquema en


estrella (modelo dimensional), la tabla central con medidas de la actuación
numéricas caracterizadas por una llave compuesta, cada uno de cuyos
elementos son una llave foránea deducido de una tabla de la dimensión [10].

XML: Lenguaje de marcado extendido [2].

14
RESUMEN

El objetivo de este trabajo fue construir un prototipo de observatorio de


indicadores del Sistema de Abastecimiento y Seguridad Alimentaria de
Bogotá (SAAB en adelante) utilizando herramientas de software de código
abierto. Se empleó lo que se ha venido denominando inteligencia de
negocios (“Business Intelligence”, BI por sus siglas en inglés) que ofrece al
usuario final (generalmente directores y gerentes) facilidad en la consulta de
información.

Se partió con el análisis de los documentos existentes y de la base de datos


del sistema de información del SAAB, con el fin de hallar los posibles
indicadores que harán parte del observatorio. El alcance del proyecto está
centrado en dichos indicadores y es, por medio, del software de código
abierto Pentaho (Ver glosario), que se construyó el prototipo.

Teniendo los indicadores y basándose en ellos, se diseñaron seis Data Marts


(Ver glosario), de oferta, de demanda, de transporte, de compras, de
demanda logística y de operadores de la red de negociación, los cuales
permiten la consulta de información a los usuarios finales y las facilidades
que un proyecto de BI ofrece, como lo es la consulta multidimensional (cruce
de dimensiones), donde el usuario crea sus propios reportes de acuerdo a
sus necesidades en el negocio.

El diseño de los Data Marts incluye: el modelo lógico, es decir, está orientado
hacia el usuario y comprende las características lógicas de los datos para los
programas de aplicación [29], tiene dimensiones con niveles jerárquicos y

15
medidas; y el modelo físico, lo cual es, la forma en que se encuentra el Data
Mart en la base de datos, incluye las tablas, campos y relaciones.

Se analizó, diseñó y desarrolló una bodega de datos, cuyo motor de base de


datos es postgreSQL, dicha bodega está conformada por los seis Data Marts
cada uno de ellos corresponde a una línea de negocio.

También se desarrolló un proceso de extracción, transformación y carga de


datos (ETL, por sus siglas en inglés), cuya finalidad es poblar la bodega de
datos desde la base de datos origen, es decir la del sistema de información
del SAAB. Este proceso se ejecuta automáticamente, generalmente en horas
de la noche, para poblar y actualizar la bodega de datos con la nueva
información que la base de datos del SAAB contenga.

Se empleó la suite de inteligencia de negocios de código abierto llamada


Pentaho, que permite por medio de la herramienta Cube Designer el diseño
de los cubos, la herramienta Kettle para el proceso de ETL, y la visualización
de la información que es posible gracias a la plataforma de BI de Pentaho.

16
CAPITULO I

INTRODUCCIÓN

En este primer capítulo se presentará la descripción de uno de los retos que


plantea el sistema de información del SAAB respecto a obtener indicios del
comportamiento del Sistema a través de indicadores previamente
establecidos por uno de los equipos técnicos del SAAB y la estrategia para
resolver dicho problema, la cual está basada en lo que se denomina
inteligencia de negocios y en la utilización de herramientas de software de
código abierto.

Finalmente se presenta al lector el contenido del documento y su


organización, aclarando la temática que se maneja en cada capítulo.

1.1 DESCRIPCIÓN DEL PROBLEMA

Las ineficiencias del actual sistema de abastecimiento de alimentos de la


ciudad, ha motivado a la Alcaldía de Bogotá a proponer el “Plan Maestro de
Abastecimiento de Alimentos y Seguridad Alimentaría para Bogotá Distrito
Capital” [11] en lo que se incluye la creación de un sistema de información
del mismo (Ver capítulo II).

Debido a la necesidad de algunos usuarios de consultar indicadores del


sistema de manera rápida y eficiente se plantea la siguiente problemática:

¿Cómo proveer la consulta y visualización de indicadores del sistema


de información del sistema de abastecimiento de alimentos de Bogotá

17
de manera dinámica y con el apoyo de consultas en varias dimensiones
de datos?

Debido a las grandes necesidades de información para la correcta gestión y


administración de este sistema, se ha planteado la necesidad de realizar
análisis de indicadores y otras variables que intervienen dentro del sistema
que son necesarias para conocer el impacto social del SAAB.

El SISAAB posee una gran base de datos que crece con el tiempo, llegando
así a poseer gran cantidad de datos históricos, que pueden apoyar el
proceso de gestión y administración. Los mandos superiores del SAAB,
requieren de esta información porque les reduce la incertidumbre y les
permite basarse en hechos para enfrentar el futuro.

Se ha dilucidado la necesidad de elaborar una herramienta adicional a las ya


existentes para este mismo sistema, cuyo fin sea el análisis de información
con las siguientes características: análisis de variables, cruce de indicadores
y agregación de medidas.

1.2 SOLUCIÓN PROPUESTA

Basados en lo que se ha venido denominando inteligencia de negocios, que


según Larissa T. Moss, Shaku Atre [4] brinda reporteo, consulta de datos y
análisis multidimensional, entre otros, se propone desarrollar un prototipo de
observatorio de indicadores del sistema de información del SAAB, el cual
estará basado en Business Intelligence en donde el usuario pueda observar
el comportamiento de dichos indicadores.

18
Para el desarrollo del mismo se utilizarán aplicaciones de software libre,
como lo es la suite de Pentaho (suite de software libre de Business
Intelligence) y el motor de base de datos PostgreSQL.

Mediante este prototipo de observatorio el usuario final podrá evaluar el


desempeño de los indicadores del sistema de información del SAAB, lo cual
permitirá tomar mejores decisiones.

1.3 CONTENIDO

En el capítulo II se observarán los conceptos y generalidades alrededor del


sistema de información del SAAB y de Business Intelligence. En el capítulo III
se verán los indicadores del prototipo, y la forma de obtención de los mismos
desde el análisis de la base de datos y la documentación de SAAB. En el
capítulo IV se observará la arquitectura técnica de la suite Pentaho y la que
tiene el prototipo. En el capítulo V se mostrará lo relacionado con el diseño
del prototipo, seis Data Marts y la bodega de datos. En el capítulo VI se verá
la construcción del DWH y se revisará el proceso de extracción,
transformación y carga de los datos. Por último en el capítulo VII se
presentará la conclusión de este trabajo, los aportes originales realizados y
los posibles trabajos futuros basados en esta herramienta.

1.4 RESUMEN

En este capítulo se presentó un problema del sistema de información del


SAAB, relacionado con la observación, por parte del usuario, de indicadores
de forma dinámica y multidimensional y la solución planteada al mencionado
problema a través de lo que se ha venido denominando inteligencia de
negocios y específicamente utilizando herramientas de código abierto.

19
Adicionalmente, se presenta un breve resumen del contenido del libro,
destacando la temática tratada a lo largo del documento.

20
CAPITULO II
EL SISTEMA DE INFORMACIÓN DEL SAAB Y LA INTELIGENCIA DE
NEGOCIOS

La base de este proyecto es el sistema de información del SAAB y lo que se


ha venido denominando como inteligencia de negocios, este capítulo
presenta un breve funcionamiento del sistema de información SAAB, sus
fases de desarrollo incluyendo un resumen de su origen y los sistemas y
subsistemas con los que cuenta. También se presentarán algunas
definiciones, desde diferentes autores acerca de Business Intelligence, Data
Warehouse, Data Mart y ETL, por último se presenta un comparativo entre
las funcionalidades de las diferentes aplicaciones de software de Business
Intelligence.

2.1. EL SISTEMA DE INFORMACIÓN DEL SAAB

“A principios del año 2005 el Grupo de Investigación ARQUISOFT se vincula


al proyecto de modelamiento integral de la operación logística de las UPZs
Lucero-Tesoro liderado por el Grupo de Investigación GICIC para apoyar el
diseño del componente denominado Sistema de Información, que daría
soporte en la automatización y sistematización de procesos relacionados con
los componentes de calidad y logística” [12].

Al ser conformado este sistema de información y todo su diseño, se brindara


todo el soporte de información al SAAB este sistema cumple con las labores
propias de un sistema de información como son la validación de los datos y
almacenamiento de los mismos, también puede ser usada como una extensa
fuente de información que brinde soporte a consultas de tipo primaria como

21
puede ser registro de nuevos usuarios, productos y demás detalles que
puedan servir para su posterior análisis.

Sin embargo, debido al gran volumen de datos que llegará a contener,


podrían revelarse gran cantidad de desventajas en el rendimiento de
consultas al ser estas de tipo cruce de múltiples indicadores y múltiples
variables formuladas, estas desventajas se deben a que es una base de
datos orientada a la operación y no al análisis y consulta de datos como si es
el caso del Data Warehouse (si el lector desea ahondar en las diferencias
entre una base de datos operacional y un Data Warehouse puede remitirse al
punto 2.2.4), es así como este proyecto pretende ser una solución a este
problema, brindando una herramienta que no someta el sistema a consultas
que requieren gran cantidad de tiempo de procesamiento, lo cual significa
largos tiempos de espera para el usuario sino que por medio de una
arquitectura ideal como el Data Warehouse orientada a la consulta de
información, se brinde solución a las necesidades de consulta por parte del
usuario.

2.1.1. FASES

Es importante conocer el proceso de desarrollo del sistema de información


del SAAB, el cual se realizó en ocho fases, estas son [12]:

 Elaboración de un modelo de referencia arquitectural de software.

 Análisis y validación inicial del modelo de referencia arquitectural con


los “stakeholders” del proyecto.

22
 Elaboración de modelo funcional de los sistemas/subsistemas de alto
impacto arquitectural.

 Priorización de sistemas/subsistemas a desarrollar.

 Estimación de esfuerzo y duración para el desarrollo de la línea base


arquitectural partiendo del modelo funcional basado en casos de uso
resultado de la fase 3.

 Planteamiento del modelo de proceso de desarrollo de


sistemas/subsistemas del SISAAB priorizados y del modelo de
organización que dará el soporte de gestión a estos desarrollos.

 Aplicación y ejecución del modelo de proceso de acuerdo a un


enfoque iterativo e incremental, apoyado en las herramientas
metodológicas apropiadas desde la ingeniería de software.

23
2.1.2. ÁREAS FUNCIONALES Y ACTORES

El modelo arquitectural del sistema de información contiene áreas


funcionales y actores a cargo de cada una de las áreas. La siguiente es la
definición de cada una de las áreas [12]:

 Operación logística: Consiste en la gestión y ejecución de todas las


actividades logísticas de movimiento de materiales desde el proveedor
a la plataforma y de ésta al cliente.

 Plataforma logística: Consiste en la manipulación y organización


transitoria de productos y materiales de acuerdo a los requerimientos
o solicitudes de los usuarios, es posible identificarla con una
infraestructura física donde se ejecutan estas actividades.

 Centros integrales de gestión de abastecimiento y seguridad


alimentaria urbano/rural: Consiste en el ente facilitador de los
procesos de negociación, conformación de redes de oferta-demanda,
información, divulgación, capacitación y democratización del acceso a
herramientas tecnológicas, posiblemente se pueda identificar con una
infraestructura física donde se ejecutan éstas actividades en una
Localidad dada.

 Operación institucional: Se refiere al área administrativa y de toma de


decisiones gerenciales pertinentes, basadas en procesos de
generación de consultas y reportes consolidados de resultados de
operación de las demás áreas funcionales definidas.

24
 Operación de demanda: Consiste en la consolidación de pedidos;
presente en la creación, modificación y demás procesos
transaccionales de operación de solicitudes de productos a redes de
oferentes.

 Operación de oferta: Consiste en la consolidación de producto,


presente en la carga, embalaje, monitoreo y transacción relacionada
con la gestión de cronogramas de entrega de pedidos a demandantes.

 Operación informática: Administración de maestros de sistema y


niveles de seguridad de acceso al sistema de información integrado
del SAAB. Procesos de operación y mantenimiento (copias de
seguridad, depuración, “tuning”, desempeño, etc.) relacionados con
los sistemas de software-hardware-comunicaciones implementados.

 Operación de acceso público: Ésta área permitirá la presentación y


consulta de la información concerniente con los servicios y procesos
dados por la plataforma logística a los diferentes actores que tengan
acceso público al sistema y cuyo interés se dé en relación con las
diferentes acciones de participación en el SAAB.

 Operación financiera: Ésta área permitirá la puesta en marcha de los


sistemas de cobros y pagos realizados por los operadores de
demanda y de oferta de manera electrónica o de recaudo y
transacciones en línea de pagos con tarjeta débito, crédito o de
transferencias bancarias.

25
La siguiente tabla (tabla 2.1) muestra las áreas funcionales con sus
respectivos actores [12].

Tabla 2.1 Actores por área funcional [12]

Áreas funcionales Actores


Operación logística (OL) AOL01 Programadores de entregas/cargas
AOL02 Transportadores
AOL03 Gerentes de operación
Plataforma logística (PL) APL01 Operarios de plataforma
APL02 Operarios de empaque
APL03 Almacenistas
APL04 Supervisor
Centro integral de gestión de ACIG01 Administradores de demanda
abastecimiento urbano/rural ACIG02 Administradores de oferta
(CIGAU/CIGAR) ACIG03 Operadores de mesa de ayuda
ACIG04 Operarios de empaque
ACIG05 Operarios de trascripción
ACIG02.1 Administradores de procesos de negocio
Operación Institucional (OI) AOI01 Gerentes de operación
AOI02 Gerentes de plataforma
Operación de demanda (OD) AOD01 Integradores de demanda
AOD02 Clientes
AOD03 Transformadores
AOD04 Administradores de tiendas
Operación de oferta (OO) AOO01 Integradores de oferta
AOO02 Productores
AOO03 Transformadores
AOO04 Administradores de fincas
Operación informática (OINF) AOINF01 Administradores de aplicación
AOINF02 Administradores de bases de datos
AOINF03 Administradores de seguridad
AOINF04 Operadores de mesa de ayuda
Operación de acceso público AOAP01 Usuarios de consulta de servicios y procesos
(OAP) AOAP02 Usuarios de consulta de procesos de manipulación
AOAP03 Usuarios de consulta de estándares de calidad implementados
AOAP04 Usuarios de consulta de información del SAAB
Operación financiera (OF) AOF01 Gerente financiero
AOF02 Jefe de cartera y financiación
AOF03 Jefe de compras

2.1.3. SISTEMAS Y SUBSISTEMAS DEL SISAAB

Para el SISAAB se definieron sistemas junto con subsistemas asociados,


que intervienen dentro del proceso. Los sistemas que se definieron son:

 Gestión de información – OAP

26
 Gestión de Operación Logística – OL

 Gestión de Plataforma Logística – PL

 Gestión de Oferta y Demanda - OD/OO

 Operación informática – OINF

 Gestión de producción y clientes

 Gestión financiera

Cada unos de los sistemas anteriores tiene subsistemas. En la tabla 2.2, se


muestra cada uno de los sistemas con los subsistemas asociados. [12]:

Tabla 2.2. Sistemas y subsistemas


SISTEMA SUBSISTEMA
Gestión de información de productos
Gestión de información – OAP Gestión de información de servicios
Gestión de información de institucional
Gestión de transporte
Gestión de acopio
Gestión de Operación Logística – OL Gestión de distribución
Gestión devoluciones
Gestión de trazabilidad
Gestión de inventarios en tránsito
Gestión de la recepción
Gestión de Plataforma Logística – PL
Gestión de despachos
Gestión de insumos de empaque y embalaje
Gestión de operadores de demanda
Gestión de operadores de oferta
Gestión de procesos de solicitud
Gestión de Oferta y Demanda - OD/OO Gestión de productos
Gestión de negociación
Gestión de capacitación
Cosechas
Gestión de seguridad
Gestión de auditoría y control
Operación informática – OINF
Gestión de maestros de sistema
Gestión de recuperación
Gestión de fincas
Gestión de producción y clientes
Gestión de tiendas

Gestión de bancos
Gestión de cartera
Gestión financiera
Gestión de pagos a proveedores
Gestión de crédito

27
2.2. INTELIGENCIA DE NEGOCIOS

Las organizaciones actuales tienen la posibilidad de recopilar y almacenar


volúmenes nunca imaginables de datos operativos de los clientes. La
pregunta es saber cómo emplear toda esta información para tomar mejores
decisiones. Harjinder, S. Gill en su libro La integración de información para la
mejor toma de decisiones hace la siguiente pregunta: “¿Cómo puede una
empresa deslumbrar a sus clientes, acrecentar sus dividendos e incrementar
sus acciones de mercado, todo al mismo tiempo? Una de las respuestas es
la bodega de datos” [2]. Kimball en [10] complementa la respuesta a la
anterior pregunta, “Business Intelligence ofrece a las organizaciones un
marco para analizar la gran cantidad diaria de datos a fin de extraer
valoraciones que puedan proporcionar una ventaja decisiva en la competitiva
economía actual”.

Las herramientas de “Business Intelligence” permiten ampliar el conocimiento


de las relaciones con clientes y socios, además de ofrecer indicadores de
rendimiento clave como son las consultas multidimensionales, cuadros de
mando y indicadores. Al llevar a la práctica estos conocimientos, las
compañías pueden obtener importantes beneficios en forma de mayores
ganancias, una mejor capacidad de aprovechar las nuevas oportunidades y
la capacidad de reaccionar antes a los cambios en la demanda del mercado”
[3].

Inteligencia de negocios o “Business Intelligence” (BI por sus siglas en


inglés), se puede definir como el proceso de analizar los datos en una
empresa y extraer reportes traducidos en inteligencia o conocimiento. Dentro
de los datos se incluyen los clientes, productos, información de la cadena de

28
suministro, ventas personales y cualquier actividad de mercadeo o fuente de
información relevante para la empresa.

Según Larissa T. Moss, Shaku Atre [4] La inteligencia de negocios incluye


entre otros los siguientes procesos: Análisis multidimensional, “Data mining”
“Forecasting analysis” del negocio, “Blance scorecard” consultas y reporteo,
administración del conocimiento, minería de datos para texto, contenido y
voz, “dashboard”.

Puesto que el concepto de Business Intelligence es amplio, este proyecto se


centrará en el proceso de consulta y reporteo de datos extraídos desde el
Data Warehouse la cual se creará por medio de un proceso de extracción,
transformación y carga de datos, a partir de la base de datos del SISAAB.

“El reto más importante de las empresas del mañana es el tratamiento de la


información. La información genera conocimiento y el conocimiento es la
esencia de la competitividad.”[30]

Peter Drucker

2.2.1 TOMA DE DECISIONES A TRAVÉS DE BI

BI asiste a las personas encargadas de tomar decisiones con información


que tiene valor, apoyado por la toma de decisiones relacionada con el
negocio en el objeto de incrementar la efectividad de cualquier empresa.

Con la utilización de BI se puede lograr entre otros aspectos lo siguiente:

 Generar reportes por áreas de conocimiento de la organización.


 Crear escenarios para tomar mejores decisiones.

29
 Compartir información entre departamentos, según las políticas de la
organización.
 Realizar análisis multidimensionales. Esto comprende la generación
de reportes combinando las diferentes dimensiones con que se
cuenta.
 Conocer después del análisis la tendencia del cliente y lo que éste
quiere.

Según Kobana Abukari y Vigía Job [5], "BI es una de las iniciativas
administrativas más robustas que los administradores inteligentes pueden
emplear para ayudar a sus organizaciones a crear más valor para los
accionistas".

2.2.2 AREAS DE BUSINESS INTELLIGENCE

BI le da una ventaja a las empresas sobre sus competidores al reunir


personas y tecnología para resolver problemas. La siguiente es una lista de
las áreas más comunes en las que las soluciones de Inteligencia de
Negocios son utilizadas:

 Ventas: Análisis de ventas; detección de clientes importantes, análisis


de productos, líneas, mercados, pronósticos y proyecciones.
 “Marketing”: Segmentación y análisis de clientes, seguimiento a
nuevos productos.
 Inventarios: Análisis de las entradas y salidas de los productos con
que se cuenta.
 Finanzas: Análisis de gastos, contabilidad y costos.
 Manufactura: Productividad en líneas; análisis de desperdicios;
análisis de calidad; rotación de inventarios y partes críticas.

30
2.2.3 COMPONENTES DEL BUSINESS INTELLIGENCE

Todas las soluciones de BI tienen funciones parecidas, pero deben reunir al


menos los siguientes componentes:

La propiedad multidimensional, en un proyecto de BI son los diferentes


ángulos y las diferentes composiciones por las cuales se puede analizar la
información, por ejemplo: tiempo, cliente, región, entre otros. Cada una de
estas dimensiones tiene diferentes niveles a los que se les conoce con el
nombre de jerarquía, por ejemplo, los niveles de la dimensión tiempo pueden
ser: año, semestre, trimestre, mes y día, de la dimensión región pueden ser:
país, departamento, ciudad.

Las medidas son los índices cuantitativos sobre los cuales se hace una
consulta que posteriormente genera un reporte. Algunos ejemplos de
medidas son: costo, valor, cantidad, valor neto, entre otros.

“Data Warehouse” [10] es la respuesta de la tecnología de información a la


descentralización en la toma de decisiones. Coloca en manos de quien toma
las decisiones los datos de todas las áreas funcionales de la organización.

2.2.4 ALMACEN O BODEGA DE DATOS

Existen muchas definiciones para el almacén de datos, la más conocida fue


propuesta por Inmon [2]: "un almacén de datos es un conjunto de datos
integrados, orientados a una materia, que varían con el tiempo y que no son
transitorios, los cuales soportan el proceso de toma de decisiones de una
administración". En 1993, Susan Osterfeldt [5] publicó una definición que sin
duda acierta en la clave del DWH "Yo considero al DWH como algo que
provee dos beneficios empresariales reales: Integración y Acceso de datos.

31
DWH elimina una gran cantidad de datos inútiles y no deseados, como
también el procesamiento desde el ambiente operacional clásico".

En la siguiente tabla se muestra una comparación entre un modelo clásico


operacional y una bodega de datos, es tomado de [28] en donde también se
afirma: “Las características de un Data Warehouse, diseño con orientación a
temas, integración de los datos contenidos, variación en el tiempo, no
volatilidad y simplicidad de la gestión de datos, conducen a un entorno que
es muy diferente del entorno operacional clásico.”

Tabla 2.3. Comparación entre una base de datos operacional y una bodega
de datos.

Aspectos BD operacional Data warehouse


De tipo operativo (operaciones Análisis y toma de
Objetivo del día a día) decisiones
De transacciones. Repetitivo y De consultas masivas.
Proceso conocido Puntual y no conocido
Actividad Predomina la actualización Predomina la consulta
Importancia del tiempo de
respuesta de la transacción Importancia de la
Rendimiento instantánea respuesta masiva
Explotación de toda la
Explotación de la información información interna y
relacionada con la operativa de externa relacionada con el
Explotación cada aplicación negocio
Carga, pero no
Volatilidad Actualizable actualización
Usuarios de perfiles medios o
Usuarios bajos Usuarios de perfiles altos

32
Aspectos BD operacional Data warehouse
Estructura normalmente
Organización relacional Visión multidimensional
Datos en general Datos en distintos niveles de
Granularidad desagregados, al detalle detalle y agregación
Horizonte histórico 30 a 90 días 5 a 10 años
Importancia del dato
Perspectiva Importancia del dato actual histórico

2.2.5 DATA MARTS

“Es un pequeño “Data Warehouse” (bodega de datos), para un determinado


número de usuarios, de un área funcional, para una compañía específica.
También es posible definir un “Data Mart” como un subconjunto de una
bodega de datos para un propósito específico. Su función es apoyar a otros
sistemas para la toma de decisiones” [2]. Los procesos que conforman el
“Data Warehouse” son:

 Extracción
 Transformación
 Carga

2.2.6 MODELADO DE LAS FUENTES DE DATOS

Las fuentes de datos se modelan utilizando las técnicas tradicionales de


modelado datos. El Modelo Entidad – Relación es una técnica popular de
modelado [2]. Es común emplear herramientas CASE en la construcción de
modelos Entidad-Relación. También las herramientas CASE ofrecen
facilidades de extracción de modelos a partir de las bases de datos como
existe actualmente. Estos son puntos de inicio muy apropiados para
determinar cuáles elementos de datos son necesarios para el almacén de
datos.

33
2.2.7 MODELADO DEL DATA WAREHOUSE

Una de las formas más comunes de modelar un “Data Warehouse”, es el


llamado “Esquema en estrella”, como el nombre sugiere, el esquema estrella
es un paradigma de modelado que tiene un solo objeto central relacionado
de manera radial con otros objetos.

El esquema en estrella refleja la visión del usuario final de una consulta


empresarial: hechos tales como ventas, compensación, pago y facturas se
califican por una o más dimensiones (por mes, por producto, por región
geográfica). El objeto en el centro de la estrella se denomina tabla de hechos
y los objetos conectados a ella se denominan tabla de dimensión [2]. En el
Capítulo V, se observará en detalle el diseño de la bodega de datos y los
Data Marts donde se presentan las dimensiones y tablas de hechos
generadas en este proyecto.

2.2.8 PROCESAMIENTO ANALITICO EN LINEA (OLAP)

En un almacén de datos se depositan datos para consulta, análisis y


divulgación, a diferencia del procesamiento de transacciones en línea (OLTP
por la sigla de “On – Line Transaction Processing”), en donde los datos se
reúnen y almacenan para operación y control. OLAP es una tecnología de
procesamiento analítica que crea nueva información empresarial a partir de
los datos existentes, por medio de un rico conjunto de transformaciones
empresariales y cálculos numéricos [2].

Se define el procesamiento analítico en línea como una tecnología de


análisis de datos que hace lo siguiente:

34
 Presenta una visión multidimensional lógica de los datos en el
almacén de datos. La visión es independiente de cómo se almacenan
los datos.
 Comprende siempre la consulta interactiva y el análisis de los datos.
Por lo regular la interacción es de varias pasadas, lo cual incluye la
profundización en niveles cada vez más detallados o el ascenso a
niveles superiores de resumen y adición.
 Ofrece opciones de modelado analítico, incluyendo un motor de
cálculo para obtener proporciones, desviaciones, etcétera, que
comprende mediciones de datos numéricos a través de muchas
dimensiones.
 Crea resúmenes y adiciones (también conocidas como
consolidaciones), jerarquías, y cuestiona todos los niveles de adición
y resumen en cada intersección de las dimensiones.
 Recupera y exhibe datos tabulares en dos o tres dimensiones,
cuadros y gráficas, con una perspectiva conduce a otra cuestión
empresarial que se va a examinar desde otra perspectiva.
 Responde con rapidez a las consultas, de modo que el proceso de
análisis no se interrumpe y la información no se desactualiza.
 Tiene un motor de depósito de datos multidimensional, que almacena
los datos en arreglos. Estos arreglos son una representación lógica de
las dimensiones empresariales.

La tecnología OLAP se aplica en muchas áreas funcionales de una


empresa, tales como producción, ventas y análisis de rentabilidad de la
comercialización; mezcla de manufacturas y análisis de logística;
consolidaciones financieras, presupuestos y pronósticos, planeación de
impuestos y contabilidad de costos [2]. En esta este proyecto esta

35
tecnologia se utliza para modelar los diferentes “Data Marts” que
conforma el “Data Warehouse”.

2.2.9 PROCESOS CON BODEGAS DE DATOS

Según Chasin [6] los siguientes procesos y beneficios empresariales se


deben considerar:

a) Los procesos de toma de decisiones pueden ser mejorados mediante


la disponibilidad de información. Las decisiones empresariales se
toman de manera más rápida por gente más informada.
b) Los procesos empresariales pueden ser optimizados. El tiempo
perdido causado por la espera de información (que finalmente es
incorrecta o no encontrada) es eliminado.
c) Las conexiones y dependencias entre procesos empresariales se
vuelven más claros y entendibles. Las secuencias de procesos
empresariales pueden ser optimizadas para ganar eficiencia y reducir
costos.
d) Los procesos y datos de los sistemas operacionales, así como los
datos en el DWH, son usados y examinados. Cuando los datos son
organizados y estructurados para tener significado empresarial, la
gente aprende mucho de los sistemas de información. Pueden quedar
expuestos a posibles defectos en aplicaciones actuales, siendo
posible entonces mejorar la calidad de nuevas aplicaciones.

Cuando el DWH comienza a ser fuente primaria de información empresarial


consistente, los siguientes impactos pueden comenzar a presentarse:

36
a) La gente tiene mayor confianza en las decisiones empresariales que
se toman. Ambos, quienes toman las decisiones como los afectados
conocen que está basada en buena información.
b) Las organizaciones empresariales y la gente de la cual ella se
compone queda determinada por el acceso a la información. De esta
manera, la gente queda mejor habilitada para entender su propio rol y
responsabilidades como también los efectos de sus contribuciones; a
la vez, desarrollan un mejor entendimiento y apreciación con las
contribuciones de otros.
c) La información compartida conduce a un lenguaje común,
conocimiento común, y mejoramiento de la comunicación en la
empresa. Se mejora la confianza y cooperación entre distintos
sectores de la empresa, viéndose reducida la sectorización de
funciones.
d) Visibilidad, accesibilidad, y conocimiento de los datos producen mayor
confianza en los sistemas operacionales.

Un gran impacto en la construcción de un DWH, está dado por la curva de


aprendizaje de los recursos humanos en el área técnica, por esto, muchas
destrezas nuevas se deben aprender, incluyendo:

a) Conceptos y estructura de un DWH.


b) El DWH introduce muchas tecnologías nuevas (Carga, Acceso de
Datos, Catálogo de Metadatos, Implementación de sistema de soporte
de decisiones), y cambia la manera en que se utiliza la tecnología
existente. Nuevas responsabilidades de soporte, nuevas demandas de
recursos y nuevas expectativas, son los efectos de estos cambios.

37
c) Destrezas de diseño y análisis donde los requerimientos
empresariales no son posibles de definir de una forma estable a través
del tiempo.
d) Técnicas de desarrollo incremental y evolutivo.
e) Técnicas para trabajo en equipo con los involucrados en el desarrollo
del proyecto.

2.2.10 PROCESO DE ETL

El proceso de ETL según Wiley [7] utilizado al momento de crear bodegas de


datos se define como:

 Extracción: Extrae la información operacional.


 Transformación: Transforma la operación a formatos consistentes.
 Carga: Automatiza las tareas de la información, para su posterior
análisis.

2.2.11 APLICACIONES DE SOFTWARE DE BUSINESS INTELLIGENCE

La siguiente tabla es un vistazo a las principales aplicaciones de software de


Business Intelligence, incluyendo a la suite Pentaho, es un comparativo de
las funcionalidades que cada aplicación tiene. La información para realizar
dicha comparación fue tomada de los sitios web de cada fabricante de
software [15 al 25].

38
Tabla 2.4 Evaluación de herramientas de inteligencia de negocios
B
u
s
i
n I
e n
M s T f
i s e H o
c O r y r P
O r b a C p m e
r o j d o e a n
a s e a g r t Micr t
c I S o c t n i i oStr a
l B A f t a o o c ateg h
Características e M S t s s n a y o
Consulta y análisis relacional y OLAP
Herramientas de análisis y consulta ad-hoc

Alertas en tiempo real para permitir la


detección anticipada y aviso de BI
Capacidades analíticas para dispositivos
móviles
DrillDown
Jerarquía
Incluye herramientas de ETL
Integración con Microsoft Office
Acceso web
Graficas
Graficas e integración con mapas
Soporte para metada
Individualización en las herramientas
Dasboard
Data mining
Multiplataforma

2.3 RESUMEN

En este capítulo se presentó el sistema de información del SAAB También se


mostró la definición de algunos conceptos utilizados en el proyecto. ypor
último se presentó un cuadro comparativo de funcionalidades entre las
diferentes aplicaciones de software de Business Intelligence.

39
CAPITULO III

INDICADORES DEL SISTEMA DE ABASTECIMIENTO Y SEGURIDAD


ALIMENTARIA DE BOGOTÁ

En este capítulo se expondrán los indicadores que harán parte del


observatorio. Se verá el resultado del análisis de la base de datos del
sistema de información del SAAB con el fin de obtener dichos indicadores,
también el análisis de un documento, con el que cuenta el SAAB, que como
resultado serán otro grupo de indicadores con los que también cuenta el
prototipo.

3.1 ANÁLISIS DE REQUERIMIENTOS

Se ha planteado la necesidad de observar el desempeño del SAAB por


medio de indicadores que muestren de manera clara la información con la
cual el sistema cuenta, estos indicadores se encuentran plasmados en el
libro [15] ( Se detallará en el punto 3.3). Por las características y bondades
que ofrece lo que se ha denominando Inteligencia de negocios con respecto
a la consulta de información, a la orientación por temas, a las diferencias con
las bases de datos operacionales entre otros, lo cual se presentó en el
capítulo II, se optó por realizar un prototipo de observatorio de indicadores.
Dicho prototipo debe permitir:

1. Extracción dinámica de la información de la fuente de datos del


sistema de información del SAAB, la cual está en PostgreSQL.
2. Almacenamiento en una bodega de datos propia.
3. Elaboración de los cubos para análisis de información.

40
4. Navegabilidad de la información, es decir, cualquier dato que se
muestre debe permitir la expansión de su detalle, hasta el mínimo
posible.
5. El sistema debe tener un ambiente gráfico y debe accederse por
Internet.

3.2 ANÁLISIS DE LA BASE DE DATOS ORIGEN PARA LA OBTENCION


DE INDICADORES

Para obtener los indicadores se realizó un análisis a la base de datos del


sistema de información del SAAB y se encontraron, de acuerdo a
posibilidades técnicas y estructurales de la base de datos, seis áreas:

 Oferta
 Demanda
 Transporte
 Compras
 Demanda logística
 Operadores de la red de negociación

A través de un modelo de Inteligencia de Negocios, es posible observar gran


cantidad de indicadores a través de lo que se conoce con el nombre de
“cruce dimensional” visto en el capítulo II por lo que se obtendrán un gran
número de ellos, cabe aclarar que algunos no agregarán valor sistema. La
siguiente tabla muestra un grupo de indicadores obtenidos en el prototipo.

41
Tabla 3.1 Indicadores obtenidos a través del prototipo
INDICADOR ÁREA
Cantidad de oferta unitarias
Cantidad de Ofertas consolidadas
Fecha de inicio de la oferta Oferta
Fecha de finalización de la oferta
Productos ofertados
Productos ofertados por fecha
Oferentes Oferta
Demandas unitarias
Demandas consolidadas Demanda
Fechas de demanda
Demandantes
Cantidad de órdenes de servicio de transporte por tipo de vehículo
Cantidad de toneladas por zona de acopio
Cantidad total de toneladas por transportador
Cantidad total de toneladas por transportador por zona de acopio
Cantidad de toneladas movilizadas por tipo de muelle
Cantidad de toneladas por línea de producto
Peso real por línea de producto
Peso real por estado de órdenes
Peso real por estado de órdenes por zona de acopio
Peso real por estado de órdenes por transportador
Cantidad de ordenes de servicio de transporte por fecha de salida de Transporte
camiones
Cantidad de ordenes de servicio de transporte por fecha de llegada
de camiones
Cantidad de órdenes de servicio de transporte por clase de vehículo
Cantidad de órdenes de servicio de transporte por vehículo
Cantidad de órdenes de servicio de transporte por estado de muelle
Cantidad de ordenes de servicio de transporte por fecha de salida de
camiones por línea de producto
Cantidad de ordenes de servicio de transporte por fecha de llegada
de camiones por línea de producto
Peso real por estado del muelle
Estado de la orden de servicio de transporte
Cantidad de compras unitarias por producto
Compras
Cantidad de compras unitarias por tipo producto
Valor total de compra por producto

42
Valor total de compra por tipo de producto
Valor total de compra por variedad de producto
Cantidad de compras unitarias por fecha de colocación de la compra
Cantidad de compras unitarias por fecha de colocación de la compra
por producto
Valor total de compra por fecha de colocación de la compra
Valor total de compra por fecha de colocación de la compra por
producto
Valor total de compra por negociante
Valor total de compra por negociante por producto por fecha de
colocación de compra
Cantidad de compras unitarias por negociante por producto por fecha
de colocación de compra Compras
Peso total de producto por compras unitarias
Cantidad de puntos de demanda por municipio
Cantidad de puntos de demanda por departamento
Cantidad de puntos de demanda por nutriredes Demanda
Cantidad de puntos de demanda por negociantes Logística
Cantidad de puntos de demanda por unidad administrativa de
población
Cantidad de puntos de demanda por red demanda
Cantidad de operadores de red de negociación por red de oferta
Cantidad operadores de red de negociación por agrored Operador red de
negociación
Cantidad operadores de red de negociación por zona logística
Cantidad operadores de red de negociación por nutrired

3.3 ANALISIS DE LOS DOCUMENTOS EXISTENTES PARA OBTENCION


DE INDICADORES

El documento “Construcción y validación de un modelo de medición y


evaluación con base en indicadores, de la operación del Piloto SAAB UPZ
Lucero – Tesoro de Ciudad Bolívar; planteamiento de recomendaciones para
su operación y un marco general para el escalonamiento a otras localidades”
[15], es un estudio que muestra la forma de medir, por medio de indicadores,
al sistema de información del SAAB, los siguientes son los indicadores de

43
dicho documento que pueden ser obtenidos por medio del prototipo de
observatorio, los cuales fueron extraídos del documento [15].

44
Tabla 3.2 Indicadores de [15] que se obtendrán a través del prototipo.
INDICADOR DESCRIPCION
Tiempo promedio que transcurre entre la
Tiempo de espera de los vehículos en llegada del vehículo con producto y la
plataforma de descargue finalización de la descarga
Tiempo promedio que transcurre entre la
Tiempo de recorridos de entrega proveedor salida del vehículo desde el proveedor y la
plataforma llegada del mismo a plataforma
Tiempo promedio de los recorridos de
entrega de pedidos por cada zona de
Tiempo promedio de recorridos de entrega distribución
(Capacidad utilizada del vehículo/Capacidad
Utilización de la capacidad máxima total del vehículo)*100
Utilización de la capacidad instalada de la (Cantidades manejadas / Capacidad de la
plataforma plataforma)*100
Agroredes conformadas Sumatoria de las agroredes conformadas
Sumatoria de las negociaciones de cada
Negociaciones por agroredes agrored
Nutriredes conformadas Sumatoria de las nutriredes conformadas
Sumatoria de las negociaciones de cada
Negociaciones por nutrired nutrired

Para la definición de indicadores adicionales al documento, se contó con el


apoyo técnico de algunos desarrolladores y arquitectos del sistema de la
misma manera que con la gerencia tecnológica del mismo, quienes los
definieron de acuerdo a sus necesidades y nos lo dieron a conocer.

3.4 RESUMEN

En este capítulo se presentó la forma en la cual fueron obtenidos los


indicadores para el observatorio desde la base de datos del sistema de
información.

El aporte fundamental desde la perspectiva del prototipo implementado es


que los indicadores que se extrajeron desde la documentación existente en
el SAAB se organizaron de una manera consistente con las necesidades

45
expresadas por los usuarios iniciales de esta funcionalidad. Dicha
organización de los indicadores busca favorecer la aplicación de las técnicas
de BI anteriormente revisadas.

46
CAPITULO IV

ARQUITECTURA TÉCNICA DE IMPLEMENTACION

Este capítulo muestra la arquitectura técnica de la suite Pentaho, el servidor


de aplicaciones y de base de datos, además muestra en detalle las capas
con las que cuenta la suite, y por último se muestra como opera
técnicamente Pentaho.

4.1 AMBIENTE TÉCNICO

Actualmente la base de datos del sistema de información del SAAB se


encuentra en un motor de base de datos PostgresSQL, por esta razón las
bases de datos que hacen parte del prototipo, estarán instaladas sobre este
motor.

Pentaho, que es la herramienta de software de inteligencia de negocios, que


se utiliza en el prototipo, tiene las siguientes características técnicas.

Servidor de base de datos PosgrestSQL.


Servidor de aplicaciones JBOSS 5.2.

La figura 4.1 [15], muestra gráficamente la arquitectura de la suite Pentaho,


en donde se puede observar las relaciones entre las cuatro diferentes capas
de la suite.

Como capa base se encuentra la integración de datos a través del proceso


de ETL que es realizado con la aplicación “KETTLE” esta aplicación permite

47
la conexión entre dos o más bases de datos, extrayendo, transformando y
cargando información.

En la segunda capa se encuentra la plataforma de Inteligencia de Negocios,


que está compuesta por la administración, la seguridad, las reglas del
negocio y el repositorio de datos, en este caso el DWH y los modelos de
cubos que son realizados con la aplicación “CUBE DESIGNER”.

En la tercera capa se encuentra la administración de los procesos, los


cuadros de mando, el análisis y el reporteo, este último es empleado en este
prototipo, por medio del cual se presentan los indicadores del sistema, estos
son realizados a través de “MONDRIAN”.

La cuarta capa es la de presentación, es la interfaz gráfica del usuario con la


cual éste interactúa para generar y observar la información, es “JPIVOT”
herramienta de consulta multidimensional.

Todo el sistema de Inteligencia de Negocios de la suite Pentaho, es


completamente compatible con aplicaciones de software de terceros, como
sistemas de información, sistemas de administración basados en la relación
con el cliente o sistemas de planificación de recursos entre otras.

48
Figura 4.1 Arquitectura Suite Pentaho [15]

4.2 PLAN DE ARQUITECTURA

Para el funcionamiento del prototipo es necesario un servidor (donde será


visualizada la información) con conexión a la red, en dicho servidor se debe
instalar la suite Pentaho, que cuenta con JBoss como servidor de
aplicaciones, el cual permite que la información sea accedida mediante un
navegador web, los datos estarán almacenados en un servidor de base de
datos este es PostgreSQL.

49
Un equipo cliente, a través de internet, y por medio de la capa de
“presentación” de Pentaho (explicada en el punto anterior), se conecta al
servidor, y genera sus propios reportes. El motor de soluciones de Pentaho
se encargara de interpretar y ejecutar los reportes generados por el usuario
que son sentencias que este no observa, conocidas con el nombre de
“Action Sequence” que brindarán las necesidades de reportes a través del
aplicativo “JPIVOT”.

La figura 4.2 muestra la forma en que la suite Pentaho opera durante la


extracción de datos desde la plataforma del SISAAB. El servidor de base de
datos del SISAAB se ejecuta sobre un sistema operativo Linux y un motor de
base de base de datos “Postgres”, el aplicativo “Spoon” parte de “Kettle”
se conecta al SISAAB utilizando un conector tipo JDBC y extrae los datos
hacia el servidor de datos “SERVER”.

Figura 4.2 Extracción de datos desde el SISAAB.

50
La siguiente figura 4.3, muestra la forma en que la suite Pentaho opera
durante la transformacion de los datos. El aplicativo “Spoon” parte de
“Kettle” se conecta a al “SERVER” a la base de datos de extracción
dbExtrSisaab utilizando un conector tipo JDBC extrae los datos y
simultaneamente realiza las actividades de transformacion, los coloca en la
base de datos de transformacion dbTrnSisaab.

Figura 4.3 Transformación de datos desde el SISAAB.

51
La siguiente figura 4.4, muestra la forma en que la suite Pentaho opera
durante la carga de los datos. El aplicativo “Spoon” parte de “Kettle” se
conecta a al “SERVER” a la base de datos de transformacion dbTrnSisaab
utilizando un conector tipo JDBC extrae los datos y los carga en el
“Datawarehouse” en la base de datos DWSisaab.
Figura 4.4 Carga de datos desde el SISAAB.

4.3 RESUMEN

En este capítulo se mostró la arquitectura técnica de implementación de la


suite Pentaho, que consta de un servidor de aplicaciones Jboss, el cual
permite que la información sea accesible mediante un navegador web en

52
internet, también consta de una base de datos PostgreSQL., En el capítulo
se mostraron también las cuatro capas de la suite, que son: Transformación
de datos, la capa de inteligencia de negocios, la capa analítica, y la capa de
presentación.

53
CAPITULO V

DISEÑO DEL MODELO DE BUSINESS INTELLIGENCE

En este capítulo se presentarán los aspectos relacionados con el diseño del


prototipo. La primera parte será destinada al diseño de la bodega de datos y
los Data Marts, incluyendo el diseño lógico de los mismos. La segunda parte
tendrá como tema principal la construcción de dicha bodega, es decir, el
proceso de ETL junto con las respectivas reglas. En tercer lugar se
presentará la metadata fuente-destino, cuyo objetivo es indicar la
procedencia, de tablas y campos origen de la base de datos del sistema de
información del SAAB, y su respectivo destino en la bodega de datos.

Por último se mostrará un resumen del capítulo, señalando los aspectos


relevantes del mismo.

5.1 DISEÑO LOGICO

El diseño lógico del prototipo de observatorio del sistema de información del


SAAB, tiene gran importancia dentro del marco del proyecto, puesto que es
un aspecto base que refleja lo que el usuario podrá consultar en el, desde los
diferentes puntos de vista o dimensiones que el prototipo de observatorio
tendrá.

De acuerdo al análisis realizado a la base de datos del sistema de


información del SAAB y a los indicadores encontrados, desarrollados en el
capítulo III se establecieron seis Data Marts que conformarán la bodega de
datos, son los siguientes:

54
 Transporte
 Compras
 Demanda logística
 Operadores red de negociación
 Oferta
 Demanda

5.1.1 DISEÑO LÓGICO DATAMART DE TRANSPORTE

El Data Mart de transporte consta de 17 dimensiones, algunas con niveles


jerárquicos. Las dimensiones que tiene dicho Data Mart se presentan en la
tabla que se muestra a continuación.

Tabla 5.1 Diseño lógico del Data Mart de transporte


Nivel Jerárquicos
Dimensión
Nivel Nombre
Estado del muelle 1 Estado del muelle
Tipo del muelle 1 Tipo del muelle
Línea de producto 1 Línea de producto
Plataforma de 1 Plataforma de almacenamiento
almacenamiento
1 Vehículo
Vehículo
2 Tipo de vehículo
3 Marca vehículo
Clase de vehículo 1 Clase de vehículo
Transportador 1 Transportador
Zona de acopio 1 Zona de acopio
Estado de la orden del 1 Estado de la orden del servicio de
servicio de transporte transporte
Tiempo Final de Arribo de 1 Tiempo Final de Arribo de Camiones

55
Camiones
Tiempo Final de Salida de 1 Tiempo Final de Salida de Camiones
Camiones
Tiempo Inicio de Arribo de 1 Tiempo Inicio de Arribo de Camiones
Camiones
Tiempo Inicio de Salida de 1 Tiempo Inicio de Salida de Camiones
Camiones
Tonelaje Máximo 1 Tonelaje Máximo
1 Fecha
2 Mes
Fecha Final 3 Trimestre
4 Semestre
5 Año
1 Fecha
2 Mes
Fecha Inicial 3 Trimestre
4 Semestre
5 Año
Ancho del muelle 1 Ancho del muelle
Largo del muelle 1 Largo del muelle
UMT 1 Unidad de medida de tiempo

Las medidas, las cuales son las variables numéricas que componen este
Data Mart son:

 Cantidad de órdenes de servicio de transporte


 Peso real

5.1.2 DISEÑO LÓGICO DATAMART DE COMPRAS

El Data Mart de compras consta de 8 dimensiones, algunas con niveles


jerárquicos. Las dimensiones que tiene dicho Data Mart se presentan en la

56
tabla que se muestra a continuación, algunas dimensiones no tienen niveles
jerárquicos.
Tabla 5.2 Diseño lógico del Data Mart de compras
Nivel Jerárquicos
Dimensión
Nivel Nombre
1 Red oferta
Red oferta
2 Agrored
1 UMD
UMD 2 Empaques
3 Tipo de empaque
Material 1 Material
Oferente Individual 1 Negociante
1 Tipo de producto

Producto 2 Variedad, Producto


3 Categoría de Producto
4 Línea de producto
1 Fecha
2 Mes
Fecha de Colocación 3 Trimestre
4 Semestre
5 Año
1 Fecha
Fecha de entrega 2 Mes
3 Trimestre
estimada
4 Semestre
5 Año
Cadena Cadena

Las medidas, de este Data Mart, las cuales son las variables numéricas son:

 Valor total compra


 Valor total producto
 Valor total iva
 Cantidad de productos

57
 Cantidad de compras unitarias

5.1.3 DISEÑO LÓGICO DATAMART DE DEMANDA - LOGISTICA

El Data Mart de demanda – logística compras consta de 5 dimensiones,


algunas con niveles jerárquicos. Las dimensiones que tiene dicho Data Mart
se presentan en la tabla que se muestra a continuación.

Tabla 5.3 Diseño lógico del Data Mart de demanda - logistica


Nivel Jerárquicos
Dimensión
Nivel Nombre
1 Municipio
Geografía 2 Departamento
3 País
Unidad administrativa 1 Unidad administrativa población
población 2 Categoría población
1 Red demanda
Red de demanda 2 Nutrired
3 Zona logística
4 tipo de cobertura
Tipo de red 1 Tipo de red
Negociante 1 Negociante

Las medidas, de este Data Mart, las cuales son las variables numéricas son:

 Cantidad de puntos de demanda

5.1.4 DISEÑO LÓGICO DATA MART OPERADORES RED DE


NEGOCIACIÓN

58
El Data Mart de operadores red de negociación consta de 3 dimensiones,
algunas con niveles jerárquicos. Las dimensiones que tiene dicho Data Mart
se presentan en el cuadro que se muestra a continuación.

Tabla 5.4 Diseño lógico del Data Mart de operadores red de negociación
Nivel Jerárquicos
Dimensión
Nivel Nombre
1 Red de oferta
Red de oferta
2 Agrored
1 Red de demanda

Red de demanda 2 Nutrired


3 Zona logística
4 Tipo de cobertura
Operado red de 1 Nombre del operador de la red de
negociación negociación

Las medidas de este Data Mart, las cuales son las variables numéricas son:

 Cantidad de operadores de la red de negociación

59
5.1.5 DISEÑO LÓGICO DATAMART DE OFERTA

El Data Mart de oferta consta de 17 dimensiones, algunas con niveles


jerárquicos. Las dimensiones que tiene dicho Data Mart se presentan en el
cuadro que se muestra a continuación.

Tabla 5.5 Diseño lógico del Data Mart de oferta


Nivel Jerárquicos
Dimensión
Nivel Nombre
Descripción de la Oferta 1 Descripción Oferta Unitaria
Unitaria
Descripción Oferta 1 Descripción Oferta Consolidada
Consolidada
Oferta Agrupable 1 Oferta Agrupable
Tipo Oferta 1 Tipo Oferta
Estado Oferta 1 Punto Oferta
1 Red Demanda
Reserva Oferta
2 Nutrired
Divisibilidad de la Oferta 1 Divisibilidad
1 Producto Registrado
2 Tipo de Producto
3 Variedad
Producto Registrado
4 Producto
5 Categoría
6 Línea
1 Punto Oferta
Punto Oferta 2 Punto Logístico
3 Negociante
Moneda 1 Moneda

Demandante Individual 1 Demandante Individual


1 Red Demanda
Red Demanda
2 Nutrired
1 Punto Logístico
Punto Demana
2 Negociante
Vigencia Fecha Inicial 1 Fecha

60
2 Mes
3 Trimestre
4 Semestre
5 Año
1 Fecha
2 Mes
Vigencia Fecha Final 3 Trimestre
4 Semestre
5 Año
Vigencia Hora Inicial 1 Vigencia Hora Inicial

Vigencia Hora Final 1 Vigencia Hora Final

Las medidas, las cuales son las variables numéricas que componen este
Data Mart son:

 Valor de Oferta
 Cantidad de ítems
 Cuantos (cantidad de cada dimensión)

5.1.6 DISEÑO LÓGICO DATAMART DE DEMANDA

El Data Mart de demanda consta de 14 dimensiones, algunas con niveles


jerárquicos. Las dimensiones que tiene dicho Data Mart se presentan en el
cuadro que se muestra a continuación.

Tabla 5.6 Diseño lógico del Data Mart de demanda


Nivel Jerárquicos
Dimensión
Nivel Nombre
Descripción de la 1 Descripción de la Demanda Unitaria
Demanda Unitaria
Descripción Demanda 1 Descripción Demanda Consolidada

61
Consolidada
1 Punto Logístico
Punto Demanda
2 Negociante
Estado Demanda 1 Estado Demanda
Agrupabilidad 1 Agrupabilidad
1 Red demanda
Red demanda
2 Nutrired
1 Tipo Producto

2 Variedad
Tipo Producto
3 Categoría Producto
4 Línea de Producto
Estado Item 1 Estado Item
UMD 1 UMD
1 Fecha
2 Mes
Fecha Inicial Recepción 3 Trimestre
4 Semestre
5 Año
1 Fecha
2 Mes
Fecha Final Recepción 3 Trimestre
4 Semestre
5 Año
1 Hora Inicial de Recepción
Hora Inicial de Recepción

Hora Final de Recepción 1 Hora Final de Recepción


1 Fecha
2 Mes
Fecha Vencimiento 3 Trimestre
4 Semestre
5 Año

Las medidas, las cuales son las variables numéricas que componen este
Data Mart son:

62
 Cantidad de ítem
 Cantidad de demandas y cantidad de cada dimensión por transacción

5.2 DISEÑO FÍSICO

El diseño estructural de persistencia permite observar las relaciones entre las


entidades que conforman la bodega de datos, que a nivel físico son las
tablas, campos y relaciones de cada Data Mart que conforman el prototipo.

En las siguientes figuras se muestra el modelo E-R del Data Mart de


transporte (Figura 5.1), del Data Mart de compras (Figura 5.2), del Data Mart
de demanda logística (Figura 5.3), del Data Mart de operadores de la red de
negociación (Figura 5.4), del Data Mart de Oferta (Figura 5.5) y del Data Mart
de demanda (Figura 5.6).

63
Figura 5.1 Data Mart de Transporte

64
Figura 5.2 Data Mart de Compras

65
Figura 5.3 Data Mart de Demanda Logística

66
Figura 5.4 Data Mart de Operadores Red de Negociación

67
Figura 5.5 Data Mart de Oferta

68
Figura 5.6 Data Mart de Demanda

69
5.3 METADATA FUENTE – DESTINO

Una de las novedades que aporta el Data Warehouse como sistema de


análisis de información es la meta-información (Es muy común utilizar el
término inglés metadata). Cada dato está identificado por una descripción, un
origen, historial o forma inicial y sucesivas, etc. Este conjunto de datos sobre
los datos es lo que se denomina metadatos. El metadato proporciona el
contenido semántico necesario para que los datos puedan ser interpretados
[28].

La metada fuente – destino se utiliza para entender, usar y administrar los


datos, contiene la información sobre el dato, es decir, se comporta como un
mapa indicando cuál es el origen y dónde será el destino del mismo.

En el anexo 4 se encuentra la metadata fuente – destino de la bodega de


datos.

5.4 RESUMEN

En este capítulo se presentó el diseño del modelo de inteligencia de


negocios del prototipo basado en la metodología de Kimball [10]. Se inició
con el diseño lógico de los seis Data Mart que forman la bodega de datos, los
cuales son: transporte, compras, demanda logística, operadores de la red de
negociación, oferta y demanda, se mostró las dimensiones junto con los
niveles jerárquicos de cada una de ellas, también las medidas de cada Data
Mart. Se explicó el modelo físico de la bodega de datos el cual describe
cómo se va a implementar físicamente el esquema lógico. Por último se
presentó la metadata fuente – destino, que se utiliza para entender, usar y

70
administrar los datos, puesto que proporciona el contenido semántico
necesario para que los datos puedan ser interpretados.

71
CAPITULO VI

CONSTRUCCION DEL MODELO DE BUSINESS INTELLIGENCE

La construcción del modelo de Business Intelligence, se basa en el diseño


realizado en el capítulo anterior, en este capítulo se presentarán los aspectos
del modelo relacionados con la creación del DWH, el proceso de ETL, y la
generación de los cubos en Pentaho.

6.1 CREACIÓN DE LA BODEGA DE DATOS

El proceso de la creación de la bodega de datos o DWH, está basado en el


Capítulo V, en la sección del diseño físico, el resultado de dicho diseño es un
script que contiene todas las tablas, campos y relaciones de la bodega de
datos (Ver anexo 2, “SCRIPT DE LA BODEGA DE DATOS”), que al
ejecutarse genera el DWH, que posteriormente se poblará mediante el
proceso de extracción, transformación y carga de datos.

6.2 PROCESO DE EXTRACCIÓN, TRANSFORMACIÓN Y CARGA DE


DATOS

El proceso de extracción, transformación y carga (ETL), permite la


manipulación de datos para conformar la estructura del DWH, la aplicación
de software Kettle de la suite de Pentaho permite la realización de este
proceso.

Para la creación del DWH es necesaria una base de datos intermedia que
permite la extracción y transformación de los datos que posteriormente
poblarán el DWH.

72
En el anexo 3 se muestra el proceso de extracción, transformación y carga,
el cual se realizó mediante la utilización del software Kettle.

Puesto que hay usuarios que necesitan tener los indicadores actualizados
con la información generada en el sistema de información del SAAB, el
proceso de ETL se programa para que de forma automática se ejecute en un
horario de baja transaccionalidad, en horas no hábiles o con la periodicidad
que el usuario decida aplicar.

6.3 GENERACIÓN DE LOS CUBOS

La generación de los cubos, se realizó utilizando la herramienta Cube


Designer de la suite Pentaho, Los cubos deben estar construidos en XML,
razón por la cual se emplea la herramienta mencionada, que los construye
en dicho lenguaje. Cada cubo que se desarrolle debe ser un archivo
diferente, en este caso son seis, oferta, demanda, transporte, compras,
demanda – logística y operadores de la red de negociación.

En el anexo 1, se muestra el proceso de generación de cubos mediante


Cube Designer, lo cual aplica a cada uno de los seis cubos desarrollados en
el proyecto.

73
6.4 RESUMEN

En este capítulo se mostró la creación de la bodega de datos, la cual está


basada en el diseño lógico y físico presentado en el Capítulo V, y cuyo
resultado es un script que al ser ejecutado crea el DWH. Luego se explicó el
proceso de extracción, transformación y carga de datos que es necesario
para integrar y poblar con datos el DWH. Para terminar se presentó la
generación de cubos en Pentaho a través de Cube Designer.

74
CAPITULO VII
CONCLUSIONES

En este capítulo se presenta el conjunto de conclusiones, los aportes


originales, comentarios y trabajos futuros que pueden plantearse.

7.1 CONCLUSIONES

 Este prototipo de observatorio de indicadores basado en inteligencia


de negocios constituye el primero en su clase en desarrollarse dentro
del marco del sistema de información del SAAB.

 Por medio del modelo desarrollado y gracias al cruce dimensional es


posible observar los indicadores determinados y aún más. Aumentado
de esta manera, la visión del usuario con respecto al sistema de
información del SAAB.

 Por medio de este observatorio el usuario podrá tomar mejores


decisiones, puesto que éste más información, acerca de consolidados,
de detalle de datos, de gráficas, entre otros.

 Según lo construido durante la ejecución del prototipo de observatorio


es posible afirmar que la suite de Business Intelligence Pentaho, de
software de código abierto, es una muy buena opción para el
desarrollo de proyectos de inteligencia de negocios, porque contiene
todas las herramientas de software necesarias para el buen desarrollo
de proyectos de esta naturaleza.

75
 Puesto que se desarrolló un prototipo de observatorio el cual se
realizó con herramientas de código abierto, en este caso Pentaho, y
su funcionamiento es correcto, se demuestra la viabilidad en el
desarrollo de observatorios con la mencionada herramienta de código
abierto.

 Se corroboró que el motor de base de datos Postgres soporta


perfectamente a las bodegas de datos y además es completamente
integrable con la Suite Pentaho.

 Se corroboró que el Software Cube Designer funciona sin problemas y


cumple todas las expectativas al momento de generar cubos para
Pentaho.

7.2 APORTES ORIGINALES

Se diseñó y construyó un primer prototipo de observatorio de indicadores del


sistema de información del SAAB, basado en inteligencia de negocios, que
permite al usuario tener una visión clara de la información con el fin de
ayudar al análisis para mejorar el proceso de toma de decisiones, puesto que
permite el cruce multidimensional, para que éste genere la forma de
presentar su información, incluyendo gráficos para facilitar dicho análisis.

Para el desarrollo de este prototipo fue empleada la suite Pentaho la cual es


de tipo libre, por lo que no es necesario el pago de licencias para el
funcionamiento del software. De esta suite se empleó la capa de integración
de ETL, la plataforma de Inteligencia de Negocios, el generador de

76
consultas, y la capa de presentación. Cabe mencionar que se programaron
trabajos de ejecución para que el proceso de ETL, cargue la información en
la bodega de datos construida.

7.3 TRABAJOS FUTUROS

Como principal trabajo futuro se propone realizar un completo sistema de


reporteo basado en las necesidades del usuario en cada área del sistema de
información del SAAB utilizando la suite Pentaho y utilizando todas las
funcionalidades que ofrece, de ser posible también añadir cuadros de
mando, que son imágenes gráficas que facilitan la comprensión de la
información y dan una visión general al usuario. También se propone analizar
y construir Data Marts adicionales que faciliten el análisis por parte del
usuario, una propuesta para desarrollar, es el Data Mart de pagos.

También se propone realizar la integración del prototipo con el correo


electrónico, ofreciendo la posibilidad de recibir periódicamente la información
con formato por este medio.

Sería interesante realizar, la unión del prototipo con mapas geográficos de la


zona en las que el SAAB se encuentra, de modo tal que el usuario con solo
señalar por medio del apuntador en pantalla, áreas geográficas en un mapa,
le sea posible visualizar la información.

Sería importante e interesante migrar este prototipo hacia otras plataformas


de Business Intelligence, como la suite de Business Intelligence de Oracle,
Cognos, Microstrategy entre otras, con el fin de obtener comparaciones en
las funcionalidades y tiempos de respuesta de cada plataforma, para así

77
tener bases sólidas acerca del rendimiento de cada una de ellas en
comparación con la presentada en este proyecto.

78
BIBLIOGRAFÍA

1. Varios: Sistema de abastecimiento de alimentos para Bogotá. Bogotá:


Alcaldía mayor de Bogotá, (2006) 8-17

2. Harjinder, S. Gill: La integración de información para la mejor toma de


decisiones. Prentice Hall Hispanoamericana, S.A, (1996) 52

3. Microsoft: Soluciones de Microsoft para business intelligence.


http://www.microsoft.com/latam/office/bi/default.mspx (2006)

4. Moss, L., Atre, S.: Business Intelligence Roadmap: The Complete


Project Lifecycle for Decision-Support Applications. Addison Wesley.
(2003) 23

5. Abukari, K., Job, V.: Business Intelligence in action. Proquest.


http://www.crgroup.com/Downloads/PDFs/BusStrat.pdf (2003)

6. Chasin, K: Designing Data Warehouses Using CASE Technology.


Journal of Systems Management, (1994)

7. Wiley, J: The Data Warehouse ETL Toolkit: Practical Techniques for


Extracting, Cleaning, Conforming, and Delivering Data (2004) 2

8. Competitive Analysis: World wide Data Warehousing Tools 2005


Vendor Shares.
http://www.oracle.com/corporate/analyst/reports/infrastructure/bi_dw/id
c-dw-tools-2005-1.pdf (2005)

79
9. Inmon, W.: Building the data warehouse. Wiley and sons. (2002) 390

10. Kimball, R.: The data warehouse toolkit. Wiley and sons. (2002) 395 –
402

11. Alcaldía Mayor de Bogotá: Decreto 315 de 2006.


http://www.alcaldiabogota.gov.co/sisjur/normas/Norma1.jsp?i=21063
(2006)

12. Calderón, María Eugenia; Diosa, Henry Alberto y Orjuela, Javier


Arturo. “Sistema de Abastecimiento de Alimentos para Bogotá.
Localidad Ciudad Bolivar. Primera Fase: dimensionamiento, diseño e
implementación”. ISBN: 978-958-8247-83-0. Editora Geminis Ltda.
Págs. 263 – 299.

13. Microsoft: SQL Server Books Online (2000).

14. Pentaho overview brochure.


http://www.pentaho.org/docs/pentaho_overview_brochure.pdf (2007)
pág 1.

15. Oracle Business Intelligence and Enterprise Performance


Management
http://www.oracle.com/solutions/business_intelligence/index.html
(2007)

16. Data Warehousing and Business Intelligence

80
http://www-306.ibm.com/software/data/db2bi/ (2007)

17. Looking for more information on SAS® Business Intelligence?


http://www.sas.com/technologies/bi/ (2007)

18. Microsoft Business Intelligence


http://www.microsoft.com/bi/ (2007)

19. BusinessObjects XI
http://www.businessobjects.com/products/businessobjectsxi/default.as
p?intcmp=hp_products2 (2007)

20. Teradata Enterprise Data Warehouse


http://www.teradata.com/enterprise-data-warehouse (2007)

21. Cognos 8 Business Intelligence


http://www.cognos.com/products/cognos8businessintelligence/index.ht
ml (2007)

22. Hyperion Business Intelligence


http://www.hyperion.com/products/business_intelligence/ (2007)

23. Informatica Warehouse


http://www.informatica.com/news/press_releases/2002/10152002b.htm
l (2007)

24. Better Business Decisions Every Day MicroStrategy 8


http://www.microstrategy.com/Software/index.asp (2007)

81
25. Pentaho Open BI Suite
http://www.pentaho.com/products/ (2007)

26. Pentaho Analysis Services: Mondrian Project


http://mondrian.pentaho.org/ (2007)

27. Pentaho: Pentaho Dashboard. Pentaho. (2006) 1, 4

28. Universitat Oberta de Catalunya: Los Almacenes de Datos. Data


Warehouses. Cataluña. UOC. (2007) 8, 13

29. Universitat Oberta de Catalunya: Modelado de Datos. Cataluña. UOC.


(2008) 23

30. Valdés Buratti, Luigi. La re-evolución empresarial del siglo XXI:


Conocimiento y capital intelectual. Editorial Norma: México, (2002).

31. Southern Illinois University http://www.siue.edu/~dbock/cmis450/3-


ermodel.htm (2008)

82
ANEXOS

83
ANEXO 1

CREACIÓN DE CUBOS EN PENTAHO

Dentro de la suite de inteligencia de negocios de Pentaho, existe una


herramienta con el nombre de cube designer, la cual permite la creación de
cubos.

En el primer paso, como lo muestra la siguiente imagen, se debe introducir el


nombre y la descripción del cubo a generar, también se debe crear una
conexión a la base datos donde se encuentra la bodega de datos.

El siguiente paso, como se observa en la imagen a continuación, es elegir las


tablas tanto de hechos como dimensiones junto con las relaciones que tiene
el Data Mart. Se deben señalar los campos con los que contará, teniendo
presente las tablas y llaves con que la bodega de datos cuenta.

84
En el siguiente paso se deben seleccionar las medidas, que son campos en
la tabla de hechos, y deben haber sido seleccionados en el paso anterior (ver
la siguiente imagen).

85
Posteriormente, como se puede observar en la siguiente imagen se crean las
dimensiones y jerarquías del cubo.

Por último se realiza la publicación del cubo generado en el sitio de Pentaho,


y si se quiere también es posible obtener una vista previa del mismo (Ver
siguiente imagen).

86
El resultado final es la generación de un archivo tipo XML que contiene toda
la descripción del Data Mart, es decir, tabla de hechos, dimensiones con
jerarquías y medidas. Un ejemplo de este archivo, se muestra a
continuación, el cual contiene 17 dimensiones y dos medidas, es el cubo de
transporte, cuyo modelo lógico se encuentra en el capítulo V.

<?xml version="1.0" encoding="UTF-8"?>


<Schema name="CuboTransporte">
<Cube name="CuboTransporte">
<Table name="facttransporte"/>
<Dimension name="UMT" foreignKey="idumt">
<Hierarchy name="UMT" hasAll="true" allMemberName="All umt"
primaryKey="idumt">
<Table name="dimumt"/>
<Level name="dimumt.nombreumt" table="dimumt" column="nombreumt"
uniqueMembers="false"/>
</Hierarchy>
</Dimension>
<Dimension name="EstadoMuelle" foreignKey="idestadomuelle">
<Hierarchy name="EstadoMuelle" hasAll="true" allMemberName="All
estadomuelle" primaryKey="idestadomuelle">
<Table name="dimestadomuelle"/>
<Level name="dimestadomuelle.nombreestadomuelle"
table="dimestadomuelle" column="nombreestadomuelle" uniqueMembers="false"/>
</Hierarchy>
</Dimension>
<Dimension name="TipoMuelle" foreignKey="idtipomuelle">
<Hierarchy name="TipoMuelle" hasAll="true" allMemberName="All tipomuelle"
primaryKey="idtipomuelle">
<Table name="dimtipomuelle"/>
<Level name="dimtipomuelle.nombretipomuelle" table="dimtipomuelle"
column="nombretipomuelle" uniqueMembers="false"/>
</Hierarchy>
</Dimension>
<Dimension name="LineaProducto" foreignKey="idlineaproducto">
<Hierarchy name="LineaProducto" hasAll="true" allMemberName="All
lineaproducto" primaryKey="idlineaproducto">
<Table name="dimlineaproducto"/>

87
<Level name="dimlineaproducto.nombrelineaproducto"
table="dimlineaproducto" column="nombrelineaproducto" uniqueMembers="false"/>
</Hierarchy>
</Dimension>
<Dimension name="Vehiculo" foreignKey="idvehiculo">
<Hierarchy name="Vehiculo" hasAll="true" allMemberName="All vehiculo"
primaryKey="idvehiculo">
<Table name="dimvehiculo"/>
<Level name="dimvehiculo.nombremarcavehiculo" table="dimvehiculo"
column="nombremarcavehiculo" uniqueMembers="false"/>
<Level name="dimvehiculo.nombretipovehiculo" table="dimvehiculo"
column="nombretipovehiculo" uniqueMembers="false"/>
<Level name="dimvehiculo.nombrevehiculo" table="dimvehiculo"
column="nombrevehiculo" uniqueMembers="false"/>
</Hierarchy>
</Dimension>
<Dimension name="ClaseVehiculo" foreignKey="idvehiculo">
<Hierarchy name="ClaseVehiculo" hasAll="true" allMemberName="All
clasevehiculo" primaryKey="idvehiculo">
<Table name="dimvehiculo"/>
<Level name="dimvehiculo.nombreclasevehiculo" table="dimvehiculo"
column="nombreclasevehiculo" uniqueMembers="false"/>
</Hierarchy>
</Dimension>
<Dimension name="Transportador" foreignKey="idtransportador">
<Hierarchy name="Transportador" hasAll="true" allMemberName="All
transportador" primaryKey="idtransportador">
<Table name="dimtransportador"/>
<Level name="dimtransportador.nombretransportador"
table="dimtransportador" column="nombretransportador" uniqueMembers="false"/>
</Hierarchy>
</Dimension>
<Dimension name="ZonaAcopio" foreignKey="idzonaacopio">
<Hierarchy name="ZonaAcopio" hasAll="true" allMemberName="All zonaacopio"
primaryKey="idzonaacopio">
<Table name="dimzonaacopio"/>
<Level name="dimzonaacopio.nombrezonaacopio" table="dimzonaacopio"
column="nombrezonaacopio" uniqueMembers="false"/>
</Hierarchy>
</Dimension>
<Dimension name="EstadoOrdenServicioTransporte"
foreignKey="idestadoordenserviciotransporte">

88
<Hierarchy name="EstadoOrdenServicioTransporte" hasAll="true"
allMemberName="All estadoordenserviciotransporte"
primaryKey="idestadoordenserviciotransporte">
<Table name="dimestadoordenserviciotransporte"/>
<Level
name="dimestadoordenserviciotransporte.nombreestadoordenserviciotransporte"
table="dimestadoordenserviciotransporte" column="nombreestadoordenserviciotransporte"
uniqueMembers="false"/>
</Hierarchy>
</Dimension>
<Dimension name="FechaDestino" foreignKey="fechadestino">
<Hierarchy name="FechaDestino" hasAll="true" allMemberName="All
fechadestino" primaryKey="fecha_1">
<Table name="dimfechafinal"/>
<Level name="dimfechafinal.n_year" table="dimfechafinal"
column="n_year" uniqueMembers="false"/>
<Level name="dimfechafinal.a_semester" table="dimfechafinal"
column="a_semester" uniqueMembers="false"/>
<Level name="dimfechafinal.a_quarter" table="dimfechafinal"
column="a_quarter" uniqueMembers="false"/>
<Level name="dimfechafinal.a_month3" table="dimfechafinal"
column="a_month3" uniqueMembers="false"/>
<Level name="dimfechafinal.fecha_1" table="dimfechafinal"
column="fecha_1" uniqueMembers="false"/>
</Hierarchy>
</Dimension>
<Dimension name="FechaOrigen" foreignKey="fechaorigen">
<Hierarchy name="FechaOrigen" hasAll="true" allMemberName="All
fechaorigen" primaryKey="fecha_1">
<Table name="dimfechainicial"/>
<Level name="dimfechainicial.n_year" table="dimfechainicial"
column="n_year" uniqueMembers="false"/>
<Level name="dimfechainicial.a_semester" table="dimfechainicial"
column="a_semester" uniqueMembers="false"/>
<Level name="dimfechainicial.a_quarter" table="dimfechainicial"
column="a_quarter" uniqueMembers="false"/>
<Level name="dimfechainicial.a_month3" table="dimfechainicial"
column="a_month3" uniqueMembers="false"/>
<Level name="dimfechainicial.fecha_1" table="dimfechainicial"
column="fecha_1" uniqueMembers="false"/>
</Hierarchy>
</Dimension>
<Dimension name="TiempoFinalArriboCamiones">

89
<Hierarchy name="TiempoFinalArriboCamiones" hasAll="true"
allMemberName="All tiempofinalarribocamiones">
<Table name="facttransporte"/>
<Level name="facttransporte.tiempofinalarribocamiones"
table="facttransporte" column="tiempofinalarribocamiones" uniqueMembers="false"/>
</Hierarchy>
</Dimension>
<Dimension name="TiempoFinalSalidaCamiones">
<Hierarchy name="TiempoFinalSalidaCamiones" hasAll="true"
allMemberName="All tiempofinalsalidacamiones">
<Table name="facttransporte"/>
<Level name="facttransporte.tiempofinalsalidacamiones"
table="facttransporte" column="tiempofinalsalidacamiones" uniqueMembers="false"/>
</Hierarchy>
</Dimension>
<Dimension name="TiempoInicioArriboCamiones">
<Hierarchy name="TiempoInicioArriboCamiones" hasAll="true"
allMemberName="All tiempoinicioarribocamiones">
<Table name="facttransporte"/>
<Level name="facttransporte.tiempoinicioarribocamiones"
table="facttransporte" column="tiempoinicioarribocamiones" uniqueMembers="false"/>
</Hierarchy>
</Dimension>
<Dimension name="TiempoInicioSalidaCamiones">
<Hierarchy name="TiempoInicioSalidaCamiones" hasAll="true"
allMemberName="All tiempoiniciosalidacamiones">
<Table name="facttransporte"/>
<Level name="facttransporte.tiempoiniciosalidacamiones"
table="facttransporte" column="tiempoiniciosalidacamiones" uniqueMembers="false"/>
</Hierarchy>
</Dimension>
<Dimension name="TonelajeMax">
<Hierarchy name="TonelajeMax" hasAll="true" allMemberName="All
tonelajemax">
<Table name="facttransporte"/>
<Level name="facttransporte.tonelajemax" table="facttransporte"
column="tonelajemax" uniqueMembers="false"/>
</Hierarchy>
</Dimension>
<Dimension name="AnchoMuelle">
<Hierarchy name="AnchoMuelle" hasAll="true" allMemberName="All
anchomuelle">
<Table name="facttransporte"/>

90
<Level name="facttransporte.ancho" table="facttransporte"
column="ancho" uniqueMembers="false"/>
</Hierarchy>
</Dimension>
<Dimension name="LargoMuelle">
<Hierarchy name="LargoMuelle" hasAll="true" allMemberName="All
largomuelle">
<Table name="facttransporte"/>
<Level name="facttransporte.largo" table="facttransporte"
column="largo" uniqueMembers="false"/>
</Hierarchy>
</Dimension>
<Measure name="CantOrdenServicioTransporte" column="idordenserviciotransporte"
aggregator="count" datatype="Numeric" formatString="#,##0.###"/>
<Measure name="PesoReal" column="pesoreal" aggregator="sum" datatype="Numeric"
formatString="#,##0.###"/>
</Cube>
</Schema>

91
ANEXO 2

SCRIPT DE LA BODEGA DE DATOS

Para la creación de la bodega de datos o DWH, se generó el script, que se


presenta a continuación.
--
-- PostgreSQL database dump
--

-- Started on 2008-02-25 16:50:37

SET client_encoding = 'SQL_ASCII';


SET standard_conforming_strings = off;
SET check_function_bodies = false;
SET client_min_messages = warning;
SET escape_string_warning = off;

--
-- TOC entry 1729 (class 1262 OID 16406)
-- Name: SAABDWH; Type: DATABASE; Schema: -; Owner: postgres
--

CREATE DATABASE "SAABDWH" WITH TEMPLATE = template0 ENCODING = 'SQL_ASCII';

ALTER DATABASE "SAABDWH" OWNER TO postgres;

\connect "SAABDWH"

SET client_encoding = 'SQL_ASCII';


SET standard_conforming_strings = off;
SET check_function_bodies = false;
SET client_min_messages = warning;
SET escape_string_warning = off;

--
-- TOC entry 1730 (class 0 OID 0)
-- Dependencies: 5
-- Name: SCHEMA public; Type: COMMENT; Schema: -; Owner: postgres
--

COMMENT ON SCHEMA public IS 'Standard public schema';

--
-- TOC entry 333 (class 2612 OID 16386)
-- Name: plpgsql; Type: PROCEDURAL LANGUAGE; Schema: -; Owner: postgres
--

CREATE PROCEDURAL LANGUAGE plpgsql;

SET search_path = public, pg_catalog;

92
SET default_tablespace = '';

SET default_with_oids = false;

--
-- TOC entry 1392 (class 1259 OID 72187)
-- Dependencies: 5
-- Name: dimagrupabilidaddemandaconsolidada; Type: TABLE; Schema: public;
Owner: postgres; Tablespace:
--

CREATE TABLE dimagrupabilidaddemandaconsolidada (


idagrupabilidad double precision,
nombreagrupabilidad character varying(50)
);

ALTER TABLE public.dimagrupabilidaddemandaconsolidada OWNER TO postgres;

--
-- TOC entry 1391 (class 1259 OID 72185)
-- Dependencies: 5
-- Name: dimagrupabilidaddemandaunitaria; Type: TABLE; Schema: public;
Owner: postgres; Tablespace:
--

CREATE TABLE dimagrupabilidaddemandaunitaria (


idagrupabilidad double precision,
nombreagrupabilidad character varying(50)
);

ALTER TABLE public.dimagrupabilidaddemandaunitaria OWNER TO postgres;

--
-- TOC entry 1378 (class 1259 OID 63853)
-- Dependencies: 5
-- Name: dimdemandaconsolidada; Type: TABLE; Schema: public; Owner:
postgres; Tablespace:
--

CREATE TABLE dimdemandaconsolidada (


iddemandaconsolidada double precision,
descripcioncortademandaconsolidada character varying(30)
);

ALTER TABLE public.dimdemandaconsolidada OWNER TO postgres;

--
-- TOC entry 1367 (class 1259 OID 63203)
-- Dependencies: 5
-- Name: dimdemandanteindividual; Type: TABLE; Schema: public; Owner:
postgres; Tablespace:
--

CREATE TABLE dimdemandanteindividual (

93
iddemandanteindividual double precision,
idnegociante double precision,
idtiponegocio double precision,
nombrenegociantedemandante character varying(100)
);

ALTER TABLE public.dimdemandanteindividual OWNER TO postgres;

--
-- TOC entry 1377 (class 1259 OID 63846)
-- Dependencies: 5
-- Name: dimdemandaunitaria; Type: TABLE; Schema: public; Owner: postgres;
Tablespace:
--

CREATE TABLE dimdemandaunitaria (


iddemandaunitaria double precision,
descripcioncortademandaunitaria character varying(30)
);

ALTER TABLE public.dimdemandaunitaria OWNER TO postgres;

--
-- TOC entry 1394 (class 1259 OID 72191)
-- Dependencies: 5
-- Name: dimestadodemandaconsolidada; Type: TABLE; Schema: public; Owner:
postgres; Tablespace:
--

CREATE TABLE dimestadodemandaconsolidada (


idestadodemanda double precision,
nombreestadodemanda character varying(50)
);

ALTER TABLE public.dimestadodemandaconsolidada OWNER TO postgres;

--
-- TOC entry 1393 (class 1259 OID 72189)
-- Dependencies: 5
-- Name: dimestadodemandaunitaria; Type: TABLE; Schema: public; Owner:
postgres; Tablespace:
--

CREATE TABLE dimestadodemandaunitaria (


idestadodemanda double precision,
nombreestadodemanda character varying(50)
);

ALTER TABLE public.dimestadodemandaunitaria OWNER TO postgres;

--
-- TOC entry 1374 (class 1259 OID 63658)
-- Dependencies: 5

94
-- Name: dimestadoitem; Type: TABLE; Schema: public; Owner: postgres;
Tablespace:
--

CREATE TABLE dimestadoitem (


idestadoitem double precision,
nombreestadoitem character varying(50)
);

ALTER TABLE public.dimestadoitem OWNER TO postgres;

--
-- TOC entry 1338 (class 1259 OID 16710)
-- Dependencies: 5
-- Name: dimestadomuelle; Type: TABLE; Schema: public; Owner: postgres;
Tablespace:
--

CREATE TABLE dimestadomuelle (


idestadomuelle double precision,
nombreestadomuelle character varying(50),
descripcionestadomuelle character varying(500),
activoestadomuelle character varying(1)
);

ALTER TABLE public.dimestadomuelle OWNER TO postgres;

--
-- TOC entry 1387 (class 1259 OID 72136)
-- Dependencies: 5
-- Name: dimestadoofertaconsolidada; Type: TABLE; Schema: public; Owner:
postgres; Tablespace:
--

CREATE TABLE dimestadoofertaconsolidada (


idestadooferta numeric,
nombreestadooferta character varying(50),
descripcionestadooferta character varying(500),
activo character varying(1)
);

ALTER TABLE public.dimestadoofertaconsolidada OWNER TO postgres;

--
-- TOC entry 1386 (class 1259 OID 72131)
-- Dependencies: 5
-- Name: dimestadoofertaunitaria; Type: TABLE; Schema: public; Owner:
postgres; Tablespace:
--

CREATE TABLE dimestadoofertaunitaria (


idestadooferta numeric,
nombreestadooferta character varying(50),
descripcionestadooferta character varying(500),
activo character varying(1)

95
);

ALTER TABLE public.dimestadoofertaunitaria OWNER TO postgres;

--
-- TOC entry 1339 (class 1259 OID 16712)
-- Dependencies: 5
-- Name: dimestadoordenserviciotransporte; Type: TABLE; Schema: public;
Owner: postgres; Tablespace:
--

CREATE TABLE dimestadoordenserviciotransporte (


idestadoordenserviciotransporte double precision,
nombreestadoordenserviciotransporte character varying(200),
descripcionestadoordenserviciotransporte character varying(500),
activoestadoordenserviciotransporte character varying(1)
);

ALTER TABLE public.dimestadoordenserviciotransporte OWNER TO postgres;

--
-- TOC entry 1340 (class 1259 OID 16714)
-- Dependencies: 5
-- Name: dimfechacolocacioncompras; Type: TABLE; Schema: public; Owner:
postgres; Tablespace:
--

CREATE TABLE dimfechacolocacioncompras (


jul_date timestamp without time zone,
fecha_1 character varying(8),
s_date character varying(20),
a_date character varying(10),
a_dow1 character varying(3),
a_dow2 character varying(12),
a_day1 character varying(2),
a_day2 character varying(2),
a_week character varying(12),
a_month_code character varying(7),
a_month_code2 character varying(6),
a_month1 character varying(2),
a_month2 character varying(2),
a_month3 character varying(6),
a_month4 character varying(10),
a_quarter_code character varying(6),
a_quarter_code2 character varying(6),
a_quarter character varying(6),
a_semestercode character varying(7),
a_semester character varying(6),
a_year character varying(4),
n_dow bigint,
n_week bigint,
n_day bigint,
n_month bigint,
n_quarter_code bigint,
n_quarter bigint,
n_semester_code bigint,

96
n_semester bigint,
n_year bigint
);

ALTER TABLE public.dimfechacolocacioncompras OWNER TO postgres;

--
-- TOC entry 1341 (class 1259 OID 16716)
-- Dependencies: 5
-- Name: dimfechaentregaestimadacompras; Type: TABLE; Schema: public; Owner:
postgres; Tablespace:
--

CREATE TABLE dimfechaentregaestimadacompras (


jul_date timestamp without time zone,
s_date character varying(20),
a_date character varying(10),
a_dow1 character varying(3),
a_dow2 character varying(12),
a_day1 character varying(2),
a_day2 character varying(2),
a_week character varying(12),
a_month_code character varying(7),
a_month_code2 character varying(6),
a_month1 character varying(2),
a_month2 character varying(2),
a_month3 character varying(6),
a_month4 character varying(10),
a_quarter_code character varying(6),
a_quarter_code2 character varying(6),
a_quarter character varying(6),
a_semestercode character varying(7),
a_semester character varying(6),
a_year character varying(4),
fecha_1 character varying(8),
n_dow bigint,
n_week bigint,
n_day bigint,
n_month bigint,
n_quarter_code bigint,
n_quarter bigint,
n_semester_code bigint,
n_semester bigint,
n_year bigint
);

ALTER TABLE public.dimfechaentregaestimadacompras OWNER TO postgres;

--
-- TOC entry 1342 (class 1259 OID 16718)
-- Dependencies: 5
-- Name: dimfechafinal; Type: TABLE; Schema: public; Owner: postgres;
Tablespace:
--

CREATE TABLE dimfechafinal (

97
jul_date timestamp without time zone,
fecha_1 character varying(8),
s_date character varying(20),
a_date character varying(10),
a_dow1 character varying(3),
a_dow2 character varying(12),
a_day1 character varying(2),
a_day2 character varying(2),
a_week character varying(12),
a_month_code character varying(7),
a_month_code2 character varying(6),
a_month1 character varying(2),
a_month2 character varying(2),
a_month3 character varying(6),
a_month4 character varying(10),
a_quarter_code character varying(6),
a_quarter_code2 character varying(6),
a_quarter character varying(6),
a_semestercode character varying(7),
a_semester character varying(6),
a_year character varying(4),
n_dow bigint,
n_week bigint,
n_day bigint,
n_month bigint,
n_quarter_code bigint,
n_quarter bigint,
n_semester_code bigint,
n_semester bigint,
n_year bigint
);

ALTER TABLE public.dimfechafinal OWNER TO postgres;

--
-- TOC entry 1343 (class 1259 OID 16720)
-- Dependencies: 5
-- Name: dimfechainicial; Type: TABLE; Schema: public; Owner: postgres;
Tablespace:
--

CREATE TABLE dimfechainicial (


jul_date timestamp without time zone,
fecha_1 character varying(8),
s_date character varying(20),
a_date character varying(10),
a_dow1 character varying(3),
a_dow2 character varying(12),
a_day1 character varying(2),
a_day2 character varying(2),
a_week character varying(12),
a_month_code character varying(7),
a_month_code2 character varying(6),
a_month1 character varying(2),
a_month2 character varying(2),
a_month3 character varying(6),
a_month4 character varying(10),

98
a_quarter_code character varying(6),
a_quarter_code2 character varying(6),
a_quarter character varying(6),
a_semestercode character varying(7),
a_semester character varying(6),
a_year character varying(4),
n_dow bigint,
n_week bigint,
n_day bigint,
n_month bigint,
n_quarter_code bigint,
n_quarter bigint,
n_semester_code bigint,
n_semester bigint,
n_year bigint
);

ALTER TABLE public.dimfechainicial OWNER TO postgres;

--
-- TOC entry 1344 (class 1259 OID 16722)
-- Dependencies: 5
-- Name: dimgeografia; Type: TABLE; Schema: public; Owner: postgres;
Tablespace:
--

CREATE TABLE dimgeografia (


idmunicipio double precision,
nombremunicipio character varying(200),
nombrecortomunicipio character varying(50),
descripcionmunicipio character varying(500),
activomunicipio character varying(1),
iddepartamento double precision,
nombredepartamento character varying(200),
nombrecortodepartamento character varying(50),
descripciondepartamento character varying(500),
activodepartamento character varying(1),
idpais double precision,
nombrepais character varying(200),
descripcionpais character varying(500),
prefijoeanrangoinicialpais character varying(3),
activopais character varying(1),
prefijoeanrangofinalpais character varying(3),
nombrecortopais character varying(50)
);

ALTER TABLE public.dimgeografia OWNER TO postgres;

--
-- TOC entry 1345 (class 1259 OID 16727)
-- Dependencies: 5
-- Name: dimlineaproducto; Type: TABLE; Schema: public; Owner: postgres;
Tablespace:
--

CREATE TABLE dimlineaproducto (

99
idlineaproducto double precision,
nombrelineaproducto character varying(100),
descripcionlineaproducto character varying(500)
);

ALTER TABLE public.dimlineaproducto OWNER TO postgres;

--
-- TOC entry 1366 (class 1259 OID 63193)
-- Dependencies: 5
-- Name: dimmoneda; Type: TABLE; Schema: public; Owner: postgres;
Tablespace:
--

CREATE TABLE dimmoneda (


idmoneda double precision,
nombremoneda character varying(100)
);

ALTER TABLE public.dimmoneda OWNER TO postgres;

--
-- TOC entry 1346 (class 1259 OID 16729)
-- Dependencies: 5
-- Name: dimnegociante; Type: TABLE; Schema: public; Owner: postgres;
Tablespace:
--

CREATE TABLE dimnegociante (


idnegociante double precision,
nombrenegociante character varying(100),
codigosaabnegociante character varying(15),
direccionnegociante character varying(50),
emailnegociante character varying(30),
activonegociante character varying(1),
experiencianegociante double precision,
aptomercadosolidarionegociante character varying(1),
estadonegociante character varying(50)
);

ALTER TABLE public.dimnegociante OWNER TO postgres;

--
-- TOC entry 1347 (class 1259 OID 16731)
-- Dependencies: 5
-- Name: dimoferenteindividual; Type: TABLE; Schema: public; Owner:
postgres; Tablespace:
--

CREATE TABLE dimoferenteindividual (


idoferenteindividual double precision,
idnegociante double precision,
estadonegociante character varying(50),
nombrenegociante character varying(100),
codigosaabnegociante character varying(15),

100
direccionnegociante character varying(50),
emailnegociante character varying(30),
activonegociante character varying(1),
experiencianegociante double precision,
aptomercadonegociante character varying(1)
);

ALTER TABLE public.dimoferenteindividual OWNER TO postgres;

--
-- TOC entry 1368 (class 1259 OID 63384)
-- Dependencies: 5
-- Name: dimofertaconsolidada; Type: TABLE; Schema: public; Owner: postgres;
Tablespace:
--

CREATE TABLE dimofertaconsolidada (


idofertaconsolidada double precision,
descripcionofertaconsolidada character varying(500)
);

ALTER TABLE public.dimofertaconsolidada OWNER TO postgres;

--
-- TOC entry 1364 (class 1259 OID 63176)
-- Dependencies: 5
-- Name: dimofertaunitaria; Type: TABLE; Schema: public; Owner: postgres;
Tablespace:
--

CREATE TABLE dimofertaunitaria (


idofertaunitaria double precision,
descripcionofertaunitaria character varying(500)
);

ALTER TABLE public.dimofertaunitaria OWNER TO postgres;

--
-- TOC entry 1348 (class 1259 OID 16733)
-- Dependencies: 5
-- Name: dimplataformaalmacenamiento; Type: TABLE; Schema: public; Owner:
postgres; Tablespace:
--

CREATE TABLE dimplataformaalmacenamiento (


idplataformaalmacenamiento double precision,
altoplataformaalmacenamiento double precision,
anchoplataformaalmacenamiento double precision,
largoplataformaalmacenamiento double precision,
capacidadmaxplataformaalmacenamiento double precision,
nombreplataformaalmacenamiento character varying(150),
activoplataformaalmacenamiento character varying(1)
);

101
ALTER TABLE public.dimplataformaalmacenamiento OWNER TO postgres;

--
-- TOC entry 1349 (class 1259 OID 16735)
-- Dependencies: 5
-- Name: dimproducto; Type: TABLE; Schema: public; Owner: postgres;
Tablespace:
--

CREATE TABLE dimproducto (


idtipoproducto double precision,
nombretipoproducto character varying(50),
descripciontipoproducto character varying(500),
idvariedad double precision,
nombrevariedad character varying(50),
descripcionvariedad character varying(500),
idproducto double precision,
clasificaciontaxonomicavariedad character varying(50),
idcategoriaproducto double precision,
nombreproducto character varying(100),
descripcionproducto character varying(500),
idcadena double precision,
nombrecategoriaproducto character varying(100),
descripcioncategoriaproducto character varying(500),
idlineaproducto double precision,
nombrelineaproducto character varying(100),
descripcionlineaproducto character varying(500),
nombrecadena character varying(50)
);

ALTER TABLE public.dimproducto OWNER TO postgres;

--
-- TOC entry 1373 (class 1259 OID 63394)
-- Dependencies: 5
-- Name: dimproductoregistrado; Type: TABLE; Schema: public; Owner:
postgres; Tablespace:
--

CREATE TABLE dimproductoregistrado (


idproductoregistrado double precision,
idtipoproducto double precision,
nombreproductoregistrado character varying(100),
nombre character varying(50),
idvariedad double precision,
nombrevariedad character varying(50),
idproducto double precision,
idcategoriaproducto double precision,
nombreproducto character varying(100),
nombrecategoriaproducto character varying(100),
idlineaproducto double precision,
nombrelineaproducto character varying(100)
);

ALTER TABLE public.dimproductoregistrado OWNER TO postgres;

102
--
-- TOC entry 1375 (class 1259 OID 63793)
-- Dependencies: 5
-- Name: dimpuntodemanda; Type: TABLE; Schema: public; Owner: postgres;
Tablespace:
--

CREATE TABLE dimpuntodemanda (


idpuntooferta double precision,
idpuntologistico double precision,
nombrepuntologistico character varying(100),
idnegociante double precision,
nombrenegociante character varying(100)
);

ALTER TABLE public.dimpuntodemanda OWNER TO postgres;

--
-- TOC entry 1365 (class 1259 OID 63178)
-- Dependencies: 5
-- Name: dimpuntooferta; Type: TABLE; Schema: public; Owner: postgres;
Tablespace:
--

CREATE TABLE dimpuntooferta (


idpuntooferta numeric,
idpuntologistico numeric,
nombrepuntologistico character varying(100),
idnegociante numeric,
nombrenegociante character varying(100)
);

ALTER TABLE public.dimpuntooferta OWNER TO postgres;

--
-- TOC entry 1350 (class 1259 OID 16740)
-- Dependencies: 5
-- Name: dimreddemanda; Type: TABLE; Schema: public; Owner: postgres;
Tablespace:
--

CREATE TABLE dimreddemanda (


idreddemanda double precision,
nombrereddemanda character varying(50),
idnutrired double precision,
activoreddemanda character varying(1),
aptomercadosolidarioreddemanda character varying(1),
idzonalogistica double precision,
idseleccionpreferencia double precision,
idtipored double precision,
nombrenutrired character varying(50),
activonutrired character varying(1),
aptomercadosolidarionutrired character varying(1),
codigosaabnutrired character varying(50),
estadorednutrired character varying(50),
direccionnutrired character varying(50),

103
nombrezonalogistica character varying(200),
estadozonalogistica character varying(1),
valorfletetonelada double precision,
idtipocobertura double precision,
nombretipocobertura character varying(50),
descripciontipocobertura character varying(500),
activotipocobertura character varying(1),
codigosaabreddemanda character varying(50),
estadoredreddemanda character varying(50),
direccionreddemanda character varying(50),
nombretipored character varying(50)
);

ALTER TABLE public.dimreddemanda OWNER TO postgres;

--
-- TOC entry 1351 (class 1259 OID 16742)
-- Dependencies: 5
-- Name: dimredoferta; Type: TABLE; Schema: public; Owner: postgres;
Tablespace:
--

CREATE TABLE dimredoferta (


idredoferta double precision,
nombreredoferta character varying(50),
activoredoferta character varying(1),
aptomercadosolidarioredoferta character varying(1),
idagrored double precision,
nombreagrored character varying(50),
activoagrored character varying(1),
aptomercadosolidarioagrored character varying(1)
);

ALTER TABLE public.dimredoferta OWNER TO postgres;

--
-- TOC entry 1389 (class 1259 OID 72146)
-- Dependencies: 5
-- Name: dimreservaofertaconsolidada; Type: TABLE; Schema: public; Owner:
postgres; Tablespace:
--

CREATE TABLE dimreservaofertaconsolidada (


idreservaoferta numeric,
idreddemanda numeric,
nombreredemanda character varying(50),
idnutrired numeric,
nombrenutrired character varying(50)
);

ALTER TABLE public.dimreservaofertaconsolidada OWNER TO postgres;

--
-- TOC entry 1388 (class 1259 OID 72141)
-- Dependencies: 5

104
-- Name: dimreservaofertaunitaria; Type: TABLE; Schema: public; Owner:
postgres; Tablespace:
--

CREATE TABLE dimreservaofertaunitaria (


idreservaoferta numeric,
idreddemanda numeric,
nombreredemanda character varying(50),
idnutrired numeric,
nombrenutrired character varying(50)
);

ALTER TABLE public.dimreservaofertaunitaria OWNER TO postgres;

--
-- TOC entry 1352 (class 1259 OID 16744)
-- Dependencies: 5
-- Name: dimtipomuelle; Type: TABLE; Schema: public; Owner: postgres;
Tablespace:
--

CREATE TABLE dimtipomuelle (


idtipomuelle double precision,
nombretipomuelle character varying(50),
descripciontipomuelle character varying(500),
activotipomuelle character varying(1)
);

ALTER TABLE public.dimtipomuelle OWNER TO postgres;

--
-- TOC entry 1385 (class 1259 OID 72100)
-- Dependencies: 5
-- Name: dimtipoofertaconsolidada; Type: TABLE; Schema: public; Owner:
postgres; Tablespace:
--

CREATE TABLE dimtipoofertaconsolidada (


idtipooferta numeric,
nombretipooferta character varying(50),
descripciontipooferta character varying(500),
activo character varying(1)
);

ALTER TABLE public.dimtipoofertaconsolidada OWNER TO postgres;

--
-- TOC entry 1384 (class 1259 OID 72095)
-- Dependencies: 5
-- Name: dimtipoofertaunitaria; Type: TABLE; Schema: public; Owner:
postgres; Tablespace:
--

CREATE TABLE dimtipoofertaunitaria (


idtipooferta numeric,

105
nombretipooferta character varying(50),
descripciontipooferta character varying(500),
activo character varying(1)
);

ALTER TABLE public.dimtipoofertaunitaria OWNER TO postgres;

--
-- TOC entry 1395 (class 1259 OID 72242)
-- Dependencies: 5
-- Name: dimtipoproducto; Type: TABLE; Schema: public; Owner: postgres;
Tablespace:
--

CREATE TABLE dimtipoproducto (


idtipoproducto double precision,
nombretipoproducto character varying(50),
idvariedad double precision,
nombrevariedad character varying(50),
idproducto double precision,
idcategoriaproducto double precision,
nombreproducto character varying(100),
nombre character varying(100),
idlineaproducto double precision,
lineaproducto character varying(100)
);

ALTER TABLE public.dimtipoproducto OWNER TO postgres;

--
-- TOC entry 1353 (class 1259 OID 16746)
-- Dependencies: 5
-- Name: dimtransportador; Type: TABLE; Schema: public; Owner: postgres;
Tablespace:
--

CREATE TABLE dimtransportador (


idtransportador double precision,
nombretransportador character varying(200)
);

ALTER TABLE public.dimtransportador OWNER TO postgres;

--
-- TOC entry 1396 (class 1259 OID 72249)
-- Dependencies: 5
-- Name: dimumd; Type: TABLE; Schema: public; Owner: postgres; Tablespace:
--

CREATE TABLE dimumd (


idumd double precision,
nombreumd character varying(50)
);

106
ALTER TABLE public.dimumd OWNER TO postgres;

--
-- TOC entry 1354 (class 1259 OID 16748)
-- Dependencies: 5
-- Name: dimumdempaques; Type: TABLE; Schema: public; Owner: postgres;
Tablespace:
--

CREATE TABLE dimumdempaques (


idumd double precision,
nombreumd character varying(50),
pesoumd double precision,
descipcionumd character varying(500),
activoumd character varying(1),
unidadesumd double precision,
idempaque double precision,
pesounidadumd character varying(100),
altoempaque double precision,
anchoempaque double precision,
largoempaque double precision,
capacapilamientoempaque double precision,
capacidadempaque double precision,
desccortaempaque character varying(200),
desclargaempaque character varying(500),
retornableempaque character varying(1),
idmaterial double precision,
idtipoempaque double precision,
nombretipoempaque character varying(200),
descripciontipoempaque character varying(500),
activotipoempaque character varying(1),
nombrematerial character varying(200),
descripcionmaterial character varying(500),
activomaterial character varying(1)
);

ALTER TABLE public.dimumdempaques OWNER TO postgres;

--
-- TOC entry 1355 (class 1259 OID 16753)
-- Dependencies: 5
-- Name: dimumt; Type: TABLE; Schema: public; Owner: postgres; Tablespace:
--

CREATE TABLE dimumt (


idumt double precision,
nombreumt character varying(50),
descripcionumt character varying(500),
activoumt character varying(1)
);

ALTER TABLE public.dimumt OWNER TO postgres;

--
-- TOC entry 1356 (class 1259 OID 16755)
-- Dependencies: 5

107
-- Name: dimunidadadministrativapoblacion; Type: TABLE; Schema: public;
Owner: postgres; Tablespace:
--

CREATE TABLE dimunidadadministrativapoblacion (


idunidadadministrativapoblacion double precision,
nombreunidadadministrativapoblacion character varying(200),
nombrecortounidadadministrativapoblacion character varying(50),
descripcionunidadadministrativapoblacion character varying(500),
activounidadadministrativapoblacion character varying(1),
idcategoriapoblacion double precision,
idmunicipio double precision,
nombrecategoriapoblacion character varying(200),
nombrecortocategoriapoblacion character varying(50),
descripcioncategoriapoblacion character varying(500),
activocategoriapoblacion character varying(1)
);

ALTER TABLE public.dimunidadadministrativapoblacion OWNER TO postgres;

--
-- TOC entry 1357 (class 1259 OID 16757)
-- Dependencies: 5
-- Name: dimvehiculo; Type: TABLE; Schema: public; Owner: postgres;
Tablespace:
--

CREATE TABLE dimvehiculo (


idvehiculo double precision,
idtipovehiculo double precision,
nombrevehiculo character varying(100),
placavehiculo character varying(10),
capacidadvehiculo double precision,
nombretipovehiculo character varying(50),
descripciontipovehiculo character varying(500),
idmarcavehiculoclasevehiculo double precision,
idmarcavehiculo double precision,
idclasevehiculo double precision,
nombremarcavehiculo character varying(50),
descripcionmarcavehiculo character varying(500),
activomarcavehiculo character varying(1),
nombreclasevehiculo character varying(50),
descripcionclasevehiculo character varying(500),
activoclasevehiculo character varying(1)
);

ALTER TABLE public.dimvehiculo OWNER TO postgres;

--
-- TOC entry 1358 (class 1259 OID 16759)
-- Dependencies: 5
-- Name: dimzonaacopio; Type: TABLE; Schema: public; Owner: postgres;
Tablespace:
--

CREATE TABLE dimzonaacopio (

108
idzonaacopio double precision,
nombrezonaacopio character varying(200),
descripcionzonaacopio character varying(500),
activozonaacopio character varying(1)
);

ALTER TABLE public.dimzonaacopio OWNER TO postgres;

--
-- TOC entry 1359 (class 1259 OID 16761)
-- Dependencies: 5
-- Name: factcompras; Type: TABLE; Schema: public; Owner: postgres;
Tablespace:
--

CREATE TABLE factcompras (


iditemcompraunitaria double precision,
idproductoregistrado double precision,
idordencompraunitaria double precision,
cantidadcompraunitaria double precision,
fechacolocacion character varying(8),
fechaentregaestimada character varying(8),
direccionacopio character varying(200),
prioridad double precision,
pesototal double precision,
idordenserviciologistico double precision,
idordencompraconsolidada double precision,
idpuntooferta double precision,
idfactura double precision,
idpago double precision,
idordenserviciotransporte double precision,
valortotalcompra double precision,
valortotaliva double precision,
valortotalproductos double precision,
idredoferta double precision,
codigobarrasproductoregistrado character varying(14),
profunidadproductoregistrado double precision,
anchoproductoregistrado double precision,
altoproductoregistrado double precision,
pesobrutoempacadoproductoregistrado double precision,
volumenproductoregistrado double precision,
idtipoproducto double precision,
idumd double precision,
idoferenteindividual double precision,
cantidadmindespacho double precision,
nombreproductoregistrado character varying(100),
idmunicipio double precision
);

ALTER TABLE public.factcompras OWNER TO postgres;

--
-- TOC entry 1376 (class 1259 OID 63839)
-- Dependencies: 5
-- Name: factdemanda; Type: TABLE; Schema: public; Owner: postgres;
Tablespace:

109
--

CREATE TABLE factdemanda (


iditemdemandaunitaria double precision,
iddemandaunitaria double precision,
cantidad double precision,
precio double precision,
idtipoproducto double precision,
idumd double precision,
idestadoitem double precision,
fechafinalrecepciondemandaunitaria character varying(8),
fechainicialrecepciondemandaunitaria character varying(8),
fechavencimientodemandaunitaria character varying(8),
horafinalrecepciondemandaunitaria character varying(9),
horainicialrecepciondemandaunitaria character varying(9),
idagrupabilidaddemandaunitaria double precision,
idestadodemandaunitaria double precision,
iddemandaconsolidada double precision,
idpuntodemandaunitaria double precision,
descripcioncortademandaunitaria character varying(30),
fechafinalrecepciondemandaconsolidada character varying(8),
fechainicialrecepciondemandaconsolidada character varying(8),
fechavencimientodemandaconsolidada character varying(8),
horafinalrecepciondemandaconsolidada character varying(9),
horainicialrecepciondemandaconsolidada character varying(9),
idagrupabilidaddemandaconsolidada double precision,
idestadodemandaconsolidada double precision,
iddemandanutriredconsolidada double precision,
idreddemandaconsolidada double precision,
descripcioncortademandaconsolidada character varying(30),
sk_demanda numeric
);

ALTER TABLE public.factdemanda OWNER TO postgres;

--
-- TOC entry 1360 (class 1259 OID 16763)
-- Dependencies: 5
-- Name: factdemandalogistica; Type: TABLE; Schema: public; Owner: postgres;
Tablespace:
--

CREATE TABLE factdemandalogistica (


idpuntodemanda double precision,
idreddemanda double precision,
idnutrired double precision,
idpuntologistico double precision,
nombrepuntologistico character varying(100),
activopuntologistico character varying(1),
codigosaab character varying(50),
email character varying(50),
gln character varying(13),
idnegociante double precision,
direccionpuntologistico character varying(50),
idusuario double precision,
telefonofijopuntologistico character varying(50),
movilpuntologistico character varying(50),

110
idmunicipio double precision,
idunidadadministrativapoblacion double precision,
rutapuntologistico double precision,
ordenrutapuntologistico double precision
);

ALTER TABLE public.factdemandalogistica OWNER TO postgres;

--
-- TOC entry 1363 (class 1259 OID 63138)
-- Dependencies: 5
-- Name: factoferta; Type: TABLE; Schema: public; Owner: postgres;
Tablespace:
--

CREATE TABLE factoferta (


visibilidad character varying(1),
idofertaunitaria numeric,
ofertaagrupable character varying(1),
incluyeiva character varying(1),
fechafinalizacionreservaoferta character varying(8),
horafinalizacionreservaoferta character varying(6),
idredofertaconsolidada double precision,
idtipoofertaconsolidada double precision,
idestadoofertaconsolidada double precision,
idreservaofertaconsolidada double precision,
idestadoofertaunitaria double precision,
idtipoofertaunitaria double precision,
idreservaofertaunitaria double precision,
iditemofertaunitaria double precision,
divisible character varying(1),
observaciones character varying(500),
precio double precision,
cantminproducto double precision,
idproductoregistrado double precision,
visible character varying(1),
valortotal double precision,
cantidaddisponible double precision,
preciototal double precision,
idpuntooferta numeric,
idmonedaconsolidada numeric,
iddemandanteindividualreservaoferta numeric,
idreddemandareservaoferta numeric,
idpuntodemandareservaoferta numeric,
vigenciafechafinalunitaria character varying(8),
vigenciafechainicialunitaria character varying(8),
vigenciahorainicialunitaria character varying(6),
vigenciahorafinalunitaria character varying(6),
vigenciafechafinalconsolidada character varying(8),
vigenciafechainicialconsolidada character varying(8),
vigenciahorainicialconsolidada character varying(6),
vigenciahorafinalconsolidada character varying(6),
cantidad double precision,
valoroferta numeric,
cantitems numeric,
idofertaconsolidada numeric,
idmoneda numeric,

111
sk_oferta numeric
);

ALTER TABLE public.factoferta OWNER TO postgres;

--
-- TOC entry 1361 (class 1259 OID 16765)
-- Dependencies: 5
-- Name: factoperadorrednegociacion; Type: TABLE; Schema: public; Owner:
postgres; Tablespace:
--

CREATE TABLE factoperadorrednegociacion (


idoperadorrednegociacion double precision,
idagrored double precision,
direccionoperadorrednegociacion character varying(50),
idnutrired double precision,
idreddemanda double precision,
idredoferta double precision,
idusuario double precision
);

ALTER TABLE public.factoperadorrednegociacion OWNER TO postgres;

--
-- TOC entry 1362 (class 1259 OID 16767)
-- Dependencies: 5
-- Name: facttransporte; Type: TABLE; Schema: public; Owner: postgres;
Tablespace:
--

CREATE TABLE facttransporte (


idordenserviciotransporte double precision,
fechadestino character varying(8),
fechaorigen character varying(8),
horadestino character varying(6),
horaorigen character varying(6),
itemcronogramaasignado character varying(1),
pesoreal double precision,
idmuelle double precision,
idvehiculo double precision,
idtransportador double precision,
idzonaacopio double precision,
idestadoordenserviciotransporte double precision,
idordenservicio double precision,
nombremuelle character varying(200),
nombrecortoareamuelle character varying(100),
ancho double precision,
largo double precision,
descripcionmuelle character varying(500),
tiempofinalarribocamiones character varying(9),
tiempofinalsalidacamiones character varying(9),
tiempoinicioarribocamiones character varying(9),
tiempoiniciosalidacamiones character varying(9),
tonelajemax double precision,
refrigeracion character varying(1),

112
umt double precision,
activa character varying(1),
idumt double precision,
idestadomuelle double precision,
idtipomuelle double precision,
idlineaproducto double precision,
idplataformaalmacenamiento double precision
);

ALTER TABLE public.facttransporte OWNER TO postgres;

--
-- TOC entry 1382 (class 1259 OID 63861)
-- Dependencies: 5
-- Name: fechafinalrecepciondemandaconsolidada; Type: TABLE; Schema: public;
Owner: postgres; Tablespace:
--

CREATE TABLE fechafinalrecepciondemandaconsolidada (


jul_date timestamp without time zone,
fecha_1 character varying(8),
s_date character varying(20),
a_date character varying(10),
a_dow1 character varying(3),
a_dow2 character varying(12),
a_day1 character varying(2),
a_day2 character varying(2),
a_week character varying(12),
a_month_code character varying(7),
a_month_code2 character varying(6),
a_month1 character varying(2),
a_month2 character varying(2),
a_month3 character varying(6),
a_month4 character varying(10),
a_quarter_code character varying(6),
a_quarter_code2 character varying(6),
a_quarter character varying(6),
a_semestercode character varying(7),
a_semester character varying(6),
a_year character varying(4),
n_dow bigint,
n_week bigint,
n_day bigint,
n_month bigint,
n_quarter_code bigint,
n_quarter bigint,
n_semester_code bigint,
n_semester bigint,
n_year bigint
);

ALTER TABLE public.fechafinalrecepciondemandaconsolidada OWNER TO postgres;

--
-- TOC entry 1379 (class 1259 OID 63855)
-- Dependencies: 5

113
-- Name: fechafinalrecepciondemandaunitaria; Type: TABLE; Schema: public;
Owner: postgres; Tablespace:
--

CREATE TABLE fechafinalrecepciondemandaunitaria (


jul_date timestamp without time zone,
fecha_1 character varying(8),
s_date character varying(20),
a_date character varying(10),
a_dow1 character varying(3),
a_dow2 character varying(12),
a_day1 character varying(2),
a_day2 character varying(2),
a_week character varying(12),
a_month_code character varying(7),
a_month_code2 character varying(6),
a_month1 character varying(2),
a_month2 character varying(2),
a_month3 character varying(6),
a_month4 character varying(10),
a_quarter_code character varying(6),
a_quarter_code2 character varying(6),
a_quarter character varying(6),
a_semestercode character varying(7),
a_semester character varying(6),
a_year character varying(4),
n_dow bigint,
n_week bigint,
n_day bigint,
n_month bigint,
n_quarter_code bigint,
n_quarter bigint,
n_semester_code bigint,
n_semester bigint,
n_year bigint
);

ALTER TABLE public.fechafinalrecepciondemandaunitaria OWNER TO postgres;

--
-- TOC entry 1381 (class 1259 OID 63859)
-- Dependencies: 5
-- Name: fechainicialrecepciondemandaconsolidada; Type: TABLE; Schema:
public; Owner: postgres; Tablespace:
--

CREATE TABLE fechainicialrecepciondemandaconsolidada (


jul_date timestamp without time zone,
fecha_1 character varying(8),
s_date character varying(20),
a_date character varying(10),
a_dow1 character varying(3),
a_dow2 character varying(12),
a_day1 character varying(2),
a_day2 character varying(2),
a_week character varying(12),
a_month_code character varying(7),

114
a_month_code2 character varying(6),
a_month1 character varying(2),
a_month2 character varying(2),
a_month3 character varying(6),
a_month4 character varying(10),
a_quarter_code character varying(6),
a_quarter_code2 character varying(6),
a_quarter character varying(6),
a_semestercode character varying(7),
a_semester character varying(6),
a_year character varying(4),
n_dow bigint,
n_week bigint,
n_day bigint,
n_month bigint,
n_quarter_code bigint,
n_quarter bigint,
n_semester_code bigint,
n_semester bigint,
n_year bigint
);

ALTER TABLE public.fechainicialrecepciondemandaconsolidada OWNER TO


postgres;

--
-- TOC entry 1380 (class 1259 OID 63857)
-- Dependencies: 5
-- Name: fechainicialrecepciondemandaunitaria; Type: TABLE; Schema: public;
Owner: postgres; Tablespace:
--

CREATE TABLE fechainicialrecepciondemandaunitaria (


jul_date timestamp without time zone,
fecha_1 character varying(8),
s_date character varying(20),
a_date character varying(10),
a_dow1 character varying(3),
a_dow2 character varying(12),
a_day1 character varying(2),
a_day2 character varying(2),
a_week character varying(12),
a_month_code character varying(7),
a_month_code2 character varying(6),
a_month1 character varying(2),
a_month2 character varying(2),
a_month3 character varying(6),
a_month4 character varying(10),
a_quarter_code character varying(6),
a_quarter_code2 character varying(6),
a_quarter character varying(6),
a_semestercode character varying(7),
a_semester character varying(6),
a_year character varying(4),
n_dow bigint,
n_week bigint,
n_day bigint,

115
n_month bigint,
n_quarter_code bigint,
n_quarter bigint,
n_semester_code bigint,
n_semester bigint,
n_year bigint
);

ALTER TABLE public.fechainicialrecepciondemandaunitaria OWNER TO postgres;

--
-- TOC entry 1383 (class 1259 OID 63863)
-- Dependencies: 5
-- Name: fechavencimientodemandaconsolidada; Type: TABLE; Schema: public;
Owner: postgres; Tablespace:
--

CREATE TABLE fechavencimientodemandaconsolidada (


jul_date timestamp without time zone,
fecha_1 character varying(8),
s_date character varying(20),
a_date character varying(10),
a_dow1 character varying(3),
a_dow2 character varying(12),
a_day1 character varying(2),
a_day2 character varying(2),
a_week character varying(12),
a_month_code character varying(7),
a_month_code2 character varying(6),
a_month1 character varying(2),
a_month2 character varying(2),
a_month3 character varying(6),
a_month4 character varying(10),
a_quarter_code character varying(6),
a_quarter_code2 character varying(6),
a_quarter character varying(6),
a_semestercode character varying(7),
a_semester character varying(6),
a_year character varying(4),
n_dow bigint,
n_week bigint,
n_day bigint,
n_month bigint,
n_quarter_code bigint,
n_quarter bigint,
n_semester_code bigint,
n_semester bigint,
n_year bigint
);

ALTER TABLE public.fechavencimientodemandaconsolidada OWNER TO postgres;

--
-- TOC entry 1390 (class 1259 OID 72183)
-- Dependencies: 5

116
-- Name: fechavencimientodemandaunitaria; Type: TABLE; Schema: public;
Owner: postgres; Tablespace:
--

CREATE TABLE fechavencimientodemandaunitaria (


jul_date timestamp without time zone,
fecha_1 character varying(8),
s_date character varying(20),
a_date character varying(10),
a_dow1 character varying(3),
a_dow2 character varying(12),
a_day1 character varying(2),
a_day2 character varying(2),
a_week character varying(12),
a_month_code character varying(7),
a_month_code2 character varying(6),
a_month1 character varying(2),
a_month2 character varying(2),
a_month3 character varying(6),
a_month4 character varying(10),
a_quarter_code character varying(6),
a_quarter_code2 character varying(6),
a_quarter character varying(6),
a_semestercode character varying(7),
a_semester character varying(6),
a_year character varying(4),
n_dow bigint,
n_week bigint,
n_day bigint,
n_month bigint,
n_quarter_code bigint,
n_quarter bigint,
n_semester_code bigint,
n_semester bigint,
n_year bigint
);

ALTER TABLE public.fechavencimientodemandaunitaria OWNER TO postgres;

--
-- TOC entry 1372 (class 1259 OID 63392)
-- Dependencies: 5
-- Name: vigenciafechafinalconsolidada; Type: TABLE; Schema: public; Owner:
postgres; Tablespace:
--

CREATE TABLE vigenciafechafinalconsolidada (


jul_date timestamp without time zone,
fecha_1 character varying(8),
s_date character varying(20),
a_date character varying(10),
a_dow1 character varying(3),
a_dow2 character varying(12),
a_day1 character varying(2),
a_day2 character varying(2),
a_week character varying(12),
a_month_code character varying(7),

117
a_month_code2 character varying(6),
a_month1 character varying(2),
a_month2 character varying(2),
a_month3 character varying(6),
a_month4 character varying(10),
a_quarter_code character varying(6),
a_quarter_code2 character varying(6),
a_quarter character varying(6),
a_semestercode character varying(7),
a_semester character varying(6),
a_year character varying(4),
n_dow bigint,
n_week bigint,
n_day bigint,
n_month bigint,
n_quarter_code bigint,
n_quarter bigint,
n_semester_code bigint,
n_semester bigint,
n_year bigint
);

ALTER TABLE public.vigenciafechafinalconsolidada OWNER TO postgres;

--
-- TOC entry 1371 (class 1259 OID 63390)
-- Dependencies: 5
-- Name: vigenciafechafinalunitaria; Type: TABLE; Schema: public; Owner:
postgres; Tablespace:
--

CREATE TABLE vigenciafechafinalunitaria (


jul_date timestamp without time zone,
fecha_1 character varying(8),
s_date character varying(20),
a_date character varying(10),
a_dow1 character varying(3),
a_dow2 character varying(12),
a_day1 character varying(2),
a_day2 character varying(2),
a_week character varying(12),
a_month_code character varying(7),
a_month_code2 character varying(6),
a_month1 character varying(2),
a_month2 character varying(2),
a_month3 character varying(6),
a_month4 character varying(10),
a_quarter_code character varying(6),
a_quarter_code2 character varying(6),
a_quarter character varying(6),
a_semestercode character varying(7),
a_semester character varying(6),
a_year character varying(4),
n_dow bigint,
n_week bigint,
n_day bigint,
n_month bigint,

118
n_quarter_code bigint,
n_quarter bigint,
n_semester_code bigint,
n_semester bigint,
n_year bigint
);

ALTER TABLE public.vigenciafechafinalunitaria OWNER TO postgres;

--
-- TOC entry 1370 (class 1259 OID 63388)
-- Dependencies: 5
-- Name: vigenciafechainiciaconsolidada; Type: TABLE; Schema: public; Owner:
postgres; Tablespace:
--

CREATE TABLE vigenciafechainiciaconsolidada (


jul_date timestamp without time zone,
fecha_1 character varying(8),
s_date character varying(20),
a_date character varying(10),
a_dow1 character varying(3),
a_dow2 character varying(12),
a_day1 character varying(2),
a_day2 character varying(2),
a_week character varying(12),
a_month_code character varying(7),
a_month_code2 character varying(6),
a_month1 character varying(2),
a_month2 character varying(2),
a_month3 character varying(6),
a_month4 character varying(10),
a_quarter_code character varying(6),
a_quarter_code2 character varying(6),
a_quarter character varying(6),
a_semestercode character varying(7),
a_semester character varying(6),
a_year character varying(4),
n_dow bigint,
n_week bigint,
n_day bigint,
n_month bigint,
n_quarter_code bigint,
n_quarter bigint,
n_semester_code bigint,
n_semester bigint,
n_year bigint
);

ALTER TABLE public.vigenciafechainiciaconsolidada OWNER TO postgres;

--
-- TOC entry 1369 (class 1259 OID 63386)
-- Dependencies: 5
-- Name: vigenciafechainicialunitaria; Type: TABLE; Schema: public; Owner:
postgres; Tablespace:

119
--

CREATE TABLE vigenciafechainicialunitaria (


jul_date timestamp without time zone,
fecha_1 character varying(8),
s_date character varying(20),
a_date character varying(10),
a_dow1 character varying(3),
a_dow2 character varying(12),
a_day1 character varying(2),
a_day2 character varying(2),
a_week character varying(12),
a_month_code character varying(7),
a_month_code2 character varying(6),
a_month1 character varying(2),
a_month2 character varying(2),
a_month3 character varying(6),
a_month4 character varying(10),
a_quarter_code character varying(6),
a_quarter_code2 character varying(6),
a_quarter character varying(6),
a_semestercode character varying(7),
a_semester character varying(6),
a_year character varying(4),
n_dow bigint,
n_week bigint,
n_day bigint,
n_month bigint,
n_quarter_code bigint,
n_quarter bigint,
n_semester_code bigint,
n_semester bigint,
n_year bigint
);

ALTER TABLE public.vigenciafechainicialunitaria OWNER TO postgres;

--
-- TOC entry 1731 (class 0 OID 0)
-- Dependencies: 5
-- Name: public; Type: ACL; Schema: -; Owner: postgres
--

REVOKE ALL ON SCHEMA public FROM PUBLIC;


REVOKE ALL ON SCHEMA public FROM postgres;
GRANT ALL ON SCHEMA public TO postgres;
GRANT ALL ON SCHEMA public TO PUBLIC;

-- Completed on 2008-02-25 16:50:37

--
-- PostgreSQL database dump complete
--

120
ANEXO 3

PROCESO DE EXTRACCIÓN, TARNSFORMACION Y CARGA

En los siguientes cuadros se presenta el proceso de extracción de datos, se


comienza con la conexión a cada una de las bases de datos y
posteriormente se plantea la extracción de las tablas y campos necesarios.

Conexión base de datos transaccional

Esta conexión se basa en el controlador genérico de Kettle para


PostgresSQL JDBC, se conecta a la base de datos transaccional de donde
será extraída la información. Utiliza el usuario administrador de PostgresSQL
y el puerto por defecto.

121
Conexión a la base de datos intermedia

Esta conexión se basa en el controlador genérico de Kettle para


PostgresSQL JDBC, se conecta a la base de datos ETL donde serán
realizadas las transformaciones para el DWH, se utiliza el usuario
administrador de PostgresSQL y el puerto por defecto.

122
Conexión al DWH

Esta conexión se basa en el controlador genérico de Kettle para


PostgresSQL JDBC, se conecta a la base de datos donde se alojará el DWH.
Se utiliza el usuario administrador de PostgresSQL y el puerto por defecto.

123
Extracciones

En los siguientes cuadros se presenta la explicación de cada una de las


extracciones realizadas.
EXTRACCION

OBJETIVO: El principal objetivo de esta etapa del proceso es la extracción de datos desde su
localización original (Base de datos Transaccional SISAAB) a la base datos donde serán transformados
(SISAABDWH). Estos datos serán posteriormente transformados y cargados para el diseño de cada uno
de los Data Marts que conforman la bodega de datos.

PROCEDIMIENTO:
Extracción
Transformation
Loading

EXTRACCION

Numero Paso: 01 Titulo del paso: extracción ordencompraconsolidada


OPERACIÓN REALIZADA:
Consulta de todos los campos de la tabla de origen y copia a la tabla de destino.

Tablas y campos:
ORIGEN:
Tabla:
Ordencompraconsolidada
Campos:
id
, fechaentregaestimada
, valortotalcompra
, valortotaliva
, valortotalproductos
, idredoferta

DESTINO:
Tabla:
extr_ordencompraconsolidada
Campos:
id
, fechaentregaestimada
, valortotalcompra
, valortotaliva
, valortotalproductos
, idredoferta

DATAMART:

124
Transporte
Demanda logística

Operador Red Negociación


Compras

EXTRACCION

Numero Paso: 02 Titulo del paso: extracción ordencompraunitaria


OPERACIÓN REALIZADA:
Consulta de todos los campos de la tabla de origen y copia a la tabla de destino.

Tablas y campos:
ORIGEN:
Tabla:
Ordencompraunitaria
Campos:
id
, fechacolocacion
, fechaentregaestimada
, direccionacopio
, prioridad
, pesototal
, idordenserviciologistico
, idordencompraconsolidada
, idpuntooferta
, idfactura
, idpago
, idordenserviciotransporte
, valortotalcompra
, valortotaliva
, valortotalproductos
DESTINO:
Tabla:
extr_ordencompraunitaria
Campos:
id
, fechacolocacion
, fechaentregaestimada
, direccionacopio
, prioridad
, pesototal
, idordenserviciologistico
, idordencompraconsolidada
, idpuntooferta
, idfactura
, idpago
, idordenserviciotransporte
, valortotalcompra
, valortotaliva
, valortotalproductos

125
DATAMART:
Transporte
Demanda logística

Operador Red Negociación


Compras

126
EXTRACCION

Numero Paso: 03 Titulo del paso: extracción ITEMCOMPRAUNITARIA


OPERACIÓN REALIZADA:
Consulta de todos los campos de la tabla de origen y copia a la tabla de destino.

Tablas y campos:
ORIGEN:
Tabla:
ITEMCOMPRAUNITARIA
Campos: Todos

DESTINO:
Tabla:
extr_itemcompraunitaria
Campos: Todos

DATAMART:
Transporte
Demanda logística

Operador Red Negociación


Compras

127
EXTRACCION

Numero Paso: 04 Titulo del paso: extracción productoregistrado


OPERACIÓN REALIZADA:
Consulta de todos los campos de la tabla de origen y copia a la tabla de destino.

Tablas y campos:
ORIGEN:
Tabla:
productoregistrado
Campos:
id
, codigobarras
, profundidad
, ancho
, alto
, pesobrutoempacado
, volumen
, idtipoproducto
, idumd
, idoferenteindividual
, cantidadmindespacho
, descripcion
, imagen
, nombre
, idmunicipio
, activo

DESTINO:
Tabla:
extr_productoregistrado
Campos: Todos
id
, codigobarras
, profundidad
, ancho
, alto
, pesobrutoempacado
, volumen
, idtipoproducto
, idumd
, idoferenteindividual
, cantidadmindespacho
, descripcion
, imagen
, nombre
, idmunicipio
, activo

DATAMART:

128
Transporte
Demanda logística

Operador Red Negociación


Compras

129
EXTRACCION

Numero Paso: 05 Titulo del paso: extracción oferenteindividual


OPERACIÓN REALIZADA:
Consulta de todos los campos de la tabla de origen y copia a la tabla de destino.

Tablas y campos:
ORIGEN:
Tabla:
Oferenteindividual
Campos:
id
, idnegociante

DESTINO:
Tabla:
extr_oferenteindividual
Campos:
id
, idnegociante

DATAMART:
Transporte
Demanda logística

Operador Red Negociación


Compras

130
EXTRACCION

Numero Paso: 07 Titulo del paso: extracción


OPERACIÓN REALIZADA:
Consulta de todos los campos de la tabla de origen y copia a la tabla de destino.

Tablas y campos:
ORIGEN:
Tabla:
negociante
Campos:
id
, nombre
, codigosaab
, direccion
, email
, activo
, experiencia
, aptomercadosolidario
, estadonegociante

DESTINO:
Tabla:
extr_negociante
Campos:
id
, nombre
, codigosaab
, direccion
, email
, activo
, experiencia
, aptomercadosolidario
, estadonegociante

DATAMART:
Transporte
Demanda logística

Operador Red Negociación


Compras

131
EXTRACCION

Numero Paso: 07 Titulo del paso: extracción


OPERACIÓN REALIZADA:
Consulta de todos los campos de la tabla de origen y copia a la tabla de destino.

Tablas y campos:
ORIGEN:
Tabla:
Tipoproducto
Campos:
id
, nombre
, descripcion
, idvariedad
DESTINO:
Tabla:
extr_tipoproducto
Campos:
id
, nombre
, descripcion
, idvariedad

DATAMART:
Transporte
Demanda logística

Operador Red Negociación


Compras

132
EXTRACCION

Numero Paso: 08 Titulo del paso: extracción


OPERACIÓN REALIZADA:
Consulta de todos los campos de la tabla de origen y copia a la tabla de destino.

Tablas y campos:
ORIGEN:
Tabla:
Variedad
Campos:
id
, nombre
, descripcion
, idproducto
, clasificaciontaxonomica
DESTINO:
Tabla:
extr_variedad
Campos:
id
, nombre
, descripcion
, idproducto
, clasificaciontaxonomica

DATAMART:
Transporte
Demanda logística

Operador Red Negociación


Compras

133
EXTRACCION

Numero Paso: 09 Titulo del paso: extracción


OPERACIÓN REALIZADA:
Consulta de todos los campos de la tabla de origen y copia a la tabla de destino.

Tablas y campos:
ORIGEN:
Tabla:
Producto
Campos:
id
, idcategoriaproducto
, nombre
, descripcion
, idcadena

DESTINO:
Tabla:
extr_producto
Campos:
id
, idcategoriaproducto
, nombre
, descripcion
, idcadena

DATAMART:
Transporte
Demanda logística

Operador Red Negociación


Compras

134
EXTRACCION

Numero Paso: 10 Titulo del paso: extracción


OPERACIÓN REALIZADA:
Consulta de todos los campos de la tabla de origen y copia a la tabla de destino.

Tablas y campos:
ORIGEN:
Tabla:
categoriaproducto
Campos:
id
, nombre
, descripcion
, idlineaproducto

DESTINO:
Tabla:
extr_categoriaproducto
Campos:
id
, nombre
, descripcion
, idlineaproducto

DATAMART:
Transporte
Demanda logística

Operador Red Negociación


Compras

135
EXTRACCION

Numero Paso: 11 Titulo del paso: extracción


OPERACIÓN REALIZADA:
Consulta de todos los campos de la tabla de origen y copia a la tabla de destino.

Tablas y campos:
ORIGEN:
Tabla:
Lineaproducto
Campos:
id
, nombre
, descripcion
DESTINO:
Tabla:
extr_lineaproducto
Campos:
id
, nombre
, descripcion

DATAMART:
Transporte
Demanda logística

Operador Red Negociación


Compras

136
EXTRACCION

Numero Paso: 12 Titulo del paso: extracción cadena


OPERACIÓN REALIZADA:
Consulta de todos los campos de la tabla de origen y copia a la tabla de destino.

Tablas y campos:
ORIGEN:
Tabla:
Cadena
Campos:
id
, nombre
, usuariocreacion
, fechacreacion
, horacreacion
, usuariomodificacion
, fechamodificacion
, horamodificacion
DESTINO:
Tabla:
extr_cadena
Campos:
id
, nombre
, usuariocreacion
, fechacreacion
, horacreacion
, usuariomodificacion
, fechamodificacion
, horamodificacion

DATAMART:
Transporte
Demanda logística

Operador Red Negociación


Compras

137
EXTRACCION

Numero Paso: 12 Titulo del paso: extracción redoferta


OPERACIÓN REALIZADA:
Consulta de todos los campos de la tabla de origen y copia a la tabla de destino.

Tablas y campos:
ORIGEN:
Tabla:
Redoferta
Campos:
id
, nombre
, activo
, aptomercadosolidario
, idagrored
DESTINO:
Tabla:
extr_redoferta
Campos:
id
, nombre
, activo
, aptomercadosolidario
, idagrored

DATAMART:
Transporte
Demanda logística

Operador Red Negociación


Compras

138
EXTRACCION

Numero Paso: 13 Titulo del paso: extracción agrored


OPERACIÓN REALIZADA:
Consulta de todos los campos de la tabla de origen y copia a la tabla de destino.

Tablas y campos:
ORIGEN:
Tabla:
Agrores
Campos:
id
, nombre
, activo
, aptomercadosolidario
DESTINO:
Tabla:
extr_agrored
Campos:
id
, nombre
, activo
, aptomercadosolidario

DATAMART:
Transporte
Demanda logística

Operador Red Negociación


Compras

139
EXTRACCION

Numero Paso: 14 Titulo del paso: extracción umd


OPERACIÓN REALIZADA:
Consulta de todos los campos de la tabla de origen y copia a la tabla de destino.

Tablas y campos:
ORIGEN:
Tabla:
Umd
Campos:
id
, nombre
, peso
, descripcion
, activo
, unidades
, idempaque
, pesounidad
DESTINO:
Tabla:
extr_umd
Campos:
id
, nombre
, peso
, descripcion
, activo
, unidades
, idempaque
, pesounidad

DATAMART:
Transporte
Demanda logística

Operador Red Negociación


Compras

140
EXTRACCION

Numero Paso: 15 Titulo del paso: extracción empaques


OPERACIÓN REALIZADA:
Consulta de todos los campos de la tabla de origen y copia a la tabla de destino.

Tablas y campos:
ORIGEN:
Tabla:
Empaques
Campos:
id
, alto
, ancho
, largo
, capacapilamiento
, capacidad
, desccorta
, desclarga
, retornable
, idmaterial
, idtipoempaque
DESTINO:
Tabla:
extr_empaques
Campos:
id
, alto
, ancho
, largo
, capacapilamiento
, capacidad
, desccorta
, desclarga
, retornable
, idmaterial
, idtipoempaque

DATAMART:
Transporte
Demanda logística

Operador Red Negociación


Compras

141
EXTRACCION

Numero Paso: 17 Titulo del paso: extracción tipoempaque


OPERACIÓN REALIZADA:
Consulta de todos los campos de la tabla de origen y copia a la tabla de destino.

Tablas y campos:
ORIGEN:
Tabla:
Tipoempaque
Campos:
id
, nombre
, descripcion
, activo
DESTINO:
Tabla:
extr_tipoempaque
Campos:
id
id
, nombre
, descripcion
, activo

DATAMART:
Transporte
Demanda logística

Operador Red Negociación


Compras

142
EXTRACCION

Numero Paso: 17 Titulo del paso: extracción material


OPERACIÓN REALIZADA:
Consulta de todos los campos de la tabla de origen y copia a la tabla de destino.

Tablas y campos:
ORIGEN:
Tabla:
Material
Campos:
id
, nombre
, descripcion
, activo
DESTINO:
Tabla:
extr_ material
Campos:
id
, nombre
, descripcion
, activo

DATAMART:
Transporte
Demanda logística

Operador Red Negociación


Compras

143
EXTRACCION

Numero Paso: 18 Titulo del paso: extracción muelle


OPERACIÓN REALIZADA:
Consulta de todos los campos de la tabla de origen y copia a la tabla de destino.

Tablas y campos:
ORIGEN:
Tabla:
Muelle
Campos:
Todos
DESTINO:
Tabla:
extr_ muelle
Campos:
Todos

DATAMART:
Transporte
Demanda logística

Operador Red Negociación


Compras

144
EXTRACCION

Numero Paso: 19 Titulo del paso: extracción ordenserviciotransporte


OPERACIÓN REALIZADA:
Consulta de todos los campos de la tabla de origen y copia a la tabla de destino.

Tablas y campos:
ORIGEN:
Tabla:
Ordenserviciotransporte

DESTINO:
Tabla:
extr_ ordenserviciotransporte

DATAMART:
Transporte
Demanda logística

Operador Red Negociación


Compras

145
EXTRACCION

Numero Paso: 20 Titulo del paso: extracción estadomuelle


OPERACIÓN REALIZADA:
Consulta de todos los campos de la tabla de origen y copia a la tabla de destino.

Tablas y campos:
ORIGEN:
Tabla:
Estadomuelle
DESTINO:
Tabla:
extr_ estadomuelle

DATAMART:
Transporte
Demanda logística

Operador Red Negociación


Compras

146
EXTRACCION

Numero Paso: 21 Titulo del paso: extracción estadomuelle


OPERACIÓN REALIZADA:
Consulta de todos los campos de la tabla de origen y copia a la tabla de destino.

Tablas y campos:
ORIGEN:
Tabla:
tipomuelle
DESTINO:
Tabla:
extr_ tipomuelle

DATAMART:
Transporte
Demanda logística

Operador Red Negociación


Compras

147
EXTRACCION

Numero Paso: 22 Titulo del paso: extracción plataformaalmacenamiento


OPERACIÓN REALIZADA:
Consulta de todos los campos de la tabla de origen y copia a la tabla de destino.

Tablas y campos:
ORIGEN:
Tabla:
Plataformaalmacenamiento
DESTINO:
Tabla:
extr_ plataformaalmacenamiento

DATAMART:
Transporte
Demanda logística

Operador Red Negociación


Compras

148
EXTRACCION

Numero Paso: 23 Titulo del paso: extracción vehiculo


OPERACIÓN REALIZADA:
Consulta de todos los campos de la tabla de origen y copia a la tabla de destino.

Tablas y campos:
ORIGEN:
Tabla:
vehiculo
DESTINO:
Tabla:
extr_ vehiculo

DATAMART:
Transporte
Demanda logística

Operador Red Negociación


Compras

149
EXTRACCION

Numero Paso: 24 Titulo del paso: extracción tipovehiculo


OPERACIÓN REALIZADA:
Consulta de todos los campos de la tabla de origen y copia a la tabla de destino.

Tablas y campos:
ORIGEN:
Tabla:
Tipovehiculo
DESTINO:
Tabla:
extr_ tipovehiculo

DATAMART:
Transporte
Demanda logística

Operador Red Negociación


Compras

150
EXTRACCION

Numero Paso: 25 Titulo del paso: extracción marcavehiculoclasevehiculo


OPERACIÓN REALIZADA:
Consulta de todos los campos de la tabla de origen y copia a la tabla de destino.

Tablas y campos:
ORIGEN:
Tabla:
marcavehiculoclasevehiculo
DESTINO:
Tabla:
extr_ marcavehiculoclasevehiculo

DATAMART:
Transporte
Demanda logística

Operador Red Negociación


Compras

151
EXTRACCION

Numero Paso: 27 Titulo del paso: extracción marcavehiculoclasevehiculo


OPERACIÓN REALIZADA:
Consulta de todos los campos de la tabla de origen y copia a la tabla de destino.

Tablas y campos:
ORIGEN:
Tabla:
Marcavehiculo
DESTINO:
Tabla:
extr_ marcavehiculo

DATAMART:
Transporte
Demanda logística

Operador Red Negociación


Compras

152
EXTRACCION

Numero Paso: 27 Titulo del paso: extracción clasevehiculo


OPERACIÓN REALIZADA:
Consulta de todos los campos de la tabla de origen y copia a la tabla de destino.

Tablas y campos:
ORIGEN:
Tabla:
clasevehiculo
DESTINO:
Tabla:
extr_ clasevehiculo

DATAMART:
Transporte
Demanda logística

Operador Red Negociación


Compras

153
EXTRACCION

Numero Paso: 28 Titulo del paso: extracción transportador


OPERACIÓN REALIZADA:
Consulta de todos los campos de la tabla de origen y copia a la tabla de destino.

Tablas y campos:
ORIGEN:
Tabla:
Transportador
DESTINO:
Tabla:
extr_ transportador

DATAMART:
Transporte
Demanda logística

Operador Red Negociación


Compras

154
EXTRACCION

Numero Paso: 29 Titulo del paso: extracción zonaacopio


OPERACIÓN REALIZADA:
Consulta de todos los campos de la tabla de origen y copia a la tabla de destino.

Tablas y campos:
ORIGEN:
Tabla:
zonaacopio
DESTINO:
Tabla:
extr_ zonaacopio

DATAMART:
Transporte
Demanda logística

Operador Red Negociación


Compras

155
EXTRACCION

Numero Paso: 30 Titulo del paso: extracción estadoordenserviciotransporte


OPERACIÓN REALIZADA:
Consulta de todos los campos de la tabla de origen y copia a la tabla de destino.

Tablas y campos:
ORIGEN:
Tabla:
Estadoordenserviciotransporte
DESTINO:
Tabla:
extr_
estadoordenserviciotransporte

DATAMART:
Transporte
Demanda logística

Operador Red Negociación


Compras

156
EXTRACCION

Numero Paso: 30 Titulo del paso: extracción umt


OPERACIÓN REALIZADA:
Consulta de todos los campos de la tabla de origen y copia a la tabla de destino.

Tablas y campos:
ORIGEN:
Tabla:
umt
DESTINO:
Tabla:
extr_ umt

DATAMART:
Transporte
Demanda logística

Operador Red Negociación


Compras

157
EXTRACCION

Numero Paso: 30 Titulo del paso: extracción operadorrednegociacion


OPERACIÓN REALIZADA:
Consulta de todos los campos de la tabla de origen y copia a la tabla de destino.

Tablas y campos:
ORIGEN:
Tabla:
Operadorrednegociacion
DESTINO:
Tabla:
extr_ operadorrednegociacion

DATAMART:
Transporte
Demanda logística

Operador Red Negociación


Compras

158
EXTRACCION

Numero Paso: 31 Titulo del paso: extracción puntodemanda


OPERACIÓN REALIZADA:
Consulta de todos los campos de la tabla de origen y copia a la tabla de destino.

Tablas y campos:
ORIGEN:
Tabla:
puntodemanda
DESTINO:
Tabla:
extr_ puntodemanda

DATAMART:
Transporte
Demanda logística

Operador Red Negociación


Compras

159
EXTRACCION

Numero Paso: 32 Titulo del paso: extracción puntologistico


OPERACIÓN REALIZADA:
Consulta de todos los campos de la tabla de origen y copia a la tabla de destino.

Tablas y campos:
ORIGEN:
Tabla:
Puntologistico
DESTINO:
Tabla:
extr_ puntologistico

DATAMART:
Transporte
Demanda logística

Operador Red Negociación


Compras

160
EXTRACCION

Numero Paso: 33 Titulo del paso: extracción municipio


OPERACIÓN REALIZADA:
Consulta de todos los campos de la tabla de origen y copia a la tabla de destino.

Tablas y campos:
ORIGEN:
Tabla:
municipio
DESTINO:
Tabla:
extr_ municipio

DATAMART:
Transporte
Demanda logística

Operador Red Negociación


Compras

161
EXTRACCION

Numero Paso: 34 Titulo del paso: extracción departamento


OPERACIÓN REALIZADA:
Consulta de todos los campos de la tabla de origen y copia a la tabla de destino.

Tablas y campos:
ORIGEN:
Tabla:
Departamento
DESTINO:
Tabla:
extr_ departamento

DATAMART:
Transporte
Demanda logística

Operador Red Negociación


Compras

162
EXTRACCION

Numero Paso: 35 Titulo del paso: extracción departamento


OPERACIÓN REALIZADA:
Consulta de todos los campos de la tabla de origen y copia a la tabla de destino.

Tablas y campos:
ORIGEN:
Tabla:
pais
DESTINO:
Tabla:
extr_pais

DATAMART:
Transporte
Demanda logística

Operador Red Negociación


Compras

163
EXTRACCION

Numero Paso: 37 Titulo del paso: extracción departamento


OPERACIÓN REALIZADA:
Consulta de todos los campos de la tabla de origen y copia a la tabla de destino.

Tablas y campos:
ORIGEN:
Tabla:
Unidadadministrativapoblacion
DESTINO:
Tabla:
extr_
unidadadministrativapoblacion

DATAMART:
Transporte
Demanda logística

Operador Red Negociación


Compras

164
EXTRACCION

Numero Paso: 37 Titulo del paso: extracción departamento


OPERACIÓN REALIZADA:
Consulta de todos los campos de la tabla de origen y copia a la tabla de destino.

Tablas y campos:
ORIGEN:
Tabla:
categoriapoblacion
DESTINO:
Tabla:
extr_ categoriapoblacion

DATAMART:
Transporte
Demanda logística

Operador Red Negociación


Compras

165
TRANSFORMACIÓN DE DATOS

Es necesario un proceso de transformación de datos para llegar a la


conformación del DWH, los siguientes cuadros muestran la transformación
realizada para cumplir con dicho objetivo.

TRN_FACTTRANSPORTE

OBJETIVO: El principal objetivo de esta etapa del proceso es la transformar de forma


convenientemente la información para ser interpretada. Así mismo sean coherentes las operaciones
realizadas sobre la información.

PROCEDIMIENTO:
Extracción
Transformation
Loading

TRN_FACTCOMPRAS

OPERACIÓN REALIZADA:
Consulta todos los campos de la tabla de origen y realiza uniones con las tablas intermedias y copia el
resultado en la tabla de destino.

Tablas y campos:
ORIGEN:
Tabla:
EXTR_ORDENSERVICIOTRANSPORTE
DESTINO:
Tabla:
TRN_FACTTRANSPORTE

INTERMEDIAS
Tablas:
extr_muelle

DATAMART:

166
Transporte
Demanda logística

Operador Red Negociación


Compras

TRN_FACTCOMPRAS
OBJETIVO: El principal objetivo de esta etapa del proceso es la transformar de forma
convenientemente los datos para ser interpretada. Así mismo sean coherentes las operaciones
realizadas sobre los datos.

PROCEDIMIENTO:
Extracción
Transformation
Loading

TRN_FACTCOMPRAS

OPERACIÓN REALIZADA:
Consulta todos los campos de la tabla de origen y realiza uniones con las tablas intermedias y copia el
resultado en la tabla de destino.
Tablas y campos:

167
ORIGEN:
Tabla:
EXTR_ITEMCOMPRAUNITARIA
DESTINO:
Tabla:
TRN_FACTCOMPRAS

INTERMEDIAS
Tablas:
extr_ordencompraunitaria,
extr_ordencompraconsolidada,
extr_productoregistrado

DATAMART:
Transporte
Demanda logística

Operador Red Negociación


Compras

TRN_FACTDEMANDALOGISTICA

OBJETIVO: El principal objetivo de esta etapa del proceso es la transformar de forma


convenientemente la información para ser interpretada. Así mismo sean coherentes las operaciones
realizadas sobre la información.

PROCEDIMIENTO:
Extracción
Transformation
Loading

TRN_FACTDEMANDALOGISTICA

OPERACIÓN REALIZADA:
Consulta todos los campos de la tabla de origen y realiza uniones con las tablas intermedias y copia el
resultado en la tabla de destino.

Tablas y campos:

168
ORIGEN:
Tabla:
EXTR_PUNTODEMANDA
DESTINO:
Tabla:
TRN_FACTDEMANDALOGISTICA

INTERMEDIAS
Tablas:
extr_puntologistica

DATAMART:
Transporte
Demanda logística

Operador Red Negociación


Compras

169
CARGA DE DATOS

El proceso de carga datos permite la creación y población del DWH, los


siguientes cuadros muestran dicho proceso.

CARGA

OBJETIVO: El principal objetivo de esta etapa del proceso es cargar la información a la bodega de
datos.

PROCEDIMIENTO:
Extracción
Transformation
Loading

CARGA

OPERACIÓN REALIZADA:
Consulta todos los campos de la tabla(s) de origen y copia en la tabla(s) de destino.

Tablas y campos:
ORIGEN:
Tabla:

DESTINO:
Tabla:

DATAMART:

170
Transporte
Demanda logística

Operador Red Negociación


Compras

171
CARGA

OPERACIÓN REALIZADA:
Consulta todos los campos de la tabla(s) de origen y copia en la tabla(s) de destino.

Tablas y campos:
ORIGEN:
Tabla:

DESTINO:
Tabla:

DATAMART:
Transporte
Demanda logística

Operador Red Negociación


Compras

172
CARGA

OPERACIÓN REALIZADA:
Consulta todos los campos de la tabla(s) de origen y copia en la tabla(s) de destino.

Tablas y campos:
ORIGEN:
Tabla:
TRN_DIMUMDEMPAQUES
fechacolocacioncompras
fechaentregaestimadacompras
TRN_DIMOFERENTEINDIVIDUAL
TRN_DIMPRODUCTO
TRN_DIMREDOFERTA
trn_factcompras
DESTINO:
Tabla:
DIMUMDEMPAQUES
DIMFECHACOLOCACIONCOMPRAS
DIMFECHAENTREGAESTIMADACOMP
RAS
DIMOFERENTEINDIVIDUAL
DIMPRODUCTO
DIMREDOFERTA
FACTCOMPRAS

DATAMART:
Transporte
Demanda logística

Operador Red Negociación


Compras

173
CARGA

OPERACIÓN REALIZADA:
Consulta todos los campos de la tabla(s) de origen y copia en la tabla(s) de destino.

Tablas y campos:
ORIGEN:
Tabla:
trn_dimgeografia
trn_dimunidadadministrativapoblaci
on
extr_negociante
trn_dimreddemanda
trn_factdemandalogistica
DESTINO:
Tabla:
DIMGEOGRAFIA
DIMUNIDADADMINISTRATIVAPOBLA
CION
DIMNEGOCIANTE
DIMREDDEMANDA
FACTDEMANDALOGISTICA

DATAMART:
Transporte
Demanda logística

Operador Red Negociación


Compras

174
CARGA

OPERACIÓN REALIZADA:
Consulta todos los campos de la tabla(s) de origen y copia en la tabla(s) de destino.

Tablas y campos:
ORIGEN:
Tabla:
trn_factoperadorrednegociacion
DESTINO:
Tabla:
factoperaornegociacion

DATAMART:
Transporte
Demanda logística

Operador Red Negociación


Compras

175
ANEXO 4
METADATA FUENTE – DESTINO

A continuación se muestra la metadata fuente – destino de la bodega de


datos. Se presentan las tablas y campos que la componen y la fuente, es
decir, las tablas y campos de la base de datos del SISAAB, que es el origen y
cuyo destino son las tablas y campos del DWH.

COMPRAS
dimfechacolocacioncompras

Maneja los periodos de tiempo: Año, Semestre, Trimestre, Mes, Fecha, relacionados con la fecha de
colocación de la compra.

ColumnName DataType Comment


jul_date TIMESTAMP

Fecha en formato variable caractér


fecha_1 VARCHAR(8)
de ocho (8) posiciones.

s_date VARCHAR(20)
a_date VARCHAR(10)
a_dow1 VARCHAR(3)
a_dow2 VARCHAR(12)
a_day1 VARCHAR(2)
a_day2 VARCHAR(2)
a_week VARCHAR(12)
a_month_code VARCHAR(7)
a_month_code2 VARCHAR(6)
a_month1 VARCHAR(2)
a_month2 VARCHAR(2)
a_month3 VARCHAR(6)
a_month4 VARCHAR(10)
a_quarter_code VARCHAR(6)
a_quarter_code2 VARCHAR(6)
a_quarter VARCHAR(6)
a_semestercode VARCHAR(7)
a_semester VARCHAR(6)

176
a_year VARCHAR(4)
n_dow INTEGER
n_week INTEGER
n_day INTEGER
n_month INTEGER
n_quarter_code INTEGER
n_quarter INTEGER
n_semester_code INTEGER
n_semester INTEGER
n_year INTEGER

dimfechaentregaestimadacompras

Maneja los periodos de tiempo: Año, Semestre, Trimestre, Mes, Fecha, relacionados con la fecha de
entrega estimada de las compras.

ColumnName DataType Comment


jul_date TIMESTAMP
s_date VARCHAR(20)
a_date VARCHAR(10)
a_dow1 VARCHAR(3)
a_dow2 VARCHAR(12)
a_day1 VARCHAR(2)
a_day2 VARCHAR(2)
a_week VARCHAR(12)
a_month_code VARCHAR(7)
a_month_code2 VARCHAR(6)
a_month1 VARCHAR(2)
a_month2 VARCHAR(2)
a_month3 VARCHAR(6)
a_month4 VARCHAR(10)
a_quarter_code VARCHAR(6)
a_quarter_code2 VARCHAR(6)
a_quarter VARCHAR(6)
a_semestercode VARCHAR(7)
a_semester VARCHAR(6)
ColumnName DataType Comment
a_year VARCHAR(4)

177
Fecha en formato variable caractér
fecha_1 VARCHAR(8)
de ocho (8) posiciones.

n_dow INTEGER
n_week INTEGER
n_day INTEGER
n_month INTEGER
n_quarter_code INTEGER
n_quarter INTEGER
n_semester_code INTEGER
n_semester INTEGER
n_year INTEGER

dimoferenteindividual

Tabla que contiene los oferentes individuales que agrupan a los negociantes. Está formada por dos
tablas "oferenteindividual" y "negociante".

ColumnName DataType Comment

Identificador único de los


oferentes. Agrupa a los
Idoferenteindividual INTEGER
negociantes.
OFERENTEINDIVIDUAL.ID

Es el identificador único del


Idnegociante INTEGER
negociante. NEGOCIANTE.ID

Estadonegociante VARCHAR(50) NEGOCIANTE.ESTADO

178
ColumnName DataType Comment

Nombre del negociante que actua


nombrenegociante VARCHAR(100) en el SAAB.
NEGOCIANTE.NOMBRE

codigosaabnegociante VARCHAR(15) NEGOCIANTE.CODIGOSAAB

direccionnegociante VARCHAR(50) NEGOCIANTE.DIRECCION

emailnegociante VARCHAR(30) NEGOCIANTE.EMAIL

activonegociante VARCHAR(1) NEGOCIANTE.ACTIVO

experiencianegociante INTEGER NEGOCIANTE.EXPERIENCIA

aptomercadonegociante VARCHAR(1) NEGOCIANTE.APTOMERCADO

dimproducto

Tabla de atributos de los productos del SAAB. Formada por las tablas "Tipoproducto". "Variedad",
"Producto", "CategoriaProducto".

ColumnName DataType Comment

Identificador único del tipo de


producto. Agrupa la variedad de
idtipoproducto INTEGER
los productos.
TIPOPRODUCTO.ID

179
ColumnName DataType Comment

Es el nombre del tipo de producto.


nombretipoproducto VARCHAR(50)
TIPOPRODUCTO.NOMBRE

Descripciontipoproducto VARCHAR(500) TIPOPRODUCTO.DESCRIPCION

Identificador único de las


Idvariedad INTEGER variedades el producto. Agrupa los
productos. VARIEDAD.ID

Nombre de las variedades de


Nombrevariedad VARCHAR(50)
producto. VARIEDAD.NOMBRE

Descripcionvariedad VARCHAR(500) VARIEDAD.DESCRIPCION

Es el identificador único del


Idproducto INTEGER producto. Agrupa la categoría del
producto. PRODUCTO.ID

VARIEDAD.CLASIFICACIONTAX
Clasificaciontaxonomicavariedad VARCHAR(50)
ONOMICA

180
ColumnName DataType Comment

Identificador único de la categoría


idcategoriaproducto INTEGER del producto.
CATEGORIAPRODUCTO.ID

Es el nombre del producto.


nombreproducto VARCHAR(100)
PRODUCTO.NOMBRE

descripcionproducto VARCHAR(500) PRODUCTO.DESCRIPCION

idcadena INTEGER PRODUCTO.IDCADENA

Es el nombre de la categoría del


producto.
nombrecategoriaproducto VARCHAR(100)
CATEGORIAPRODUCTO.CADEN
A

CATEGORIAPRODUCTO.DESCRI
descripcioncategoriaproducto VARCHAR(500)
PCION

Es el idenficador único de la línea


idlineaproducto INTEGER de producto.
LINEAPRODUCTO.ID

181
ColumnName DataType Comment

Es el nombre de la línea de
nombrelineaproducto VARCHAR(100) producto.
LINEAPRODUCTO.NOMBRE

LINEAPRODUCTO.DESCRIPCIO
descripcionlineaproducto VARCHAR(500)
N

Nombre de la cadena.
nombrecadena VARCHAR(50)
CADENA.NOMBRE

dimredoferta

Tiene la información relacionada con las redes de oferta y las agroredes. Está conformada por las
tablas "RedOferta" y "AgroRed"

ColumnName DataType Comment

Identificador único de las redes de


idredoferta INTEGER oferta, agrupa a las agroredes.
REDOFERTA.ID

Nombre de las redes de oferta.


nombreredoferta VARCHAR(50)
REDOFERTA.NOMBRE

activoredoferta VARCHAR(1) REDOFERTA.ACTIVO

182
ColumnName DataType Comment

REDOFERTA.APTOMERCADOS
aptomercadosolidarioredoferta VARCHAR(1)
OLIDARIO

Identificador único de las


idagrored INTEGER
agroredes. AGRORED.ID

Nombre de las agroredes.


nombreagrored VARCHAR(50)
AGRORED.NOMBRE

activoagrored VARCHAR(1) AGRORED.ACTIVO

AGRORED.APTOMERCADOSOLI
aptomercadosolidarioagrored VARCHAR(1)
DARIO

dimumdempaques

Tabla que contiene los identificadores únicos, nombres y demás atributos de los empaques, de la
unidad de medida dimensional , del tipo de empaque y del material de los productos del SAAB.

ColumnName DataType Comment

Identificador unico de la unidad de


idumd INTEGER
medida dimensional. UMD.ID

Nombre de la unidad de medida


nombreumd VARCHAR(50)
dimensional. UMD.NOMBRE

pesoumd INTEGER UMD.PESO

183
ColumnName DataType Comment

descipcionumd VARCHAR(500) UMD.DSCRIPCION

activoumd VARCHAR(1) UMD.ACTIVO

unidadesumd INTEGER UMD.UNIDADES

Identificador único para el


idempaque INTEGER empaque del producto.
EMPAQUE.ID

pesounidadumd VARCHAR(100) UMD.PESOUNIDAD

altoempaque INTEGER EMPAQUES.ALTO

anchoempaque INTEGER EMPAQUES.ANCHO

largoempaque INTEGER EMPAQUES.LARGO

EMPAQUES.CAPACAPILAMIENT
capacapilamientoempaque INTEGER
O

capacidadempaque INTEGER EMPAQUES.CAPACIDAD

desccortaempaque VARCHAR(200) EMPAQUES.DESCORTA

desclargaempaque VARCHAR(500) EMPAQUES.DESLARGA

retornableempaque VARCHAR(1) EMPAQUES.RETORNABLE

Es el identificador único del


idmaterial INTEGER material el empaque.
MATERIAL.ID

184
ColumnName DataType Comment

Es el identificador único del tipo de


idtipoempaque INTEGER
empaque. TIPOEMPAQUE.ID

Es el nombre del tipo de empaque.


nombretipoempaque VARCHAR(200)
TIPOEMPAQUE.NOMBRE

descripciontipoempaque VARCHAR(500) TIPOEMPAQUE.DESCRIPCION

activotipoempaque VARCHAR(1) TIPOEMPAQUE.ACTIVO

Es el nombre del material utilizado


nombrematerial VARCHAR(200) en el empaque.
MATERIAL.NOMBRE

descripcionmaterial VARCHAR(500) MATERIAL.DESCRIPCION

activomaterial VARCHAR(1) MATERIAL.ACTIVO

factcompras
Tabla donde se registran los hechos relacionados con las compras, está formada por
"ordencompraconsolidada", "ordencompraunitaria", "itemcompraunitaria" y "productoregistrado"

185
ColumnName DataType Comment

Es el identificador único de la
iditemcompraunitaria INTEGER compraunitaria.
ITEMCOMPRAUNITARIA.ID

Es el identificador único de la
idordencompraunitaria INTEGER orden de compra unitaria
ORDENCOMPRAUNITARIA.ID

Es el identificador único de los


productos que se encuentran
idproductoregistrado INTEGER
registrados.
PRODUCTOREGISTRADO.ID

Es la cantidad de item comprados.


cantidadcompraunitaria INTEGER ITEMCOMPRAUNITARIA.CANTID
AD

Fecha en que se coloca el pedido.


fechacolocacion VARCHAR(8) ORDENCOMPRAUNITARIA.FEC
HACOLOCACION

186
ColumnName DataType Comment

Fecha en que se estima la entrega


del pedido.
fechaentregaestimada VARCHAR(8)
ORDENCOMPRAUNITARIA.FEC
HAENTREGAESTIMADA

ORDENCOMPRAUNITARIA.DIRE
direccionacopio VARCHAR(200)
CCIONACOPIO

Prioridad de la orden de compra


unitaria.
prioridad INTEGER
ORDENCOMPRAUNITARIA.PRIO
RIDAD

Es el peso de los productos de la


compra.
pesototal INTEGER
ORDENCOMPRAUNITARIA.PES
OTOTAL

ORDENCOMPRAUNITARIA.IDOR
idordenserviciologistico INTEGER
DENSERVICIOLOGISTICO

187
ColumnName DataType Comment

Identificador único de la orden de


compra consolidada.
idordencompraconsolidada INTEGER
ORDENCOMPRAUNITARIA.IDOR
DENCOMPRACONSOLIDADA

ORDENCOMPRAUNITARIA.IDPU
idpuntooferta INTEGER
NTOOFETA

ORDENCOMPAUNITARIA.IDFAC
idfactura INTEGER
TURA

ORDENCOMPRAUNITARIA.IDPA
idpago INTEGER
GO

ORDENCOMPRAUNITARIA.IDSE
idordenserviciotransporte INTEGER
RVICIOTRANSPORTE

Es el valor total de la compra.


valortotalcompra INTEGER ORDENCOMPRAUNITARIA.VALO
RTOTALCOMPRA

188
ColumnName DataType Comment

Es el valor del IVA de la compra.


valortotaliva INTEGER ORDENCOMPRAUNITARIA.VALO
RTOTALIVA

Es el valor de los productos.


valortotalproductos INTEGER ORDENCOMPRAUNITARIA.VALO
RTOTALPRODUCTOS

Identificador único de las red de


oferta, se relaciona con la tabla de
idredoferta INTEGER red de oferta.
ORDENCOMPRACONSOLIDADA.
IDREDOFERTA = REDOFERTA.ID

PRODUCTOREGISTRADO.CODI
codigobarrasproductoregistrado VARCHAR(14)
GOBARRAS

PRODUCTOREGISTRADO.PROF
profunidadproductoregistrado INTEGER
UNDIDAD

189
ColumnName DataType Comment

PRODUCTOREGISTRADO.ANCH
anchoproductoregistrado INTEGER
O

altoproductoregistrado INTEGER PRODUCTOREGISTRADO.ALTO

PRODUCTOREGISTRADO.PESO
pesobrutoempacadoproductoregistrado INTEGER
BRUTOEMPACADO

PRODUCTOREGISTRADO.VOLU
volumenproductoregistrado INTEGER
MEN

Es el identificado único del tipo de


producto, se relaciona con la tabla
tipo de producto.
idtipoproducto INTEGER
PRODUCTOREGISTRADO.IDTIP
OPRODUCTO =
TIPOPRODUCTO.ID

190
ColumnName DataType Comment

Es la unidad de medida de
dimensión, se relaciona con la
tabla maestra de unidades de
idumd INTEGER
medida de dimensión.
PRODUCTOREGISTRADO.IDUM
D = UMD.ID

191
ColumnName DataType Comment

Es el identificador único del


oferente individual, se relaciona
con la tabla de oferente individual.
idoferenteindividual INTEGER
PRODUCTOREGISTRADO.IDOF
ERENTEINDIVIDUAL =
OFERENTEINDIVIDUAL.ID

PRODUCTOREGISTRADO.CANT
cantidadmindespacho INTEGER
IDADINDESPACHO

192
ColumnName DataType Comment

Nombre del producto registrado.


nombreproductoregistrado VARCHAR(100) PRODUCTOREGISTRADO.NOM
BRE

Es l identificador único de los


municipios, se relaciona con la
idmunicipio INTEGER tabla maestra de municipios.
PRODUCTOREGISTRADO.IDMU
NICIPIO = MUNICIPIO.ID

DEMANDALOGISTICA
dimgeografia

Es la tabla que tiene los atributos relacionados con la geografía. Está formada por las tablas
"municipio", "departamento" y "pais".

ColumnName DataType Comment

Es el identificador único del


idmunicipio INTEGER
municipio. MUNICIPIO.ID

193
ColumnName DataType Comment

Es el nombre de los municipios.


nombremunicipio VARCHAR(200)
MUNICIPIO.NOMBRE

nombrecortomunicipio VARCHAR(50) MUNICIPIO.NOMBRECOTO

descripcionmunicipio VARCHAR(500) MUNICIPIO.DESCRIPCION

activomunicipio VARCHAR(1) MUNICIPIO.ACTIVO

Identificador único de los


iddepartamento INTEGER departamentos.
DEPARTAMENTO.ID

Nombre de los departamentos.


nombredepartamento VARCHAR(200)
DEPARTAMENTO.NOMBRE

DEPARTAMENTO.NOMBRECOR
nombrecortodepartamento VARCHAR(50)
TO

descripciondepartamento VARCHAR(500) DEPARTAMENTO.DESCRIPCION

activodepartamento VARCHAR(1) DEPARTAMENTO.ACTIVO

Identificador único del pais.


idpais INTEGER
PAIS.ID

194
ColumnName DataType Comment

Nombre de los paises.


nombrepais VARCHAR(200)
PAIS.NOMBRE

descripcionpais VARCHAR(500) PAIS.DESCRIPCION

PAIS.PREFIJOEANRANGOINICIA
prefijoeanrangoinicialpais VARCHAR(3)
L

activopais VARCHAR(1) PAIS.ACTIVO

prefijoeanrangofinalpais VARCHAR(3) PAIS.PREFIJOEANRANGOFINAL

nombrecortopais VARCHAR(50) PAIS.NOMBRECORTO

dimnegociante

Tabla maestra de los negociantes está formada por la tabla negociante.


ColumnName DataType Comment

Identificador único del negociante.


idnegociante INTEGER
NEGOCIANTE.ID

Nombre del negociante.


nombrenegociante VARCHAR(100)
NEGOCIANTE.NOMBRE

codigosaabnegociante VARCHAR(15) NEGOCIANTE.CODIGOSAAB

direccionnegociante VARCHAR(50) NEGOCIANTE.DIRECCION

emailnegociante VARCHAR(30) NEGOCIANTE.EMAIL

activonegociante VARCHAR(1) NEGOCIANTE.ACTIVO

195
ColumnName DataType Comment

experiencianegociante INTEGER NEGOCIANTE.EXPERIENCIA

NEGOCIANTE.APTOMERCADOS
aptomercadosolidarionegociante VARCHAR(1)
OLIDARIO

estadonegociante VARCHAR(50) NEGOCIANTE.ESTADO

dimreddemanda

Tabla que reune los identificadores, nombres atributos de las tablas "reddemanda", "nutrired",
"zonalogistica" y "tipocobertura".

ColumnName DataType Comment

Identificador único de las redes de


idreddemanda INTEGER demanda. Agrupa a las redes de
nutrición. REDDEMANDA.ID

Nombre de la redes de demanda.


nombrereddemanda VARCHAR(50)
REDDEMANDA.NOMBRE

Identificador único de las redes de


idnutrired INTEGER nutrición. Agrupa a las zonas
logísticas. NUTRIRED.ID

activoreddemanda VARCHAR(1) REDDEMANDA.ACTIVO

196
ColumnName DataType Comment

REDDEMANDA.APTOMERCADO
aptomercadosolidarioreddemanda VARCHAR(1)
SOLIDARIO

codigosaabreddemanda VARCHAR(50) REDDEMANDA.CODIGOSAAB

estadoredreddemanda VARCHAR(50) REDDEMANDA.ESTADORED

Identificador único de la zona


idzonalogistica INTEGER logística. Agrupa los tipos de
cobertura. ZONALOGISTICA.ID

REDDEMANDA.SELECCIONPRE
idseleccionpreferencia INTEGER
FERENCIA

Identificador único del tipo de red.


idtipored INTEGER
REDDEMANDA.IDTIPORED

direccion VARCHAR(50) REDDEMANDA.DIRECCION

Nombre de la nutri red.


nombrenutrired VARCHAR(50)
NUTRIRED.NOMBRE

activonutrired VARCHAR(1) NUTRIRED.ACTIVO

NUTRIRED.APTOMERCADOSOLI
aptomercadosolidarionutrired VARCHAR(1)
DARIO

codigosaabnutrired VARCHAR(50) NUTRIRED.CODIGOSAAB

197
ColumnName DataType Comment

estadorednutrired VARCHAR(50) NUTRIRED.ESTADO

direccionnutrired VARCHAR(50) NUTRIRED.DIRECCION

Nombre de la zona logística.


nombrezonalogistica VARCHAR(200)
ZONALOGISTICA.NOMBRE

estadozonalogistica VARCHAR(1) ZONALOGISTICA.ESTADO

REDDEMANDA.VALORFLETETO
valorfletetonelada INTEGER
NELADA

Identificador único del tipo de


idtipocobertura INTEGER
cobertura. TIPOCOBERTURA.ID

Nombre del tipo de cobertura.


nombretipocobertura VARCHAR(50)
TIPOCOBERTURA.NOMBRE

TIPOCOBERTURA.DESCRIPCIO
descripciontipocobertura VARCHAR(500)
N

activotipocobertura VARCHAR(1) TIPOCOBERTURA.ACTIVO

Nombre del tipo de red.


nombretipored VARCHAR(50)
TIPORED.NOMBRE

198
dimunidadadministrativapoblacion

Es la tabla que contiene la unidad administrativa de población y la categoría de población. Está


formada por las tablas "unidadadministrativapoblacion" y "categoriapoblacion"

ColumnName DataType Comment

Identificador único de la unidad


administrativa de población.
idunidadadministrativapoblacion INTEGER
UNIDADADMINISTRATIVAPOBLA
CION.ID

Nombre de l nidad administrativa


población.
nombreunidadadministrativapoblacion VARCHAR(200)
UNIDADADMINISTRATIVAPOBLA
CION.NOMBRE

nombrecortounidadadministrativapoblac UNIDADADMINISTRATIVAPOBLA
VARCHAR(50)
ion CION.NOMBRECORTO

descripcionunidadadministrativapoblaci UNIDADADMINISTRATIVAPOBLA
VARCHAR(500)
on CION.DESCRIPCION

UNIDADADMINISTRATIVAPOBLA
activounidadadministrativapoblacion VARCHAR(1)
CION.ACTIVO

199
Identificador único de la categoria
idcategoriapoblacion INTEGER de población.
CATEGORIAPOBLACION.ID

idmunicipio INTEGER PUNTOLOGISTICO.IDMUNICIPIO

Nombre de la categoría de la
población.
nombrecategoriapoblacion VARCHAR(200)
CATEGORIAPOBLACION.NOMB
RE

CATEGORIAPOBLACION.NOMB
nombrecortocategoriapoblacion VARCHAR(50)
RECORTO

CATEGORIAPOBLACION.DESCR
descripcioncategoriapoblacion VARCHAR(500)
IPCION

CATEGORIAPOBLACION.ACTIV
activocategoriapoblacion VARCHAR(1)
O

factdemandalogistica

Tabla que registra los hechos con la demanda logística. Formada por las tablas "puntologístico" y
"puntodemanda"

ColumnName DataType Comment

Identificador único del punto de


idpuntodemanda INTEGER
demanda. PUNTODEMANDA.ID

200
ColumnName DataType Comment

Identificador único de la red de


demanda. Se relaciona con la
idreddemanda INTEGER tabla maestra de red de demanda.
PUNTODEMANDA.IDREDDEMAN
DA = REDDEMANDA.ID

Identificador único de la red de


nutrición, se relaciona con la tabla
idnutrired INTEGER maestra de las nutriredes.
PUNTODEMANDA.IDNUTRIRED
= NUTRIRED.ID

Identificador único del punto


idpuntologistico INTEGER
logístico. PUNTOLOGISTICO.ID

Nombre del punto logístico.


nombrepuntologistico VARCHAR(100)
PUNTOLOGISTICO.NOMBRE

activopuntologistico VARCHAR(1) PUNTOLOGISTICO.ACTIVO

PUNTOLOGISTICO.CODIGOSAA
codigosaab VARCHAR(50)
B

email VARCHAR(50) PUNTOLOGISTICO.EMAIL

gln VARCHAR(13) PUNTOLOGISTICO.GLN

201
ColumnName DataType Comment

Identificador único del negociante,


se relaciona con la tabla
idnegociante INTEGER negociador.
PUNTOLOGISTICO.IDNEGOCIAD
OR = NEGOCIADOR.ID

direccionpuntologistico VARCHAR(50) PUNTOLOGISTICO.DIRECCION

idusuario INTEGER PUNTOLOGISTICO.IDUSUARIO

PUNTOLOGISTICO.TELEFONOFI
telefonofijopuntologistico VARCHAR(50)
JO

movilpuntologistico VARCHAR(50) PUNTOLOGISTICO.MOVIL

Identificador único del municipio,


se relaciona con la tabla maestras
idmunicipio INTEGER del municipio.
PUNTOLOGISTICO.IDMUNICIPIO
= MUNICIPIO.ID

Identificador único de la unidad


administrativa de la población, se
relaciona con la tabla maestra de
las unidades administrativas de la
idunidadadministrativapoblacion INTEGER población.
PUNTOLOGISTICO.IDUNIDADAD
MINISTRATIVA =
UNIDADADMINISTRATIVAPOBLA
CION.ID

202
ColumnName DataType Comment

rutapuntologistico INTEGER PUNTOLOGISTICO.RUTA

ordenrutapuntologistico INTEGER PUNTOLOGISTICO.ORDEN

OPERADORREDNEGOCIACION
factoperadorrednegociacion

Tabla que contiene los hechos relacionados con los operadores de la red de negociación. Esta
formada por la tabla "operadorrednegociacion"

ColumnName DataType Comment

Identificador único de los


operadores de la red de
idoperadorrednegociacion INTEGER negociación.
OPERADORREDNEGOCIACION.I
D

Identificador único de las


agroredes.
idagrored INTEGER
OPERADORREDNEGOCIACION.I
DAGRORED

OPERADORREDNEGOCIACION.
direccionoperadorrednegociacion VARCHAR(50)
DIRECCION

Identificador único de la nutrired.


idnutrired INTEGER OPERADORREDNEGOCIACION.I
DNUTRIRED

Identificador único de la red de


demanda.
idreddemanda INTEGER
OPERADORREDNEGOCIACION.I
DREDDEMANDA

203
ColumnName DataType Comment

Identificador único de la red de


oferta.
idredoferta INTEGER
OPERADORREDNEGOCIACION.I
DREDOFERTA

OPERADORREDNEGOCIACION.I
idusuario INTEGER
DUSUARIO

TRANSPORTE
dimestadomuelle

Tabla de códigos y nombre de los estados de los muelles.


ColumnName DataType Comment

Identificador único del estado del


idestadomuelle INTEGER
muelle. ESTADOMUELLE.ID

Nombre de los estados del muelle.


nombreestadomuelle VARCHAR(50)
ESTADOMUELLE.NOMBRE

descripcionestadomuelle VARCHAR(500) ESTADOMUELLE.DESCRIPCION

activoestadomuelle VARCHAR(1) ESTADOMUELLE.ACTIVO

dimestadoordenserviciotransporte

Contiene la información relacionada al estado de la orden de servicio de transporte del sistema.

204
ColumnName DataType Comment

Identificador único de cada estado


de orden de servicio de transporte.
idestadoordenserviciotransporte INTEGER
ESTADOORDENSERVICIOTRAN
SPORTE.ID

Nombre del estado de la orden de


servicio.
nombreestadoordenserviciotransporte VARCHAR(200)
ESTADOORDENSERVICIO.NOM
BRE

descripcionestadoordenserviciotranspor ESTADOORDENSERVICIO.DESC
VARCHAR(500)
te RIPCION

ESTADOORDENSERVICIO.ACTI
activoestadoordenserviciotransporte VARCHAR(1)
VO

dimfechafinal

Maneja los periodos de tiempo: Año, Semestre, Trimestre, Mes, Fecha, relacionados con la fecha de
destino.

ColumnName DataType Comment


jul_date TIMESTAMP

Fecha en formato variable caractér


fecha_1 VARCHAR(8)
de ocho (8) posiciones.

s_date VARCHAR(20)
a_date VARCHAR(10)
a_dow1 VARCHAR(3)
a_dow2 VARCHAR(12)
a_day1 VARCHAR(2)
a_day2 VARCHAR(2)
a_week VARCHAR(12)
ColumnName DataType Comment
a_month_code VARCHAR(7)
a_month_code2 VARCHAR(6)
a_month1 VARCHAR(2)

205
a_month2 VARCHAR(2)
a_month3 VARCHAR(6)
a_month4 VARCHAR(10)
a_quarter_code VARCHAR(6)
a_quarter_code2 VARCHAR(6)
a_quarter VARCHAR(6)
a_semestercode VARCHAR(7)
a_semester VARCHAR(6)
a_year VARCHAR(4)
n_dow INTEGER
n_week INTEGER
n_day INTEGER
n_month INTEGER
n_quarter_code INTEGER
n_quarter INTEGER
n_semester_code INTEGER
n_semester INTEGER
n_year INTEGER

dimfechainicial

Maneja los periodos de tiempo: Año, Semestre, Trimestre, Mes, Fecha, relacionados con la fecha de
origen.

ColumnName DataType Comment


jul_date TIMESTAMP

Fecha en formato variable caractér


fecha_1 VARCHAR(8)
de ocho (8) posiciones.

s_date VARCHAR(20)
a_date VARCHAR(10)
a_dow1 VARCHAR(3)
a_dow2 VARCHAR(12)
a_day1 VARCHAR(2)
a_day2 VARCHAR(2)
ColumnName DataType Comment
a_week VARCHAR(12)
a_month_code VARCHAR(7)
a_month_code2 VARCHAR(6)
a_month1 VARCHAR(2)

206
a_month2 VARCHAR(2)
a_month3 VARCHAR(6)
a_month4 VARCHAR(10)
a_quarter_code VARCHAR(6)
a_quarter_code2 VARCHAR(6)
a_quarter VARCHAR(6)
a_semestercode VARCHAR(7)
a_semester VARCHAR(6)
a_year VARCHAR(4)
n_dow INTEGER
n_week INTEGER
n_day INTEGER
n_month INTEGER
n_quarter_code INTEGER
n_quarter INTEGER
n_semester_code INTEGER
n_semester INTEGER
n_year INTEGER

dimlineaproducto

Tabla que contiene lo datos relacionados con las líneas de producto.


ColumnName DataType Comment

Identificador único de las líneas de


idlineaproducto INTEGER
producto. LINEAPRODUCTO.ID

Nombre de las líneas de producto.


nombrelineaproducto VARCHAR(100)
LINEAPRODUCTO.NOMBRE

ColumnName DataType Comment

LINEAPRODUCTO.DESCRIPCIO
descripcionlineaproducto VARCHAR(500)
N

207
dimplataformaalmacenamiento

Tabla de códigos, nombres y atributos de la plataforma de almacenamiento del SAAB.

ColumnName DataType Comment

Es el identificador único de las


plataformas del almacenamiento.
idplataformaalmacenamiento INTEGER
PLATAFORMAALMACENAMIENT
O.ID

PLATAFORMAALMACENAMIENT
altoplataformaalmacenamiento INTEGER
O.ALTO

PLATAFORMAALMACENAMIENT
anchoplataformaalmacenamiento INTEGER
O.ANCHO

PLATAFORMAALMACENAMIENT
largoplataformaalmacenamiento INTEGER
O.LARGO

capacidadmaxplataformaalmacenamien PLATAFORMAALMACENAMIENT
INTEGER
to O.CAPACIDADMAX

Es el nombre de las plataformas


de almacenamiento.
nombreplataformaalmacenamiento VARCHAR(150)
PLATAFORMAALMACENAMIENT
O.NOMBRE

PLATAFORMAALMACENAMIENT
activoplataformaalmacenamiento VARCHAR(1)
O.ACTIVO

dimtipomuelle

Tabla de códigos y nombres de los tipos de muelle del SAAB.


ColumnName DataType Comment

Identifcador único de los tipos de


idtipomuelle INTEGER muelle del SAAB.
TIPOMUELLE.ID

208
Nombre para los tipos de muelle
nombretipomuelle VARCHAR(50) del SAAB.
TIPOMUELLE.NOMBRE

descripciontipomuelle VARCHAR(500) TIPOMUELLE.DESCRIPCION

activotipomuelle VARCHAR(1) TIPOMUELLE.ACTIVO

dimtransportador

Tabla que contiene los codigos y nombres de los transportadores del sistema.
ColumnName DataType Comment

Identificador único del


idtransportador INTEGER transportador.
TRANSPORTADOR.ID

Nombre o descripción del


nombretransportador VARCHAR(200) transportador.
TRANSPORTADOR.NOMBRE

dimumt

Contiene las unidades de medida de tiempo.


ColumnName DataType Comment

Identificador único de las medidas


idumt INTEGER
de tiempo. UMT.ID

ColumnName DataType Comment

Nombre de las medidas de tiempo.


nombreumt VARCHAR(50)
UMT.NOMBRE

209
descripcionumt VARCHAR(500) UMT.DESCRIPCION

activoumt VARCHAR(1) UMT.ACTIVO

dimvehiculo

Tabla de codigos y descripciones de vehículos, tipos de vehículo, marca de vehículo y clase de


vehículo

ColumnName DataType Comment

Identificador unico para el


idvehiculo INTEGER
Vehiculo. VEHICULO.ID

Identificador único para los tipos


idtipovehiculo INTEGER
de vehículos TIPOVEHICULO.ID

Nombre o descripción del


nombrevehiculo VARCHAR(100)
vehículo. VEHICULO.NOMBRE

placavehiculo VARCHAR(10) VEHICULO.PLACA

capacidadvehiculo INTEGER VEHICULO.CAPCACIDAD

Nombre o descripción para los


nombretipovehiculo VARCHAR(50) tipos de vehículos.
VEHICULO.NOMBRE

ColumnName DataType Comment

descripciontipovehiculo VARCHAR(500) TIPOVEHICULO.DESCRIPCION

MARCAVEHICULOCLASEVEHIC
idmarcavehiculoclasevehiculo INTEGER
ULO.ID

210
Identificador único para la marca
idmarcavehiculo INTEGER del vehículo.
MARCAVEHICULO.ID

Identificador único para la clase


idclasevehiculo INTEGER
del vehículo. CLASEVEHICULO.ID

Nombre de la marca de los


nombremarcavehiculo VARCHAR(50) vehículos.
MARCAVEHICULO.NOMBRE

MARCAVEHICULO.DESCRIPCIO
descripcionmarcavehiculo VARCHAR(500)
N

activomarcavehiculo VARCHAR(1) MARCAVEHICULO.ACTIVO

Nombre de la clase de vehiculo.


nombreclasevehiculo VARCHAR(50)
CLASEVEHICULO.NOMBRE

CLASEVEHICULO.DESCRIPCIO
descripcionclasevehiculo VARCHAR(500)
N

activoclasevehiculo VARCHAR(1) CLASEVEHICULO.ACTIVO

dimzonaacopio

Contiene todas las zonas de acopio, identificadores, nombres y atributos.


ColumnName DataType Comment

Identificador único de las zonas de


idzonaacopio INTEGER
acopio. ZONAACOPIO.ID

211
Nombre de la zona de acopio.
nombrezonaacopio VARCHAR(200)
ZONAACOPIO.NOMBRE

descripcionzonaacopio VARCHAR(500) ZONAACOPIO.DESCRIPCION

activozonaacopio VARCHAR(1) ZONAACOPIO.ACTIVO

facttransporte

Tabla de hechos del modelo, esta formada por dos tablas "Muelle" y "OrdenServicioTransporte".
ORDENSERVICIOTRANSPORTE.IDMUELLE = MUELLE.ID

ColumnName DataType Comment

Identificador único de la orden de


servicio de transporte.
idordenserviciotransporte INTEGER
ORDENSERVICIOTRANSPORTE.
ID

Fecha de destino de la orden de


servicio de transporte que se
relaciona con la tabla maestra de
fechadestino VARCHAR(8) las fechas.
ORDENSERVICIOTRANSPORTE.
FECHADESTINO=DIMFECHAFIN
AL.FECHA1

ColumnName DataType Comment

212
Fecha de origen de la orden de
servicio de transporte que se
relaciona con la tabla maestra de
fechaorigen VARCHAR(8) fechas.
ORDENSERVICIOTRANSPORTE.
FECHAORIGEN=DIMFECHAINICI
AL.FECHA1

Hora en que llegará el servicio de


transporte.
horadestino VARCHAR(6)
ORDENSERVICIOTRANSPORTE.
HORADESTINO

Hora en que sale el servicio de


transporte.
horaorigen VARCHAR(6)
ORDENSERVICIOTRANSPORTE.
HORAORIGEN

Es un valor lógico que indica si el


ítem se encuentra o no en el
itemcronogramaasignado VARCHAR(1) cronograma.
ORDENSERVICIOTRANSPORTE.
ITEMCRONOGRAMAASIGNADO

Peso que tiene el transporte.


pesoreal INTEGER ORDENSERVICIOTRANSPORTE.
PESOREAL

ColumnName DataType Comment

Identificador único de los muelles.


idmuelle INTEGER
MUELLE.ID

213
Identificador único del vehículo
utilizado para el transporte, se
idvehiculo INTEGER relaciona con la tabla de vehículo.
ORDENSERVICIOTRANSPORTE.
IDVEHICULO = VEHICULO.ID

Identificador único para los


transportadores que se relaciona
con la tabla transportador.
idtransportador INTEGER
ORDENSERVICIOTRANSPORTE.
IDTRANSPORTADOR =
TRANSPORTADOR.ID

Identificador único para las zonas


de acopio que se relaciona con la
tabla maestra de las zonas de
idzonaacopio INTEGER acopio.
ORDENSERVICIOTRANSPORTE.
IDZONAACOPIO =
ZONAACOPIO.ID

Identificador único para el estado


de la orden de servicio de
transporte que se relaciona con la
tabla maestra
estadoordenserviciotransporte.
idestadoordenserviciotransporte INTEGER
ORDENSERVICIOTRANSPORTE.
IDESTADOORDENSERVICIOTRA
NSPORTE =
ESTADOORDENSERVICIOTRAN
SPORTE.ID

ColumnName DataType Comment

ORDENSERVICIOTRANSPORTE.
idordenservicio INTEGER
IDORDENSERVICIO

214
Nombre del muelle.
nombremuelle VARCHAR(200)
MUELLE.NOMBRE

MUELLE.NOMBRECORTOMUELL
nombrecortoareamuelle VARCHAR(100)
E

ancho INTEGER MUELLE.ANCHO

largo INTEGER MUELLE.LARGO

descripcionmuelle VARCHAR(500) MUELLE.DESCRIPCIONMUELLE

Es el tiempo final de llegada del


camión de transporte.
tiempofinalarribocamiones VARCHAR(9)
MUELLE.TIEMPOFINALARRIBOC
AMIONES

Es el tiempo final de salida del


camión de transporte.
tiempofinalsalidacamiones VARCHAR(9)
MUELLE.TIEMPOFINALSALIDAC
AMIONES

Es el tiempo inicial de llegada del


camión de transporte.
tiempoinicioarribocamiones VARCHAR(9)
MUELLE.TIEMPOINICIOARRIBO
CAMIONES

ColumnName DataType Comment

215
Es el tiempo inicial de salida del
camión de transporte.
tiempoiniciosalidacamiones VARCHAR(9)
MUELLE.TIEMPOINICIOSALIDAC
AMIONES

Tonelaje máximo soportado por el


tonelajemax INTEGER
muelle. MUELLE.TONELAJEMAX

Es un valor lógico que indica si el


refrigeracion VARCHAR(1) muelle posee o no refrigeración.
MUELLE.REFRIGERACION

umt INTEGER MUELLES.UMT

activa VARCHAR(1) MUELLE.ACTIVA

Unidad de medida de tiempo


utilizada en los muelles que se
idumt INTEGER relaciona con la tabla maestra de
medidas de tiempo.
MUELLE.IDUMT = UMT.ID

Identificador único para el estado


del muelle el cual se relaciona con
la tabla maestra de estados de
idestadomuelle INTEGER
muelles.
MUELLE.IDESTADOMUELLE =
ESTADOMUELLE.ID

Identificador único para el tipo de


muelle el cual se relaciona con la
idtipomuelle INTEGER tabla maestra de tipos de muelle.
MUELLE.IDTIPOMUELLE =
TIPOMUELLE.ID

216
ColumnName DataType Comment

Identificador único de la línea de


producto el cual se relaciona con
la tabla maestra de líneas de
idlineaproducto INTEGER
producto.
MUELLE.IDLINEAPRODUCTO =
LINEAPRODUCTO.ID

Identificador único para la


plataforma de almacenamiento, se
relaciona con la tabla maestra de
plataformas de almacenamiento.
idplataformaalmacenamiento INTEGER
MUELLE.IDPLATAFORMAALMAC
ENAMIENTO =
PLATAFORMAALMACENAMIENT
O.ID

Demanda
dimagrupabilidad

ColumnName DataType Comment

Es el identificador de la agupabilidad
idagrupabilidad INTEGER AGRUPABILIDAD.ID

Es el nombre de la agrupabilidad
nombreagrupabilidad VARCHAR(50) AGRUPABILIDAD.NOMBRE

217
dimdemandaconsolidada

ColumnName DataType Comment

Es el identificador de la demanda
consolidada
iddemandaconsolidada INTEGER DEMANDACONSOLIDADA.ID

Es la descripcion de la demanda
consolidada
DEMANDACONSOLIDADA.DESCRIP
descripcioncortademandaconsolidada VARCHAR(30) CIONCORTA

dimdemandaunitaria

ColumnName DataType Comment

Es el identificador de la demanda
iddemandaunitaria INTEGER unitaria DEMANDAUNITARIA.ID

Es la descripcion de la demanda
unitaria
DEMANDAUNITARIA.DESCRIPCIONC
descripcioncortademandaunitaria VARCHAR(30) ORTA

dimestadodemanda

ColumnName DataType Comment

218
Es el identificador del estad
idestadodemanda INTEGER demandado ESTADODEMANDA.ID

Es el nombre del estado demandado


nombreestadodemanda VARCHAR(50) ESTADODEMANDA.NOMBRE

dimestadoitem

ColumnName DataType Comment

Es el identificador del estado de cada


idestadoitem INTEGER item ESTADOITEM.ID

Es el nombre del estado de cada item


nombreestadoitem VARCHAR(50) ESTADOITEM.NOMBRE

dimpuntodemanda

ColumnName DataType Comment

Es el identificador del punto de oferta


idpuntooferta INTEGER PUNTOOFERTA.ID

Es el identificador del punto logistico


idpuntologistico INTEGER PUNTOLOGISTICO.ID

Es nombre del punto logistico


nombrepuntologistico VARCHAR(100) PUNTOLOGISTICO.NOMBRE

219
ColumnName DataType Comment

Es el identificador del negociante


idnegociante INTEGER NEGOCIANTE.ID

Es el nombre del negociante


nombrenegociante VARCHAR(100) NEGOCIANTE.NOMBRE

dimreddemanda

ColumnName DataType Comment

Es el identificador de la red demanda


idreddemanda INTEGER REDDEMANDA.ID

Es el nombre de la red demandada


nombrereddemanda VARCHAR(50) REDDEMANDA.NOMBRE

Es el identificador de la nutri red


idnutrired INTEGER NUTRIRED.ID

Es el estado de la red demanda


activoreddemanda VARCHAR(1) REDDEMANDA.ACTIVO

Es el identificador de la zona logistica


aptomercadosolidarioreddemanda VARCHAR(1) ZONALOGISTICA.ID

Es el identificador de la zona logistica


idzonalogistica INTEGER ZONALOGISTICA.ID

220
ColumnName DataType Comment

Es el identificador de la seleccion
preferencial
idseleccionpreferencia INTEGER SELECCIONPREFERENCIAL.ID

Es el identificador de la nutri red


idtipored INTEGER NUTRIRED.ID

Es el nombre de la nutri red


nombrenutrired VARCHAR(50) NUTRIRED.NOMBRE

Es el estado de la nutri red


activonutrired VARCHAR(1) NUTRIRED.ACTIVO

Indica si la nutri red es acta para ser


mercado solidario
NUTRIRED.APTOMERCADOSOLIDAR
aptomercadosolidarionutrired VARCHAR(1) IO

Es el codigo de saa de la nutrire


codigosaabnutrired VARCHAR(50) NUTRIRED.CODIGOSAANUTRIRED

Es estado de la nutri red


estadorednutrired VARCHAR(50) NUTRIRED.ACTIVO

Es la direccion nutrired
direccionnutrired VARCHAR(50) NUTRIRED.DIRECCION

Es el nombre de la zona logistica


nombrezonalogistica VARCHAR(200) ZONALOGISTICA.NOMBRE

221
ColumnName DataType Comment

Es el valor del flete por tonelada


estadozonalogistica VARCHAR(1) VALORFLETETONELADA

Es el identificador del tipo de cobertura


valorfletetonelada INTEGER TIPOCOBERTURA.ID

Es el tipo de cobertura
idtipocobertura INTEGER TIPOCOBERTURA.ID

Es el nombre del tipo de cobertura


nombretipocobertura VARCHAR(50) TIPOCOBERTURA.NOMBRE

Es la descripcion del tipo de cobertura


descripciontipocobertura VARCHAR(500) TIPOCOBERTURA.DESCRIPCION

Es el nombre del tipo de cobertura


activotipocobertura VARCHAR(1) TIPOCOBERTURA.ACTIVO

Es el codigo saa de la red de mar


NUTRIRED.CODIGOSAABREDDEMA
codigosaabreddemanda VARCHAR(50) R

Es el estado de la red de mar


estadoredreddemanda VARCHAR(50) NUTRIRED.ESTADOREDDEMAR

Es la direccion de la red de mar


NUTRIRED.DIRECCIONDEREDDEMA
direccionreddemanda VARCHAR(50) R

222
ColumnName DataType Comment

Es el nombre del tipo de red


nombretipored VARCHAR(50) TIPORED.NOMBRE

dimumdempaques

ColumnName DataType Comment

idumd INTEGER Es el dientificador de umd UMD.ID

nombreumd VARCHAR(50) Es el nombre de umd UMD.NOMBRE

pesoumd INTEGER Es el peso de umd UMD.PESO

Es la descripcion de umd
descipcionumd VARCHAR(500) UMD.DESRIPCION

activoumd VARCHAR(1) Es el estado de umd UMD.ACTIVO

unidadesumd INTEGER Es la unidad de umd UMD.UNIDAD

Es el identificador del empaque


idempaque INTEGER EMPAQUE.ID

Es el peso de la unidad de umd


pesounidadumd VARCHAR(100) UMD.PESOUNIDAD

Es el alto del empaque


altoempaque INTEGER EMPAQUE.ALTO

Es el ancho del empaque


anchoempaque INTEGER EMPAQUE.ANCHO

223
ColumnName DataType Comment

Es el largo del empaque


largoempaque INTEGER EMPAQUE.LARGO

Es la capacidad de apilamiento del


empaque
EMPAQUE.CAPACIDADDEAPILAMIEN
capacapilamientoempaque INTEGER TO

Es la capacidad del empaque


capacidadempaque INTEGER EMPAQUE.CAPACIDAD

Es la descripcion corta del empaque


desccortaempaque VARCHAR(200) EMPAQUE.DESCRICIONCORTA

Es la descripcion del largo del


empaque
desclargaempaque VARCHAR(500) EMPAQUE.DESCLARGAEMPAQUE

Es retornable el empaque
retornableempaque VARCHAR(1) EMPAQUE.RETORNABLE

Es el identificador del material


idmaterial INTEGER MATERIAL.ID

Es el identificador tipo de empaque


idtipoempaque INTEGER EMPAQUE.TIPOEMPAQUE

Es el nombre del tipo del empaque


nombretipoempaque VARCHAR(200) EMPAQUE.TIPOEMPAQUE

224
ColumnName DataType Comment

Es la descripcion del tipo de empaque


descripciontipoempaque VARCHAR(500) EMPAQUE.DESCRIPCIONTIPO

Es el estado del tipo de empaque


activotipoempaque VARCHAR(1) TIPOEMPAQUE.ACTIVO

Es el nombre del material del empaque


nombrematerial VARCHAR(200) MATERIAL.NOMBRE

Es la descripcion del material


descripcionmaterial VARCHAR(500) MATERIAL.DESCRIPCION

Es el estado del material


activomaterial VARCHAR(1) MATERIAL.ACTIVO

factdemanda

ColumnName DataType Comment

iditemdemandaunitaria INTEGER

iddemandaunitaria INTEGER
cantidad INTEGER
precio INTEGER
idtipoproducto INTEGER
idumd INTEGER
idestadoitem INTEGER

fechafinalrecepciondemandaunitaria VARCHAR(8)

225
ColumnName DataType Comment

fechainicialrecepciondemandaunitaria VARCHAR(8)

fechavencimientodemandaunitaria VARCHAR(8)

horafinalrecepciondemandaunitaria VARCHAR(9)

horainicialrecepciondemandaunitaria VARCHAR(9)

idagrupabilidaddemandaunitaria INTEGER

idestadodemandaunitaria INTEGER

iddemandaconsolidada INTEGER

idpuntodemandaunitaria INTEGER

descripcioncortademandaunitaria VARCHAR(30)

fechafinalrecepciondemandaconsolida
da VARCHAR(8)

fechainicialrecepciondemandaconsolid
ada VARCHAR(8)

fechavencimientodemandaconsolidada VARCHAR(8)

horafinalrecepciondemandaconsolidad
a VARCHAR(9)

horainicialrecepciondemandaconsolida
da VARCHAR(9)

idagrupabilidaddemandaconsolidada INTEGER

idestadodemandaconsolidada INTEGER

iddemandanutriredconsolidada INTEGER

idreddemandaconsolidada INTEGER

ColumnName DataType Comment

226
descripcioncortademandaconsolidada VARCHAR(30)

fechafinalrecepciondemandaconsolidada

ColumnName DataType Comment


jul_date TIMESTAMP
fecha_1 VARCHAR(8)
s_date VARCHAR(20)
a_date VARCHAR(10)
a_dow1 VARCHAR(3)
a_dow2 VARCHAR(12)
a_day1 VARCHAR(2)
a_day2 VARCHAR(2)
a_week VARCHAR(12)
a_month_code VARCHAR(7)

a_month_code2 VARCHAR(6)
a_month1 VARCHAR(2)
a_month2 VARCHAR(2)
a_month3 VARCHAR(6)
a_month4 VARCHAR(10)

a_quarter_code VARCHAR(6)

a_quarter_code2 VARCHAR(6)
a_quarter VARCHAR(6)

a_semestercode VARCHAR(7)
a_semester VARCHAR(6)
a_year VARCHAR(4)
n_dow INTEGER
n_week INTEGER
n_day INTEGER
n_month INTEGER

n_quarter_code INTEGER
n_quarter INTEGER

n_semester_code INTEGER
n_semester INTEGER
ColumnName DataType Comment
n_year INTEGER

227
fechafinalrecepciondemandaunitaria

ColumnName DataType Comment


jul_date TIMESTAMP
fecha_1 VARCHAR(8)
s_date VARCHAR(20)
a_date VARCHAR(10)
a_dow1 VARCHAR(3)
a_dow2 VARCHAR(12)
a_day1 VARCHAR(2)
a_day2 VARCHAR(2)
a_week VARCHAR(12)
a_month_code VARCHAR(7)

a_month_code2 VARCHAR(6)
a_month1 VARCHAR(2)
a_month2 VARCHAR(2)
a_month3 VARCHAR(6)
a_month4 VARCHAR(10)

a_quarter_code VARCHAR(6)

a_quarter_code2 VARCHAR(6)
a_quarter VARCHAR(6)

a_semestercode VARCHAR(7)
a_semester VARCHAR(6)
a_year VARCHAR(4)
n_dow INTEGER
n_week INTEGER
n_day INTEGER
n_month INTEGER

n_quarter_code INTEGER
n_quarter INTEGER

n_semester_code INTEGER
n_semester INTEGER
n_year INTEGER

fechainicialrecepciondemandaconsolidada

ColumnName DataType Comment


jul_date TIMESTAMP
fecha_1 VARCHAR(8)

228
s_date VARCHAR(20)
a_date VARCHAR(10)
a_dow1 VARCHAR(3)
a_dow2 VARCHAR(12)
a_day1 VARCHAR(2)
a_day2 VARCHAR(2)
a_week VARCHAR(12)
a_month_code VARCHAR(7)

a_month_code2 VARCHAR(6)
a_month1 VARCHAR(2)
a_month2 VARCHAR(2)
a_month3 VARCHAR(6)
a_month4 VARCHAR(10)

a_quarter_code VARCHAR(6)

a_quarter_code2 VARCHAR(6)
a_quarter VARCHAR(6)

a_semestercode VARCHAR(7)
a_semester VARCHAR(6)
a_year VARCHAR(4)
n_dow INTEGER
n_week INTEGER
n_day INTEGER
n_month INTEGER

n_quarter_code INTEGER
n_quarter INTEGER

n_semester_code INTEGER
n_semester INTEGER
n_year INTEGER

fechainicialrecepciondemandaunitaria

ColumnName DataType Comment


jul_date TIMESTAMP
fecha_1 VARCHAR(8)
s_date VARCHAR(20)
a_date VARCHAR(10)
a_dow1 VARCHAR(3)
a_dow2 VARCHAR(12)

229
a_day1 VARCHAR(2)
a_day2 VARCHAR(2)
a_week VARCHAR(12)
a_month_code VARCHAR(7)

a_month_code2 VARCHAR(6)
a_month1 VARCHAR(2)
a_month2 VARCHAR(2)
a_month3 VARCHAR(6)
a_month4 VARCHAR(10)

a_quarter_code VARCHAR(6)

a_quarter_code2 VARCHAR(6)
a_quarter VARCHAR(6)

a_semestercode VARCHAR(7)
a_semester VARCHAR(6)
a_year VARCHAR(4)
n_dow INTEGER
n_week INTEGER
n_day INTEGER
n_month INTEGER

n_quarter_code INTEGER
n_quarter INTEGER

n_semester_code INTEGER
n_semester INTEGER
n_year INTEGER

fechavencimientodemandaconsolidada

ColumnName DataType Comment


jul_date TIMESTAMP
fecha_1 VARCHAR(8)
s_date VARCHAR(20)
ColumnName DataType Comment
a_date VARCHAR(10)
a_dow1 VARCHAR(3)
a_dow2 VARCHAR(12)
a_day1 VARCHAR(2)
a_day2 VARCHAR(2)
a_week VARCHAR(12)
a_month_code VARCHAR(7)

230
a_month_code2 VARCHAR(6)
a_month1 VARCHAR(2)
a_month2 VARCHAR(2)
a_month3 VARCHAR(6)
a_month4 VARCHAR(10)

a_quarter_code VARCHAR(6)

a_quarter_code2 VARCHAR(6)
a_quarter VARCHAR(6)

a_semestercode VARCHAR(7)
a_semester VARCHAR(6)
a_year VARCHAR(4)
n_dow INTEGER
n_week INTEGER
n_day INTEGER
n_month INTEGER

n_quarter_code INTEGER
n_quarter INTEGER

n_semester_code INTEGER
n_semester INTEGER
n_year INTEGER

231
OFERTA
dimdemandanteindividual

ColumnName DataType Comment

Es el identificador del demandante


individual
iddemandanteindividual INTEGER DEMANDANTEINDIVIDUAL.ID

Es el identificador del negociante que


realiza la demanda individual
DEMANDANTEINDIVIDUAL.IDNEGOC
idnegociante INTEGER IANTE

Es el identificador del tipo de


negociante que realiza la demanda
individual
DEMANDANTEINDIVIDUAL.IDTIPONE
idtiponegocio INTEGER GOCIANTE

Es el nombre del demandante


nombrenegociantedemandante VARCHAR(100) individual

dimestadooferta

ColumnName DataType Comment

Es el identificador del estado de la


idestadooferta NUMERIC oferta ESTADOOFERTA.ID

ColumnName DataType Comment

232
Es el nombre del estdo de la oferta
nombreestadooferta VARCHAR(50) ESTADOOFERTA.NOMBRE

Es la descripcion del estado de la oferta


descripcionestadooferta VARCHAR(500) ESTADOOFERTA.DESCRIPCION

Indica si el estado de la oferta se


encuentra activo
activo VARCHAR(1) ESTADOOFERTA.ACTIVO

dimmoneda
ColumnName DataType Comment

Es el identificador unico de la moneda


idMoneda NUMERIC MONEDA.ID

Es el nombre que se le ha asignado a


la moneda
NombreMoneda VARCHAR(100) MONEDA.NOMBREMONEDA

dimofertaconsolidada

ColumnName DataType Comment

Es el identificador unico de las ofertas


consolidadas
idofertaconsolidada INTEGER OFERTACONSOLIDADA.ID

ColumnName DataType Comment

233
Es la descricpion de la oferta solidaria
OFERTACONSOLIDADA.DESCRIPCI
descripcionofertaconsolidada VARCHAR(500) ON

dimofertaunitaria

ColumnName DataType Comment

Es el identificador de la oferta unitaria


idofertaunitaria INTEGER OFERTAUNITARIA.ID

Es la descripcion de la oferta unitaria


descripcionofertaunitaria VARCHAR(500) OFERTAUNITARIA.DESCRIPCION

dimproductoregistrado

ColumnName DataType Comment

Es el identificador del producto


registrado
idproductoregistrado INTEGER EXTR_PRODUCTOREGISTRADO.ID

Es el identificador de la varidad
idvariedad INTEGER VARIEDAD.ID

ColumnName DataType Comment

234
Es el identificador del tipo de producto
registrado
EXTR_PRODUCTOREGISTRADO.IDTI
idtipoproducto INTEGER PRODUCTOREGISTRADO

Es el nombre de la variedad
nombrevariedad VARCHAR(50) VARIEDAD.NOMBRE

Es el identificador del producto


idproducto INTEGER PRODUCTO.ID

Es el nombre del producto


nombre VARCHAR(50) PRODUCTO.NOMBRE

Es el identificador de la categoria del


idcategoriaproducto INTEGER producto CATEGORIAPRODUCTO.ID

Es el nombre del producto


nombreproducto VARCHAR(100) PRODUCTO.NOMBRE

Es el nombre de la categoria del


producto
nombreproductoregistrado VARCHAR(100) CATEGORIAPRODUCTO.NOMBRE

Es el nombre de la categoria del


producto
nombrecategoriaproducto VARCHAR(100) CATEGORIAPRODUCTO.NOMBRE

Es el identificador de la linea del


idlineaproducto INTEGER producto LINEAPRODUCTO.ID

Es el nombre de la linea del producto


nombrelineaproducto VARCHAR(100) LINEAPRODUCTO.NOMBRE

235
dimpuntooferta

ColumnName DataType Comment

Es el identificador del punto de la oferta


idpuntooferta NUMERIC PUNTOOFERTA.ID

Es el identificador del punto logistico


idpuntologistico NUMERIC PUNTOOFERTA.IDPUNTOLOGISTICO

nombrepuntologistico VARCHAR(100) Es nombre dle punto logistico

Es el identificador del negociante


idnegociante NUMERIC NEGOCIANTE.ID

Es el nombre del negociante que


realizar la oferta
nombrenegociante VARCHAR(100) NEGOCIANTE.NOMBRE

dimredoferta

ColumnName DataType Comment

ColumnName DataType Comment

Es el identificador de la red ofertad


idredoferta INTEGER REDOFERTA.ID

Es el nombre de l are oferente


nombreredoferta VARCHAR(50) REDOFERTA.NOMBRE

236
Es el estado de la red oferente
activoredoferta VARCHAR(1) REDOFERENTE.ACTIVO

Es el identificador de la agro red


aptomercadosolidarioredoferta VARCHAR(1) AGRORED.ID

Es el identificador de la agro reed a la


que pertenece la red oferente
idagrored INTEGER AGRORED.ID

Es el nombre de la agro red


nombreagrored VARCHAR(50) AGRORED.NOMBRE

Es el estado de la agrored
activoagrored VARCHAR(1) AGRORED.ACTIVO

Es la determinacion de si la agro red es


apta para ser mecado solidario
AGRORED.APTOMERCADOSOLIDAR
aptomercadosolidarioagrored VARCHAR(1) IO

dimreservaoferta

ColumnName DataType Comment

Es el identificador de la reserva de la
idreservaoferta INTEGER oferta RESERVAOFERTA.ID

Es el identificador de la red demandada


idreddemanda NUMERIC RESERVAOFERTA.IDREDDEMANDA

237
nombreredemanda VARCHAR(50) Es el nombre de la red demandada

Es el identificador de la nutri red


idnutrired NUMERIC NUTRIRED.ID

Es el nombre de la nutri red


nombrenutrired VARCHAR(50) NUTRIRED.NOMBRE

dimtipooferta

ColumnName DataType Comment

Es el identificador del tipo de oferta


idtipooferta NUMERIC TIPOOFERTA.ID

Es el nombre del tipo de oferta


nombretipooferta VARCHAR(50) TIPOOFERTA.NOMBRE

Es la descripcion del tipo de oferta


descripciontipooferta VARCHAR(500) TIPOOFERTA.DESCRIPCION
Es el estado en el que se encuentra el
activo VARCHAR(1) tipo de oferta TIPOOFERTA.ACTIVO

vigenciafechafinalconsolidada

ColumnName DataType Comment

vigenciafechafinalconsolidada TIMESTAMP
fecha_1 VARCHAR(8)
s_date VARCHAR(20)
a_date VARCHAR(10)
a_dow1 VARCHAR(3)
a_dow2 VARCHAR(12)

238
a_day1 VARCHAR(2)
a_day2 VARCHAR(2)
a_week VARCHAR(12)
a_month_code VARCHAR(7)

a_month_code2 VARCHAR(6)
a_month1 VARCHAR(2)
a_month2 VARCHAR(2)
a_month3 VARCHAR(6)
a_month4 VARCHAR(10)

a_quarter_code VARCHAR(6)

a_quarter_code2 VARCHAR(6)
a_quarter VARCHAR(6)

a_semestercode VARCHAR(7)
a_semester VARCHAR(6)
a_year VARCHAR(4)
n_dow INTEGER
n_week INTEGER
n_day INTEGER
n_month INTEGER

n_quarter_code INTEGER
n_quarter INTEGER

n_semester_code INTEGER
n_semester INTEGER
n_year INTEGER

vigenciafechafinalunitaria

ColumnName DataType Comment

vigenciafechafinalunitaria TIMESTAMP
fecha_1 VARCHAR(8)
s_date VARCHAR(20)
a_date VARCHAR(10)
a_dow1 VARCHAR(3)
a_dow2 VARCHAR(12)
a_day1 VARCHAR(2)
a_day2 VARCHAR(2)
a_week VARCHAR(12)
a_month_code VARCHAR(7)

a_month_code2 VARCHAR(6)

239
a_month1 VARCHAR(2)
a_month2 VARCHAR(2)
a_month3 VARCHAR(6)
a_month4 VARCHAR(10)

a_quarter_code VARCHAR(6)

a_quarter_code2 VARCHAR(6)
a_quarter VARCHAR(6)

a_semestercode VARCHAR(7)
a_semester VARCHAR(6)
a_year VARCHAR(4)
n_dow INTEGER
n_week INTEGER
n_day INTEGER
n_month INTEGER

n_quarter_code INTEGER
n_quarter INTEGER

n_semester_code INTEGER
n_semester INTEGER
n_year INTEGER

vigenciafechainicialconsolidada

ColumnName DataType Comment

vigenciafechainicialconsolidada TIMESTAMP
fecha_1 VARCHAR(8)
s_date VARCHAR(20)
a_date VARCHAR(10)
a_dow1 VARCHAR(3)
a_dow2 VARCHAR(12)
a_day1 VARCHAR(2)
a_day2 VARCHAR(2)
a_week VARCHAR(12)
a_month_code VARCHAR(7)

a_month_code2 VARCHAR(6)
a_month1 VARCHAR(2)
a_month2 VARCHAR(2)
a_month3 VARCHAR(6)
a_month4 VARCHAR(10)

240
a_quarter_code VARCHAR(6)

a_quarter_code2 VARCHAR(6)
a_quarter VARCHAR(6)

a_semestercode VARCHAR(7)
a_semester VARCHAR(6)
a_year VARCHAR(4)
n_dow INTEGER
n_week INTEGER
n_day INTEGER
n_month INTEGER

n_quarter_code INTEGER
n_quarter INTEGER

n_semester_code INTEGER
n_semester INTEGER
n_year INTEGER

vigenciafechainicialunitaria

ColumnName DataType Comment

VigenciaFechaInicialUnitaria TIMESTAMP
fecha_1 VARCHAR(8)
ColumnName DataType Comment
s_date VARCHAR(20)
a_date VARCHAR(10)
a_dow1 VARCHAR(3)
a_dow2 VARCHAR(12)
a_day1 VARCHAR(2)
a_day2 VARCHAR(2)
a_week VARCHAR(12)
a_month_code VARCHAR(7)

a_month_code2 VARCHAR(6)
a_month1 VARCHAR(2)
a_month2 VARCHAR(2)
a_month3 VARCHAR(6)
a_month4 VARCHAR(10)

a_quarter_code VARCHAR(6)

a_quarter_code2 VARCHAR(6)
a_quarter VARCHAR(6)

241
a_semestercode VARCHAR(7)
a_semester VARCHAR(6)
a_year VARCHAR(4)
n_dow INTEGER
n_week INTEGER
n_day INTEGER
n_month INTEGER

n_quarter_code INTEGER
n_quarter INTEGER

n_semester_code INTEGER
n_semester INTEGER
n_year INTEGER

factoferta

ColumnName DataType Comment

idofertaconsolidada INTEGER

vigenciafechafinalconsolidada TIMESTAMP

vigenciafechainicialconsolidada TIMESTAMP
ColumnName DataType Comment

vigenciafechafinalunitaria TIMESTAMP

VigenciaFechaInicialUnitaria TIMESTAMP

descripcionofertaconsolidada VARCHAR(500)
valoroferta NUMERIC
visibilidad VARCHAR(1)
cantitems NUMERIC
idmoneda NUMERIC

idofertaunitaria INTEGER

descripcionofertaunitaria VARCHAR(500)

ofertaagrupable VARCHAR(1)
incluyeiva VARCHAR(1)

iddemandanteindividual INTEGER

idpuntodemanda NUMERIC

242
vigenciahorainicialUnitaria VARCHAR(6)

vigenciahorafinofertaunitaria VARCHAR(6)

vigenciahorafinalUnitaria VARCHAR(8)

horafinalizacionreservaoferta VARCHAR(6)

vigenciahorainicialConsolidada VARCHAR(6)

vigenciahorafinalconsolidada VARCHAR(6)

idredofertaconsolidada INTEGER

idtipoofertaconsolidada INTEGER

idestadoofertaconsolidada INTEGER

idreservaofertaconsolidada INTEGER

idpuntoofertaunitaria NUMERIC

idestadoofertaunitaria NUMERIC

idtipoofertaunitaria NUMERIC

idreservaofertaunitaria INTEGER
ColumnName DataType Comment

iditemofertaunitaria INTEGER

cantidaditemofertaunitaria INTEGER
divisible VARCHAR(1)

observaciones VARCHAR(500)
precio INTEGER

cantminproducto INTEGER
idestadoitem INTEGER

idproductoregistrado INTEGER
visible VARCHAR(1)
valortotal INTEGER

cantidaddisponible INTEGER
preciototal INTEGER

vigenciahorafinalConsolidada INTEGER

243

También podría gustarte