En cada columna de cada tabla de Firebird disponemos de la posibilidad de describir a dichas columnas.
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:
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:
Captura 3. Si haces clic en la imagen la verás más grande
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í:
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:
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:
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:
May 13, 2014 @ 08:29:29
Excelente consejo, gracias.
May 13, 2014 @ 10:48:48
De nada.
Saludos.
Walter.
May 13, 2014 @ 21:39:34
Muy bueno Walter!!!
May 14, 2014 @ 04:03:06
Gracias.
Saludos.
Walter.