Sei sulla pagina 1di 14

Tutor de Punteros indirectos, reales y virtuales

Tutor de Punteros indirectos, reales y virtuales .................................................................................1 Punteros indirectos reales y virtuales............................................................................................2 Puntero indirecto real ................................................................................................................2 Esquema de tablas del tutor ....................................................................................................2 Qu es y cmo se establece el puntero indirecto real...................................................................4 Puntero indirecto virtual .............................................................................................................9 Esquema de tablas del tutor ....................................................................................................9 Qu es y cmo se programa un puntero indirecto virtual............................................................10 En resumen............................................................................................................................14 Puntero indirecto virtual ........................................................................................................14 Puntero indirecto real ...........................................................................................................14

Pol. Ind. A Granxa | Ra D Esquina paralela 3 Edif. vCenter, 36400 Porrio | Pontevedra | Espaa Telf. (+34) 902 366 382 | Fax (+34) 902 932 324 velneo@velneo.com | www.velneo.com Tutor de punteros indirectos, reales y virtuales Fecha de creacin 17/12/2009 16:51:00 1

Punteros indirectos reales y virtuales


Los punteros indirectos se utilizan para relacionar la tabla de datos en curso con otra tabla que no es maestra de la actual. Habitualmente se trata de tablas que carecen de campo ID (Cdigo) y que por tanto no pueden ser definidas como maestras de otras tablas. Existen dos tipos de enlaces a tabla datos indirecta: el enlace indirecto real y el enlace indirecto virtual. La diferencia entre el enlace real y virtual radica en que el primero ocupa espacio en disco y el segundo no, es decir, el real tiene persistencia en disco y el virtual en memoria. Adems, si es virtual no permite actualizar la tabla apuntada, ha de ser un enlace indirecto real para ello.

Puntero indirecto real


Esquema de tablas del tutor El esquema de tablas del tutor incluye dos tablas maestras: Almacenes y Artculos, que son tablas que tienen una relacin de maestro a plural (1 a n) con Albaranes (por cada Albarn definimos un Almacn) y Lneas de albarn, que es el plural de Albaranes (por cada lnea de albarn definimos un Artculo). Para determinar las existencias de cada Artculo en cada Almacn, tenemos una tabla histrica: Existencias, que guarda un registro por cada Artculo y cada Almacn, y slo un registro puede tener un valor para ese binomio. Desde una lnea de albarn, usaremos un puntero indirecto real para apuntar al registro correspondiente (en funcin del Almacn determinado en el Albarn y del Artculo seleccionado en la lnea de albarn) y actualizar el valor de la existencia. Como la tabla Existencias es de tipo histrico y no tiene campo ID, no puede ser maestra de la tabla de Lneas de Albarn. Es necesario establecer un puntero indirecto de tipo real, ya que vamos a usar actualizaciones para escribir el valor, y stas necesitan persistencia en disco. No podemos usar un puntero indirecto virtual en este caso.

Pol. Ind. A Granxa | Ra D Esquina paralela 3 Edif. vCenter, 36400 Porrio | Pontevedra | Espaa Telf. (+34) 902 366 382 | Fax (+34) 902 932 324 velneo@velneo.com | www.velneo.com Tutor de punteros indirectos, reales y virtuales Fecha de creacin 17/12/2009 16:51:00 2

Pol. Ind. A Granxa | Ra D Esquina paralela 3 Edif. vCenter, 36400 Porrio | Pontevedra | Espaa Telf. (+34) 902 366 382 | Fax (+34) 902 932 324 velneo@velneo.com | www.velneo.com Tutor de punteros indirectos, reales y virtuales Fecha de creacin 17/12/2009 16:51:00 3

Qu es y cmo se establece el puntero indirecto real Indirecto real: Este enlace se utiliza para relacionar la tabla de datos actual con otra tabla que no es maestra de la actual y que se elige en la propiedad Tabla enlazada. En este caso, desde una lnea de albarn queremos actualizar la existencia, por lo que seleccionamos la tabla Existencias.

Pol. Ind. A Granxa | Ra D Esquina paralela 3 Edif. vCenter, 36400 Porrio | Pontevedra | Espaa Telf. (+34) 902 366 382 | Fax (+34) 902 932 324 velneo@velneo.com | www.velneo.com Tutor de punteros indirectos, reales y virtuales Fecha de creacin 17/12/2009 16:51:00 4

Este enlace necesita ser resuelto manualmente por el programador; para ello se ha de usar un ndice de clave nica de la tabla a enlazar. ndice: En esta propiedad tendremos que seleccionar, de la lista de ndices que se muestran de la tabla enlazada, el ndice de clave nica que queramos usar para resolver el enlace. Usaremos el ndice Almacenes de la tabla Existencias, al que hemos aadido como componente el campo Artculo, configurando el ndice como de clave nica. De esta forma garantizamos que nicamente habr un registro por cada pareja de valores, de Almacn y Artculo, y desde las lneas de albarn apuntaremos a un nico registro. Resolucin: Una vez seleccionado el ndice en la propiedad anterior en sta aparecer la lista de campos que lo componen:

Pol. Ind. A Granxa | Ra D Esquina paralela 3 Edif. vCenter, 36400 Porrio | Pontevedra | Espaa Telf. (+34) 902 366 382 | Fax (+34) 902 932 324 velneo@velneo.com | www.velneo.com Tutor de punteros indirectos, reales y virtuales Fecha de creacin 17/12/2009 16:51:00 5

En esta propiedad es donde debemos resolver el enlace, para ello situar el foco en la misma y pulsar el botn que aparece a la derecha. Al pulsarlo se desplegar una ventana en la que cada fila se corresponder con un componente del ndice seleccionado:

Pol. Ind. A Granxa | Ra D Esquina paralela 3 Edif. vCenter, 36400 Porrio | Pontevedra | Espaa Telf. (+34) 902 366 382 | Fax (+34) 902 932 324 velneo@velneo.com | www.velneo.com Tutor de punteros indirectos, reales y virtuales Fecha de creacin 17/12/2009 16:51:00 6

Cada componente del ndice ha de ser resuelto de manera individual, es decir, debemos indicar al sistema qu dato resuelve cada campo componente del ndice de la tabla indirecta. Dicha resolucin ser definida mediante una frmula. Para la introduccin de la misma se dispone del asistente para edicin de frmulas, . Una vez resueltos todos los componentes del ndice, pulsar el botn para abrirlo pulsar el botn .

Pol. Ind. A Granxa | Ra D Esquina paralela 3 Edif. vCenter, 36400 Porrio | Pontevedra | Espaa Telf. (+34) 902 366 382 | Fax (+34) 902 932 324 velneo@velneo.com | www.velneo.com Tutor de punteros indirectos, reales y virtuales Fecha de creacin 17/12/2009 16:51:00 7

Debemos usar los valores de las lneas de albarn para resolver cul es el registro de la tabla Existencias con el que queremos enlazar. Para ello usamos el valor del Almacn que obtenemos del Albarn y el Artculo de la propia lnea de albarn. Este puntero ser el que usemos en la actualizacin para apuntar al registro correspondiente a la existencia.

Esta actualizacin nos permitir acumular la cantidad del artculo que definamos en tiempo de ejecucin para la lnea de albarn en curso, y que permitir calcular la existencia del artculo tras la operacin.

Pol. Ind. A Granxa | Ra D Esquina paralela 3 Edif. vCenter, 36400 Porrio | Pontevedra | Espaa Telf. (+34) 902 366 382 | Fax (+34) 902 932 324 velneo@velneo.com | www.velneo.com Tutor de punteros indirectos, reales y virtuales Fecha de creacin 17/12/2009 16:51:00 8

Puntero indirecto virtual


Esquema de tablas del tutor El esquema de tablas del tutor incluye dos tablas maestras: Proveedores y Artculos, que son tablas que tienen una relacin de maestro a plural (1 a n) con Albaranes (por cada Albarn definimos un Proveedor) y Lneas de albarn, que es el plural de Albaranes (por cada lnea de albarn definimos un Artculo). Para determinar el precio de cada Artculo y cada Proveedor tenemos una tabla histrica: Precios, que guarda un registro por cada Artculo y cada Proveedor, y slo un registro puede tener un valor para ese binomio. Desde una lnea de albarn, usaremos un puntero indirecto virtual para apuntar al registro correspondiente (en funcin del Proveedor determinado en el Albarn y del Artculo seleccionado en la lnea de albarn) y leeremos el valor del precio. Como la tabla Precios es de tipo histrico y no tiene campo ID, no puede ser maestra de la tabla de Lneas de Albarn. Para ello usaremos un puntero indirecto de tipo virtual, ya que nicamente vamos a leer un dato y no requiere escritura alguna.

Pol. Ind. A Granxa | Ra D Esquina paralela 3 Edif. vCenter, 36400 Porrio | Pontevedra | Espaa Telf. (+34) 902 366 382 | Fax (+34) 902 932 324 velneo@velneo.com | www.velneo.com Tutor de punteros indirectos, reales y virtuales Fecha de creacin 17/12/2009 16:51:00 9

Qu es y cmo se programa un puntero indirecto virtual Indirecto virtual: Este enlace se utiliza para relacionar la tabla de datos actual con otra tabla que no es maestra de la actual y que se elige en la propiedad Tabla enlazada. En este caso queremos enlazar con la tabla Precios.

Pol. Ind. A Granxa | Ra D Esquina paralela 3 Edif. vCenter, 36400 Porrio | Pontevedra | Espaa Telf. (+34) 902 366 382 | Fax (+34) 902 932 324 velneo@velneo.com | www.velneo.com Tutor de punteros indirectos, reales y virtuales Fecha de creacin 17/12/2009 16:51:00 10

Este enlace necesita ser resuelto manualmente por el diseador; para ello se ha de usar un ndice de clave nica de la tabla a enlazar. Este enlace no tiene persistencia en memoria. El resto de las propiedades a cumplimentar son: ndice: En esta propiedad tendremos que seleccionar, de la lista de ndices que se muestran de la tabla enlazada, el ndice de clave nica que queramos usar para resolver el enlace. En este caso hemos creado el ndice Artculos, compuesto por el campo Artculos y el campo Proveedores, de clave nica, por lo que por cada Artculo tendremos un Precio por Proveedor.,

Pol. Ind. A Granxa | Ra D Esquina paralela 3 Edif. vCenter, 36400 Porrio | Pontevedra | Espaa Telf. (+34) 902 366 382 | Fax (+34) 902 932 324 velneo@velneo.com | www.velneo.com Tutor de punteros indirectos, reales y virtuales Fecha de creacin 17/12/2009 16:51:00 11

Resolucin: Una vez seleccionado el ndice en la propiedad anterior en sta aparecer la lista de campos que lo componen: En esta propiedad es donde debemos resolver el enlace, para ello situar el foco en la misma y pulsar el botn que aparece a la derecha. Al pulsarlo se desplegar una ventana en la que cada fila se corresponder con un componente del ndice seleccionado:

Pol. Ind. A Granxa | Ra D Esquina paralela 3 Edif. vCenter, 36400 Porrio | Pontevedra | Espaa Telf. (+34) 902 366 382 | Fax (+34) 902 932 324 velneo@velneo.com | www.velneo.com Tutor de punteros indirectos, reales y virtuales Fecha de creacin 17/12/2009 16:51:00 12

Cada componente del ndice ha de ser resuelto de manera individual, es decir, debemos indicar al sistema qu dato resuelve cada campo componente del ndice de la tabla indirecta. Dicha resolucin ser definida mediante una frmula. Para la introduccin de la misma se dispone del asistente para edicin de frmulas, para abrirlo pulsar el botn . Una vez resueltos todos los componentes del ndice, pulsar el botn . En este caso, resolveremos el Artculo con aqul seleccionado en la Lnea de Albarn y el Proveedor que hemos definido en la cabecera de Albarn. NOTA: Para que en en ejecucin se genere en enlace, es necesario que se resuelvan todos los componentes del mismo, es decir, que no est vaco ninguno de los campos usados en su resolucin. La diferencia entre un enlace indirecto real y uno indirecto virtual radica en que el primero ocupa espacio en disco y el segundo no, es decir, el real tiene persistencia en disco y el virtual en memoria. Adems, tampoco podrn dispararse actualizaciones desde una tabla cuando el enlace indirecto es virtual.

Pol. Ind. A Granxa | Ra D Esquina paralela 3 Edif. vCenter, 36400 Porrio | Pontevedra | Espaa Telf. (+34) 902 366 382 | Fax (+34) 902 932 324 velneo@velneo.com | www.velneo.com Tutor de punteros indirectos, reales y virtuales Fecha de creacin 17/12/2009 16:51:00 13

En resumen
Puntero indirecto virtual Un precio se define para un proveedor y un artculo. Por medio de un ndice de clave nica nos aseguramos de que slo existe un registro para cada proveedor de cada artculo. El ndice debe contener los campos enlazados correspondientes al proveedor y el artculo, y ser de tipo clave nica. En una lnea de pedido se obtiene el proveedor del pedido y el usuario selecciona un artculo. Por medio del puntero indirecto virtual leemos el precio correspondiente al proveedor y el artculo seleccionados, guardando el valor del precio en el contenido inicial del campo precio. Para ello debemos enlazar con la tabla de precios resolviendo el ndice de la tabla de precios con los valores de la lnea de pedido correspondientes al proveedor y el artculo.

Puntero indirecto real Una existencia se define para almacn y un artculo. Por medio de un ndice de clave nica nos aseguramos de que slo existe un registro para cada artculo en cada almacn. El ndice debe contener los campos enlazados correspondientes al artculo y al almacn, y ser de tipo clave nica. En una lnea de pedido se obtiene el almacn del pedido y el usuario selecciona un artculo. Por medio del puntero indirecto real, lanzamos una actualizacin contra el registro correspondiente al almacn y el artculo seleccionados. Para ello debemos enlazar con la tabla de existencias resolviendo el ndice de la tabla de existencias con los valores de la lnea de pedido correspondientes al almacen y el artculo.

Pol. Ind. A Granxa | Ra D Esquina paralela 3 Edif. vCenter, 36400 Porrio | Pontevedra | Espaa Telf. (+34) 902 366 382 | Fax (+34) 902 932 324 velneo@velneo.com | www.velneo.com Tutor de punteros indirectos, reales y virtuales Fecha de creacin 17/12/2009 16:51:00 14

Potrebbero piacerti anche