2º DEFINIR LOS TIPOS DE ENLACE
En primer lugar. Hemos definido todas las tablas como Maestras, no hay tablas Históricas, pero eso no quiere decir que no haya enlaces a Histórico.
Aunque enrevesado no tiene nada que ver la definición de las tablas con los tipos de Enlace.
Me explico:
Dos tablas pueden ser maestras y podemos decir que una es histórica de otra aunque ambas sean Maestras. Estamos diciendo “Histórica” por la relación que hay entre ellas , no por su tipo. Por tanto TABLA HISTORICA digamos Pura no vamos a utilizar pero RELACIONES A HISTORICA o decir que una tabla es HISTORICA de otra sí.
De esta forma podemos tener cuatro tablas de tipo Maestro, como por ejemplo Paises, Provincias,Ciudades, y Clientes.
Sin embargo en clientes tendremos un puntero a Maestro (A Uno) a su ciudad, es posible que tambien a su Pais y a su Provincia, de Ciudades un puntero a su provincia y a su Pais, y de provincias a su Pais.
Al tener el puntero a Maestro y existir una relación a Maestro, también existirá el inverso. Es decir de Paises tendremos un enlace a historico a Ciudades, a Provincias o incluso a Clientes. Por ese motivo , por que hay un enlace a histórico (Plural, Uno a Muchos) . Diremos que Ciudades, Provincias o Clientes son Historicas de Paises (Hay varios Clientes, Provincias, Ciudades de uno solo País), aunque sean todas de tipo Maestro, es decir tengan campo código.
¿Ha quedado claro esto? Si no haz el favor de volverlo a leer, ya que si esto no te queda claro, arrastraras un error que te hará incomprensible cualquier documentación.
Bien, sigamos, tenemos abierto nuestro Esquema de Tablas con todas las tablas que hemos definido.

Tan solo aparecerán enlaces entre aquellas que hayamos definido como Submaestras y Maestras. Es decir entre Líneas y sus Cabeceras. Por el hecho de haberlas definido Submaestras ya habrán generado algunos enlaces. Todas las demás estarán sueltas.
Intentaremos siempre ordenar nuestro esquema poniendo las tablas de líneas debajo justo de las de cabecera y veremos claramente los enlaces entre ellas. Pedidos y Lineas de Pedidos, Facturas y lineas de Facturas, Partes y lineas de partes, etc.
TRUCO OBLIGATORIO : En el esquema de tablas siempre poner la Tablas Maestras arriba de las que son historicas de ellas. Eso facilitará enormemente la comprensión del esquema.
Busquemos en nuestras Tablas las relaciones que hay entre ellas.
Si elegimos 2 tablas cualesquiera, ¿Que relación hay que definir entre ellas?
Fácil, solo hay que hacer la siguiente pregunta:
¿Un elemento de la tabla A, se relaciona con uno de la B o con varios de la tabla B?
Si aplicamos esto a las tablas ya relacionadas por ser maestras y submaestras, veremos que
Una linea de Facturas se relaciona con una sola cabecera de Facturas, luego habrá un enlace a Maestro.
Una cabecera de Pedidos, se relaciona con una o varias líneas de Pedido, una cabecera de Facturas se relaciona con una o varias líneas de Pedidos, es un enlace uno a muchos, por tanto es un enlace a Histórico, (En V7 se denomina Plural en lugar de Enlace a Histórico).
EN LA PRACTICA : Siempre que hay una relacion entre dos tablas, en las que en la tabla B hay un enlace a maestro con la tabla A, es decir un registro de B apunta a un único enlace de A, siempre existe la relación inversa, siempre hay o debe haber un enlace a histórico de A hacia B.
TRUCO : Busquemos nuevos enlaces a Maestro que es lo más fácil y despues veremos claramente que existe la inversa (A Historico, o una a muchas)
De hecho en V7, este enlace a Plural, lo realiza Velneo de forma automática al hacer el puntero a Maestro, crea el enlace uno a varios inverso. En 6.x no, pero deberemos hacerlo manualmente en el 99% de los casos, de lo contrario siempre lo hecharemos de menos, salvo que utilicemos el enlazador que ya nos crea los enlaces en la tabla.
Ahora podemos entender mejor el párrafo inicial.
Tenemos dos tablas Clientes y Países, Ambas son TABLAS Maestras. Pero de Cliente tenemos un Enlace a Maestro a País, puesto que un Cliente se relaciona con un único Pais.
Por tanto tenemos un enlace de Pais a sus Clientes, de un País todos los clientes, es decir un enlace a Plural, o un enlace a Historico.
Por tanto es habitual decir que Clientes es Historica de Paises, pero recordemos que el tipo de ambas tablas seguirá siendo Maestras.
¿Entonces por que tanto lío con los tipos de Tabla?
Solo por curiosidad os dire que si una tabla nunca es Maestra de otras, y nunca es en Ningún caso, es decir no tiene ninguna tabla , ni la tendrá que tenga un puntero a Maestro sobre ella, no es apuntada de esta forma por nadie, entonces no necesita Velneo un campo código para que se apuntada.
Por ejemplo, una tabla de estadisticas, no es normal que exista alguna tabla que tenga un puntero a un registro de está tabla y este sea único en todos los casos. Entonces y solo entonces podríamos haber definido la tabla como historica, pero ante la duda, si es maestra con su campo código no nos molestará para nada.
Por tanto olvidaros de ese concepto, es solo una optimización y para nosotros que estamos empezando nos da igual.
SIGAMOS ENLAZANDO NUESTRAS TABLAS
En nuestro esquema de tablas tendremos otras tantas tablas aparte de las comentadas de Líneas y cabeceras por enlazar, por ejemplo Clientes, Países, Artículos, etc.
Pues procederemos a enlazarlas una a una. Para ello y desde el ESQUEMA DE TABLAS utilizaremos el Enlazador, ya que a efectos prácticos y didacticos es lo mejor.
Pero recordad que el Esquma de Tablas es un VISOR, lo que realmente manda, son los campos que contiene las tablas, sus enlaces y lo definido en la subcarpeta de la tabla como Enlaces a Historico en &.x o Plurales en V7.
Nos situaremos siempre en la tabla que es apuntada, en la Maestra.
Por ejemplo desde Cabeceras hay una relación a un Cliente, y desde Cliente a muchas Cabeceras.
Pues nos situamos en Cliente (La maestra rspecto a Cabeceras en este caso) , pinchamos el enlazador y arrastramos hasta Cabeceras, soltamos y ya nos ha creado las relaciones.
Una vez hecho esto, sería conveniente ver los campos y enlaces que se han creado en la tabla de clientes y cabeceras, esto nos facilitará la comprensión y recordad que lo podiamos haber hecho manualmente sin necesidad del esquema y el enlazador
En Cabecera nos habra definido un Campo Cliente, que será un enlace a Maestro al cliente.
En la relacion inversa
En Cabecera nos habrá generado un nuevo índice con ese campo CLIENTES, y habrá creado una relación Historica o Plural en CLIENTES que apunta a todas las cabeceras, relacionándolo mediante este índice creado.
Por tanto, a medida que vayamos definiendo enlaces, estamos creando campos necesarios en nuestra base de datos.
De la misma forma generaremos todos los enlaces entre las tablas, generandose en ese momento los campos y los indices y los enlaces a Historico inversos por cada una de ellas.
Por ejemplo podemos repetir la operación desde paises, que en este caso es la maestra de Clientes, y desplazamos el puntero a Clientes (Que en este caso es la historica de paises)
Espero que en este punto tengamos ya claro los Tipos de Tabla que necesitamos en un principio (Maestros y Submaestros).
Y los enlaces que hay entre el resto de tablas, punteros a Maestros (Un registro apunta a un unico registro de otra tabla) y la inversa , enlaces a Historico (Un registro apunta a varios o muchos registros de otra)
Para definirlos correctamente solo debemos definir los enlaces a Maestro, detectarlos y si lo hacemos con el enlazador nos hará los inversos automáticamente.
Recuerda: Te situas en la Maestra y arrastras hacia la tabla Plural.
Veamos un ejemplo de como estaría ahora nuestro esquema de tablas
