# Esquema de tablas

Este objeto permite tanto crear como mostrar de forma gráfica la estructura de [tablas](proceso/base-de-datos/tablas) y sus relaciones.

Se trata de un objeto tanto de proyecto de datos como de proyecto de aplicación.

Dentro de un mismo proyecto podremos crear tantos esquemas como consideremos necesario, esto nos permitirá, en aplicaciones con estructuras de datos muy complejas, el crear diferentes esquemas para módulos diferentes de las mismas.

![](https://35066417-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-M7D2zitZhY9szSsa5EK%2Fsync%2F5cf01e97a58467322b8f8850506572e8582bd022.png?generation=1589374110497070\&alt=media)

Para crear un objeto de este tipo seleccionar la opción **nuevo objeto/esquema de tablas** del menú **objetos** de Velneo vDevelop o a través de la galería de objetos.

Las propiedades de este objeto son:

#### Identificador

Etiqueta alfanumérica que identifica de forma unívoca al objeto dentro del proyecto. Este identificador será el que usemos para referenciarlo en otras propiedades de otros objetos.

El **identificador** constará de mayúsculas y números exclusivamente. Al identificar de forma unívoca un objeto no puede haber duplicidad.

#### Nombre

Etiqueta alfanumérica que servirá como descriptor del objeto. Se usará para presentar información del objeto en otros objetos y en los inspectores.

Podemos definir una etiqueta por cada idioma presente en la caja.

#### Estilos

Podremos activar el estilo **privado**. Si este estilo está desactivado, el esquema podrá ser utilizado por los usuarios finales de la aplicación para navegar por la información a través del navegante. Si el estilo está activado, los usuarios finales de la aplicación no podrán hacer uso del esquema.

Debemos tener en cuenta que si queremos usar un esquema como opción del navegante, tendremos que crearlo dentro del proyecto de aplicación, ya que, por cada tabla, tendremos que indicar con qué objeto de lista presentaremos la información del navegante; y los objetos visuales solamente están disponibles en los proyectos de aplicación.

#### Comentarios

Esta propiedad nos permite documentar el uso del objeto.

#### Icono

Permite definir el [dibujo](dibujo).

#### Ancho

Esta propiedad nos permite establecer el ancho, en píxels, del esquema.

#### Alto

Esta propiedad nos permite establecer la altura, en píxels, del esquema.

#### Color de fondo

Color que presenta el fondo del esquema.

#### Imagen de fondo

Objeto dibujo que se usará como fondo del esquema.

## Editor de esquemas

A través del editor de esquemas podremos tanto visualizar como crear la estructura de tablas de un [proyecto de aplicación](../proyecto-de-aplicacion).

Este editor incluye dos barras de herramientas, una para la edición de esquemas disponible en el [proyecto de datos](../../buenas-practicas-de-programacion/buenas-practicas-de-organizacion/proyecto-de-datos-1-carpetas-esquemas-tablas-e-indices-complejos).

### Barra de edición de esquemas

Los comandos que incluye la barra de herramientas para la edición de esquemas son:

![](https://35066417-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-M7D2zitZhY9szSsa5EK%2Fsync%2F0093dc1260be756b73652346bac7a7df53148dd3.jpg?generation=1589374105254404\&alt=media). Al pulsarlo se desplegará una lista con las tablas disponibles, es decir, aquellas que no se encuentren incluidas en el esquema.

Una vez seleccionada una tabla, ésta será mostrada en el editor de esquemas. Si ésta tabla está enlazada con alguna tabla ya incluida en el esquema, dicho enlace será mostrado gráficamente:

![](https://s3-eu-west-1.amazonaws.com/dl.velneo.com/es/productos/v7/ayuda/20/velneo_vdevelop/img/res_1494.jpg)

En la captura de pantalla anterior La flecha roja indica un enlace plural.

![](https://s3-eu-west-1.amazonaws.com/dl.velneo.com/es/productos/v7/ayuda/20/velneo_vdevelop/img/res_2159.jpg)

En la captura de pantalla anterior La flecha azul claro indica un enlace submaestro.

Si deseamos editar el contenido de la tabla (campos, índices, etc.) bastará con hacer doble clic sobre la misma en el editor de esquemas. En el caso de que la tabla pertenezca a un proyecto de datos heredado, solamente podremos editarla si dicho proyecto lo tenemos cargado en Velneo vDevelop.

Si deseamos mover la tabla creada, no tendremos más que hacer clic sobre ella con el botón izquierdo del ratón y, sin soltarlo, arrastrarla hasta la posición deseada.

Al control de tipo tabla podemos establecerle las propiedades siguientes:

#### Identificador

Etiqueta alfanumérica que identifica de forma unívoca al objeto dentro del proyecto. Este identificador será el que usemos para referenciarlo en otras propiedades de otros objetos.

El **identificador** constará de mayúsculas y números exclusivamente. Al identificar de forma unívoca un objeto no puede haber duplicidad.

#### Nombre

Etiqueta alfanumérica que servirá como descriptor del objeto. Se usará para presentar información del objeto en otros objetos y en los inspectores.

Podemos definir una etiqueta por cada idioma presente en el proyecto.

#### Estilos

Podemos definir los estilos:

**Privado**

Limita el acceso del usuario final a cierta información sobre el objeto.

**Heredable**

Que permite que el objeto sea usado cuando el proyecto sea heredado.

#### Comentarios

Esta propiedad nos permite documentar el uso del objeto.

#### Tipo

Esta propiedad indica el tipo de objeto de que se trata. En este caso el valor es **tabla**.

#### Posición X

Esta propiedad permite editar la posición de la tabla en el eje x del esquema.

#### Posición Y

Esta propiedad permite editar la posición de la tabla en el eje y del esquema.

#### Tabla

Esta propiedad permite seleccionar la tabla a mostrar en este control. Por defecto será la tabla seleccionada al crearlo.

#### Dibujo

En esta propiedad podremos seleccionar el dibujo que queramos que sea usado como icono de la tabla. Este será mostrado junto al nombre de la misma y será mostrado con su dimensiones reales.

#### Objeto

Esta propiedad es específica para esquemas que vayan a ser usados por el usuario final de la aplicación en el [navegante](https://velneo.es/info_v7_20_es/velneo_vclient/funcionalidades_comunes/rejillas/el_navegante).

Si un esquema es público y la tabla tiene asociado un objeto de salida, una rejilla por ejemplo, cuando el usuario final haga doble clic sobre la tabla en el esquema del navegante, el objeto aquí especificado será el que se use para presentar la información resultante. Los esquemas que usemos en el navegante, tendrán que estar declarados en un proyecto de aplicación, que es donde se encuentran los objetos visuales.

#### Fuente

Esta propiedad permite establecer la fuente que usará el control.

#### Color de fuente

En esta propiedad seleccionaremos el color que tendrá el texto de la tabla. Junto al nombre del color se presenta una muestra del mismo, pulsar sobre ella para editarlo y o seleccionar otro color.

#### Color de fondo

En esta propiedad seleccionaremos el color que tendrá el fondo de la caja que representa la tabla. Junto al nombre del color se presenta una muestra del mismo, pulsar sobre ella para editarlo y o seleccionar otro color.

#### Color línea

En esta propiedad seleccionaremos el color que tendrá el borde de la caja que representa la tabla. Junto al nombre del color se presenta una muestra del mismo, pulsar sobre ella para editarlo y o seleccionar otro color.

#### Grosor de línea

En esta propiedad seleccionaremos el grosor, en píxels, que tendrá el borde de la caja que representa la tabla.El valor por defecto es **1**.

![](https://35066417-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-M7D2zitZhY9szSsa5EK%2Fsync%2F599fd1eba01d98d32d91407bd0b53f4e998651a9.jpg?generation=1589374110650536\&alt=media) **Añadir texto**: este comando permite añadir un texto al esquema. Al pulsar este botón se añadirá en el esquema una caja de texto vacía y lista para su edición:

![](https://35066417-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-M7D2zitZhY9szSsa5EK%2Fsync%2F7701edee2706506854743a92874a50a291df6fb4.jpg?generation=1589374110568121\&alt=media)

En ese momento ya podremos escribir directamente su contenido:

![](https://35066417-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-M7D2zitZhY9szSsa5EK%2Fsync%2F5bcd52e1337b7b8877f823bf23a763de05c2db96.jpg?generation=1589374110337450\&alt=media)

Al control de tipo texto podemos establecerle las propiedades siguientes:

#### Identificador

Etiqueta alfanumérica que identifica de forma unívoca al objeto dentro del proyecto. Este identificador será el que usemos para referenciarlo en otras propiedades de otros objetos.

El **identificador** constará de mayúsculas y números exclusivamente. Al identificar de forma unívoca un objeto no puede haber duplicidad.

#### Nombre

Texto mostrar en el control. Podemos definir el texto por cada idioma presente en la el proyecto.

#### Estilos

Podemos definir los estilos:

**Privado**

Limita el acceso del usuario final a cierta información sobre el objeto.

**Heredable**

Permite que el objeto sea usado cuando el proyecto sea heredado.

#### Comentarios

Esta propiedad nos permite documentar el uso del objeto.

#### Tipo

Esta propiedad indica el tipo de objeto de que se trata. En este caso el valor ha de ser **texto**.

#### Posición X

Esta propiedad permite editar la posición del texto en el eje x del esquema.

#### Posición Y

Esta propiedad permite editar la posición del texto en el eje y del esquema.

También podemos modificar estas coordenadas pinchando sobre el control en el editor y, sin soltar el botón del ratón, arrastrarlo y soltarlo en la posición deseada.

#### Fuente

Esta propiedad permite establecer la fuente que usará el control.

#### Color de fuente

En esta propiedad seleccionaremos el color que tendrá el texto. Junto al nombre del color se presenta una muestra del mismo, pulsar sobre ella para editarlo y o seleccionar otro color.

![](https://35066417-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-M7D2zitZhY9szSsa5EK%2Fsync%2F31345f9f88b193dfc865585bc5ff608998757942.jpg?generation=1589374101946308\&alt=media) en el esquema. Al pulsar este botón se desplegará una lista de los dibujos disponibles para que seleccionemos el deseado. Una vez hecho esto el dibujo será añadido al esquema. Al control de tipo texto podemos establecerle las propiedades siguientes:

#### Identificador

Etiqueta alfanumérica que identifica de forma unívoca al objeto dentro del proyecto. Este identificador será el que usemos para referenciarlo en otras propiedades de otros objetos.

El **identificador** constará de mayúsculas y números exclusivamente. Al identificar de forma unívoca un objeto no puede haber duplicidad.

#### Nombre

Etiqueta alfanumérica que servirá como descriptor del objeto. Se usará para presentar información del objeto en otros objetos y en los inspectores.

Podemos definir una etiqueta por cada idioma presente en la caja.

#### Estilos

Podemos definir los estilos:

**Privado**

Limita el acceso del usuario final a cierta información sobre el objeto.

**Heredable**

Permite que el objeto sea usado cuando el proyecto será heredado.

#### Comentarios

Esta propiedad nos permite documentar el uso del objeto.

#### Tipo

Esta propiedad indica el tipo de objeto de que se trata. En este caso el valor ha de ser **dibujo**.

#### Posición X

Esta propiedad permite editar la posición del dibujo en el eje x del esquema.

#### Posición Y

Esta propiedad permite editar la posición del dibujo en el eje y del esquema.

También podemos modificar estas coordenadas pinchando sobre el control en el editor y, sin soltar el botón del ratón, arrastrarlo y soltarlo en la posición deseada.

#### Dibujo

Esta propiedad permite seleccionar el dibujo que será mostrado en el control.

El dibujo será mostrado al 100% de su tamaño y no podrá ser redimensionado.

![](https://35066417-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-M7D2zitZhY9szSsa5EK%2Fsync%2F038619fe7b7dab70591c57b14d1b90e52f8983cc.jpg?generation=1589374110456634\&alt=media) **Añadir proceso**.

![](https://35066417-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-M7D2zitZhY9szSsa5EK%2Fsync%2F7a3b7f8341d83888edf90bd1458c54d7cd96b24e.png?generation=1589374110378838\&alt=media) **Eliminar ítem**: quita del esquema el ítem o grupo de ítems seleccionados. Para seleccionar un ítem bastará con hacer un clic sobre él con el botón izquierdo del ratón en el editor de esquemas. Para seleccionar más de uno, mantendremos pulsada la tecla Control. También podremos borrar un ítem del esquema a través del panel de subobjetos.

![](https://35066417-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-M7D2zitZhY9szSsa5EK%2Fsync%2Fbed3a9948ec3abe5dff3ba556066b8847b772b7e.jpg?generation=1589374110421075\&alt=media) **Levantar al frente**: si tenemos varios ítems superpuestos, podremos llevar al frente el ítem o los ítems seleccionados.

![](https://35066417-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-M7D2zitZhY9szSsa5EK%2Fsync%2Fdf2ba67249a31e2bb1d7ce1720fdf94728e209a8.jpg?generation=1589374110606406\&alt=media) **Hundir al fondo**: si tenemos varios ítems superpuestos, podremos llevar al fondo el ítem o los ítems seleccionados.

![](https://35066417-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-M7D2zitZhY9szSsa5EK%2Fsync%2F17cc4b5b7c190273982ec1a7a31e33a093db1800.jpg?generation=1589374110556453\&alt=media) **Fuente**: nos permite establecer la fuente. Si tenemos uno o varios ítems seleccionados, la fuente definida será aplicada a todos ellos. Si no hay ítems seleccionados, la fuente establecida será aplicada a los ítems que se añadan al esquema a partir de ese momento.

![](https://35066417-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-M7D2zitZhY9szSsa5EK%2Fsync%2F737f8da0e72c3951459166dad9c2ce4872ad0e03.jpg?generation=1589374110784397\&alt=media)**Color fuente/fondo**: permite establecer el color de la fuente y de fondo, respectivamente. Si tenemos uno o varios ítems seleccionados, el color de fuente/y de fondo establecidos serán aplicados a todos ellos. Si no hay ítems seleccionados, los colores de fuente y de fondo establecidos serán aplicado a los ítems que se añadan al esquema a partir de ese momento y el de fondo, además, será aplicado al fondo del esquema.

![](https://35066417-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-M7D2zitZhY9szSsa5EK%2Fsync%2F759f312404b7acddce8aab72ec90c7550f9cbc95.jpg?generation=1589374110622178\&alt=media) **Zoom**: nos permite aplicar un zoom a la vista del esquema. Podremos seleccionar un valor comprendido entre 50% y 200%. El valor por defecto es 100%.

![](https://35066417-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-M7D2zitZhY9szSsa5EK%2Fsync%2F98f90601c27714f705e136310cc148768e2466f4.jpg?generation=1589374111334511\&alt=media)**Aplicar estilos al imprimir**: si esta opción está activada, cuando imprimamos el esquema éste será impreso al tanto por ciento de tamaño que tengamos establecido en la opción Zoom. Si está desactivada, el esquema será impreso al 100% de su tamaño.

![](https://35066417-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-M7D2zitZhY9szSsa5EK%2Fsync%2F00410a0d20293847f883d37cc31b5dcc83f1d3eb.jpg?generation=1589374110906350\&alt=media) **Imprimir**: imprime el esquema.

### Barra de edición de tablas

Esta barra de herramientas solamente estará disponible en el editor de esquemas de proyectos de datos, que es donde podemos crear las tablas,

Los comandos que incluye la barra de herramientas para la edición de tablas son:

![](https://35066417-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-M7D2zitZhY9szSsa5EK%2Fsync%2F0093dc1260be756b73652346bac7a7df53148dd3.jpg?generation=1589374105254404\&alt=media)**Crear tabla**. La tabla creada será añadida al esquema.

![](https://35066417-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-M7D2zitZhY9szSsa5EK%2Fsync%2F8243bf9f3449bb8935b5a4bd0053fa3502f5ade4.jpg?generation=1589374101155421\&alt=media) **Puntero del ratón: normal**. Estando activada esta opción, el puntero del ratón estará en modo normal, es decir, nos permitirá seleccionar ítems del esquema, arrastrarlos, etc.

![](https://35066417-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-M7D2zitZhY9szSsa5EK%2Fsync%2F858f0c41eb584b5f7b69725722f409540f5d4d67.jpg?generation=1589374111518432\&alt=media) **Puntero del ratón: mano**. Estando activada esta opción, el puntero del ratón se convertirá en una mano con la que podremos mover el esquema completo dentro del editor cuando éste tenga partes que queden fuera del área del editor de esquemas.

![](https://35066417-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-M7D2zitZhY9szSsa5EK%2Fsync%2Fafea349a9d95bf32731d77aad2c5d9146fae01c9.jpg?generation=1589374110879651\&alt=media)**Puntero del ratón: crear enlace plural**. Permite crear un enlace plural desde una tabla hasta otra.

Para llevarlo a cabo haremos un clic con el botón izquierdo del ratón sobre la tabla de datos de origen, que será la maestra, y sin soltar el botón, arrastraremos y soltaremos en la tabla de destino:

![](https://35066417-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-M7D2zitZhY9szSsa5EK%2Fsync%2Fb14e134173727a83b184dabb1a7a6df3f84694c9.png?generation=1589374111498968\&alt=media)

Una vez hecho esto se generarán en las tablas implicadas los subobjetos indicados anteriormente:

![](https://35066417-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-M7D2zitZhY9szSsa5EK%2Fsync%2Fdca2bfa66105e40aa1b9c903d42cf5f4875c7ab1.png?generation=1589374111195362\&alt=media)

![](https://35066417-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-M7D2zitZhY9szSsa5EK%2Fsync%2F64c16ffe49a3b3dee7e82d1348d64d288674d5fe.png?generation=1589374110857170\&alt=media)

Visualmente los enlaces serán mostrados de la forma siguiente:

![](https://35066417-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-M7D2zitZhY9szSsa5EK%2Fsync%2Fc7b55ba63d67b919296dcd4f1edafa1f841deae9.png?generation=1589374110827254\&alt=media)

La flecha azul representa enlace a maestro (singular) y la roja enlace plural.

![](https://35066417-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-M7D2zitZhY9szSsa5EK%2Fsync%2F8757c8775865a2b45b86f1283006c5222338f1d0.jpg?generation=1589374111230486\&alt=media) **Puntero del ratón: crear enlace singular**. Permite crear un enlace singular entre dos tablas.

Para llevarlo a cabo haremos un clic con el botón izquierdo del ratón sobre la tabla de datos de origen, que será la plural, y sin soltar el botón, arrastraremos y soltaremos en la tabla de destino, que será la maestra:

![](https://35066417-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-M7D2zitZhY9szSsa5EK%2Fsync%2Fa4cc209e29e18c467da19fefac03df2d59a2016b.png?generation=1589374111409653\&alt=media)

Una vez hecho esto se generarán en las tablas implicadas los subobjetos indicados anteriormente:

![](https://35066417-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-M7D2zitZhY9szSsa5EK%2Fsync%2Fdca2bfa66105e40aa1b9c903d42cf5f4875c7ab1.png?generation=1589374111195362\&alt=media)

![](https://35066417-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-M7D2zitZhY9szSsa5EK%2Fsync%2F64c16ffe49a3b3dee7e82d1348d64d288674d5fe.png?generation=1589374110857170\&alt=media)

Visualmente los enlaces serán mostrados de la forma siguiente:

![](https://35066417-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-M7D2zitZhY9szSsa5EK%2Fsync%2Fc7b55ba63d67b919296dcd4f1edafa1f841deae9.png?generation=1589374110827254\&alt=media)

La flecha azul representa enlace al maestro (singular) y la roja enlace plural.

En un esquema, los distintos tipos de enlace se representan de la forma siguiente:

![](https://35066417-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-M7D2zitZhY9szSsa5EK%2Fsync%2Fa19cfde13e29ae219be4774cf93548eb94fd59c8.jpg?generation=1589374111298842\&alt=media) Representa a un [enlace](../proyecto-de-datos/tabla/enlace) de tipo singular: a tabla de datos maestra, singular de plural e indirecto.

![](https://35066417-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-M7D2zitZhY9szSsa5EK%2Fsync%2Ffe9b3132b780a5bb10b0dafec272c6984545396d.jpg?generation=1589374111283216\&alt=media): representa a los [enlaces plurales](../proyecto-de-datos/tabla/plural).

![](https://35066417-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-M7D2zitZhY9szSsa5EK%2Fsync%2Fd8f75b43f1eadcb94bd860a5a640d20326aeb6da.jpg?generation=1589374111322828\&alt=media): representa a los [enlaces](../proyecto-de-datos/tabla/enlace) de una tabla consigo misma: A tabla de datos maestra y a hermano contiguo.

Si situamos el cursor del ratón sobre un enlace, se nos mostrará un tooltip informativo sobre el mismo:

![](https://35066417-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-M7D2zitZhY9szSsa5EK%2Fsync%2F6440e826a88e9c87c5fe53dc0d089fda42537bfe.png?generation=1589374111445346\&alt=media)
