Re: TRIGGERS: lo prometido es ....

From: Mario Cassanelli <mcassan(at)speedy(dot)com(dot)ar>
To: Ricardo Fuentes Pereira <rfuentesp(at)gmail(dot)com>
Cc: lista de ayuda de postgresql <pgsql-es-ayuda(at)postgresql(dot)org>
Subject: Re: TRIGGERS: lo prometido es ....
Date: 2005-05-21 02:55:00
Message-ID: 428EA304.9060402@speedy.com.ar
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

Hola Ricardo,
Mirá la idea de mantenimiento de jerarquias no es mia, en uno de los
correos está la dirección de donde saque el artículo, eso por un lado.

Por otro lado la organización de venta por el modelo de multinivel
trabaja de la siguiente
manera: es un arbol invertido en donde -obviamente- la raiz se encuentra
arriba. Ya llevo 3 años armando procedimientos y funciones para este
tipo de organización y modelo de negocios y lo que necesites esta a tu
disposición.

La organizacion es mas o menos asi, se lo llama distribuidor o
patrocinador, este tiene gente a su cargo personas que venden para ellos
que son a su vez distribuidores, y se los llama patrocinados, sus
distribuidores patrocinados por aquel.

Asi te queda algo mas o menos como esto
[1] NANCY -> .1.
| [2] ANDREW -> .1.2.
| | [5] JORGE -> .1.2.5.
| [3] JANET -> .1.3.
| | [7] NOEMI -> .1.3.7.
| | | [11] LORENA -> .1.3.7.11.
| | | | [14] SANTIAGO -> .1.3.7.11.14.
| | | [12] MARCELO -> .1.3.7.12.
| | | [13] EZEQUIEL -> .1.3.7.13.
| | [8] ANDREA -> .1.3.8.
| | [9] JAVITO -> .1.3.9.
| [4] CARLOS -> .1.4.
| | [10] GISELA -> .1.4.10.
| [6] MARISA -> .1.6.

Los numeros indican su posicion dentro del arbol, el 1 es la raiz, es un
distribuidor y no tiene patrocinador y su nivel es 0, luego por ejemplo
el 1.4 es el distribuidor 4 tiene como patrocinador al numero 1, esta
notación te permite ver el arbol y su profundidad, en este caso el
nivel, que en la tabla es el campo lvl.

La clave externa en la misma tabla exije que el patrocinador se
encuentre en la tabla, es decir si voy a insertar al distribuidor que es
patrocinado por el nro 1, el 1 tiene que haber sido ingresado de
antemano, de otra manera la restriccion no lo permite.

Los niveles te permiten saber quienes son -en la jerga de multinivel-
son sus frontales directos.
En el ejemplo siguiente el distribuidor nro 3 seria el nivel 0 y su
linea es .1.3., luego para el 3 sus frontales directos son aquellos que
se encuentran en el nivel 1, serian el 7, 8 y 9.
Los niveles son unicos, es decir se van creando a medida que se insertan
distribuidores. Luego dependiendo de donde te pares en el arbol, hay que
sacar quien es la raiz en esa posicion.

| [3] JANET -> .1.3.
| | *[7]* NOEMI -> *.1.3.7. <--Frontal directo*
| | | [11] LORENA -> .1.3.7.11. --> Patrocinados por el DI Nro 7
| | | | [14] SANTIAGO -> .1.3.7.11.14. --> Patrocinados
por el DI Nro 11
| | | [12] MARCELO -> .1.3.7.12. --> Patrocinados por el DI
Nro 7
| | | [13] EZEQUIEL -> .1.3.7.13. --> Patrocinados por el DI
Nro 7
| | *[8]* ANDREA -> *.1.3.8. **<--Frontal directo*
| | *[9]* JAVITO -> *.1.3.9. **<--Frontal directo*

En mi caso, las personas -distribuidores- efectuan compras a las que se
llaman volumenes, dependiendo de la cantidad de volumen o compras en un
periodo aumentan sus categorias o calificaciones las cuales segun el
plan de mercado se les asignan un porcentaje y de alli pueden o no
segun sus calificaciones obtener recompensas.

Espero que esto te ayude.
Saludos
Mario Cassanelli
ARG/Mar del Plata

In response to

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Martín Marqués 2005-05-21 11:36:32 Re: eror al utilizar lo_import
Previous Message Jairo Martín Miguel 2005-05-21 01:44:54 definicion del api de psqlODBC