miércoles, septiembre 27, 2006

Estructuras jerárquicas (árboles) en SQL (I)

  1. Introducción
    En la labor de desarrollar aplicaciones, ya sea de escritorio o para web, siempre surge la necesidad de hacer menús. Estos por lo general son fáciles de programar, muchas veces se compran componentes y solo se configuran para su uso por la vía de agregar varias decenas de líneas de código fuente o documentos XML, con la información de las opciones, su jerarquía, dependencias, programas o módulos a ejecutar, así como propiedades visuales o de presentación. Sin embargo esta manera de hacer las cosas tiene un ingrediente negativo: es estática. Es decir si surgen nuevas necesidades y se añaden módulos a la aplicación será necesario volver a modificar el código fuente del programa o los programas donde se encuentra el menú principal y los menús alternos para efecto de añadir las nuevas características o los nuevos módulos.
    Si nos hacemos a la tarea de eliminar el factor estático de la construcción de menús y buscamos una alternativa soportada por bases de datos, llegaremos a una estructura más flexible y extensible que la forma tradicional.
    Las barras de menús (MenuBar), las vistas de árbol (TreeView) las listas jerárquicas (outlines), o cualquier listado categorizado o jerárquico demandan el mismo tipo de estructura de datos: Los árboles.
    Se trata entonces, de diseñar un mecanismo para implementar la estructura de datos "arbol" dentro de una base de datos SQL como MS-SQL, MYSQL, Interbase o cualesquiera. Trataramos en este ejercicio llevar a buen termino un ejemplo para las tres bases de datos mencionadas.
    La idea básica es crear la tabla o tablas que implementan la estructura de árbol y también el andamiaje de lógica de programación en Triggers o Stored Procedures suficientes para construir de manera sólida una funcionalidad elemental que además sea práctica y fácil de mantener, sin mencionar que sea útil y repetible para su uso en la satisfacción diferentes necesidades de desarrollo.
    El ejemplo clásico de una estructura de árbol es el menú, pero también una estructura de árbol puede ser utilizada para un catalogo de cuentas dentro de un sistema contable; para el catálogo de artículos en un inventario; para un sistema de facturación, o para un CRM donde no solo se lleven las actividades y consultas sino también el hilo de las conversaciones, ya sean del correo electrónico o dentro de grupos de discusión relacionados.
    Quiero decir, la naturaleza de los árboles permite emular de manera practica el comportamiento de un sistema operacional y facilita el proceso para su diseño, construcción y o mantenimiento.

No hay comentarios.:

Publicar un comentario