Archivo de la etiqueta: Cpt 12

12 – ODBC y BASES de DATOS

Una vez llegados al último tema del guión establecido, cabe decir que en este caso se trata de un tema relativamente colateral y un tanto ajeno a lo que en sí, es el dibujo asistido por ordenador, en el ámbito de la arquitectura.

En todo caso se trata de un tema que puede resultar bastante útil. Básicamente consiste en relacionar objetos dentro de un dibujo de AutoCAD, con “registros” de una “Base de Datos Relacional”  (DGBR), completamente externa al propio AutoCAD, de tal forma que los datos pueden consultarse y modificarse desde el propio dibujo, y al mismo tiempo se pueden insertar en el dibujo “rótulos” de texto sincronizado con los datos del DGBR de forma que si son modificados allí, quede reflejado en el propio dibujo, y además permite la selección y localización dentro de este, de aquellos objetos que responden a criterios de consultas estructuradas “SQL” o de otro tipo, desde la base de datos.

Este tema relaciona dos campos muy diferentes, ambos con gran protagonismo en la informática  actual, pero que han seguido rumbos conceptualmente diferentes, ya que en el caso del CAD lo que se maneja es una concreción geométrica de objetos reales, y en el mundo de los DGBR (o Bases de Datos Relacionales), se manejan estructuras abstractas de datos, con relaciones de vinculación y jerarquía, con total independencia del contenido concreto de los propios datos.

En el mundo de la informática, el manejo abstracto de “datos” (de cualquier tipo), está muy vinculado a los primeros ordenadores, y desde luego su desarrollo es anterior a los primeros intentos de abordar el C.A.D. o diseño gráfico.  De hecho los primeros sistemas operativos en grandes ordenadores, tenían mucho que ver con la gestión y manejo de grandes bases de datos, aunque luego hayan ido evolucionando y a partir de los años 80s, prácticamente el manejo de las grandes bases de datos se haya estandarizado alrededor de las especificaciones SQL.

El manejo de los datos en un DGBR, se organiza a través de un conjunto de “tablas” que se pueden “relacionar entre sí para formar otras más amplias, o bien subconjuntos de aquellas que responden a ciertas condiciones o restricciones. En cualquier caso los “datos” se organizan siempre en forma de una “tabla” organizada en “registros” que son las filas horizontales, y “campos” que son las columnas verticales.

Cada registro se compone siempre del mismo número de campos, y dentro de estos se almacenan los datos de forma que cada uno pueda responder a diferentes tipologías: textos, números, fechas, .. etc. Cada registro constituye a su vez una unidad a modo de ficha, mediante la vinculación propia de los datos contenidos en sus campos, con independencia de que algunos puedan estar vacíos. (Nombre, apellidos, edad, profesión .. etc.). El conjunto de registros puede ser ampliado indefinidamente sin mas restricciones que la disponibilidad de memoria y recursos del ordenador, y esto constituye la “tabla” que se convierte en el objeto básico de los DGBR.

Normalmente las Base de Datos están constituidas por un conjunto más o menos amplio de “tablas” que se relacionan entre sí, y se pueden combinar para formar otras mayores, o bien al aplicar algunas condiciones  y/o restricciones, pueden formar subconjuntos con los  datos resultantes, pero que siempre se manejan y presentan mediante una nueva estructura en forma de “tabla”.

Bases de datos externas, conexión y enlace de objetos

Dado que a partir de cierto tamaño, los datos que puede manejar una empresa o corporación, se gestionan y mantiene en departamentos o servicios especializados fuera del ámbito técnico, y completamente desligados de los trabajos habituales de CAD, puede resultar conveniente en ciertos casos la posibilidad de compartir ciertos datos entre un archivo de dibujo, y alguna base de datos exterior.

A modo de ejemplo la instalación del AutoCAD incluye un archivo de ejemplo: “db_sample.dwg”, que consiste en el dibujo de una  “oficina” en planta, donde figura no solo la distribución de espacios, sino que contiene también una representación de los muebles, y algunos equipos como ordenadores o teléfonos, además de los “rótulos” que identifican los diferentes despachos, puestos de trabajo o zonas,  así como el nombre de los empleados que los ocupan.

La utilidad de un dibujo como ese, podría ser la de facilitar el mantenimiento o la administración de la “oficina” mediante una visión rápida e inmediata de los espacios disponibles y ocupados, por quien lo están, el tipo de ordenadores, equipos o muebles que hay en cada despacho etc. Obviamente en una organización medianamente amplia, los datos correspondientes al inventario o al personal que trabaja en la oficina se gestionan y deciden en sus propios departamentos o servicios, por lo que mantener perfectamente sincronizado el “dibujo” con esos datos y características podría ser una tarea relativamente compleja.

En ese punto es donde aparece la “utilidad” del tema, ya que con toda probabilidad los propios servicios de la entidad, mantienen la información actualizada en sus propias bases de datos, y el manejo de estas responderá con toda seguridad a alguna especificación “SQL”, ya sea a través de Oracle / DB2 / SQLserver  o bien un simple “ACCESS” de Microsoft. integrado en el paquete “Office”.

Lógicamente el dibujo anterior solo es una muestra de ejemplo y el sistema puede permitir por ejemplo el acceso a través de un plano parcelario, a datos de identidad de sus titulares, o cualquier otro tipo de características o información que se “mantiene” y gestiona de forma externa en bases de datos específicas.

Acceso y edición de datos desde AutoCAD

Para poder acceder a los datos desde AutoCAD, en primer lugar es preciso definir un “acceso” específico desde el Sistema Operativo, (en este caso se esta considerando W7) que se realiza a través del sistema “ODBC” (Open Data Base Connect). Esto se hace fuera del programa, abriendo el Panel de Control del S.O. y eligiendo dentro de este, las  “Herramientas de Administración” y aquí la “Fuente de datos ODBC”. Esta opción despliega un cuadro de diálogo donde se puede “Añadir” una nueva conexión, concretando un nuevo nombre, y con ayuda de los cuadros y paneles correspondientes, se localiza el archivo o la carpeta que contiene la base de datos en el propio ordenador o a través de la red. La conexión debe estar basada a su vez en el “driver” adecuado para ese tipo de “base de datos”.

Un vez que iniciamos el nuevo archivo de dibujo dentro de AutoCAD, tenemos que establecer la “conexión” con la base de datos externa, y eso se hace mediante la orden «CONEXIONBD(_DBCONNECT)”. Esta orden despliega una paleta que contiene además de algunas herramientas en la barra superior un diagrama en árbol con las conexiones existentes de datos y los archivos de dibujo abiertos en la sesión.

Si aún no hemos definido la nueva conexión, esto se puede hacer seleccionando el nodo “Fuentes de datos”, y al pulsar el botón derecho del ratón se abre un cuadro que permite asignar un nuevo nombre, y a continuación acceder a su configuración mediante un cuadro con varias solapas, donde seleccionamos el “proveedor”, que depende del tipo de base de datos, la “conexión”, que estará en una lista desplegable como: “el nombre que hemos definido en el Sistema Operativo a través del ODBC”. Podremos comprobar la efectividad de la conexión, y en la solapa “Avanzada”, elegir si queremos hacer la conexión como “solo lectura”, o bien como “lectura/escritura”. Esto puede depender también de los administradores del sistema de la base de datos y las restricciones que puedan existir. Normalmente se puede incluir un sistema de nombres y contraseñas para asegurar los accesos.

Una vez establecida la conexión, con una doble pulsación en el nodo de esta, se despliegan en el cuadro de dialogo todas las “tablas” que contiene la base de datos, además de otros elementos que se vayan configurando como “vínculos”, “consultas” o “rótulos”

Cuando realizamos una doble pulsación en el nodo de una de las tablas, esta se despliega en pantalla como una “hoja de datos” y podemos recorrerla con las barras de navegación. Si el acceso es de “solo lectura” el fondo se presenta gris, y si está habilitada la escritura el fondo es blanco. En este caso podemos insertar el cursor en cualquier campo y cambiar su contenido, que automáticamente quedará modificado en la propia base de datos.

Además de la hoja de datos, la cabecera del cuadro dispone a su vez de algunos botones de herramientas y listas desplegables, que facilitan el manejo general.

Interacción entre datos externos y archivos de AutoCAD

La relación entre los datos externos y los objetos dentro de un archivo de dibujo se realiza a través de un sistema de “vínculos”. El “Vínculo” es una conexión virtual que se realiza dentro del archivo de dibujo, y por tanto se guarda y almacena con este, entre un bloque o cualquier otro objeto del dibujo, y uno o varios “registros” en la tabla de datos, de tal forma que cuando posteriormente se seleccionen los datos en la tabla, se identifican los objetos “vinculados” en el dibujo o viceversa, cuado se selecciona un determinado conjunto de objetos en el dibujo se destacan estos en la hoja de datos.

La definición de los vínculos obviamente se va realizando entre objetos y registros uno a uno, pero una vez establecidos todos, podemos acceder a las selecciones desde el dibujo a los datos o desde los datos al dibujo. Además de los vínculos existen otro par de mecanismos, que son los “rótulos” y las “consultas”.

El “Rótulo” es un objeto de texto, que se inserta en el dibujo de AutoCAD, pero cuyo contenido es el dato de la base de datos externa, de tal forma que cuado este se modifica en la base, de forma externa al archivo de AutoCAD, al volver a abrir el archivo de dibujo, el texto del rótulo se encuentra actualizado con el nuevo valor.

La “Consulta”, es una herramienta propia de los sistemas de bases de datos y sirven para establecer criterios de selección sobre estos, que permiten reducir o presentar solo una parte del conjunto completo de datos. Hay que tener en cuenta que el manejo de una base de datos, puede contener varios miles de registros por lo que estos mecanismos son fundamentales y habituales en la gestión de las bases de datos.

En la operación normal del programa, tanto los vínculos como los rótulos se definen previamente a través de “plantillas” que son las que contienen la configuración, y los “campos” o datos que intervienen en cada caso. Entre las herramientas que se encuentran tanto en la hoja de datos como en el cuadro general, se encuentran herramientas para definir primero las plantillas mediante los cuadros de dialogo oportunos, y luego cada uno de los registros seleccionando la plantilla oportuna en la lista desplegable.

En el caso de las consultas, estas se realizan a través de un cuadro de dialogo con varias solapas que van incorporando un nivel mayor complejidad. Una vez configuradas, también pueden ser almacenadas en una lista propia de nombres que se puede recuperar y ejecutar en ocasiones posteriores.