Fundamental, para el cambio de Chip

Desde mi punto de vista la gran diferencia entre analizar en Velneo y en otras plataformas,es que Velneo nos van a permitir pensar en el Qué y no en el Cómo gracias a las particularidades de su base de datos”

Esto es fácil si asociamos

Proyecto de Datos = El Qué

Proyecto de Aplicación = El Cómo presentamos la información.

En otros tipos de lenguaje y bases de datos relacionales constantemente y a partir de los datos recurrimos a procesos para terminar de perfilar o inluso localizar la información o resultado que vamos a mostrar al usuario.

Si pensamos en el cómo , pensaremos en leer una información, tratarla y obtener un resultado, es decir en un proceso, y en Velneo esto normalmente no va a ser así.

La mayor desventaja de resolver la lógica deseada en un proceso, es que muchos de los cálculos y resultados intermedios que nos serán útiles en el futuro quedarán aislados , escondidos y no accesibles, relativamente bien resueltos si hemos utilizado funciones pero difíciles de encontrar y analizar para el que no hizo la aplicación

Creo que es mucho mas conveniente que todo cálculo, acumulado o valor que en cualquier momento necesitemos, este accesible desde cualquier punto de la base de datos, desde cualquier formulario, informe, rejilla o página web.

Veamos por qué en V7 la cosa cambia.

Lo primero será definir las tablas con los datos que van a ser introducidos y los campos que queremos obtener como resultado.Hasta aquí ninguna diferencia.

A partir de este punto debemos tener en cuenta que en Velneo:

No tengas temor en crear tantos campos en las tablas como necesites, aunque sean para guardar valores intermedios.Será mucho más cómodo crear un campo que utilizar una variable en un proceso.

No tengas temor en crear todos los índices que sean necesarios para establecer cualquier ordenación que nos interese.

No tengas temor en crear todos los enlace uno a uno como puedas.

¿Y los enlaces uno a muchos?

Velneo los crea de forma automática. Si creamos un enlace a maestro en una tabla (Por ejemplo desde facturas a Clientes) el sistema nos creará automáticamente todas las relaciones inversas , los enlaces plurales (Uno a Muchos) y creará uno por cada indice definido con el que le sea posible.

Por ejemplo si tenemos en facturas un índice Cliente-Importe y otro Cliente-Fecha, al definir que el campo Cliente es un puntero a maestro y crear esa relación, el sistema en Clientes creará dos enlaces Plurales de Clientes a Facturas, uno con cada uno de esos indices y por tanto dos ordenaciones distintas.

De esta forma entre Clientes y Facturas y apoyándonos en estos enlaces uno a muchos (De un cliente , todas sus facturas, tanto por fecha como por Importe) podremos definir relaciones uno a uno entre clientes y facturas.

Es decir crear una relacion uno a uno desde el cliente a su primera factura, a la última, a la de mayor importe, a la inmediatamente anterior a una fecha, etc. Esto es lo que denominamos Singulares de Plural por posición o por índice y que son una aspecto muy importante en los desarrollos en Velneo.

Y lo que es más importante, nada de esto penalizará los rendimientos de la aplicación.

A continuación deberemos resolver todos los campos de salida que hemos definido y crear todos los campos intermedios y tablas que sean necesario para ello, pero siempre pensando en el qué, nunca en el cómo , nunca mediante procesos.

Un ejemplo sencillo.

En clientes tenemos el campo Total de Ventas .

Si pensamos en el cómo , la respuesta será leer todas las ventas de un cliente, utilizar ua variable donde acumulemos y estaremos ya estamos elaborando un proceso. No es lo correcto en Velneo.

Si pensamos en el qué , el total de ventas de un cliente es la suma del importe de todas sus facturas. Por tanto necesitaremos darle un valor a ese campo.

El Campo total ventas es la suma de sus facturas, es decir el resultado de una actualización provocada por los registros de cabecera factura donde está el total de cada una de ellas.

Para ello solo necesitaremos que en la base de datos existan los enlaces necesarios y establecer su definición o actualización.

Si lo complicamos un poco más y queremos obtener el promedio de importe vendido por factura.

En ese caso es : El importe dividido por las unidades vendidas.

Necesitaremos un campo nuevo, que será el número de ventas realizadas , una nueva formula histórica o una actualización según nos convenga.

Y el valor del campo resultado será la división de ambos.

Esto parece obvio, pero a medida lo  compliquemos, las diferencias entre ambas formas de pensar serán más patentes.

Si queremos obtener una estadística de ventas por meses y artículos, deberemos olvidarnos de procesar información .

Crearemos en la base de datos la tabla tal y como la queremos obtener, definiremos un índice único por artículo, mes y año, un enlace indirecto desde la línea de Ventas , e indicaremos que esos registros se créen automáticamente desde la actualización correspondiente.

Pero nunca pensaremos en el cómo, es decir “Leeremos todas las ventas de un cliente e iremos acumulando….”

Siguiendo esa forma de programar, entenderemos por qué en Velneo, no es lógico hacer un recálculo para obtener un saldo de existencias o un saldo de una cuenta de contabilidad en cualquier fecha , sino que todos esos valores y resultados deberán estar definidos y resueltos en la base de datos, sea cual sea la fecha o incluso la hora si la aplicación lo requiriera.

Si funcionamos de esa manera, cauntos mas cálculos realicemos, cuanto más aparentemente se complique todo, más sencillo será resolver cualquier petición del cliente porque más datos y valores tendremos accesibles desde cualquier punto de nuestra aplicación.

Si embargo cuantas más cosas incluyamos en procesos, más dificil sera acceder a ellas, más difícil será recordar la función que lo resolvía y más dificil modificar el programa.

Al novel , le puede parecer que la base de datos de Velneo no da para tanto, a mi me costó casi 5 años, pues no he hecho procesos que después he encontrado absurdos, pero recuerdo grátamente mi último gran programa en Velneo, un control de costes de producción para una empresa con más de 200 trabajadores en planta y todo tipo de maquinaria.

Procesos largos = 0.

Todavía hoy alucino cuando me piden un nuevo requerimiento o resultado, un nuevo coeficiente o cambiar un concepto para afinar la rentabilidad de cada proceso y pieza lo cual se dá cada 5 o 6 meses..

Yo me limito a preguntar, eso que me pides ¿Que es? .

Apenas recuerdo nada de la aplicación , pero tan solo tengo que ir a las tablas, buscar los elementos que necesito y definir el nuevo resultado, que probablemente volveré a utilizar dentro de muchos años.

Eso es lo mejor de Velneo, que la base de datos , relaciones, etc no están para el disfrute de la ejecución y el usuario, sino para el propio programador.

Si os interesa podeis leer mas en “Mas alla de la bases de datos relacionales”



Ir a la página principal: Fundamentos en Velneo, análisis en el Modelo Real

Anuncios

Acerca de Miguel Pérez Oliver
Consultor de Velneo, Responsable Captación Latam y España (Hoy) . General Manager Iber Corporation, Fl,Usa (2 Años) Director de Producción y Compras Satiber (3 Años) CIO Grupo Iber (7 Años, 6 empresas internacionales y 400 usuarios) Programador Independiente (2 Años) Responsable Proyecto Sial (Sistema Informático para la Administración Local) Responsable Soporte área de Levante Microinformática , grupo Bull (2 Años) Experiencia en diversos lenguajes de programación, bases de Datos, dirección departamentos informática, organización, producción, comercial y gestión de compras. Mperez@velneo.com

5 Responses to Fundamental, para el cambio de Chip

  1. gegeo says:

    De los artículos mas claros para abrir los ojos con el cambio de chip que requiere V7.
    Gracias 😉

  2. Pingback: 1º Introducción | Miguel Pérez Oliver 米盖尔·佩雷斯·奥利维尔

  3. Pingback: Un vistazo a V7 | Miguel Pérez Oliver 米盖尔·佩雷斯·奥利维尔

  4. Pingback: Índice Primeros Pasos para empezar con Velneo V7 | Miguel Pérez Oliver 米盖尔·佩雷斯·奥利维尔

  5. Pingback: Fundamentos de Velneo : El Modelo Real de Base de Datos « Miguel Pérez Oliver

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

A %d blogueros les gusta esto: