En cada columna de cada tabla de Firebird disponemos de la posibilidad de describir a dichas columnas.

DESCRIPTION1

Captura 1. Si haces clic en la imagen la verás más grande

Lo cual está muy bien y es muy útil, porque nos permite a los desarrolladores tener un “ayuda memoria” y nos facilita entender para que sirve cada columna.

Y si necesitamos un SELECT que nos devuelva esas descripciones podríamos escribir algo como:

SELECT
   RDB$FIELD_NAME,
   RDB$DESCRIPTION
FROM
   RDB$RELATION_FIELDS
WHERE
   RDB$RELATION_NAME = 'BANCOS'

Que nos dará un conjunto resultado similar a esto:

DESCRIPTION2

Captura 2. Si haces clic en la imagen la verás más grande

Hasta aquí, todo está muy bien pero … estamos usando a RDB$DESCRIPTION solamente para guardar descripciones simples de columnas. Sin embargo, si nos interesa, podríamos usarla para guardar muchos datos relevantes.

¿Y por qué haríamos algo así?

Porque nos ahorraríamos de guardar esos datos relevantes en otra u otras tablas. Por ejemplo, queremos que el título de cada columna de cada grilla sea siempre el mismo. Si no lo estandarizamos podríamos encontrarnos con algo como esto:

DESCRIPTION3

Captura 3. Si haces clic en la imagen la verás más grande

DESCRIPTION4

Captura 4. Si haces clic en la imagen la verás más grande

Las dos grillas sirven para mostrar los datos de los Bancos, pero los títulos de las columnas son distintos. Y eso implica que nuestras pantallas están mal diseñadas porque un buen diseño siempre muestra pantallas consistentes.

No es tan difícil cuando una sola persona es la encargada de los diseños pero ¿y si es un trabajo en equipo y hay varios desarrolladores trabajando en el proyecto? Lo más probable es que cada uno haga como mejor le parezca.

Claro, podemos escribir un documento especificando todos y cada uno de los puntos que nos interesa estandarizar pero:

  • Seguro que no todos lo leerán
  • Y aún quienes lo lean podrían olvidarse de lo leído
  • O simplemente no estar de acuerdo y hacer lo que se les antoja

Una posibilidad para tener diseños consistentes es asegurarnos de que todas las características del “display” se guarden en tablas. Y para eso nos resultará muy útil la columna DESCRIPTION.

Entonces, podríamos tener algo así:

 DESCRIPTION5

 Captura 5. Si haces clic en la imagen la verás más grande

  • El texto que está entre corchetes es el que se usará en el título de cada columna de cada grilla
  • El texto que está entre llaves es el mensaje de ayuda al usuario, para que sepa para que sirve esa columna
  • El texto que no está rodeado ni por corchetes ni por llaves es para los desarrolladores

Como puedes ver, ahora la descripción es mucho más útil porque sirve para varios objetivos.

¿Y si necesitamos más datos?

Una posibilidad es la siguiente:

DESCRIPTION6

Captura 6. Si haces clic en la imagen la verás más grande

Si te fijas en la primera fila podrás ver que allí hay varios datos, separados por punto y coma:

Suc. —> es el título de la columna

FN —> font name, es el tipo de letra que se desea usar por defecto

FS —> font size, es el tamaño del tipo de letra que se desea usar por defecto

Otra posibilidad es escribir la descripción similar a esto:

DESCRIPTION7

Captura 7. Si haces clic en la imagen la verás más grande

El texto que está en la primera línea es para los desarrolladores.

Header —> es el título que deseamos mostrar en la grilla

FN —> font name, es el tipo de letra por defecto que usaremos en la grilla

FS —> font size, es el tamaño del tipo de letra por defecto que usaremos en la grilla

Help —> es el mensaje de ayuda que se le mostrará al usuario, en los lugares donde queremos mostrar mensajes de ayuda

Conclusión:

La descripción de las columnas podemos usarla para describirle la columna al desarrollador. Y por lo tanto solamente le resultará útil a él. Pero si lo deseamos también podríamos potenciar la descripción para que contenga muchos datos útiles. ¿Cuál es la ventaja de hacerlo así? que nos ahorramos crear una tabla para guardar esos datos. Y además que es más fácil saber si nos están faltando descripciones.

Desde luego que los datos mostrados en este artículo son solamente ejemplos, tú podrías guardar muchísimos más. Lo importante a recordar es que podemos usar a DESCRIPTION para guardar no solamente comentarios para el desarrollador.

Artículo relacionado:

El índice del blog Firebird21

Anuncios