Page 68 - Ingeniantes Semestral 721 Interactivo
P. 68

Revista Ingeniantes 2020 Año 7 No. 2 Vol. 1

palabras clave en una BDR mediante la creación de
un conjunto de relaciones candidatas, las cuales se
evalúa y finalmente son ejecutadas en el manejador
de base de datos.

Otra estrategia es la implementación de consultas
recursivas utilizando extensiones de SQL para imple-
mentar Expresiones Comunes de Tabla (CTE, por sus
siglas en inglés). Sin embargo, además de requerir
conocer el esquema de la base de datos, este es-
tándar solo soporta consultas estratificadas, es decir,
el cómputo recursivo en un estrato debe ser com-
pletado antes de los agregados y la negación a los
resultados producidos [10].

Como se puede observar, las soluciones anteriores        Figura 2. Diagrama de flujo para la búsqueda y validación de rela-
proponen la conversión de la BDR a una base de da-       ciones en BDRs con DFS.
tos NoSQL o la utilización de algoritmos complejos
o mecanismos de búsqueda mediante palabras cla-
ve lo cual implica conocimiento del esquema entidad
relación de la base de datos, complejidad y mayor
tiempo de desarrollo. Por el contrario, en este artí-
culo se describe la aplicabilidad del algoritmo DFS
como mecanismo de búsqueda para determinar las
relaciones de una BDR y posteriormente utilizarlas
para construir consultas complejas, ya que está op-
timizado para determinar si el camino o ruta existe
o no. Es importante mencionar que, como caso de
uso, este algoritmo se implementó en un sistema web
de apoyo a la toma de decisiones para la comercia-
lización de plantas ornamentales, permitiendo crear
herramientas dinámicas para la realización de con-
sultas asíncronas a la base de datos, dando soporte
a la toma de decisiones mediante tablas, gráficas y
reportes.

MATERIAL Y MÉTODOS
La implementación del mecanismo y del algoritmo
para determinar y validar las relaciones existentes
entre las tablas de una BDR, se llevó a cabo median-
te el empleo del lenguaje de programación Python
utilizando listas de adyacencia o diccionarios y el
framework Django; además, se utilizó REST para la
construcción de una interfaz de programación de
aplicaciones web, permitiendo la ejecución de con-
sultas asíncronas a la base de datos y la reducción
de tiempo de procesamiento y análisis de cantidades
masivas de información a través de Django REST fra-
mework.

La metodología para la determinación de las relacio-     Figura 3. Continuación del diagrama de flujo para la búsqueda y
nes entre las tablas de una base de datos se describe    validación de relaciones en BDRs con DFS.
en el diagrama de flujo de la Figura 2 y 3. Como se
podrá observar, el algoritmo DFS se ejecutará siem-
pre y cuando exista más de una tabla en la consulta
solicitada por el usuario, determinando la existencia
de caminos entre las tablas y validando la ejecución
de la consulta final. Si alguno de los caminos no es
válido, termina el proceso y la consulta no se ejecuta.

64
   63   64   65   66   67   68   69   70   71   72   73