Resumen
En la presente investigación se propone la implementación de una nueva extensión del lenguaje SQL para sistemas gestor de base de datos objeto relacionales. La extensión propuesta permitan definir, crear, almacenar y manipular bases de datos simbólicas, la nueva extensión simbólica incluye entre sus objetos nuevos tipos de datos, variables, operadores y funciones almacenadas escritas en el lenguaje de programación C++ y el lenguaje SQL.

Esta extensión puede utilizarse como una librería dinámica y su licenciamiento será de código abierto para facilitar a usuarios de bases de datos e investigadores su utilización. A diferencia de otras herramientas existentes, esta extensión hace posible que el uso de los datos simbólicos sea similar a otros tipos de datos nativos del servidor de base de datos.
Las herramientas que se diseñen e implementen en esta investigación serán accesibles a todos los usuarios interesados. Se pondrán a disposición en el sitio web de base de datos de la Escuela de Informática de la Universidad Nacional de Costa Rica, su utilización es libre pero los derechos sobre ellos es de la Universidad Nacional y el sello de la universidad estará presente en la interfaz de usuario de las herramientas.

Para verificar la funcionalidad de la extensión propuesta se harán experimentos de transformación de tablas relacionales de grandes volúmenes de datos a tablas de objetos simbólicos en servidores de bases de datos objeto-relacionales, se determinará la eficacia de los resultados obtenidos, haciendo comparaciones con los mismos experimentos pero utilizando otras herramientas para transformación de datos simbólicos existentes.

Marco Teórico

Segundo a segundo se registran miles de nuevos datos en cientos de sistemas de información, esto no sería un problema si no fuera que existe la necesidad de extraer información útil de dichos datos. Los grandes volúmenes de datos no son utilices a no ser que de ellos, se pueda extraer información que los investigadores o la gerencia puedan aprovechar.

Una base de datos de mediana a gran escala puede tener de millones a cientos o miles de millones de registros, esto trae consigo dos problemas durante la extracción de información. En primer lugar la gran cantidad de datos hace imposible encontrar patrones observables a simple vista. Y en segundo lugar los algoritmos que se han desarrollado funcionan bien en pequeños volúmenes de datos, pero al incrementar la población estos algoritmos se les observa un deterioro en su rendimiento.

La meta actual de los investigadores de datos, consiste en encontrar formas de resumir estos volúmenes gigantescos de datos, minimizando la cantidad de datos y maximizando la cantidad de información que se pueda extraer de la población inicial. Es justamente en este punto donde los datos simbólicos juegan un gran papel.

Los datos simbólicos logran reducir la cardinalidad del conjunto inicial de diversas fuentes de datos, formando un nuevo conjunto de datos (con cardinalidad menor), con ello se pierde precisión pero permite obtener mayor facilidad en el análisis de los datos.

Por ejemplo supongamos una tabla con la información médica sobre las muestra de sangre de pacientes nacionales, tomadas en diversos momentos históricos, esta tabla puede tener millones de registros sobre las muestras de Sodio (Na) en sangre. Dichos datos son difíciles de manejar si los tratamos como un todo (como una población), un enfoque más práctico sería tratar dichos datos como un intervalo de la siguiente forma: [140mmol/L – 150mmol/L] Sodio (Na) en sangre para un paciente en particular. O bien podríamos representar los datos en forma de muestras: [140mmol/L, 143.2mmol/L, 148mmol/L, 150mmol/L] para el mismo paciente. Otra forma de representarlo sería mediante el promedio tomado de las muestras, por ejemplo: [145.3 mmol/L] para el mismo paciente, note desde este punto que podrían existir diversas formas de representar los datos, tales como histogramas, promedios, desviación estándar. Estos datos reciben el nombre de datos simbólicos los cuales poseen su propio comportamiento (por ejemplo la suma entre promedios se define de forma distinta a la suma de intervalos).

Metodología
La metodología de la presente investigación está diseñada según los productos que se obtienen de sus objetivos. Cada uno de los productos tiene una relación directa con el anterior, razón por la cual se explicará la metodología en función de etapas.

Etapa 1: Construcción de tipos de datos simbólicos
En esta etapa se procederá a crear los tipos de datos simbólicos en la base de datos, se realizará una investigación sobre la creación de tipos de datos en bases de datos, la creación de operadores simbólicos para la manipulación de los tipos de datos simbólicos y la creación de funciones para la manipulación de datos simbólicos.

Utilizando los tipos de datos y los operadores simbólicos propuestos, se procederá a crear tablas simbólicas a las cuales se les aplicarán pruebas de inserción, modificación, borrado y consulta, registrando sus resultados con un instrumento diseñado para este propósito.
Como producto principal de esta etapa se contará con los nuevos tipos de datos simbólicos y sus correspondientes operadores, para crear las variables simbólicas:

  • Continuas
  • Modal
  • Modal multivaluada
  • Intervalo
  • Histograma

Etapa 2: Construcción de extensiones simbólicas
El problema particular a resolver en esta etapa, consiste en generar un conjunto de funciones SQL, que permitan crear, modificar y borrar y manipular datos simbólicos y tablas simbólicas, de forma que este tipo de datos pueda ser utilizado en forma similar a otros tipos de datos.

Utilizando la interfaz del Sistema Gestor de Bases de Datos para la ejecución de instrucciones se crearán un conjunto de pruebas que verifiquen la eficacia de las extensiones. En forma interactiva y por el uso de un archivo de instrucciones, se procederá construir tablas de objetos simbólico y manipularlas. Se verificarán eficacia de las pruebas según los resultados esperados, previamente establecidos en forma manual.

Etapa 3: Construcción del prototipo de transformación
Esta es la etapa en la que se crea una interfaz, constituida por funciones, transformación y almacenamiento y manipulación para datos de tipo simbólicos. A diferencia de otras herramientas como es el caso de DB2SO, el nivel de conocimiento sobre funciones SQL es mínimo, por lo que esto sería una gran ayuda y facilitaría la transformación de datos.

La interfaz de transformación estará conformada por las extensiones mencionadas y funciones adicionales que permiten conectarse a bases de datos relacionales. Además proveerá funciones que extraigan los datos simbólicos para diferentes algoritmos de análisis de datos simbólicos.

Para validar la usabilidad de la interfaz propuesta, se impartirá un taller del uso de la misma. Taller estará dirigido a profesores de la cátedra de bases de datos, profesores de la escuela y otras escuelas de la universidad, así como investigadores y estudiantes de la carrera de informática y carreras o cursos a fin. El taller tiene como objetivo, promover el uso de los datos simbólicos y su aplicación en el análisis de datos facilitando a los usuarios el proceso de transformación de datos relacionales a datos simbólicos.

Etapa 4: Validación de la extensión simbólica y análisis de eficiencia
Para validar la eficiencia de la extensión se realizará un experimento que consiste en la comparación de los resultados obtenidos de la aplicación de la extensión con los resultados que se obtienen al realizar la transformación con otras herramientas existentes.

DESCARGAR SOFTWARE pSymbolic
DESCARGAR SOFTWARE oSymbolic