Hola de nuevo a todos.
Esta vez vamos a intentar arrojar algo de luz a unos punteros poco conocidos y por ello poco usados en
Velneo, pero básicos a la hora de plantear nuestras bases de datos y ahorrarnos así muchas líneas de proceso en la parte derecha del mapa; los
punteros singular de plural.
Hay dos tipos de punteros singular de plural;
singular de plural por posición y
singular de plural por índice.
Antes de entrar a fondo en los entresijos de este tipo de punteros veamos el concepto
singular de plural.
Singular de plural tiene sentido dentro de una
relación uno a muchos. Una relación de este tipo la encontraremos entre una tabla maestra y una submaestra suya, o entre una tabla maestra y otra tabla maestra con un puntero a maestro que apunte a la primera.

Para entender este tipo de relaciones el recurso más fácil, que yo sigo empleando a pesar de los años, es lo que dicen todos los manuales de Velneo:
- Plantea las dos frases posibles: las Facturas de un Cliente o los Clientes de una Factura.
- La frase cierta es la que nos dice qué tabla es maestra y cual es submaestra o maestra con puntero a maestro.
En el sencillo ejemplo que hemos empleado la frase cierta puede ser las Facturas de un Cliente, lo cual nos dice que Clientes es la tabla maestra y Facturas es la tabla submaestra o maestra con un puntero a la tabla maestra Clientes.

Cuando nos encontramos este tipo de relación entre tablas siempre hemos de establecer en la segunda tabla un
índice acepta repetidas con el campo puntero a maestro, y así en la maestra podremos definir un
histórico sobre la segunda por el índice mencionado.

Si no establecemos ese histórico podemos encontrarnos ciertos problemas posteriores si modificamos (cosa rara) el campo código de la maestra, ya que si no existe el histórico entre la maestra y la submaestra, la herencia de ese código por parte de la submaestra o tabla de segundo nivel puede verse afectada.

Bien, visto esto pasemos a los
punteros singular de plural.
Un puntero singular de plural se establece entre una tabla maestra y una submaestra o maestra con puntero a la primera maestra, de forma que
desde la primera podamos apuntar a un registro concreto de la segunda.
En el ejemplo sencillo que hemos comentado antes, estableceríamos un puntero desde un Cliente a una de sus muchas Facturas.
A cuál de sus facturas? Eso es lo que vamos a definir en el puntero singular de plural.
Si utilizamos un puntero singular de plural
por posición podremos acceder de forma inmediata a la
primera Factura de un Cliente, o a la
última, símplemente indicando en la fórmula que resuelve el puntero "
1" para localizar la primera Factura o la variable del sistema "
n" para localizar la última Factura.

Con este tipo de puntero podremos acceder por posición a cualquier registro de la tabla submaestra o maestra con puntero a maestra; al primero, al último, al segundo, tercero, al penúltimo, al que se encuentre más cercano a la mitad de la lista, etc, símplemente indicando la
fórmula para localizarlo en la resolución del puntero.

Ahora bien, en muchos casos la localización de ese registro concreto de la segunda tabla no será tan trivial como en este ejemplo. Puede que queramos localizar la última factura a una fecha concreta, o que supere un determinado importe, por ejemplo.
Para este tipo de localización deberemos usar el otro tipo de puntero singular de plural;
por índice.