TRATAMIENTO NO ESTADÍSTICO DE LA INFORMACIÓN
Gestores de Bases de Datos. Otras herramientas clásicas para el análisis de la información. Sistemas basados en Conocimiento y Sistemas Expertos
|
|||||||
|
|||||||
Hoja de Cálculo | Ejemplo de Hoja de Cálculo |
Inteligencia Artificial | Sistemas Expertos | Base de Conocimiento |
Motor de Inferencia |
ir a tratamiento de la información
Introducción y conceptos claves
Un sistema de gestión de bases de datos es un tipo especial de software que proporciona una estructura adecuada para la organización de datos , su consulta rápida y el desarrollo de informes que faciliten el acceso eficiente a la información para la toma de decisiones. Los gestores de bases de datos son especialmente útiles cuando se dispone de una gran volumen de información.
Las bases de datos, con independencia del modelo de sistema de gestión de la misma que vaya a utilizarse suelen disponer los datos de acuerdo a una estructura formal de representación que incluye tres categorías de representación: Campos, Registros y Ficheros
Por campo debe entenderse cada uno de los atributos que van a ser considerados en la base de datos. Cada unos de los individuos sobre los que se ha recabado o se quiere recabar información, tendrá para cada atributo un determinado valor y cada dato concreto que se considere será el valor que toma para un determinado individuo un atributo determinado. Pues bien cada uno de estos atributos constituye un campo. Y un individuo quedará definido por el conjunto de valores que toma para cada uno de los campos considerados, precisamente esto constituye un registro.
En este sencillo ejemplo cada una de las columnas : nombre, cargo y teléfono constituiría un campo de la base de datos, y cada fila un registro diferente.
Nº de registro | NOMBRE | CARGO | TELÉFONO |
1 | Juan Rodríguez Blasco | Director General | ext. 4600 |
2 | Pilar Sánchez Ferrer | Directora Comercial | ext.4610 |
3 | José Suarez García | Dir. de Producción | ext. 4620 |
Finalmente todos los registros que quedan almacenados juntos, por constituyen el conjunto total de individuos sobre los que deseamos conservar, actualizar y explotar la información constituyen una tabla , y una o más tablas relacionadas constituyen un fichero o archivo.
Propiedades deseables en todo gestor de bases de datos
Independencia de la representación concreta de los datos en la base de datos. El usuario debe ser capaz de disponer de una clara imagen lógica del conjunto de datos .
Control sobre la consistencia de la información ( ausencia de contradicciones )
Seguridad. Incluyendo sistemas de protección sobre algunas informaciones para que no puedan ser modificadas por accidente, negligencia o sabotaje.
Control de acceso si la base de datos es accesible a través de una red, para que no pueda modificarse la información de manera contradictoria o no autorizada.
Modelos de estructuración de las bases de datos
Suele distinguirse entre tres tipos de modelos de bases de datos: el modelo jerárquico, el modelo de red y el relacional.
El modelo jerárquico es adecuado para describir una base de datos en la que los objetos están relacionados rígidamente, formando un árbol de dependencias.
El modelo de red es más potente que el anterior porque puede describir cualquier tipo de relación entre objetos ( el modelo jerárquico sería un caso particular de éste)
El modelo relacional puede describir cualquier tipo de objetos y relaciones entre objetos y además de forma que éstas no queden registradas rígidamente mediante punteros, lo que facilita enormemente el mantenimiento de la base de datos.
El modelo relacional ha arrinconado a los otros dos, siendo su única debilidad aparente el que no existe un mecanismo para describir la relación entre los objetos al margen del procedimiento que el modelo ofrece para describir un objeto mediante sus atributos.
Un modelo relacional puede definirse (Date,1983) como un conjunto de tablas (componente estructural ) manipulables mediante una serie de operadores estándar (componente funcional).
Cada tabla contiene una primera fila de títulos de columna o nombres de campo y varias filas de datos , cada una de las cuales constituye un registro. Y el conjunto formado por la totalidad de las tablas, si se ha llevado a cabo un adecuado diseño , debe ser capaz de poder representar toda la información, incluyendo todos los atributos relevantes de todos los individuos considerados y todas las relaciones.
Precisamente para obtener un buen diseño de la base de datos, es necesario, contar con un adecuado procedimiento de representación formal de la realidad a estudiar que nos estructure la información, aún antes de comenzar el diseño. Un modelo muy adecuado para estructura la información a almacenar es el conocido como modelo Entidad-Relación (Chen, 1976), al que dedicamos algunas líneas.
Estructura lógica de la información "Modelo Entidad-Relación"
Según este modelo, toda la información que pretenda introducirse en una base de datos puede describirse como una series de colecciones de objetos, con una serie de características, y una serie de relaciones entre ellos.
El primer paso para la adecuada representación formal es clasificar los objetos en un número reducido de clases , por lo general fácilmente discernibles.
Para ilustrar todo lo que sigue vamos a considerar un ejemplo: Supongamos que queremos construir una base de datos con la información más relevante que necesita tener, (adecuada, concisa, y actualizadamente) una Empresa de Servicios de Asesoría a otras empresas. Obviamente la información relevante hará referencia a sus Empleados, a sus Clientes (otras empresas), a sus Proveedores ( si los tiene), a los Servicios que presta, (distintos asesoramientos); quizá también facturas , cuentas, recibos, productos que consume y muchas cosas más, pero vamos a quedarnos sólo con eso. En nuestro ejemplo, las clases de objetos sobre los que disponemos o dispondremos información son precisamente : Empleados, Clientes, Servicios y Proveedores.
Estas clases podemos considerarlas objetos-tipo. Cada objeto real concreto, cada empleado, cada cliente, cada servicio, cada proveedor, no es más que una instancia del objeto-tipo, un caso particular.
Pues bien los objetos-tipo tendrán una serie de atributos o características, que para cada caso particular diferirán, y una serie de relaciones con otros objetos-tipo que también se particularizarán para cada caso particular. Pero el esquema lógico de toda la información relevante quedará estructurado en objetos-tipo o entidades, atributos y relaciones entre entidades. Veamos como podría encajar este esquema en nuestro ejemplo:
Estructuración de la base de datos en tablas.
Utilizando el modelo relacional, cada una de las entidades-tipo puede ser representada por una tabla, donde cada columna (campo) sería cada uno de los atributos considerados y cada fila sería cada uno de los individuos, instancias a casos particulares de la entidad tipo considerada.
En nuestro ejemplo, podríamos utilizar una tabla de Clientes, otra de Empleados, otra de Proveedores, etc., en las que se detallaría la información relativa a los atributos considerados para cada uno de los clientes, empleados, proveedores, etc.
La tabla correspondiente a la entidad-tipo de empleados podría incluir la información que aparece en esta tabla:
Para garantizar la individualidad de cada una de las filas debe haber siempre un campo identificativo de cada uno de los individuos al que se le suele dar el nombre de clave principal o primaria ( primary key ).Debe ser un campo que no pueda repetirse en dos individuos distintos, en el ejemplo anterior podría ser el número de identificación de empleado, o su número de la seguridad social.
Llegados hasta aquí, parece simple cómo representar las entidades-tipo, sus atributos y todas las realizaciones individuales de ellas ( todos los individuos), pero nos queda especificar un procedimiento para poder dar una adecuada representación a las relaciones.
Las relaciones también debe representarse mediante tablas. Con carácter general una relación se representaría mediante una tabla que tuviera por clave primaria una combinación de las claves primarias de los objetos relacionados. Sin embargo, en algunos casos representar una relación no exige necesariamente, crear un nueva tabla; especialmente si la relación no tiene propiedades propias más allá de las de los individuos que la componen.
Debemos empezar por distinguir entre dos posibilidades de relación: relación de uno a muchos (1-a-n ) y relación de muchos a muchos ( m-a-n):
Una relación de 1-a-n es aquella en la que cada elemento del conjunto A puede estar relacionado con muchos elementos del conjunto B, pero cada elemento de B sólo esta relacionado con un elemento de A.
En cambio en una relación de m-a-n cada uno de los elementos del conjunto A puede estar en relación con muchos del conjunto B y, también cada uno de los de B puede estar en relación con muchos de los de A.
En el ejemplo que estamos considerando, podemos estar interesados en representar la relación existente entre el conjunto de clientes y el conjunto de posibles procedimientos de facturación de los servicios, ( pago por servicio, cuota anual, iguala mensual, etc.).Obviamente, esta relación es una relación de uno a muchos, ya que, si bien una misma forma de pago puede aplicarse a muchos clientes, cada cliente sólo pagará sus servicios de única forma.
Este tipo de relaciones son muy fáciles de representar, sin necesidad de introducir una nueva tabla. En efecto, como cada empresa cliente, que está representada por una fila distinta de la tabla de clientes sólo presenta un tipo de forma de pago, basta con añadir un nuevo campo en la tabla de clientes para incluir en la base de datos esta relación.
Sin embargo si consideramos la relación entre los clientes y el conjunto de los servicios de asesoría prestados; la relación sería , en principio, de muchos a muchos ya que se puede prestar un mismo servicio a varios clientes y un único cliente puede requerirnos varios servicios de asesoría ( contable, financiera, fiscal, legal, laboral).Ello exigiría, introducir una nueva tabla, para representar la relación. Sin embargo, en algunos casos, haciendo una adecuada partición de uno de los dos conjuntos relacionados, podemos convertir una relación de m-a-n en varias relaciones distintas del tipo 1-a-n.
Veámoslo en nuestro ejemplo:Si consideramos que el conjunto de servicios que se prestan esta formado exclusivamente por los servicios de asesoría contable, financiera, fiscal, legal y laboral; podemos sustituir la relación "clientes/ servicios" por cinco relaciones "clientes/ cada uno de los servicios". Para cada una de éstas nuevas relaciones cada uno de los cinco conjuntos consta de dos elementos ( verdadero/falso, o si/no, o 1/0) según si para ese cliente se presta ese servicio o no ; y, de esta forma, hemos convertido la relación original en cinco relaciones del tipo 1-a-n; fácilmente representable, añadiendo cinco nuevos campos a la tabla de clientes, tal y como se muestra en el siguiente cuadro:
Sin embargo, si nos encontramos ante la necesidad de representar una relación de muchos a muchos, que no permite, esta estrategia, la solución al no problema no es tan simple. Si, por ejemplo, el conjunto de servicios ofrecido no fuera limitado (cinco en nuestro caso), sino que pudiera modificarse repetidas veces con el tiempo, no hubiera sido conveniente esta forma de representación, ya que necesitaría, no sólo de una constante actualización de los datos ( lo que es siempre inevitable) sino también de una constante actualización de la estructura de la base de datos (lo que no es nada conveniente).
Para tales casos, y para casos de relación m-a-n más compleja, en la que la relación de muchos a muchos tiene características ( atributos) propias, no queda más remedio que introducir una nueva tabla para representar la relación. Una tabla en la que cada fila incluirá cada una de las parejas de elementos (de ambos conjuntos) que realmente se relacionan.
Por ilustrarlo con un ejemplo, si en el caso de la relación anterior, queremos para cada servicio prestado a cada empresa cliente, constatar cuál de nuestros empleados asesores lo ha llevado a cabo, o cuál ha sido el importe del servicio; esto no puede hacerse por el procedimiento anterior. Deberemos crear una nueva tabla en la que para cada empresa y servicio prestado, se detallen los demás atributos de interés, tal y como se muestra en la siguiente tabla:
Después de ver la forma de representar las relaciones a través de tablas señalemos dos condiciones de coherencia que debe cumplir toda representación de datos mediante tablas (Date, 1983):
Cada tabla debe incluir una clave primaria: una columna o combinación de columnas que sirve de identificador de cada una de las filas. Todos los valores de la clave primaria deben estar definidos (unívocamente).
Cuando en una tabla T2, alguno de los campos es la clave primaria de otra tabla T1, los valores de ese atributo en T2 debe ser valores de la clave primaria de T1 , o bien deben estar indefinidos.
Por último nos queda señalar, que junto con la componente estructural, el modelo tabular de representación de entidades, atributos y relaciones, un gestor de bases de datos debe incorporar una componente funcional que permitan operar con la información adecuadamente, facilitando, al menos las siguientes operaciones:
Crear la base de datos: crear y nombrar tablas, especificar sus estructuras de campos, con sus propiedades.
Introducir los datos
Mantener la base de datos, facilitando procedimientos de actualización y automatismos para la modificación de los distintos ítems en todas las tablas en las que aparezcan
Recuperar la información, permitiendo seleccionar determinada información según distintos criterios, realizar informes que detallen las partes requeridas del conjunto de datos, pero no su totalidad, etc.
2. Otras herramientas clásicas para el análisis de la información.
Además de los gestores de bases de datos, el otro gran conjunto de herramientas clásicas para el tratamiento de la información son las llamadas Hojas de Cálculo ( u hojas electrónicas de trabajo (Worksheet) . Junto a estos dos podemos añadir algunos otros como los gestores de información bibliográfica, las agendas electrónicas (Schedule) , los Sistemas de Información específica ( p.ej. los S.I.G. o sistemas de información geográfica). Pero casi todos ellos pueden considerarse como particularizaciones de alguno o ambos de los dos grandes grupos mencionados que han sido diseñadas a medida del usuario para un uso específico .
No podemos olvidar, sin embargo, que el tratamiento de la información cuantitativa , especialmente cuando ésta es de gran volumen y requiere de técnicas estadísticas sofisticadas, suele aconsejar el uso de herramientas específicas de análisis estadístico, ( Paquetes estadísticos), que estudiaremos más adelante. Pero en esta sección nos centraremos en la Hojas de Cálculo.
Hojas de cálculo.
La hoja de cálculo fue concebida por primera vez por un alumno de Economía de la Universidad de Harvard, como un programa de asistencia para la realización de trabajos de Contabilidad, presentación de informes y para la predicción económica. La hoja VisiCalc ( que así se llamaba) ( comercializada en 1979 por Software Arts ) y, esencialmente todas las que han sido creadas con posterioridad, puede describirse como una pizarra electrónica, sobre la que se puede escribir , calcular y borrar con una "tiza electrónica". Y aunque las hojas de cálculo tienen , sobre todo en la actualidad, una versatilidad que las convierte en herramientas de propósito muy general , la imagen de una hoja de cálculo como un libro de Contabilidad es , al igual que lo fue para su creador, quizá la que mejor la caracteriza. En efecto, la información ( numérica o no ; contable o no ) se introduce en filas y columnas de una tabla, las filas pueden concebirse como los asientos contables y las columnas como los distintos conceptos, carácter de entrada o salida y/o saldo acumulado pero , al tratarse de "anotaciones" electrónicas, cada nuevo asiento genera, no sólo su registro en el libro sino, también una serie de cálculos de actualización de las cuentas, fácilmente automatizables. Esta flexibilidad y capacidad de inmediata actualización de los resultados al introducir cada nuevo dato, la convierte también en una fantástica ayuda para la simulación de casos hipotéticos y para la predicción.
Las hojas de cálculo deben buena parte de su versatilidad y aplicabilidad al hecho de que son capaces de trabajar con rangos (celdas o conjuntos de celdas ) que definen la situación contextual de una determinada información ( habitualmente numérica). Como pueden introducirse en determinadas celdas, filas, columnas y/ o rangos diversos, expresiones de formulas que hagan referencia no sólo a datos u operadores sino también a rangos, la automatización es sencilla , si se ve ayudada por las utilidades habituales de copiado-pegado, propias de los sistemas operativos (WYSIWYG) cómo Windows. A esto hay que añadir la posibilidad de disponer de los rangos como información pertinente para una representación gráfica y las habituales posibilidades de transferencia de información en otros formatos, para que la información elaborada ( calculada) pueda servir de entrada para otras utilidades ( gráficas, estadísticas, bases de datos, informes, etc.)
Ejemplo :
3. SISTEMAS BASADOS EN CONOCIMIENTO .SISTEMAS EXPERTOS.
En las últimas décadas y como resultado de las investigaciones en el campo de la llamada Inteligencia Artificial, han ido surgiendo, primero a nivel experimental , y en la actualidad perfectamente introducidos en el mercado, sistemas de gestión , análisis y tratamiento de la información que obedecen a una filosofía totalmente distinta a la tradicional, y que habitualmente se conoce como enfoque "de inteligencia artificial" o enfoque I.A. ( A.I., en inglés).
La diferencia fundamental entre el enfoque informático tradicional y el enfoque I.A. hay que situarla en un doble nivel ; en el modo de proceso de la información y en la tipología de la información de base que se utiliza :
Mientras el enfoque tradicional se maneja con símbolos numéricos y/o alfanuméricos y los procesa en virtud de algoritmos y procedimientos predeterminados a priori, mediante un programa ; el enfoque I.A. pretende tratar más bien con conocimientos, representados estructurados, y tratados, fundamentalmente mediante esquemas y lenguajes de programación basados en las reglas de la lógica y/o en la representación formal de tipo simbólico, sin excluir el uso combinado con esquemas de proceso tradicional y otras herramientas.
En el contexto de la I.A., y curiosamente, como resultado de sus limitaciones para la obtención de sistemas de tratamiento de la información de propósito general , el conjunto de productos más conocido y generalizado son los ( no del todo bien ) llamados SISTEMAS EXPERTOS.
Un sistema experto, también llamado Sistema de Conocimiento , ( en inglés Knowledge Based System , concepto que incorpora la idea de ser un sistema que se basa en el conocimiento y de ser un sistema formado por bases de conocimiento , es , esencialmente un sistema informático , que dotado de una gran cantidad de información ( estructurada como conocimientos, lo que incluye no sólo hechos aislados o datos sino, también, reglas, generalizaciones, esquemas de interpretación y ejemplificación, etc.) sobre un dominio de conocimientos concreto y muy bien definido, y que dispone también de una serie de mecanismos para poner en funcionamiento estos conocimientos almacenados, con vistas a la resolución de problemas que puedan surgir en ese dominio concreto. Por tanto, se trata de un sistema informático que acaba realizando las tareas que un experto humano profesional haría, a partir de los requerimientos, conocimientos, experiencia, etc. que habitualmente son necesarios para ello , y actuando de una forma muy similar, a como haría un abogado penalista al preparar la estrategia de un caso, o un médico al estructurar un procedimiento de diagnóstico, o un asesor fiscal o financiero al evaluar las consecuencias de operación financiera, etc. , incluyendo las explicaciones y justificaciones pertinentes.
De manera muy esquemática , un sistema experto incluye :
UNA BASE DE CONOCIMIENTO. Donde se registran unas estructuras de datos que representan el conocimiento fáctico, práctico y heurístico de la o, más bien las personas expertas que han prestado sus "saberes iniciales" al sistema. Esas estructuras de datos se concretan , en la práctica no en datos sino en conocimientos estructurados en hechos, y reglas, que permiten generar más conocimiento y que el sistema aprenda de sus actuaciones.
UN MODELO SITUACIONAL, que permite que ante el problema suscitado por el usuario éste se interprete en términos de los esquemas de conocimientos , y puedan apelarse a las distintas reglas y métodos de deducción para que pueda ser finalmente resuelto.
UN GESTOR DEL CONOCIMIENTO DEL SISTEMA cuyo componente más importante es el llamado MOTOR de INFERENCIA , que examina las reglas y hechos de la Base de conocimiento, interactúa con el modelo situacional, resuelve los conflictos, deduce e infiere soluciones y como subproducto de ello, almacena estrategias de tratamiento para el futuro. También incluye un módulo de aprendizaje del sistema, que permite la actualización de la base de conocimiento en función de las soluciones obtenidas y de los desarrollos posteriores de los hechos, y que también actualiza los esquemas de interpretación del modelo situacional.
Junto a estos componente básicos, que , a menudo, se resumen en Base de Conocimiento y Motor de Inferencia, se deben incluir , además, al menos dos interfaces : un interfaz de usuario que permite que el sistema interactúe con el consumidor final de sus servicios, y pueda realizar la función para la que ha sido concebido ; y un interfaz de experto, que permite que el conocimiento experto humano pueda ser puesto al día en cualquier momento.