# El manual de &kexi;

Esta documentación ha sido generada a partir de la página Kexi/Handbook del sitio web «KDE UserBase» el 14-09-2012.
Actualizada a la versión 2.4 por el equipo de documentación de &kde;
Raúl
González

     raulgf83@gmail.com

Traductor
Juan Manuel
García Molina

     juanma@superiodico.net

Traductor
&FDLNotice;
14-09-2012
2.5

&kexi; es la aplicación para la creación de bases de datos y la gestión de datos de la suite de productividad &calligra;.

KDE
Calligra
Kexi
base de datos

## Introducción

&kexi; es una aplicación para la gestión de bases de datos. Se puede utilizar para crear bases de datos, insertar datos, realizar consultas, y procesar datos. Se pueden crear formularios para proporcionar una interfaz personalizada para los datos. Todos los objetos de una base de datos -tablas, consultas y formularios- se almacenan en la propia base de datos, facilitando así el intercambio de datos y diseños.

&kexi; es parte de la suite de productividad de KDE, &calligra;.

&kexi; no solo permite almacenar las bases de datos en archivos, sino que también permite almacenar los datos en un servidor de base de datos. El uso de un servidor de bases de datos permite compartir las bases de datos con otras personas, y que más de una persona pueda utilizar la base de datos al mismo tiempo. &kexi; soporta los siguientes servidores de bases de datos:

- MySQL

- PostgreSQL

Puede encontrar más información sobre &kexi; en la página de &kexi; del sitio web de &calligra;, y en el propio sitio web de Kexi.

Si tiene alguna duda sobre &kexi;, existen dos listas de correo a las que puede dirigirse. Puede utilizar la lista de correo de usuarios de &kexi; para plantear sus dudas sobre el uso de &kexi; o sobre el propio proyecto &kexi;. Por otro lado, puede usar la lista de correo de desarrollo de &kexi; para realizar consultas sobre el desarrollo de &kexi;. Puede encontrar más información sobre cómo subscribirse a estas listas y sobre cómo contactar con los desarrolladores de &kexi; a través de otros medios aquí.

Este manual para &kexi; 2.5 está basado en el manual de &kexi; para Kexi 1.1. Por favor, coordine cualquier esfuerzo con Jarosław Staniek, correo electrónico: kexi en kde.org

## Nociones básicas de &kexi;

- Las bases de datos de Kexi

- Crear un archivo de base de datos nuevo

- La ventana principal de Kexi

  - Elementos principales de la aplicación

- Abrir un archivo de base de datos de Kexi existente

  - Abrir un archivo de base de datos en el diálogo «Abrir proyecto»

  - Abrir un archivo de base de datos de Kexi existente pulsando en el icono del archivo .kexi

- Uso de la ayuda incorporada

### Las bases de datos de Kexi

Muchas aplicaciones como OpenOffice.org, LibreOffice o &Microsoft; Excel crean archivos denominados documentos. &kexi; también crea archivos, pero aquí nos referimos a ellos como archivos de base de datos de &kexi;, o simplemente archivos de base de datos.

Además de almacenar las bases de datos en archivos de bases de datos, &kexi; también puede usar bases de datos que se encuentren en servidores de bases de datos, y este es el motivo por el que nos referimos a ellos como archivos de bases de datos, y no simplemente como bases de datos.

También se utiliza el término proyecto de &kexi;, o simplemente proyecto, para hacer referencia a una base de datos de &kexi;, independientemente de si está almacenada en un archivo o en un servidor de bases de datos.

Los archivos de bases de datos de &kexi; suelen tener la extensión `.kexi`

### Crear un nuevo archivo de base de datos

1. Ejecute &kexi; o, si se está ejecutando, use Kexi Nuevo... (Ctrl+N).

2. En la página Nuevo proyecto, en la sección Proyectos vacíos, seleccione Base de datos vacía.

3. En la página Método de almacenamiento, haga clic en Archivo.

4. En la página Título y nombre del archivo del proyecto, defina un título y el nombre del archivo del proyecto.

5. Pulse Siguiente para crear el proyecto.

- Cuando se modifica el título del proyecto, el nombre de archivo propuesto se actualizará automáticamente de forma acorde.

- Se puede usar el explorador de archivos para seleccionar la carpeta en la que se desea guardar el archivo de la base de datos.

### La ventana principal de Kexi

La barra de herramientas con pestañas situada en la parte superior permite acceder a las acciones y ordenes más habituales.

El navegador del proyecto y el editor de propiedades se muestran en paneles situados a cada lado de la ventana. Ambos se pueden redimensionar u ocultar según sea necesario. Un panel se puede ocultar haciendo clic en la pequeña cruz situada en la parte superior del panel (justo debajo de la barra de herramientas).

Los objetos de la base de datos (tablas, consultas, &etc;) listados en el navegador del proyecto se pueden abrir haciendo clic (o doble clic, dependiendo de sus preferencias globales de KDE) sobre sus nombres.

#### Elementos principales de la aplicación

Los elementos principales de la ventana de la aplicación &kexi; son:

La barra de herramientas con pestañas

  Contiene las órdenes disponibles para la aplicación. Encontrará una descripción detallada de todas las órdenes en el apéndice.

El panel del navegador del proyecto

  Contiene la lista de todos los objetos (tablas, consultas, formularios, ...) creados en el proyecto de base de datos que está abierto en ese momento. El navegador también contiene una pequeña barra de herramientas con las órdenes más utilizadas relacionadas con los objetos de la base de datos.

Área de objetos de la base de datos abierta / Ventanas en pestañas

  Es el área central de la aplicación y ocupa la mayor parte del espacio de la pantalla. La interfaz de usuario contiene pestañas intercambiables con ventanas que siempre están maximizadas.

El panel del editor de propiedades

  Contiene la lista de las propiedades del objeto de la base de datos activado en ese instante. Para ciertos objetos (&eg; los elementos gráficos del formulario) puede tener varias pestañas.

#### La barra de herramientas con pestañas

La barra de herramientas es el lugar desde el que se ofrece acceso a la mayoría de las ordenes y acciones de &kexi;.

Usando las acciones que se encuentran en las diversas pestañas de la barra de herramientas se puede:

- Crear / abrir / cerrar proyectos de Kexi

- Crear objetos de bases de datos

- Importar / exportar datos

Dependiendo del contexto, hay pestañas adicionales que pueden ser visibles:

- La pestaña diseño de formulario es visible mientras se utiliza el «diseñador de formulario».

- La pestaña diseño de informe es visible mientras se utiliza el «diseñador de informe».

#### El panel del navegador del proyecto

El panel del navegador del proyecto es uno de los elementos más utilizados de la ventana principal de &kexi;. Este panel contiene una lista de todos los objetos creados en el proyecto de base de datos de &kexi; abierto en el instante actual. Los objetos están clasificados en varios grupos: tablas, consultas, formularios, informes y guiones.

El panel del navegador del proyecto también contiene una pequeña barra de herramientas para las ordenes más utilizadas (de izquierda a derecha): Abrir el objeto seleccionado, Diseñar el objeto seleccionado, y Borrar el objeto seleccionado.

Al hacer clic con el botón derecho del ratón sobre cualquier objeto de la lista aparecerá un menú contextual.

Un doble clic con el botón izquierdo del ratón sobre el nombre de un objeto de la lista, abre dicho objeto en la vista de datos. Si la ventana del objeto ya estaba abierta, esta acción simplemente activa la ventana sin cambiar su modo de vista.

Incluso en el caso de que su sistema operativo o gestor de ventanas esté configurado para manejar clics simples en lugar de clics dobles, &kexi; utilizará clics dobles en el panel del navegador del proyecto para evitar que accidentalmente se abran grandes conjuntos de datos o se ejecuten consultas.

#### Área de objetos de la base de datos abierta / Ventanas en pestañas

Siempre que se haga un doble clic sobre un objeto del navegador del proyecto, este se abrirá en el Área de objetos de la base de datos abierta. En &kexi;, cada ventana tiene su propia pestaña.

Es posible reorganizar las pestañas arrastrándolas y soltándolas y cerrarlas usando el botón de cierre de pestaña ubicado en el extremo derecho de la banda de pestañas.

Está planeado que en algún momento futuro se incluya una opción para desacoplar las pestañas, creando algo similar a una interfaz MDI. Esto podría ser útil para soluciones personalizadas o múltiples pantallas.

#### El panel del editor de propiedades

En el panel del editor de propiedades se pueden cambiar las propiedades del objeto que se muestra en la ventana activa. Según el contexto, el panel puede estar compuesto por una pestaña o por más. La primera pestaña, Propiedades, que siempre está visible, contiene la lista de las propiedades disponibles.

Reglas de uso del editor de propiedades:

- Cada fila contiene una sola propiedad.

- Se puede usar el ratón o el teclado para modificar los valores de las propiedades particulares.

- Los tipos de valores de propiedad más utilizados son:

  - un número; se puede introducir directamente el valor o incrementar o disminuir su valor pulsando con el botón izquierdo del ratón sobre la flechas.

  - un texto

  - una lista desplegable de valores

  - Sí/No; se puede conmutar el valor pulsando en el botón; Sí (cierto) significa que el botón está pulsado, No (falso) significa que el botón no está pulsado.

- No es necesario confirmar un valor modificado: los cambios se hacen visibles inmediatamente después de moverse a una fila diferente de la lista del «editor de propiedades» o de pulsar la tecla &Enter;.

- Los nombres de las propiedades recientemente modificadas que aún no estaban almacenadas en la base de datos se marcan con el texto en negrita.

- Tras modificar el valor de una propiedad, aparecerá un botón especial Deshacer cambios en el lateral derecho de la lista del editor de propiedades. Pulsándolo puede revertir el valor de la propiedad al valor original que se cargó de la base de datos al abrir el objeto de la base de datos. El botón solo es visible cuando la propiedad está resaltada.

El panel del editor de propiedades estará vacío si:

- no está abierta la ventana de ningún objeto de la base de datos, o

- la ventana de objeto de la base de datos activa no ofrece propiedades; este suele ser el caso cuando se abre en la vista de datos en lugar de en la vista de diseño.

### Abrir un archivo de base de datos de &kexi; existente

Existen dos formas de abrir un archivo de base de datos de &kexi; existente:

#### Abrir un archivo de base de datos en el diálogo «Abrir proyecto»

- Ejecute &kexi;. Se mostrará el diálogo de inicio Bienvenido a Kexi, que le permite seleccionar uno de los proyectos recientemente usados para abrirlo.

- Si el proyecto no se encuentra en la página con los proyectos recientemente utilizados, seleccione Abrir... (&Ctrl;O). Verá el siguiente diálogo:

- Desde la barra de ubicación, seleccione la carpeta que contiene el archivo que está buscando.

- Puede seleccionar un archivo que se abrirá inmediatamente. De forma alternativa puede introducir su nombre en la casilla Nombre: y hacer clic en Siguiente.

Notas

- De forma predefinida, la lista desplegable Filtro: tiene seleccionado Todos los archivos admitidos (*.kexi, *.kexic, *.kexis, *.mdb). En el caso de que el archivo que está buscando tenga otra extensión, puede cambiar la selección de la lista desplegable Filtro: a Todos los archivos para mostrar todos los archivos disponibles (independientemente de la extensión).

- Si ha seleccionado un archivo de un tipo externo, como por ejemplo un archivo MS Access `.mdb`, &kexi; le brindará la opción de importar el archivo.

- Si ha seleccionado un archivo de datos de conexión (con extensión `.kexic`) o un acceso rápido a un archivo de proyecto en el servidor de la base de datos (con extensión `.kexis`), &kexi; mostrará los diálogos correspondientes.

#### Abrir un archivo de base de datos de Kexi existente pulsando en el icono del archivo .kexi

- Pulse en el icono del archivo usando el gestor de archivos o en el escritorio. &kexi; abrirá automáticamente este proyecto de base de datos.

Notas

Una observación sobre los archivos de base de datos accedidos remotamente. Es posible que desee abrir un archivo de base de datos que está ubicado en una fuente remota (&eg; un servidor web o FTP o un recurso compartido en una red MS Windows). KDE permite abrir archivos desde fuentes remotas directamente en las aplicaciones y guardar los cambios en la fuente; sin embargo, este no es el caso para los archivos de bases de datos. Al pulsar en un archivo de base de datos ubicado en una fuente remota, se descargará una copia del archivo en un directorio temporal de su equipo y todos los cambios que efectúe se realizarán sobre el archivo local. El archivo original remoto permanecerá inalterado sin cambios, por lo que se recomienda copiar (descargar) el archivo a su equipo en primer lugar, luego abrir el archivo y volver a copiarlo a la fuente remota si quiere mantenerlo actualizado.

### Uso de la ayuda incorporada

&kexi; ofrece las siguientes formas de consultar la ayuda incorporada:

El manual, en formato de documento electrónico.

  El manual se puede consultar pulsando la tecla F1 o pulsando el botón en la barra de menús y seleccionar Ayuda.

Indicaciones ¿Qué es esto?.

  Seleccione ¿Qué es esto? en el menú que aparece al pulsar en el botón y luego haga clic en una zona de la aplicación para obtener indicaciones sobre ella.

## Crear bases de datos sencillas

- Introducción

- Diseñar tablas de bases de datos

  - La ventana del diseñador de tablas

- Introducir datos en las tablas

- Diseñar consultas de base de datos

- Diseñar formularios

  - Los términos más importantes

  - Comparación entre formularios y tablas

  - Trabajar con el diseño de formularios

  - Uso de la pestaña de elementos gráficos

  - Inserción de elementos gráficos - campos de texto

  - Asignación de las fuentes de datos

  - Insertar etiquetas de texto

  - Acciones

  - Gestores de geometría de los elementos gráficos

- Introducir datos utilizando formularios

### Introducción

Una buena forma de aprender las nociones básicas sobre &kexi;, es que cree una base de datos sencilla, utilizando las características más elementales de &kexi;. Para hacer las cosas más sencillas, los temas avanzados de diseño de base de datos no se tratarán aquí.

Comenzará creando una nueva guía telefónica vacía.

En un proyecto de bases de datos nuevo y vacío, realice los siguientes pasos:

1. Diseñe las tablas de la base de datos. Lea la sección llamada Diseñar tablas de base de datos.

2. Introduzca datos en las tablas. Lea la sección llamada Introducir datos en las tablas.

3. Diseñe las consultas de la base de datos. Lea la sección llamada Diseñar consultas de base de datos.

4. Diseñe los formularios. Lea la sección llamada Diseñar formularios.

5. Utilice los formularios para introducir datos. Lea la sección llamada Introducir datos utilizando formularios.

### Diseñar tablas de bases de datos

En primer lugar, se añadirán dos tablas a la base de datos: Personas y Teléfonos. Estas tablas son exactamente las mismas que se describen en el capítulo Bases de datos y hojas de cálculo. Puede encontrar un diseño para Personas en la sección Integridad y validez de los datosde ese capítulo.

1. Seleccione Tabla en la barra de herramientas. También puede utilizar la opción Crear objeto: tabla del menú contextual del elemento Tablas en el «navegador del proyecto».

2. Esto hará que aparezca la ventana del diseñador de tablas. Si observa la parte superior de la ventana del diseñador advertirá que &kexi; le propone un nombre genérico como Tabla1 para la nueva tabla. El diseño de la tabla aún no ha sido guardado, por lo que podrá asignarle un nombre más apropiado. Además, debido a la misma razón, el nombre de la tabla aún no es visible en el navegador del proyecto.

#### La ventana del diseñador de tablas

##### La ventana del diseñador de tablas consta de las siguientes columnas:

- - Información adicional sobre el campo.

- Título de campo - el título del campo que se mostrará durante la introducción de los datos.

- Tipo de datos - una lista desplegable que contiene una lista de tipos de datos. Permite establecer una regla principal para los datos introducidos para un campo dado. Por ejemplo, cuando se establece un tipo de dato numérico entero para un cambo, ningún usuario de la base de datos podrá introducir letras en ese campo.

- Comentarios - puede introducir aquí cualquier información que considere útil para comprender mejor cuál es el propósito del campo. Este texto adicional se guardará en el diseño de la tabla solo será visible en el modo de diseño.

En la ventana del diseñador de tablas, cada fila corresponde a un único campo de la tabla. Puede reconocer que se encuentra en el modo de diseño porque el botón Diseño de la barra de herramientas de la ventana del diseñador de tablas está pulsado

##### Diseño de la tabla «Personas»

En la primera fila, pulse en la celda de la columna Título del campo e introduzca Nombre como el título del campo. Al cubrir el campo Título del campo automáticamente se cubre también el campo Nombre que se ve en el panel el editor de propiedades.

Observaciones acerca de los nombres y los títulos de los campos

- Cada campo de la tabla debe tener un nombre y un título, no pueden dejarse vacíos.

- El nombre del campo es una palabra utilizada por la base de datos, que normalmente no es visible para los usuarios de la aplicación de bases de datos. El nombre no puede contener caracteres especiales (nacionales) (como ±, ¶, Ü) o espacios. El nombre debe contener solo caracteres latinos, números y el signo de subrayado _. Utilice el último en lugar de espacios o guiones.

- Los nombres de los campos deben comenzar con una letra o un signo de subrayado _, nunca con un número.

- No importa si utiliza letras minúsculas o mayúsculas. Para &kexi; el nombre del campo Personas es el mismo que personas.

- El título del campo, por otra parte, permite introducir cualquier letra y carácter especial. Se mostrará a los usuarios de la aplicación de base de datos.

Introduzca, de la misma manera, los siguientes campos en el diseño de la tabla:

- apellido

- calle

- numero_casa

- ciudad

Todos los campos anteriores, excepto el numero_casa, son de tipo texto. Cambie el tipo del campo numero_casa a número entero. Para hacerlo, pulse en la celda que se encuentra en la columna Tipo de datos y en la fila numero_casa y luego pulse en el botón de la lista desplegable o presione F4. La lista de los tipos de datos aparecerá. También puede utilizar las teclas de flecha Arriba y Abajo para seleccionar otro tipo. Seleccione el tipo Número entero.

A partir de ahora, el campo numero_casa solo acepta números.

El diseño de la tabla personas está listo. Puse en el botón Datos de la barra de herramientas para finalizar el diseño y cambiar a la Vista de datos de la tabla. Esto permite introducir datos en la tabla.

Puesto que el diseñado aún no ha sido guardado en la base de datos, aparecerá el diálogo Guardar objeto como. Debe especificar un nombre para la nueva tabla.

&kexi; ofrece un nombre genérico como Tabla1. Para cambiar ese nombre, introduzca Personas en el campo Título y pulse la tecla &Enter; o el botón Aceptar. El campo Título se utilizará para mostrar la tabla a los usuarios finales de la base de datos, &eg; como un formulario. A diferencia del nombre, el título puede contener cualquier carácter incluyendo espacios y caracteres especiales.

Observe que al cubrir el campo Título se cubre automáticamente el campo Nombre. Para su comodidad se respeta la regla de utilizar solo letras, números y el carácter _. No obstante, puede alterar el contenido del campo Nombre si lo desea.

1. A continuación, se le preguntará si está de acuerdo con añadir una clave primaria a la tabla. Pulse el botón Añadir una clave primaria para continuar.

2. La tabla Personas ha sido creada y se ha abierto en la vista de datos. Su nombre aparece en el panel del Navegador del proyecto.

3. Cree la tabla Teléfonos, de la misma manera que la tabla Personas.

4. Cree un campo persona de tipo Número entero y otro campo teléfono de tipo Texto. No utilice un tipo numérico aquí puesto que los números de teléfono pueden tener diferentes formatos y prefijos.

5. Pulse el botón Datos de la barra de herramientas e introduzca el título Teléfonos para la tabla. Al igual que con la tabla anterior, permita que &kexi; cree automáticamente la clave primaria.

### Introducir datos en las tablas

Ha diseñado las dos tablas Personas y Teléfonos. Ninguna de ellas contiene datos aún. En este capítulo aprenderá como introducir algunos datos de forma rápida y efectiva.

Comience con la tabla Personas. Ábrala en la vista de datos utilizando la orden Abrir del menú contextual o el botón de la barra de herramientas del navegador del proyecto. La celda actual se marca con un border más grueso (normalmente negro), un cursor de celda. El contenido de la celda, si existe, se resalta en un color diferente. La fila actual, &ie; aquella en la que ha posicionado su cursor rectangular, se marca con un símbolo de flecha en el lado izquierdo.

Puede navegar a través de las celdas de la tabla utilizando las teclas de flecha, las teclas Re Pág, Av Pág, Inicio, Fin; también puede hacer clic con el ratón en una celda para seleccionarla.

Inicialmente, nada más abrir la tabla Personas, el cursor está ubicado en la columna Id. La columna tiene la propiedad autonumeración definida, marcada con el texto (autonumeración) azul en la última fila. Esto significa que no tiene que introducir los valores a mano cuando introduzca datos para una nueva fila porque la celda se rellenará automáticamente con números sucesivos.

La forma de insertar nuevas filas e introducir datos en ellas en &kexi; es diferente de la manera de hacerlo en las hojas de cálculo. Para introducir datos para una fila, es necesario utilizar las teclas de flecha o el ratón, para mover el cursor a la última fila vacía y especial marcada con un signo más. Coloque el cursor en la (segunda) columna nombre e introduzca el nombre de una persona. Introduzca también el apellido, la calle, el número de su casa y la ciudad. Cuando lo haya hecho, mueva el cursor de celda a la última fila vacía bien utilizando la tecla Abajo o haciendo clic en la última fila con el ratón para añadir una nueva fila.

#### Detalles sobre las acciones disponibles mientras se introducen datos en las tablas

- Tan pronto como introduzca el primer carácter, la fila actual está siendo editada. Un símbolo con forma de lápiz aparece en el lado izquierdo de la tabla de datos.

- Un doble clic con el botón izquierdo del ratón sobre una celda, o presionar &Enter; o la tecla F2 también inician la edición de la fila actual.

- La pulsación de la tecla &Esc; durante la edición del contenido de una celda cancela los cambios que se estaban realizando en esa celda. Sin embargo, el símbolo con forma de lápiz no desaparecerá puesto que aún puede moverse a una celda diferente de la fila editada para cambiar su contenido. Para cancelar los cambios hechos en toda la fila editada, presione la tecla &Esc; de nuevo.

- En lugar de presionar la tecla &Esc;, puede pulsar el botón cancelar los cambios del registro de la barra de herramientas.

- Pulse las teclas &Shift;&Enter; para aceptar los cambios realizados a todas las celdas de la fila que está editando en ese momento.

Cubra la tabla Teléfonos con datos. En la columna persona debe proporcionar el número Id de una persona existente en la tabla Personas.

### Diseñar consultas de base de datos

El propósito principal de una base de datos es almacenar y ayudar a extraer la información que está buscando. A diferencia de las bases de datos escritas en hojas de papel, una base de datos de &kexi; permite especificar más criterios de búsqueda. Los resultados son devueltos más rápidamente incluso cuando se trabaja con conjuntos de datos de gran tamaño. Todo esto es debido a la potencia de las bases de datos; sin embargo, para poder realizar consultas efectivas a la base de datos, debe aprender como decirle a la base de datos que es lo que está buscando.

Con las consultas de la base de datos se puede limitar los datos procedentes de una tabla a un conjunto predefinido de filas y columnas así como unir dinámicamente los datos procedentes de varias tablas.

Para ver como funcionan las consultas en la práctica va a crear una consulta de contactos uniendo los datos de las dos tablas: Personas y Teléfonos (diseñada aquí y rellenada con datos aquí).

1. Cree una nueva consulta vacía seleccionando Consulta en la barra de herramientas. Aparecerá la ventana de diseño. La ventana está dividida en dos áreas: las relaciones de la consulta en la parte superior y las columnas de la consulta en la parte inferior.

2. Seleccione la tabla Personas en la lista desplegable Tabla: situada en la parte superior de la ventana y haga clic en el botón Insertar. Aparecerá una representación gráfica de la tabla en el área de relaciones. Haga lo mismo con la tabla Teléfonos para insertarla también.

3. Añada una relación de consulta utilizando la técnica de arrastrar y soltar el ratón: pulse en el campo id de la tabla personas, arrástrelo y suéltelo en el campo persona de la tabla Teléfonos. Esto unirá ambos campos creando una nueva relación.

4. Haga doble clic en el campo nombre de la tabla Personas, para añadir el campo a una columna de la consulta. De forma similar, añada los campos apellido, calle, numero_casa, ciudad de la tabla Personas y el campo telefono de la tabla Teléfonos.

5. El diseño de la consulta está ahora listo para ser probado. Haga clic en el botón Datos de la barra de herramientas, para cambiar del diseño a la visualización de los datos proporcionados como resultado de la consulta.

6. Guarde el diseño de la consulta para un uso posterior haciendo clic en el botón Guardar de la barra de herramientas. Puesto que el diseño de la consulta no ha sido guardado aún, se le pedirá que especifique un nombre para él. Introduzca el texto Contactos en el campo título y pulse el botón Aceptar.

### Diseñar formularios

- Los términos más importantes

- Comparación entre formularios y tablas

- Trabajar con el diseño de formularios

- Uso de la pestaña de elementos gráficos

- Inserción de elementos gráficos - campos de texto

- Asignación de las fuentes de datos

- Insertar etiquetas de texto

- Acciones

- Gestores de geometría de los elementos gráficos

#### Los términos más importantes

Formulario

  Una ventana que se proporciona para introducir y presentar los datos fácilmente en la pantalla del equipo.

Fuente de los datos del formulario

  Los datos proporcionados por la tabla o consulta de la base de datos se muestran en el formulario. La fuente de datos es necesaria porque los formularios por sí mismos solo son herramientas para mostrar e introducir datos, mientras que las tablas y las consultas son las fuentes de datos. Los nuevos formularios vacíos no tienen ninguna fuente de datos asignada, por lo que no muestran ningún dato de la base de datos a menos que se les asigne una fuente de datos.

Campo del formulario

  Es el equivalente directo de una columna en una tabla o consulta. Lo más frecuentemente utilizados son los campos para mostrar texto y números. Introducir un valor nuevo o cambiar el valor existente de uno de estos campos provoca un cambio en la columna de la tabla o consulta vinculada (después de aceptar el cambio).

Diseño del formulario

  Las tareas que se realizan para definir la apariencia y las funciones de un formulario. Para ello, debe proporcionar una fuente de datos, insertar campos de formulario de varios tipos y colocarlos en la posición apropiada.

Elementos gráficos del formulario

  Los elementos del formulario. Los principales tipos de elementos gráficos son:

  - Elementos gráficos que muestran información, &eg; una casilla de texto o unacaja de imagen. Cada elemento gráfico de este tipo puede estar vinculado a un campo de una fuente de datos (la columna de una tabla o una consulta). Además, estos elementos gráficos se llaman campos de formulario en resumen.

  - Elementos gráficos capaces de realizar una acción específica, &eg; un botón de pulsación que puede cerrar el formulario activo. En otras aplicaciones este tipo de elemento gráfico se denomina a veces control de formulario puesto que puede realizar una acción definida con anterioridad que controla el comportamiento de la aplicación de base de datos.

  - Otros elementos gráficos que permiten enriquecer la apariencia del formulario, &eg; un «elemento gráfico línea» puede separar visualmente dos zonas de un formulario.

Elemento gráfico contenedor

  Un elemento gráfico que puede contener otros elementos gráficos en su interior. Por ejemplo, un elemento gráfico marco o un elemento gráfico pestaña son contenedores. La propia superficie del formulario también es un contenedor. Un botón de orden no puede considerarse un contenedor porque no es posible insertar ningún elemento gráfico en su interior. En los casos más complejos, los elementos gráficos contenedores se pueden insertar dentro de otro contenedor, por lo que la anidación es posible.

#### Comparación entre formularios y tablas

En el capítulo Introducir datos en las tablas aprendió a introducir datos directamente en las tablas utilizando la vista de hoja de datos. Sin embargo, en muchos casos los formularios son más adecuados para la entrada de datos:

- Una tabla puede contener demasiadas columnas para mostrarlas en pantalla. Un formulario puede mostrar estos datos utilizando varias filas.

- Un formulario permite dividir visualmente los campos de datos en grupos lógicos, aumentando así la legibilidad. Se pueden insertar etiquetas con información adicional para dar a los usuarios más indicaciones sobre como utilizar el formulario o sobre que significa un campo de datos dado.

- Los botones de órdenes se pueden utilizar en los formularios para llevar a cabo las órdenes más habituales, de modo que los usuarios puedan utilizar los formularios de una forma similar a las aplicaciones que conocen.

En la vista de hoja de datos mostrar campos de datos de texto de varias filas o imágenes es tan fácil como en los formularios.

#### Trabajar con el diseño de formularios

Al igual que con el diseño de tablas y de consultas, es posible utilizar la vista de datos y la vista de diseño. El diseño de formularios se realiza en la vista de diseño. Normalmente nos referiremos a la ventana de diseño de formularios por el nombre de Diseñador de formularios.

1. Para crear un formulario nuevo vacío, seleccione Formulario en la barra de herramientas. Opcionalmente, puede utilizar la orden Crear objeto: Formulario del botón desplegable de la barra de herramientas del navegador del proyecto o la orden Crear objeto: Formulario del menú contextual del navegador del proyecto.

2. Aparecerá un nuevo marco. El tamaño del formulario se puede modificar moviendo los bordes. El formulario está cubierto con una rejilla que simplifica el posicionamiento preciso de los elementos gráficos.

Al igual que ocurría en el diseño de tablas, el diseñador de formularios proporciona un panel editor de propiedades. Para ahorrar espacio en la pantalla, el panel tiene tres pestañas relacionadas con el formulario seleccionado en ese momento:

La pestaña propiedades

  Contiene la lista de propiedades del elemento gráfico que está seleccionado.

La pestaña origen de datos

  Contiene las propiedades relacionadas específicamente con el origen de datos del elemento gráfico que esté seleccionado o del propio formulario.

La pestaña elementos gráficos

  Contiene una jerarquía de todos los elementos gráficos del formulario. La lista simplifica la búsqueda de elementos gráficos por su nombre y permite navegar entre ellos.

En la primera y en la segunda pestañas se muestra información sobre el nombre y el tipo del elemento gráfico actualmente seleccionado.

También están disponibles algunas barras de herramientas adicionales:

- La barra de herramientas elementos gráficos se utiliza para insertar nuevos elementos gráficos en el formulario. Seleccione Diseño de formulario para mostrarla.

#### Uso de la pestaña de elementos gráficos

La pestaña de elementos gráficos del panel de propiedades proporciona una lista de los elementos gráficos del formulario y su jerarquía. Cada elemento gráfico se presenta en la jerarquía junto a los demás elementos gráficos que están en el mismo nivel (el mismo contenedor padre). Los elementos gráficos hijos (dentro de contenedores) se presentan sangrando sus nombres.

Cada elemento gráfico se muestra con su nombre y tipo. El tipo también tiene un icono: el mismo que se muestra en la barra de herramientas utilizada mientras se realiza el diseño del formulario.

- Un cambio en la selección actual de la lista provoca la correspondiente selección en el formulario diseñado. Esto permite una búsqueda más fácil de elementos gráficos por su nombre y una navegación más sencilla. Por ejemplo, es posible seleccionar un elemento gráfico por su nombre, y luego cambiar a la pestaña propiedades para modificar las propiedades del elemento gráfico.

- Mantener pulsada la tecla &Ctrl; mientras se selecciona un elemento de la lista de elementos gráficos permite seleccionar varios elementos gráficos a la vez. Mantener pulsada la tecla &Shift; permite seleccionar listas enteras de elementos gráficos.

Dar nombres razonables a los elementos gráficos puede ser útil pero no es obligatorio. Tenga en cuenta que el nombre de un elemento gráfico es una propiedad que no es visible para el usuario del formulario. Los usuarios solo verán el texto del elemento gráfico, dado por la propiedad texto o similar.

#### Inserción de elementos gráficos - campos de texto

Vamos a crear un formulario que proporcione información sobre personas, &ie; un formulario conectado con la tabla personas.

Si el formulario que se está diseñando debe presentar datos obtenidos de la base de datos, deberá colocar los campos apropiados en él. Para hacer esto, utilice los botones de la barra de herramientas de elementos gráficos. Cada botón corresponde a un único tipo de elemento gráfico.

1. Pulse en el botón casilla de texto de la barra de herramientas de elementos gráficos.

2. Pulse sobre la superficie del formulario con el botón izquierdo del ratón. En el lugar donde haya hecho clic aparecerá un nuevo elemento gráfico «casilla de texto». Antes de soltar el botón del ratón, puede arrastrarlo para especificar el tamaño deseado para el elemento gráfico.

3. Si es necesario, desplace el elemento gráfico insertado arrastrándolo y soltándolo en la posición deseada. Puede redimensionar el elemento gráfico arrastrando uno de los pequeños cuadrados que se encuentran en sus esquinas. Tenga en cuenta que los cuadrados solo son visibles cuando el elemento gráfico está seleccionado. Si selecciona otro elemento gráfico o la superficie del formulario, los cuadros desaparecerán.

4. Haga clic otra vez en el botón casilla de texto de la barra de herramientas y luego en la superficie del formulario para insertar otro elemento gráfico. Repita esta acción hasta que tenga tres casillas de texto más insertadas en el formulario. En aras de la simplicidad, nos limitaremos a cinco campos de texto.

- Hay un menú contextual disponible en el modo de diseño del formulario, que se puede activar haciendo clic con el botón derecho del ratón sobre el elemento gráfico deseado o la superficie del formulario. El menú ofrece ordenes como cortar, copiar, pegar, borrar y otras, más complejas. También hay disponibles accesos rápidos de teclado para estas ordenes. Algunas de las ordenes están disponibles solo para ciertos tipos de elementos gráficos.

- Las ordenes cortar, copiar y pegar posibilitan mover o copiar elementos gráficos entre formularios, incluso entre proyectos de bases de datos independientes.

- Mantener pulsada la tecla &Ctrl; mientras se hace clic sobre un elemento gráfico permite seleccionar varios widgets.

- En lugar de utilizar las ordenes copiar y pegar, para duplicar un elemento gráfico dentro del mismo formulario también se puede presionar la tecla &Ctrl; mientras se mueve el elemento gráfico. Una vez que se suelte el botón del ratón, el elemento gráfico arrastrado no será movido sino copiado en la nueva posición.

#### Asignación de los orígenes de datos

Los campos que ha insertado hasta el momento aún no tienen un origen de datos asignado, por lo que no pueden mostrar información de la base de datos. Para asignar un origen de datos, utilice la pestaña (Origen de los datos) del panel editor de propiedades

El primer paso es especificar el origen de datos del formulario, &ie; el lugar del que se obtendrán los datos mostrados. Como se mencionó anteriormente, en este ejemplo se va a utilizar la tabla personas como origen de los datos para el nuevo formulario.

1. Pulse en la superficie del formulario, ya que va a modificar sus propiedades.

2. Cambie a la pestaña (Origen de los datos) e introduzca el nombre de la tabla personas en la lista desplegable Origen de datos del formulario. De forma alternativa se puede seleccionar el nombre de la propia lista desplegable.

Ha asignado el origen de datos del formulario. Ahora necesita especificar el origen de datos del elemento gráfico.

1. Pulse en el primer elemento gráfico «casilla de texto» de la parte superior del formulario.

2. En la pestaña (Origen de datos) del panel de propiedades introduce el nombre del campo nombre en la lista desplegable Origen de datos del elemento gráfico. De forma alternativa, puede seleccionar este nombre desde la lista desplegable.

3. Haga clic en el siguiente elemento gráfico campo de texto e introduzca apellido como el origen de los datos.

4. Introduzca los orígenes de datos para los campos de texto calle, numero_casa y ciudad de un modo similar.

Ahora ya puede guardar el diseño del formulario (no es obligatorio probar el formulario en acción). Para guardarlo, haga clic en el botón Guardar de la barra de herramientas. Al guardar se le pedirá que introduzca el nombre del formulario. Introduzca Personas como titulo y pulse el botón Aceptar. El nombre del formulario se rellenará automáticamente.

Este es el momento adecuado para probar el formulario. Haga clic en el botón Datos de la barra de herramientas. A menos que haya cometido un error al introducir los orígenes de los datos, debería ver los campos del formulario rellenados con los datos de la tabla Personas.

- Si desea eliminar la asignación de un origen de datos del elemento gráfico para un elemento gráfico particular del formulario, puede usar el botón de la casilla Origen de datos del elemento gráfico.

- Utilice el botón (Ir al origen de datos del formulario seleccionado) para seleccionar la tabla o la consulta apropiada en el navegador del proyecto, de modo que pueda abrir rápidamente una tabla o una consulta que sea el origen de datos del formulario.

#### Insertar etiquetas de texto

Para facilitarle al usuario del formulario la identificación del significado de cada campo de control, estos deberían tener anexadas etiquetas de texto con los títulos correspondientes. Para crear etiquetas de texto se utiliza el elemento gráfico etiqueta.

Inserte tres elementos gráficos «etiqueta de texto» en el formulario, colocándolos a la izquierda de los campos de texto (o a la derecha, si su sistema operativo utiliza una disposición de derecha a izquierda). Al insertar una nueva etiqueta, aparecerá un cursor de texto en la posición donde se puede introducir el título deseado. Introduzca consecutivamente: Nombre, Apellido, Calle, Número de casa y Ciudad. Además, añada otra etiqueta en la parte superior del formulario para mostrar el nombre del formulario, &ie; Personas. Amplíe el tamaño de la etiqueta y aumente el tamaño del tipo de letra utilizando Tipo de letra en la pestaña Propiedades.

#### Acciones

Una acción es una actividad aislada de la aplicación, disponible para que el usuario la ejecute. También puede ser ejecutada automáticamente como reacción a un evento dado (&eg; después de abrir un formulario).

##### Asignar acciones a los botones del formulario

La mayor parte de las acciones se pueden asignar a los botones del formulario. La acción asignada se ejecutará después de que se pulse el botón.

Para asignar una acción:

1. Cambie a la vista de diseño del formulario, si aún no lo ha hecho.

2. Seleccione el elemento gráfico botón existente haciendo clic en él o ponga un nuevo elemento gráfico botón en el formulario. Si inserta un botón nuevo, introduzca su título y pulse la tecla &Enter;.

3. Haga clic en el elemento gráfico botón con el botón derecho del ratón para mostrar el menú contextual.

4. Desde el menú contextual seleccione la orden Asignar acción....

5. Aparecerá una ventana de diálogo Asignar una acción al botón que presenta una lista de las acciones disponibles. Si el elemento gráfico ya tenía una acción asignada, entonces dicha acción ya estará seleccionada en la lista. En caso contrario, la lista Categoría de acción tendrá seleccionado el elemento Ninguna acción.

6. En la lista Categoría de acción seleccione el elemento Acciones de aplicación. Se listarán todas las acciones de la aplicación disponibles.

7. Seleccione una de las acciones de la lista (&eg; Eliminar objeto seleccionado).

Después de cambiar a la vista de datos del formulario puede probar si las acciones funcionan.

- Para eliminar una asignación de acción, seleccione el elemento Ninguna acción en la lista Categoría de acción de la ventana de diálogo Asignar una acción al botón.

- Las acciones solo funcionan en la vista de datos del formulario. No cualquier asignación de acción es razonable. Por ejemplo, la acción Tipo de letra... está disponible en la vista de datos, pero solo si se tiene un elemento gráfico seleccionado en la vista de diseño. Si se realizan cambios a las preferencias del tipo de letra, dichos cambios se aplican al texto del elemento gráfico seleccionado.

#### Gestores de geometría de los elementos gráficos

En la mayoría de los casos los elementos gráficos deben ubicarse y alinearse convenientemente. Posicionar, alinear y redimensionar los elementos gráficos manualmente no es sencillo y esos parámetros no se reajustan cuando el usuario redimensiona el formulario. De hecho, la situación puede ser peor porque no puede asumirse que un formulario dado requiere un espacio determinado debido a que los usuarios tienen diferentes tamaños de letra y de resolución de pantalla.

Utilizar una herramienta especial llamada gestor de geometría de los elementos gráficos puede ayudarle a distribuir automáticamente los elementos gráficos en el formulario. Un gestor de geometría de elementos gráficos es una acción que agrupa a dos o más elementos gráficos de tal forma que los posiciona correctamente y les da los tamaños adecuados.

Utilizar un gestor de geometría en un formulario mejora la alineación. Además, su espacio se utiliza mejor. Los campos de texto están cerca unos de otros y el espaciado es constante.

##### Políticas de tamaño para los elementos gráficos dentro de un gestor de geometría

En lugar de establecer un tamaño fijo para los elementos gráficos, en &kexi; se puede elegir entre varias políticas de tamaño para los elementos gráficos. Una política de tamaño es una estrategia flexible para controlar la forma en la que un elemento gráfico se estila (o se encoge) en función de los demás elementos gráficos vecinos y del espacio disponible dentro del formulario.

Después de poner los elementos gráficos en una línea, se redimensionarán para ajustar su texto texto visible.

Para cada elemento gráfico insertado en el formulario, hay preferencias para la política de tamaño disponibles en el editor de propiedades. Las preferencias se presentan como un grupo de propiedades llamado política de tamaño.

Este grupo de propiedades contiene:

Política de tamaño horizontal

  define el tamaño horizontal del elemento gráfico,

Política de tamaño vertical

  define el tamaño vertical del elemento gráfico,

Estiramiento horizontal

  define la fuerza de la actividad de la política de tamaño horizontal,

Estiramiento vertical

  define la fuerza de la actividad de la política de tamaño vertical

##### Valores de las políticas de tamaño

Los siguientes valores están disponibles en la listas desplegables política horizontal y política vertical visibles en el editor de propiedades:

Fijo

  este valor significa que el widget no puede redimensionarse automáticamente. Debería mantener el valor constante definido en tiempo de diseño (anchura o altura).

Mínimo

  este valor significa que el tamaño original del elemento gráfico se establece con el valor mínimo permitido, es suficiente y no se necesita para expandir el elemento gráfico, pero el elemento gráfico se expandirá si se necesita. Este tipo de política puede utilizarse para forzar al widget a que se expanda a la anchura o altura completa, especialmente si establece un valor de estiramiento superior a 0.

Máximo

  este valor significa que el tamaño original del widget se establece como el valor máximo y puede reducirse sin romper la usabilidad y legibilidad del widget si los demás widgets necesitasen más espacio.

Preferido

  este valor significa que el tamaño original del widget es el mejor y por tanto preferido. No obstante el widget puede acortarse o alargarse y permanecerá legible.

Expansible

  este valor significa que el tamaño original del widget es razonable pero el widget puede acortarse. Puede agrandarse también para que ocupe el máximo espacio posible.

Mínimo expansible

  este valor significa que el tamaño original del widget está permitido. Puede expandirse para que ocupe el máximo espacio posible.

Ignorado

  este valor significa que el tamaño original del widget se ignorará. El widget puede expandirse para que ocupe el máximo espacio posible pero normalmente los demás widget no lo permitirán.

Los diferentes tipos de widget tienen diferentes políticas de tamaño predeterminadas. Por ejemplo, los widgets botón tienen establecida la política de tamaño Mínimo (en ambas direcciones), y sin embargo los widgets de campo de texto tienen la política vertical establecida a Fijo.

Las políticas de tamaño más frecuentemente utilizadas son Preferido, Mínimo y Máximo.

##### Estiramiento vertical y horizontal

Las propiedades estiramiento vertical y estiramiento horizontal aceptan valores enteros mayores o iguales que 0. Estas propiedades permiten afinar el comportamiento de las políticas de tamaño. El valor predeterminado para las propiedades es 0. Valores más grandes para el estiramiento significan que el elemento gráfico se expandirá más que los elementos gráficos que tengan especificado un valor de estiramiento más pequeño.

### Introducir datos utilizando formularios

La introducción y edición de datos suele ser la tarea del usuario de una base de datos. El diseñador de la base de datos debe comprobar el formulario en términos de la validación de las entradas de datos, y ver si el formulario funciona como se espera.

Para probar el formulario, cambie a su vista de datos. Una fila (registro) de datos de una base de datos se mostrará. Puede moverse por los campos utilizando el botón izquierdo del ratón o las teclas &Tab; y &Shift;&Tab;. Durante la edición, habrá un icono con forma de lápiz visible cerca del navegador de registros. Una vez introducidos los datos de la fila (registro) puede pulsar las teclas &Shift;&Enter; o pulsar el botón guardar registro de la barra de herramientas para aceptar los cambios hechos en la fila actual. Hacer clic en el botón cancelar los cambios del registro de la barra de herramientas descarta los cambios hechos en la fila actual y restaura el contenido de los campos de datos. Puede utilizar el botón del navegador de registros para moverse a una nueva fila. Todas las funciones del navegador están también disponibles de una forma similar en la vista de tabla de datos.

## Configurar Kexi

- Acoplar y desacoplar los paneles laterales

### Acoplar y desacoplar los paneles laterales

Los paneles laterales navegador de proyecto y editor de propiedades se pueden desacoplar de las siguientes maneras:

- Haciendo doble clic en la barra «de agarre» de la parte superior de la ventana; o

- Hacer un solo clic en el botón con forma de diamante situado en la parte superior del panel, al lado del botón «x» de cierre.

Una vez desacopladas, las ventanas de los paneles se pueden volver a acoplar en la ventana principal, de la misma forma que se desacoplaron:

- Haciendo un clic doble en la barra «de agarre» de la parte superior de la ventana, o

- Hacer un solo clic en el botón con forma de diamante situado en la parte superior del panel, al lado del botón «x» de cierre.

Cuando se desacopla un panel, &kexi; recuerda su última posición acoplada por lo que cuando se vuelve a acoplar, el panel será colocado en la posición donde estuve acoplado por última vez.

## Referencia de órdenes

- La pestaña Kexi

- La pestaña crear

- La pestaña datos

- La pestaña datos externos

- La pestaña herramientas

- La pestaña diseño de formulario

- La pestaña diseño de informe

### La pestaña Kexi

La pestaña &kexi; es el lugar donde se interactúa con los proyectos de &kexi;.

La selección de una acción abrirá una pantalla justo al lado del menú. Esta pantalla ofrece opciones sobre la acción elegida.

Las opciones ofrecidas son:

Bienvenido

  Aquí puede seleccionar abrir un proyecto en el que haya estado trabajando recientemente.

Abrir

  Aquí puede seleccionar abrir un proyecto &kexi; independientemente de que esté almacenado en un archivo o en un servidor de bases de datos.

Cerrar

  Esta acción cierra el proyecto de &kexi; que tiene actualmente abierto.

Nuevo

  Aquí puede seguir el asistente para crear un nuevo proyecto de &kexi;.

Importar, exportar o enviar...

  Aquí puede seguir el asistente para importar datos existentes al proyecto de &kexi; actualmente abierto.

Salir

  Cierra &kexi;.

### La pestaña crear

Desde la pestaña crear puede crear objetos que serán añadidos a su proyecto.

Tabla

  Seleccionar Tabla le llevará al diseñador de tablas en la vista de diseño para permitirle añadir definiciones de campos a su tabla.

Consulta

  Seleccionar consulta le llevará al diseñador de consultas en la vista de diseño para permitirle diseñar una consulta para obtener resultados personalizados de las tablas de su proyecto.

Formulario

  Seleccionar Formulario le llevará al diseñador de formularios en la vista de diseño para permitirle añadir elementos gráficos a su formulario.

Informe

  Seleccionar Informe le llevará al diseñador de informes en la vista de diseño para permitirle añadir elementos gráficos a su informe.

Script

  Seleccionar Script le llevará al editor de scripts para permitirle añadir código personalizado para su proyecto y/o objetos.

### La pestaña datos

Desde la pestaña datos puede manipular los datos de las tablas o los elementos gráficos de sus objetos (formularios, informes, etc)

Cortar

  Cortar, envía los datos o el elemento gráfico al portapapeles y los elimina de su posición actual.

Copiar

  Copiar, envía los datos o el elemento gráfico al portapapeles sin eliminarlo de su posición actual.

Pegar

  Pegar, coloca los datos o el elemento gráfico que se encuentran en el portapapeles en la tabla u objeto correspondiente.

Pegado especial

  Pegado especial, se utiliza para colocar datos arbitrarios encontrados ene l portapapeles a una tabla, de una forma que es predecible con el fin de añadirlos correctamente de acuerdo a la definición de la tabla.

Buscar

  Buscar, abre el diálogo Buscar para buscar un texto específico en la base de datos.

### La pestaña datos externos

Desde la pestaña de datos externos puede importar datos desde otras fuentes a su proyecto de &kexi;.

Importar datos de un archivo

  Importar datos de un archivo, muestra un diálogo que le permite importar datos desde archivos CSV o de texto sin formato a una tabla nueva en su proyecto.

Importar tablas

  Importar tablas, abre el asistente de importación de tablas que le permite importar datos desde un archivo `fods`, `mdb`, `ods`, `tsv` o desde un otro servidor de bases de datos, a una tabla nueva en su proyecto.

Exportar datos a un archivo

  Exportar datos a un archivo, muestra un diálogo que le permite exportar los datos actuales de las tablas a un archivo CSV o de texto sin formato.

La tabla tiene que estar abierta para poder exportar los datos a un archivos.

### La pestaña herramientas

Desde la pestaña herramientas puede manipular sus proyectos.

Compactar base de datos

  Compactar base de datos, comprueba la base de datos en búsqueda de errores menores y reduce el tamaño de la base de datos.

Debería compactar su base de datos regularmente para mantenerla en buen estado, especialmente después de operaciones masivas de registros (añadidos o borrados masivos)

### La pestaña diseño del formulario

Desde la pestaña diseño de formulario se pueden seleccionar los elementos gráficos a añadir al formulario

Puntero

  Puntero, cambia al modo de selección de elementos gráficos.

Al seleccionar cualquier widget, se cambia al modo de agregación de elementos gráficos. A continuación se puede hacer clic en cualquier parte del formulario para colocar el elemento gráfico.

Etiqueta

  Un elemento gráfico etiqueta muestra información predefinida en un formulario. Normalmente se utiliza como un título junto a otros widgets de datos.

Casilla de texto

  Una casilla de texto es un contenedor de una sola línea para datos contenidos en su tabla.

Editor de texto

  Un editor de texto es un contenedor de varias líneas para datos contenidos en su tabla.

Lista desplegable

  Una lista desplegable muestra una lista de opciones seleccionables.

Casilla de selección

  Una casilla de selección contiene dos o más estados de datos (&eg; activado/desactivado)

Caja de imagen

  Una caja de imagen contiene una imagen, vinculada a un campo de una tabla.

Botón

  Un botón le permite definir las acciones que se ejecutarán al hacer clic en él.

Marco

  Un marco se utiliza como un contenedor para otros elementos gráficos.

Caja de grupo

  Una caja de grupo se utiliza para agrupar otros elementos gráficos y controlar su estado.

Elemento gráfico pestaña

  Un elemento gráfico pestaña se utiliza como un contenedor para otros elementos gráficos y puede tener varias páginas que contengan diversos elementos gráficos.

Línea

  Una línea se utiliza como un separador lógico entre diferentes partes de un formulario.

Navegador web

  Un navegador web es un elemento gráfico que permite mostrar una página web dentro del formulario.

Asignar acción

  Asignar acción se utiliza para asignar una acción a ser ejecutada cuando ocurra un evento (&eg; hacer clic en un botón).

### La pestaña diseño de informe

Desde la pestaña diseño de informe se pueden seleccionar elementos gráficos a añadir a un informe.

Etiqueta

  Un elemento gráfico etiqueta muestra información predefinida en un informe. Normalmente se utiliza como un título junto a otros widgets de datos.

Campo

  Un elemento gráfico Campo es un contenedor de una sola línea para datos contenidos en una tabla.

Texto

  Un elemento gráfico texto es un contenedor de varias líneas para datos contenidos en una tabla.

Imagen

  Un elemento gráfico imagen contiene una imagen, vinculada a un campo de una tabla.

Selección

  Un elemento gráfico selección contiene dos o tres estados de datos (&eg; activado/desactivado)

Línea

  Una línea se utiliza como un separador lógico entre diferentes partes de un formulario.

Gráfico

  Un widget gráfico se utiliza para añadir una representación visual de los datos presentados en una gráfica.

Web

  Un elemento gráfico web se utiliza para proporcionar un componente navegador web mínimo e imprimir información de un sitio local o web en un reporte.

Código de barras

  Un elemento gráfico código de barras se utiliza para crear un código de barras que se imprimirá en un informe, a partir de los datos almacenados en un campo.

## Apéndice A. Introducción a las bases de datos

- ¿Qué es una base de datos?

- Las bases de datos y las hojas de cálculo

- Diseño de una base de datos

- ¿Quién necesita una base de datos?

- Programas de creación de bases de datos

### ¿Qué es una base de datos?

Puede definir una base de datos como una colección de datos sobre un tema. Se organiza de forma que se permite navegar fácilmente por la información, realizar cambios o añadir elementos nuevos.

Puede ver este diagrama si quiere acceder a un o más de los ejemplos anteriores: una libreta de teléfonos sencilla.

La imagen de arriba muestra un conjunto con dos contactos, cada uno de los cuales se presenta en una tarjeta individual. Parece que esa tarjeta puede constituir una línea sencilla de una tabla:

#### Tabla de contactos

Nombre | Num. tel.
--- | ---
Juan | 799 23 43 12
Adán | 711 19 77 21

Términos y definiciones: un dato que constituye una parte de un conjunto más grande se puede llamar fila o más profesionalmente registro. El conjunto mayor normalmente se llama tabla. Por otra parte, el nombre más natural para la tabla es uno que describa los datos que ofrece o almacena, que es «Contactos». Además, cada fila de la tabla se compone de columnas que suelen llamarse también campos. En la tabla Contactos hay dos columnas (campos): Nombre y Num. tel..

Para usuarios sencillos una única tabla puede constituir una base de datos. Muchas personas consideran ambos conceptos equivalentes. Como verá más adelante, para las bases de datos reales normalmente se necesitan varias tablas.

Para recapitular, en este momento tiene una base de datos sencilla consistente en una única tabla llamada Contactos.

Compruebe el contenido en

### Las bases de datos y las hojas de cálculo

Es muy posible que ya haya utilizado aplicaciones de hojas de cálculo como Calligra Sheets, LibreOffice Calc o &Microsoft; Excel. Si es así, probablemente se preguntará: ya que tanto las hojas de cálculo como las bases de datos tienen tablas, ¿por qué debería utilizar una base de datos y no una hoja de cálculo?

Al comparar las hojas de cálculo y las bases de datos se pueden encontrar las siguientes cuestiones que se verán en mayor detalle después.

#### ¿En qué se diferencia una base de datos de una hoja de cálculo?

Excediendo gradualmente la capacidad de un teléfono móvil, expanda su tabla Contactos añadiendo una columna (campo) Dirección. Añada más números de teléfono (oficina, hogar) para cada persona y añada apellidos a los nombres. Para hacerlo más sencillo, supondremos lo siguiente:

- La tabla está limitada a dos personas (obviamente, podrían ser cientos e incluso miles en una base de datos real)

- Hay dos personas con el mismo nombre y apellido

##### Tabla de contactos

Nombre y apellidos | Tel | Dirección
--- | --- | ---
Juana Salgado | 799 23 43 12 | Calle Larga 1, Córdoba
Adán García | 711 19 77 21 | Mérida, Paseo Marítimo 5
Juana Salgado | 110 98 98 00 | Calle Larga 1
Salgado Juana | 312 43 42 22 | Sevilla, Calle Larga 1
ADÁN García | 231 83 02 04 | Paseo Marítimo 5, Mérida

Una tabla así puede existir tanto en una hoja de cálculo como en una base de datos. Utilizar una hoja de cálculo es muy fácil, por supuesto. ¿Qué problemas hay en esta fase?

#### Integridad de los datos de referencia

Suponga que está utilizando una hoja de cálculo y que necesita cambiar la dirección de al menos una persona. Tiene un pequeño problema: tiene que cambiar la dirección en muchas filas. Por ejemplo, Juana aparece en tres filas. Pero aparecerá un problema de verdad si olvida cambiar una de las filas - la dirección asignada a esta persona se volverá ambigua, y por tanto sus datos perderán integridad.

Además, no hay una forma sencilla de eliminar una única persona de la tabla, porque tiene que borrar todas las filas relativas a esa persona.

#### Redundancia de datos

Está directamente conectado con el problema anterior. En los campos «nombre» y «apellido» y «dirección» se ha introducido el mismo dato varias veces. Esto es típico del inefectivo modo de las hojas de cálculo de almacenar los datos puesto que la base de datos crece innecesariamente, y por tanto requiere más recursos del equipo (un tamaño mayor de los datos y un acceso más lento).

¿Cómo puede solucionar estos problemas con una base de datos? Puede dividir la información en trozos más pequeños creando una tabla adicional Personas con solo dos columnas: Nombre y apellido y Dirección:

##### Tabla de personas

Nombre y apellidos | Dirección
--- | ---
Juana Salgado | Calle Larga 1, Córdoba
Adán García | Paseo Marítimo 5, Mérida

Cada fila de la tabla Personas corresponde a una única persona. La tabla Contactos está desde ahora relacionada con la tabla Personas.

#### Integridad y validez de los datos

Observe la forma en que se introducen los datos en los campos Nombre y apellido y Dirección. La gente que introduce los datos puede cometer errores, algunas veces incluso negligentes. En nuestros datos de ejemplo tenemos diversas secuencias de introducción del nombre y el apellido (Joan Smith y Smith Joan; Adam y ADAM) y muchas más formas de introducir la misma dirección. Seguramente usted puede discurrir muchas otras maneras.

El problema anterior muestra que &eg; cuando se busca el número de teléfono de una persona cuya dirección es Puerta Occidental 1, Varsovia no se conseguirá un resultado completo. Solo se obtendrá una fila en lugar de tres. Por otra parte, tampoco encontrará todos los números de teléfono buscando por el valor Joan Smith en el campo Nombre y apellido, porque Smith Joan no encaja con Joan Smith.

¿Cómo puede solucionar estos problemas utilizando una base de datos? Puede lograrlo cambiando el diseño de la tabla Personas:

1. Separando los datos del campo Nombre y apellido en dos campos independientes: Nombre y Apellido.

2. Separando los datos del campo Dirección en tres campos independientes: Calle, Número de casa y Ciudad.

3. Garantizando la corrección de los datos: asegurándose de que no hay ningún campo vacío, &eg; debe introducir siempre un número de casa.

Una tabla modificada tiene un aspecto parecido a:

##### Tabla de personas

Nombre | Apellidos | Calle | Número de la casa | Ciudad
--- | --- | --- | --- | ---
Juan | Ejemplo | Calle Larga | 1 | Córdoba
Adán | Prueba | Paseo Marítimo | 5 | Mérida
Condiciones
campo obligatorio | campo obligatorio | campo obligatorio | campo obligatorio | campo obligatorio

Gracias a la introducción del campo requerido condición podemos estar seguros de que los datos introducidos están completos. Por supuesto, en el caso de otras tablas, puede permitir omitir ciertos campos durante la introducción de los datos.

#### Limitar la visualización de los datos

Una hoja de cálculo muestra todas las líneas y las columnas de la tabla, que a veces puede ser molesto en las hojas enormes de datos. Por supuesto, puede filtrar y ordenar las líneas de la hoja de cálculo, aunque debe extremar los cuidados cuando vaya a hacerlo. Los usuarios de la hoja de cálculo pueden olvidar que la vista de datos se ha filtrado, lo que puede inducir a cometer errores. Por ejemplo, para calcular las sumas puede pensar que tiene 100 filas de datos aunque, de hecho, hay 20 filas ocultas más.

Si desea trabajar sobre un pequeño subconjunto de los datos, &eg; para enviárselo a otros para que lo editen, puede copiarlo y pegarlo en otra hoja de cálculo y después de la edición pegar los datos modificados devueltos a la hoja de cálculo principal. Estas ediciones manuales pueden provocar pérdida de datos o cálculos incorrectos.

Para limitar la visualización de los datos, las aplicaciones de bases de datos ofrecen consultas, formularios e informes.

Un modo muy práctico de limitación es la siguiente versión extendida de la anteriormente descrita tabla Personas:

##### Tabla de personas

Nombre | Apellidos | Calle | Número de la casa | Ciudad | Sueldo
--- | --- | --- | --- | --- | ---
Juan | Ejemplo | Calle Larga | 1 | Córdoba | 2300
Adán | Prueba | Paseo Marítimo | 5 | Mérida | 1900

Vamos a suponer que la columna recientemente introducida «Sueldo» contiene datos confidenciales. ¿Cómo puede compartir &eg; detalles de contacto de las personas con sus compañeros de trabajo pero sin revelar sus sueldos? Es posible si comparte solo una consulta y no la tabla completa. La consulta puede seleccionar todas las columnas excepto la columna «Sueldo». En el mundo de las bases de datos una consulta de este tipo se suele conocer como una «vista».

#### Rendimiento y capacidad

Su computador probablemente sea bastante rápido. Sin embargo, puede ralentizarse algo si utiliza hojas de cálculo muy grandes. Su baja eficiencia reside en primer lugar en la carencia de índices que aceleren el proceso de búsqueda de los datos (las bases de datos sí que ofrecen índices). Además, si va a realizar operaciones como copiar al portapapeles del sistema, incluso la copia de datos puede resultar problemática en algunas ocasiones.

Las hojas de cálculo que contienen conjuntos de datos muy grandes tardan mucho tiempo en abrirse. Una hoja de cálculo carga multitud de datos en la memoria del computador al abrirse. La mayor parte de los datos que se cargan posiblemente sean innecesarios y no se utilicen en ese momento. Las bases de datos, a diferencia de las hojas de cálculo, cargan los datos almacenados en el computador solo cuando los necesita.

En la mayor parte de las ocasiones, no tendrá que preocuparse de cómo se almacenan los datos en la base de datos. Esto significa que, a diferencia de las hojas de cálculo, las bases de datos no se preocupan de:

- La secuencia de las filas, porque puede ordenar las líneas según sus necesidades. Además, puede ver los mismos datos en diversas vistas con diferente ordenación.

- Lo mismo se aplica también a las columnas (campos) de la tabla.

Junto con la Limitación de la vista de datos descrita en el párrafo anterior, estas cualidades constituyen la ventaja de las bases de datos.

#### Entrada de datos

Las últimas ediciones de las aplicaciones de creación de hojas de cálculo le permiten diseñar formularios para introducir datos. Este tipo de formularios son los más utilizados cuando los datos no se pueden visualizar adecuadamente en la vista de tabla, &eg;, si el texto ocupa demasiadas líneas o si todas las columnas no caben en la pantalla.

En este caso, la forma en la que funciona la hoja de cálculo es problemática. Los campos para la entrada de la base de datos presentan dificultades para ubicarlos en la hoja de cálculo, y suelen ser poco seguros frente a la manipulación (intencionada o accidental) del usuario.

#### Informes

Las bases de datos activan la agrupación, la limitación y resumen de datos en un formulario de un informe. Las hojas de cálculo normalmente se imprimen en un formulario de pequeñas tablas sin control completamente automático sobre las divisiones de las páginas o la disposición de los campos.

#### Programación

Las aplicaciones para crear bases de datos suelen ofrecer lenguajes de programación. Las hojas de cálculo más recientes también tienen estas capacidades, pero reducen la capacidad de modificar los campos de la hoja de cálculo y la copia de datos sencilla, sin olvidar la relevancia de las reglas de identidad que se mencionaron en los párrafos anteriores.

El procesamiento de datos en la hoja de cálculo se suele hacer mediante una interfaz gráfica de usuario, que puede reducir la velocidad de procesamiento de los datos. Las bases de datos pueden trabajar en segundo plano, fuera de las interfaces gráficas.

#### Multiuso

Es difícil imaginar varios usos para una hoja de cálculo. Aunque es técnicamente posible en las aplicaciones más recientes, necesita mucha disciplina, atención y conocimientos por parte de los usuarios, algo que no se puede garantizar.

Una forma clásica de compartir los datos almacenados en una hoja de cálculo con otras personas es enviar un archivo completo (normalmente, por correo electrónico) o proporcionar un archivo de hoja de cálculo en una red de computadores. Esta forma de trabajar en poco eficaz para grupos de muchas personas: los datos que pueden ser necesarios en un momento los puede tener bloqueados otra persona.

Por otro lado, las bases de datos se han diseñado pensando que puede haber varios usuarios accediendo a los datos. Incluso en la versión más simple, es posible bloquear una fila de un tabla en concreto, lo que hace posible compartir los datos de la tabla.

#### Seguridad

Asegurar una hoja de cálculo o alguna de sus secciones con una contraseña es una mera actividad simbólica. Después de distribuir un archivo de hoja de cálculo por una red de computadores, la gente puede copiar el archivo e intentar averiguar la contraseña. A veces no es tan difícil, porque la contraseña está almacenada en el mismo archivo que la hoja de cálculo.

Las características para editar los bloqueos o para bloquear la copia de una hoja de cálculo (o parte de ella) es igual de fácil de eludir.

Las bases de datos (salvo que estén almacenadas en un archivo en lugar de en un servidor) no suelen estar disponibles en un único archivo. Se suele acceder a ellas usando una red de computadores, normalmente proporcionando un nombre de usuario y una contraseña. Obtiene acceso solo a esas áreas (tablas, formularios o incluso filas y columnas seleccionadas) que le han sido asignadas para definir los adecuados derechos de acceso.

Los derechos de acceso pueden afectar a la capacidad para editar datos o para acceder a los datos. Si hay datos a los que no puede acceder, y no se los han enviado al computador, no tiene la posibilidad de hacer una copia de los datos de una forma tan fácil como en los archivos de hoja de cálculo.

### Diseño de la base de datos

El diseño de una base de datos necesita una planificación cuidadosa. Observe que la tabla Personas propuesta en la sección Integridad y validez de los datos puede generar problemas cuando la tabla está rellenada con datos. Por ejemplo, cambiar el nombre a un campo es una tarea sencilla, pero dividir el campo Dirección en campos independientes necesita un trabajo cuidadoso y tedioso.

Para evitar estas situaciones, reformule su proyecto de base de datos antes de crearlo en su equipo, y antes de que tanto usted como otras personas empiecen a utilizarlo. De este modo, invirtiendo algo de tiempo inicialmente, es muy posible que ahorre tiempo en el uso diario.

### ¿Quién necesita una base de datos?

#### Las hojas de cálculo son adecuadas si:

- Tiene unas necesidades limitadas y nunca va a tener que gestionar grandes volúmenes de datos (¿puede pronosticarlo ahora?)

- No puede adquirir la metodología de construcción de bases de datos. Sin embargo, puede subcontratar esta tarea o usar herramientas más sencillas.

- Usa hojas de cálculo complejas y no dispone del tiempo o del dinero necesario para pasar a bases de datos. Piense entonces (o consulte con algún experto) si esta situación no le conduce a un callejón sin salida. No cuenta con herramientas mágicas que hagan la transición de sus hojas de cálculo (no importa lo bien que estén hechas) en una base de datos.

#### Puede considerar el uso de bases de datos si:

- Su colección de datos se expande cada semana.

- A menudo crea hojas de cálculo nuevas, copia los datos de las antiguas y siente que su trabajo se vuelve cada vez más tedioso. En ese caso, el esfuerzo de pasar a las bases de datos está sobradamente pagado.

- Suele crear informes y estadillos para los que no encajan la vista de tabla de una hoja de cálculo. Entonces, puede considerar pasar a una base de datos con vistas y formularios.

### Programas de creación de bases de datos

Acaba de aprender las características generales de las bases de datos sin entrar en mucho detalle de las aplicaciones específicas para diseñarlas.

Las primeras bases de datos se construyeron para computadores mainframe enormes en los años 60, &eg;, IBM System/360. En ese tiempo, no había PCs, y esas bases de datos necesitaban personal altamente cualificado. Aunque el hardware de los computadores antiguos era poco fiable, era mucho más lento y tenía menos capacidad de almacenamiento, una característica de las bases de datos antiguas sigue resultando muy atractiva: muchos usuarios podían acceder a los datos mediante una red.

En los años 70, científicos formaron la teoría de las bases de datos relacionales (términos como tabla, registro, columna (campo) y relacionalidad y muchos otros). Sobre los fundamentos de esta teoría se crearon las bases de datos IBM DB2 y Oracle, que han sido desarrolladas y utilizadas hasta estos días. A finales de los 70 se construyeron los primeros ordenadores personales. Sus usuarios pudieron (gradualmente) utilizar muchos tipos de aplicaciones, incluyendo aquellas para la construcción de bases de datos.

Cuando se trata de las enormes bases de datos de las empresas, la situación no ha cambiado: aún necesitan potentes y complejos equipos llamados clusters. No obstante, esto va más allá del tema de este manual.

En el área de las bases de datos accesibles con interfaz de usuario gráfica para ordenadores personales, puede elegir entre las siguientes:

- DBase - una herramienta para el funcionamiento de bases de datos para DOS, popular en los años 80. En la actualidad aún se utilizan archivos en formado DBase en algunos casos específicos debido a su simplicidad.

- FoxPro - una aplicación similar a DBase (principios de los años 90). Después de ser adquirida por Microsoft, se introdujo la interfaz de usuario gráfica y por eso es utilizada para crear bases de datos en ordenadores personales. Este producto todavía se ofrece, aunque parece un poco obsoleto.

- Microsoft Access: Una aplicación para bases de datos (diseño y manipulación de datos mediante una interfaz gráfica) con muchas simplificaciones, que las hacían adecuadas para los principiantes, diseñada a finales de los años 80, basada en una arquitectura de 16 bits. En la actualidad, se sigue ofreciendo este producto y su uso está muy extendido, especialmente en empresas pequeñas, en las que no son requisitos ni la eficiencia ni un sistema multiusuario.

- FileMaker - aplicación popular similar a MS Access en simplicidad, opera en las plataformas Windows y Macintosh, disponible desde 1985.

- Kexi - una aplicación multiplataforma (&UNIX;/&Linux;, Windows, &MacOS; X) diseñada en 2003, desarrollada de acuerdo con los principios del código abierto, parte de la comunidad global KDE, que entre otras cosas proporciona un entorno gráfico para los sistemas &UNIX;/&Linux;. Un contribuidos significante al desarrollo de Kexi es la compañía OpenOffice Poland.

## Apéndice B. Comparando Kexi con otras aplicaciones de base de datos

- Tipos de datos

### Tipos de datos

Aunque las diversas aplicaciones de base de datos tienden a proporcionar una funcionalidad similar, suelen usar una terminología diferente. Para su comodidad, este apéndice muestra cómo la terminología usada en &kexi; corresponde a la utilizada por otras aplicaciones de bases de datos. Por tanto, este capítulo puede ser útil al migrar bases de datos de una aplicación a otra.

La tabla que aparece más abajo muestra la correspondencia entre los tipos de datos de &kexi; y otras aplicaciones de base de datos.

Algunos de los tipos de datos listados aquí son subtipos de otros tipos. Por ejemplo, el tipo Texto largo es un subtipo del tipo Texto. Para usar un subtipo en &kexi;, debe seleccionar el correspondiente tipo básico (en este caso, Texto) en el diseñador de tablas, y luego seleccionar el subtipo usando la opción Subtipo en el Editor de propiedades.

#### Comparación de los tipos de datos usados en Kexi y en otras aplicaciones de base de datos

&kexi; | MS Access | dBase/FoxPro | Paradox
--- | --- | --- | ---
Texto (Texto) | Texto | Carácter | Alfanumérico
Texto largo (Texto largo) | Memo | Memo | Memo
Fecha/Hora (Fecha/Hora) | Fecha, Hora | Fecha | FechaHora
Número entero (Número entero) | Número (Entero) | Numérico | Entero
Número entero grande (Número entero grande) | Entero largo | Numérico | Entero largo
Número decimal (Número decimal) | Número con precisión sencilla/doble | Decimal | Número

## Apéndice C. Palabras reservadas de SQL

Las siguientes listas contienen palabras que son utilizadas internamente por &kexi; al tratar con fuentes de datos.

Al diseñar su base de datos debe hacer lo posible para evitar utilizar estas palabras reservadas porque en caso de no hacerlo puede terminar teniendo problemas con su archivo de base de datos o incluso corromperlo.

Si aun así desea utilizar las palabras reservadas, entonces enciérrelas entre las marcas de comillas dobles .

### Palabras reservadas del SQL de Kexi

Esta lista contiene las palabras clave que están reservada para su uso en el SQL de Kexi:

- AFTER

- ALL

- ASC

- BEFORE

- BEGIN

- BETWEEN

- BY

- CASCADE

- CASE

- CHECK

- COLLATE

- COMMIT

- CONSTRAINT

- CROSS

- DATABASE

- DEFAULT

- DELETE

- DESC

- DISTINCT

- DROP

- END

- ELSE

- EXPLAIN

- FOR

- FOREIGN

- FULL

- GROUP

- HAVING

- IGNORE

- INDEX

- INNER

- INSERT

- INTO

- KEY

- LIMIT

- MATCH

- NATURAL

- OFFSET

- ORDER

- OUTER

- PRIMARY

- REFERENCES

- REPLACE

- RESTRICT

- ROLLBACK

- ROW

- SET

- TEMPORARY

- THEN

- TRANSACTION

- UNION

- UNIQUE

- UPDATE

- USING

- VALUES

- WHEN

### Palabras reservadas del controlador SQLite de Kexi

Esta lista contiene las palabras clave que están reservadas para su uso por el controlador SQLite de Kexi:

- ABORT

- ATTACH

- CLUSTER

- CONFLICT

- DEFERRED

- DEFERRABLE

- DETACH

- EACH

- EXCEPT

- FAIL

- GLOB

- IMMEDIATE

- INITIALLY

- INSTEAD

- INTERSECT

- ISNULL

- NOTNULL

- OF

- PRAGMA

- RAISE

- STATEMENT

- TEMP

- TRIGGER

- VACUUM

- VIEW

### Palabras reservadas del controlador MySQL de Kexi

Esta lista contiene las palabras clave que están reservadas para su uso por el controlador MySQL de Kexi:

- ACTION

- ADD

- AGAINST

- AGGREGATE

- ALTER

- ANALYZE

- ANY

- ASCII

- AUTO_INCREMENT

- AVG

- AVG_ROW_LENGTH

- BACKUP

- BDB

- BERKELEYDB

- BIGINT

- BINARY

- BINLOG

- BIT

- BLOB

- BOOL

- BOOLEAN

- BOTH

- BTREE

- BYTE

- CACHE

- CHANGE

- CHANGED

- CHAR

- CHARACTER

- CHARSET

- CHECKSUM

- CIPHER

- CLIENT

- CLOSE

- COLLATION

- COLUMN

- COLUMNS

- COMMENT

- COMMITTED

- COMPRESSED

- CONCURRENT

- CONVERT

- CUBE

- CURRENT_DATE

- CURRENT_TIME

- CURRENT_TIMESTAMP

- CURRENT_USER

- DATA

- DATABASES

- DATE

- DATETIME

- DAY

- DAY_HOUR

- DAY_MICROSECOND

- DAY_MINUTE

- DAY_SECOND

- DEALLOCATE

- DEC

- DECIMAL

- DELAYED

- DELAY_KEY_WRITE

- DESCRIBE

- DES_KEY_FILE

- DIRECTORY

- DISABLE

- DISCARD

- DISTINCTROW

- DIV

- DO

- DOUBLE

- DUAL

- DUMPFILE

- DUPLICATE

- DYNAMIC

- ENABLE

- ENCLOSED

- ENGINE

- ENGINES

- ENUM

- ERRORS

- ESCAPE

- ESCAPED

- EVENTS

- EXECUTE

- EXISTS

- EXPANSION

- EXTENDED

- FALSE

- FAST

- FIELDS

- FILE

- FIRST

- FIXED

- FLOAT

- FLOAT4

- FLOAT8

- FLUSH

- FORCE

- FULLTEXT

- FUNCTION

- GEOMETRY

- GEOMETRYCOLLECTION

- GET_FORMAT

- GLOBAL

- GRANT

- GRANTS

- HANDLER

- HASH

- HELP

- HIGH_PRIORITY

- HOSTS

- HOUR

- HOUR_MICROSECOND

- HOUR_MINUTE

- HOUR_SECOND

- IDENTIFIED

- IF

- IMPORT

- INDEXES

- INFILE

- INNOBASE

- INNODB

- INSERT_METHOD

- INT

- INT1

- INT2

- INT3

- INT4

- INT8

- INTERVAL

- IO_THREAD

- ISOLATION

- ISSUER

- KEYS

- KILL

- LAST

- LEADING

- LEAVES

- LEVEL

- LINES

- LINESTRING

- LOAD

- LOCAL

- LOCALTIME

- LOCALTIMESTAMP

- LOCK

- LOCKS

- LOGS

- LONG

- LONGBLOB

- LONGTEXT

- LOW_PRIORITY

- MASTER

- MASTER_CONNECT_RETRY

- MASTER_HOST

- MASTER_LOG_FILE

- MASTER_LOG_POS

- MASTER_PASSWORD

- MASTER_PORT

- MASTER_SERVER_ID

- MASTER_SSL

- MASTER_SSL_CA

- MASTER_SSL_CAPATH

- MASTER_SSL_CERT

- MASTER_SSL_CIPHER

- MASTER_SSL_KEY

- MASTER_USER

- MAX_CONNECTIONS_PER_HOUR

- MAX_QUERIES_PER_HOUR

- MAX_ROWS

- MAX_UPDATES_PER_HOUR

- MEDIUM

- MEDIUMBLOB

- MEDIUMINT

- MEDIUMTEXT

- MICROSECOND

- MIDDLEINT

- MINUTE

- MINUTE_MICROSECOND

- MINUTE_SECOND

- MIN_ROWS

- MOD

- MODE

- MODIFY

- MONTH

- MULTILINESTRING

- MULTIPOINT

- MULTIPOLYGON

- NAMES

- NATIONAL

- NDB

- NDBCLUSTER

- NCHAR

- NEW

- NEXT

- NO

- NONE

- NO_WRITE_TO_BINLOG

- NUMERIC

- NVARCHAR

- OLD_PASSWORD

- ONE_SHOT

- OPEN

- v

- OPTION

- OPTIONALLY

- OUTFILE

- PACK_KEYS

- PARTIAL

- PASSWORD

- POINT

- POLYGON

- PRECISION

- PREPARE

- PREV

- PRIVILEGES

- PROCEDURE

- PROCESS

- PROCESSLIST

- PURGE

- QUERY

- QUICK

- RAID0

- RAID_CHUNKS

- RAID_CHUNKSIZE

- RAID_TYPE

- READ

- REAL

- REGEXP

- RELAY_LOG_FILE

- RELAY_LOG_POS

- RELAY_THREAD

- RELOAD

- RENAME

- REPAIR

- REPEATABLE

- REPLICATION

- REQUIRE

- RESET

- RESTORE

- RETURNS

- REVOKE

- RLIKE

- ROLLUP

- ROWS

- ROW_FORMAT

- RTREE

- SAVEPOINT

- SECOND

- SECOND_MICROSECOND

- SEPARATOR

- SERIAL

- SERIALIZABLE

- SESSION

- SHARE

- SHOW

- SHUTDOWN

- SIGNED

- SIMPLE

- SLAVE

- SMALLINT

- SOME

- SONAME

- SOUNDS

- SPATIAL

- SQL_BIG_RESULT

- SQL_BUFFER_RESULT

- SQL_CACHE

- SQL_CALC_FOUND_ROWS

- SQL_NO_CACHE

- SQL_SMALL_RESULT

- SQL_THREAD

- SSL

- START

- STARTING

- STATUS

- STOP

- STORAGE

- STRAIGHT_JOIN

- STRING

- STRIPED

- SUBJECT

- SUPER

- TABLES

- TABLESPACE

- TERMINATED

- TEXT

- TIME

- TIMESTAMP

- TINYBLOB

- TINYINT

- TINYTEXT

- TRAILING

- TRUE

- TRUNCATE

- TYPE

- TYPES

- UNCOMMITTED

- UNICODE

- UNLOCK

- UNSIGNED

- UNTIL

- USAGE

- USE

- USER

- USER_RESOURCES

- USE_FRM

- UTC_DATE

- UTC_TIME

- UTC_TIMESTAMP

- VALUE

- VARBINARY

- VARCHAR

- VARCHARACTER

- VARIABLES

- VARYING

- WARNINGS

- WITH

- WORK

- WRITE

- X509

- YEAR

- YEAR_MONTH

- ZEROFILL

### Palabras reservadas del controlador PostgreSQL de Kexi

Esta lista contiene las palabras clave que están reservadas para su uso por el controlador pqxx de Kexi:

- ABORT

- ABSOLUTE

- ACCESS

- ACTION

- ADD

- AGGREGATE

- ALTER

- ANALYSE

- ANALYZE

- ANY

- ARRAY

- ASSERTION

- ASSIGNMENT

- AT

- AUTHORIZATION

- BACKWARD

- BIGINT

- BINARY

- BIT

- BOOLEAN

- BOTH

- CACHE

- CALLED

- CAST

- CHAIN

- CHAR

- CHARACTER

- CHARACTERISTICS

- CHECKPOINT

- CLASS

- CLOSE

- CLUSTER

- COALESCE

- COLUMN

- COMMENT

- COMMITTED

- CONSTRAINTS

- CONVERSION

- CONVERT

- COPY

- CREATEDB

- CREATEUSER

- CURRENT_DATE

- CURRENT_TIME

- CURRENT_TIMESTAMP

- CURRENT_USER

- CURSOR

- CYCLE

- DAY

- DEALLOCATE

- DEC

- DECIMAL

- DECLARE

- DEFAULTS

- DEFERRABLE

- DEFERRED

- DEFINER

- DELIMITER

- DELIMITERS

- DO

- DOMAIN

- DOUBLE

- EACH

- ENCODING

- ENCRYPTED

- ESCAPE

- EXCEPT

- EXCLUDING

- EXCLUSIVE

- EXECUTE

- EXISTS

- EXTERNAL

- EXTRACT

- FALSE

- FETCH

- FIRST

- FLOAT

- FORCE

- FORWARD

- FREEZE

- FUNCTION

- GLOBAL

- GRANT

- HANDLER

- HOLD

- HOUR

- ILIKE

- IMMEDIATE

- IMMUTABLE

- IMPLICIT

- INCLUDING

- INCREMENT

- INHERITS

- INITIALLY

- INOUT

- INPUT

- INSENSITIVE

- INSTEAD

- INT

- INTERSECT

- INTERVAL

- INVOKER

- ISNULL

- ISOLATION

- LANCOMPILER

- LANGUAGE

- LAST

- LEADING

- LEVEL

- LISTEN

- LOAD

- LOCAL

- LOCALTIME

- LOCALTIMESTAMP

- LOCATION

- LOCK

- MAXVALUE

- MINUTE

- MINVALUE

- MODE

- MONTH

- MOVE

- NAMES

- NATIONAL

- NCHAR

- NEW

- NEXT

- NO

- NOCREATEDB

- NOCREATEUSER

- NONE

- NOTHING

- NOTIFY

- NOTNULL

- NULLIF

- NUMERIC

- OF

- OFF

- OIDS

- OLD

- ONLY

- OPERATOR

- OPTION

- OUT

- OVERLAPS

- OVERLAY

- OWNER

- PARTIAL

- PASSWORD

- PATH

- PENDANT

- PLACING

- POSITION

- PRECISION

- PREPARE

- PRESERVE

- PRIOR

- PRIVILEGES

- PROCEDURAL

- PROCEDURE

- READ

- REAL

- RECHECK

- REINDEX

- RELATIVE

- RENAME

- RESET

- RESTART

- RETURNS

- REVOKE

- ROWS

- RULE

- SCHEMA

- SCROLL

- SECOND

- SECURITY

- SEQUENCE

- SERIALIZABLE

- SESSION

- SESSION_USER

- SETOF

- SHARE

- SHOW

- SIMPLE

- SMALLINT

- SOME

- STABLE

- START

- STATEMENT

- STATISTICS

- STDIN

- STDOUT

- STORAGE

- STRICT

- SUBSTRING

- SYSID

- TEMP

- TEMPLATE

- TIME

- TIMESTAMP

- TOAST

- TRAILING

- TREAT

- TRIGGER

- TRIM

- TRUE

- TRUNCATE

- TRUSTED

- TYPE

- UNENCRYPTED

- UNKNOWN

- UNLISTEN

- UNTIL

- USAGE

- USER

- VACUUM

- VALID

- VALIDATOR

- VARCHAR

- VARYING

- VERBOSE

- VERSION

- VIEW

- VOLATILE

- WITH

- WITHOUT

- WORK

- WRITE

- YEAR

- ZONE

### Palabras reservadas por el controlador Oracle de Kexi

Esta lista contiene las palabras clave que están reservadas para su uso por el controlador Oracle de Kexi:

- ADMIN

- AFTER

- ALLOCATE

- ANALYZE

- ARCHIVE

- ARCHIVELOG

- AUTHORIZATION

- AVG

- BACKUP

- BECOME

- BEFORE

- BEGIN

- BLOCK

- BODY

- CACHE

- CANCEL

- CASCADE

- CHANGE

- CHARACTER

- CHECKPOINT

- CLOSE

- COBOL

- COMMIT

- COMPILE

- CONSTRAINT

- CONSTRAINTS

- CONTENTS

- CONTINUE

- CONTROLFILE

- COUNT

- CURSOR

- CYCLE

- DATABASE

- DATAFILE

- DATE

- DBA

- DEC

- DECLARE

- DISABLE

- DISMOUNT

- DOUBLE

- DUMP

- EACH

- ENABLE

- END

- ESCAPE

- EVENTS

- EXCEPT

- EXCEPTIONS

- EXEC

- EXECUTE

- EXPLAIN

- EXTENT

- EXTERNALLY

- FETCH

- FLUSH

- FORCE

- FOREIGN

- FORTRAN

- FOUND

- FREELIST

- FREELISTS

- FUNCTION

- GO

- GOTO

- GROUPS

- INCLUDING

- INDICATOR

- INITRANS

- INSTANCE

- INT

- KEY

- LANGUAGE

- LAYER

- LINK

- LISTS

- LOGFILE

- MANAGE

- MANUAL

- MAX

- MAXDATAFILES

- MAXINSTANCES

- MAXLOGFILES

- MAXLOGHISTORY

- MAXLOGMEMBERS

- MAXTRANS

- MAXVALUE

- MIN

- MINEXTENTS

- MINVALUE

- MODULE

- MOUNT

- NEW

- NEXT

- NOARCHIVELOG

- NOCACHE

- NOCYCLE

- NOMAXVALUE

- NOMINVALUE

- NONE

- NOORDER

- NORESETLOGS

- NORMAL

- NOSORT

- NUMERIC

- OFF

- OLD

- ONLY

- OPEN

- OPTIMAL

- OWN

- PACKAGE

- PARALLEL

- PCTINCREASE

- PCTUSED

- PLAN

- PLI

- PRECISION

- PRIMARY

- PRIVATE

- PROCEDURE

- PROFILE

- QUOTA

- READ

- REAL

- RECOVER

- REFERENCES

- REFERENCING

- RESETLOGS

- RESTRICTED

- REUSE

- ROLE

- ROLES

- ROLLBACK

- SAVEPOINT

- SCHEMA

- SCN

- SECTION

- SEGMENT

- SEQUENCE

- SHARED

- SNAPSHOT

- SOME

- SORT

- SQL

- SQLCODE

- SQLERROR

- SQLSTATE

- STATEMENT_ID

- STATISTICS

- STOP

- STORAGE

- SUM

- SWITCH

- SYSTEM

- TABLES

- TABLESPACE

- TEMPORARY

- THREAD

- TIME

- THREAD

- TRANSACTION

- TRIGGERS

- TRUNCATE

- UNDER

- UNLIMITED

- UNTIL

- USE

- USING

- WHEN

- WORK

- WRITE

### Palabras clave reservadas del controlador Sybase de Kexi

Esta lista contiene las palabras clave que están reservadas para su uso por el controlador Sybase de Kexi:

- ACTION

- ADD

- AGAINST

- AGGREGATE

- ALTER

- ANALYZE

- ANY

- ASCII

- AUTOINCREMENT

- AVG

- AVG_ROW_LENGTH

- BACKUP

- BDB

- BERKELEYDB

- BIGINT

- BINARY

- BINLOG

- BIT

- BLOB

- BOOL

- BOOLEAN

- BOTH

- BTREE

- BYTE

- CACHE

- CHANGE

- CHANGED

- CHAR

- CHARACTER

- CHARSET

- CHECKSUM

- CIPHER

- CLIENT

- CLOSE

- COLLATION

- COLUMN

- COLUMNS

- COMMENT

- COMMITTED

- COMPRESSED

- CONCURRENT

- CONVERT

- CUBE

- CURRENT_DATE

- CURRENT_TIME

- CURRENT_TIMESTAMP

- CURRENT_USER

- DATA

- DATABASES

- DATE

- DATETIME

- DAY

- DAY_HOUR

- DAY_MICROSECOND

- DAY_MINUTE

- DAY_SECOND

- DEALLOCATE

- DEC

- DECIMAL

- DELAYED

- DELAY_KEY_WRITE

- DESCRIBE

- DES_KEY_FILE

- DIRECTORY

- DISABLE

- DISCARD

- DISTINCTROW

- DIV

- DO

- DOUBLE

- DUAL

- DUMPFILE

- DUPLICATE

- DYNAMIC

- ENABLE

- ENCLOSED

- ENGINE

- ENGINES

- ENUM

- ERRORS

- ESCAPE

- ESCAPED

- EVENTS

- EXECUTE

- EXISTS

- EXPANSION

- EXTENDED

- FALSE

- FAST

- FIELDS

- FILE

- FIRST

- FIXED

- FLOAT

- FLOAT4

- FLOAT8

- FLUSH

- FORCE

- FULLTEXT

- FUNCTION

- GEOMETRY

- GEOMETRYCOLLECTION

- GET_FORMAT

- GLOBAL

- GRANT

- GRANTS

- HANDLER

- HASH

- HELP

- HIGH_PRIORITY

- HOSTS

- HOUR

- HOUR_MICROSECOND

- HOUR_MINUTE

- HOUR_SECOND

- IDENTIFIED

- IF

- IMPORT

- INDEXES

- INFILE

- INNOBASE

- INNODB

- INSERT_METHOD

- INT

- INT1

- INT2

- INT3

- INT4

- INT8

- INTERVAL

- IO_THREAD

- ISOLATION

- ISSUER

- KEYS

- KILL

- LAST

- LEADING

- LEAVES

- LEVEL

- LINES

- LINESTRING

- LOAD

- LOCAL

- LOCALTIME

- LOCALTIMESTAMP

- LOCK

- LOCKS

- LOGS

- LONG

- LONGBLOB

- LONGTEXT

- LOW_PRIORITY

- MASTER

- MASTER_CONNECT_RETRY

- MASTER_HOST

- MASTER_LOG_FILE

- MASTER_LOG_POS

- MASTER_PASSWORD

- MASTER_PORT

- MASTER_SERVER_ID

- MASTER_SSL

- MASTER_SSL_CA

- MASTER_SSL_CAPATH

- MASTER_SSL_CERT

- MASTER_SSL_CIPHER

- MASTER_SSL_KEY

- MASTER_USER

- MAX_CONNECTIONS_PER_HOUR

- MAX_QUERIES_PER_HOUR

- MAX_ROWS

- MAX_UPDATES_PER_HOUR

- MEDIUM

- MEDIUMBLOB

- MEDIUMINT

- MEDIUMTEXT

- MICROSECOND

- MIDDLEINT

- MINUTE

- MINUTE_MICROSECOND

- MINUTE_SECOND

- MIN_ROWS

- MOD

- MODE

- MODIFY

- MONTH

- MULTILINESTRING

- MULTIPOINT

- MULTIPOLYGON

- NAMES

- NATIONAL

- NDB

- NDBCLUSTER

- NCHAR

- NEW

- NEXT

- NO

- NONE

- NO_WRITE_TO_BINLOG

- NUMERIC

- NVARCHAR

- OLD_PASSWORD

- ONE_SHOT

- OPEN

- v

- OPTION

- OPTIONALLY

- OUTFILE

- PACK_KEYS

- PARTIAL

- PASSWORD

- POINT

- POLYGON

- PRECISION

- PREPARE

- PREV

- PRIVILEGES

- PROCEDURE

- PROCESS

- PROCESSLIST

- PURGE

- QUERY

- QUICK

- RAID0

- RAID_CHUNKS

- RAID_CHUNKSIZE

- RAID_TYPE

- READ

- REAL

- REGEXP

- RELAY_LOG_FILE

- RELAY_LOG_POS

- RELAY_THREAD

- RELOAD

- RENAME

- REPAIR

- REPEATABLE

- REPLICATION

- REQUIRE

- RESET

- RESTORE

- RETURNS

- REVOKE

- RLIKE

- ROLLUP

- ROWS

- ROW_FORMAT

- RTREE

- SAVEPOINT

- SECOND

- SECOND_MICROSECOND

- SEPARATOR

- SERIAL

- SERIALIZABLE

- SESSION

- SHARE

- SHOW

- SHUTDOWN

- SIGNED

- SIMPLE

- SLAVE

- SMALLINT

- SOME

- SONAME

- SOUNDS

- SPATIAL

- SQL_BIG_RESULT

- SQL_BUFFER_RESULT

- SQL_CACHE

- SQL_CALC_FOUND_ROWS

- SQL_NO_CACHE

- SQL_SMALL_RESULT

- SQL_THREAD

- SSL

- START

- STARTING

- STATUS

- STOP

- STORAGE

- STRAIGHT_JOIN

- STRING

- STRIPED

- SUBJECT

- SUPER

- TABLES

- TABLESPACE

- TERMINATED

- TEXT

- TIME

- TIMESTAMP

- TINYBLOB

- TINYINT

- TINYTEXT

- TRAILING

- TRUE

- TRUNCATE

- TYPE

- TYPES

- UNCOMMITTED

- UNICODE

- UNLOCK

- UNSIGNED

- UNTIL

- USAGE

- USE

- USER

- USER_RESOURCES

- USE_FRM

- UTC_DATE

- UTC_TIME

- UTC_TIMESTAMP

- VALUE

- VARBINARY

- VARCHAR

- VARCHARACTER

- VARIABLES

- VARYING

- WARNINGS

- WITH

- WORK

- WRITE

- X509

- YEAR

- YEAR_MONTH

- ZEROFILL

### Palabras clave reservadas del controlador xBase de Kexi

Esta lista contiene las palabras clave que están reservadas para su uso por el controlador xBase de Kexi:

- ABORT

- ATTACH

- CLUSTER

- CONFLICT

- DEFERRED

- DEFERRABLE

- DETACH

- EACH

- EXCEPT

- FAIL

- GLOB

- IMMEDIATE

- INITIALLY

- INSTEAD

- INTERSECT

- ISNULL

- NOTNULL

- OF

- PRAGMA

- RAISE

- STATEMENT

- TEMP

- TRIGGER

- VACUUM

- VIEW

Las palabras clave se mantienen separadas para cada controlador de modo que también se puedan utilizar como referencia.

## Apéndice D. Formatos de archivo soportados

### Formato de valores separados por coma (CSV)

&kexi; es capaz de importar y exportar datos de/a una variedad de formatos de valores separados por coma (archivos CSV). La mayoría de las aplicaciones de hoja de cálculo y bases de datos pueden importar y exportar en este formado, haciéndolo un formato adecuado para migrar datos textuales entre diferentes aplicaciones.

&kexi; también soporta una serie de opciones que se pueden configurar antes de realizar una importación:

- tipo de dato para cada columna,

- otros delimitadores de campos como tabuladores,

- diferentes comillas de texto,

- se puede saltar un número de registros indicado si fuera necesario,

- se pueden saltar los delimitadores duplicados,

- se pueden usar los valores de la primera fila para establecer los nombres de las columnas,

- codificación del texto (la predeterminada es UTF-8),

- formato de la fecha (el predeterminado es el definido por el sistema operativo),

- borrado de los espacios en blanco iniciales y finales de los valores textuales.

Al importar &kexi; muestra una vista previa de los datos importados. El conjunto más adecuado de opciones es detectado automáticamente por &kexi; en función del archivo CSV proporcionado.

### Formato de archivo de Microsoft Access (MDB)

#### Descripción general

&kexi; incorpora soporte para importar las bases de datos de Microsoft Access (2003 o anteriores). Las bases de datos de Access solo se pueden importar en una base de datos de &kexi;. No se puede usar para editar la base de datos, ni para exportar a una base de datos Access. No obstante, también debería ser capaz de importar bases de datos creadas por otras aplicaciones que usen el motor de bases de datos JET. La importación de las bases de datos `.accdb` introducidas en MS Access 2007 no está soportada actualmente.

Para importar una base de datos:

1. En el menú &kexi; seleccione la orden Importar, exportar o enviar...

2. Pulse el botón Importar base de datos.

3. Utilice el asistente de importación seleccionado el archivo .mdb deseado.

#### Capacidades

La función de importar ha sido utilizada satisfactoriamente para importar la conocida base de datos Northwind a usuarios de MS Access. También se pueden importar muchas otras plantillas de bases de datos de Access.

#### Características soportadas

La importación de los siguientes tipos de campos ha sido probada, y generalmente funciona bien:

- Campos de texto

- Campos memo

- Campos de fecha

- Valores numéricos

#### Características no soportadas

Actualmente, solo las tablas son importadas. Durante la importación &kexi; omite los siguientes objetos:

- Consultas

- Formularios

- Guiones

- Informes

Lo siguiente no ha sido probado:

- Importación de objetos binarios

## Créditos y licencia

&kexi; Copyright 2002-2012 El equipo de Kexi

Desarrolladores de Kexi:

- Jaroslaw Staniek (staniek kde.org)

- OpenOffice Polska, LLC (información en openoffice.com.pl)

- Lucijan Busch (lucijan kde.org)

- Cedric Pasteur (cedric.pasteur free.fr)

- Adam Pigg (adam piggz.fsnet.co.uk)

- Martin Ellis (martin.ellis kdemail.net)

- Sebastian Sauer (mail dipe.org)

- Christian Nitschkowski (segfault_ii web.de)

- Peter Simonsson (psn linux.se)

- Joseph Wenninger (jowenn kde.org)

- Seth Kurzenberg (seth cql.com)

- Laurent Montel (montel kde.org)

- Till Busch (till bux.at)

Documentación escrita por Martin A. Ellis (martin.ellis kdemail.net), Jaroslaw Staniek (staniek kde.org) con contribuciones de Anne-Marie Mahfouf, Raphael Langerhorst, Michal Kubicki and Aron Stansvik.

Este programa está licenciado bajo los términos de la Licencia Pública General Reducida de GNU.

Traducción hasta la versión 2.3 por Juan Manuel García Molinajuanma@superiodico.net

Traducción a partir de la versión 2.4 por Raúl Gonzálezraulgf83@gmail.com

&underFDL;
&documentation.index;