Cargando

Por Alfonso Ricaño

16/abril/2002

QuickDesk 2 es un entorno de administración para InterBase y Firebird. En la actualidad hay muchas aplicaciones para administrar a InterBase y Firebird, como lo son IBConsole, IB WISQL, Marathon, y otras más. Muchas son de uso libre y otras más tienen un costo. QuickDesk pertenece a este último grupo, lo cual para algunos es desventaja, y para algunos es ventaja, al asegurar su desarrollo constante mediante el pago de una licencia de uso.

Pero cuando somos administradores de bases de datos de InterBase/Firebird o somos desarrolladores que tenemos que hacer más eficientes nuestros desarrollos y al mismo tiempo que ahorramos tiempo, las herramientas como QuickDesk son más que necesarias. Lo interesante es que QuickDesk no sólo sirve para desarrolladores avanzados, sino también para principiantes, al mostrarnos de manera sencilla los elementos y objetos que conforman una base de datos InterBase/Firebird, y también al mostrar las instrucciones SQL que se ejecutan en cada acción, lo que nos permite aprender a manejar InterBase/Firebird a un nivel más bajo, es decir, desde el mismo SQL. 

Cómo funciona

QuickDesk mantiene un registo de las bases de datos que utilizamos, mediante el DB Explorer. Para agregar una base de datos existente en el DB Explorer, ejecutamos la instrucción Register Database, la cual abre un cuadro de diálogo donde se ponen todas las características de la base de datos, como el nombre del servidor -en caso de que sea un servidor remoto-, el archivo de la base de datos, la clave del usuario, su contraseña y el rol que está usando el usuario. También permite especificar la ruta hacia el archivo ISC4.GDB, para las versiones clásicas y anteriores de InterBase que no contaban con la API de servicios que permite entre otras cosas el mantenimiento de los usuarios. También trae muchas más opciones en las secciones Additional, Save Options, Logging y FIBPlus Options que permiten afinar detalles como lo es en dónde se guardan algunos archivos y si se permiten modificar los triggers para las tablas del sistema, entre otras cosas. Por lo general no es necesario modificar estos parámetros. Una vez capturados los datos básicos de una base de datos, se selecciona el botón Register y la base de datos quedará agregada a la lista del DB Explorer. El DB Explorer organiza las bases de datos mostrando en primera instancia los distintos servidores con que contamos. Por ejemplo, en la figura de la izquierda se muestran el servidor Local que se encuentra en la misma computadora donde está QuickDesk, el servidor dns y el servidor con dirección 192.168.2.16. Para ver las bases de datos registradas en cada servidor hacemos click sobre el botón + a la izquierda del servidor. Para conectarnos a una base de datos hacemos doble click sobre su nombre, con lo que el nombre se pondrá en negritas. Cabe resaltar que se pueden mantener conexiones múltiples a varias bases de datos. [pagebreak]

Los Objetos de la base de datos

QuickDesk nos muestra los objetos de las bases de datos a las que nos conectamos, los cuales son: * Dominios (Domains) * Tablas (Tables) * Vistas (Views) * Procedimientos (Procedures) * Disparadores (Triggers) * Generadores (Generators) * Excepciones (Exceptions) * Funciones definidas por el usuarios (UDFs) * Roles De esta manera vemos inmediatamente en el DB Explorer cuántos objetos de cada tipo tiene la base de datos y podemos navegar jerárquicamente en los servidores, las bases de datos y los objetos de cada base de datos. Para ver los objetos de cada tipo hacemos nuevamente un click sobre el botón + a la izquierda de cada objeto. Por ejemplo, en la figura de la derecha vemos los dominios de la base de datos EMPLOYEE.GDB. Para agregar un nuevo objeto hacemos click con el botón derecho sobre el tipo de objeto y aparece un menú desplegable del cual seleccionamos New Object y obtenemos un cuadro de diálogo donde especificamos las características del objeto a crear. Una característica importante es que QuickDesk muestra la instrucción SQL a ejecutar para crear, modificar o eliminar cualquier objeto de la base de datos. De esta manera podemos modificar la instrucción SQL antes de ser ejecutada, y también podemos aprender cómo crear los objetos directamente con SQL. [pagebreak]

Creando Tablas

Dado que las tablas son los objetos más importantes de la base de datos -ya que en ellas se guardan los datos-, veamos más a detalle las características que nos proporciona QuickDesk para crear, modificar y eliminar tablas. Al crear una tabla, obtenemos la ventana de la figura siguiente, en la cual especificamos el nombre de la tabla, el nombre de la primera columna de la tabla, y el tipo de la primera columna. Podemos seleccionar entre usar un dominio -que es lo más recomendable- y usar un tipo de dato estándar. Si queremos usar un dominio y no existe, no es necesario volver al DB Explorer para crearlo, ya que tenemos el botón New Domain donde creamos los dominios que necesitemos. También tenemos secciones para poner el valor por default del campo, la expresión de verificación (check), y algo muy interesante: una sección llamada Autoincremento (autoincrement) que nos crea un generador, el trigger que pondrá el valor del generador en el campo, y -si así lo deseamos- un procedimiento que devuelve el valor de incremento del generador. Aquí vemos las ventajas de QuickDesk, ya que creamos una tabla con su generador y su trigger de autoincremento en el campo en unos segundos, ahorrándonos mucho tiempo y haciendo más eficiente la administración de la base de datos. [pagebreak]

Administrando tablas

Una vez creadas las tablas, podemos acceder a los datos y características mediante la ventana de tabla. Esta nos muestra en la parte izquierda otro explorador pero limitado a los objetos de la tabla. Ahí podemos ver los campos de la tabla, las restricciones de integridad (constraints), los índices y los disparadores (triggers) con que cuenta la tabla. En la parte derecha aparecen las secciones Campos (Fields), Restricciones (Constraints), índices (indices), Dependencias (Dependencies), Disparadores (Triggers), datos de la tabla (Data), descripción de la tabla (description) y la definición en SQL de la tabla (DDL). En estas secciones se muestran más a detalle las características de cada parte de la tabla. Si nos vamos a la sección Data vemos los datos de la tabla, y en la parte inferior tenemos tres botones: Grid View, Form View y Print Data. En estas secciones podemos capturar datos en la tabla y verlos en forma de rejilla (grid), en forma de campos (form) y también imprimir los datos en un editor de reportes (informes). También al entrar a la sección Data vemos cómo se activan tres botones en la parte superior. Estos botones nos permiten exportar e importar datos en la tabla. Los datos se pueden importar desde los formatos de Excel, DBF, archivo de texto y CSV. También se pueden exportar hacia los formatos Excel, Word, RTF, HTML, archivo de texto, archivo CSV, archivo DIF, archivo SYLK, LaTeX, XML, DBF y al portapapeles de Windows. Otra opción de exportación es mediante instrucciones SQL, la cual es mejor para intercambiar datos entre tablas de bases de datos. Crear restricciones -sean llaves primarias, llaves foráneas o verificadores (checks)- es muy fácil, simplemente se seleccionan los campos y la tabla foránea (en el caso de la llave foránea). En el caso de los verificadores simplemente se escribe la expresión de verificación. También el crear índices y disparadores se hace mediante diálogos de manera muy fácil. Al crear un disparador se selecciona su tipo , su nombre y la tabla a la que pertenece mediante cuadros de selección. En la parte inferior simplemente se escribe el código del disparador. El editor de código cuenta con hipervínculos a los objetos de la base de datos, con lo que estamos a solo un click de ver cada objeto que utilizamos en el código. También contamos con tecnología de complementación de código, al más puro estilo del editor de Delphi o C++Builder, donde nos aparece de repente un cuadro con la lista de nombres de objetos (tablas, procedimientos, campos,etc.) y mostrando únicamente los que pueden ser utilizados en el contexto. [pagebreak]

Procedimientos

Los procedimientos utilizan un editor con las mismas características que el de los disparadores, donde tenemos hipervínculos, complementación de código y sintáxis reslatada mediante colores. En la parte izquierda aparece un explorador que nos muestra las variables de entrada y de salida del procedimiento. También se cuentan con las secciones Editar (edit), que es donde se edita el código del procedimiento. La sección descripción (description) que nos permite escribir una descripción del procedimiento. La sección Dependencias (dependencies) nos muestra los objetos que utilizan el procedimiento y también los que son utilizados en el procedimiento. En la sección Operations muestra las operaciones que va realizando el procedimiento en forma de lista. También se cuenta con un análisis de eficiencia (performance analysis) donde se muestra de forma gráfica las acciones y tiempos que tarda en ejecutar el procedimiento. Una de las características más interesantes que tiene QuickDesk es un depurador de procedimientos almacenados. Este depurador nos permite ir viendo paso a paso la ejecución de un procedimiento, verificando los valores de las variables, las instrucciones ejecutadas y poniendo puntos de ruptura (breakpoints) para verificar el estado de las variables en una línea específica. Esta es una de las herramientas más útiles que a mi parecer tiene QuickDesk y que ahorra mucho tiempo en la creación de procedimientos almacenados eficientes. [pagebreak]

Otros objetos de la base de datos

El DB Explorer nos muestra también los generadores, las excepciones, las funciones de usuario (UDFs) y los roles de la base de datos. En el caso de generadores y excepciones, su manejo se hace muy sencillo mediante los diálogos que permiten crearlos y modificarlos -en el caso de los generadores, permite modificar su valor-. Realmente QuickDesk ahorra mucho tiempo al mostrar de manera gráfica y jerárquica los objetos y hacer del mantenimiento de éstos una tarea fácil y rápida.

Otras herramientas

QuickDesk cuenta con muchas más herramientas de administración. Entre ellas tenemos: * Monitor SQL, el cual permite monitorear el diálogo entre QuickDesk y el servidor InterBase/Firebird * Editor de Scripts, donde podemos ejecutar scripts para crear bases de datos, o ejecutar instrucciones de manipulación de datos SQL para agregar, modificar o eliminar datos de las tablas. * Extraer metadatos, con la cual podemos sacar los metadatos de la base de datos, seleccionando únicamente los que deseamos extraer, e incluso extraer los mismos datos en forma de instrucciones insert. * Administrador de usuarios, donde podemos agregar,modificar y eliminar usuarios de cualquiera de los servidores registrados. * Administrador de permisos (grant manager), en el cual podemos administrar de manera gráfica los permisos de los usuarios en cada tabla, vista o procedimiento de la base de datos. También podemos administrar los roles de la base de datos, y tener plantillas de permisos (grant templates) que nos permiten ahorrar tiempo. * Traductor de mensajes de InterBase/Firebird. Con esta herramienta podemos cambiar los mensajes que envía InterBase/Firebird y que se encuentran en el archivo interbase.msg del directorio de InterBase/Firebird. Con esto nos ahorramos muchas traducciones de mensajes de error en nuestras aplicaciones cliente. * Traductor de QuickDesk, donde podemos poner la interfaz de QuickDesk en otro idioma, aunque en próximas fechas se liberará la versión en español (castellano). * Administrador de reportes (informes). Con esta herramienta podemos crear reportes (informes) de nuestra base de datos, ahorrándonos tiempo en crear aplicaciones cuando urge algún reporte o para tener reportes para nuestras bases de datos.  

Servicios

QuickDesk proporciona acceso a la API de servicios de InterBase/Firebird en sus versiones Super Server. Esto nos permite crear respaldos, restaurar desde un respaldo, validar la base de datos, obtener estadísticas, obtener las propiedades de la base de datos, y hacer un shutdown de una base de datos, así como volverla a poner en línea.

Conclusiones

QuickDesk ha demostrado ser una de las mejores herramientas de administración de bases de datos. Sus características únicas lo hacen una herramienta que ahorra tiempo y esfuerzo a la vez que permite ver cómo se ejecutan las tareas mediante el lenguaje SQL. Además tiene funciones muy prácticas como el depurador de procedimientos almacenados, el constructor de consultas (QueryBuilder) o el administrador de usuarios y permisos que hacen de QuickDesk una herramienta de productividad indispensable para el desarrollador de aplicaciones con InterBase/Firebird. Una buena noticia para la comunidad hispanoparlante es la liberación de una versión completamente en español (castellano) incluyendo la interfaz y el archivo de ayuda en el primer semestre de este año 2002. La versión de prueba puede ser descargada en esta página y es completamente funcional por un periodo de 30 días. QuickDesk tiene dos presentaciones: QuickDesk Professional que tiene todas las funcionalidades mostradas en este artículo, y QuickDesk Lite que tiene algunas características menos aunque a un precio más bajo.