Page 67 - Ingeniantes Semestral 721 Interactivo
P. 67

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

Actualmente, las bases de datos que han tomado             ga que la base de datos externa tiene el esquema de
mayor popularidad son las bases de datos NoSQL,            tablas y relaciones ilustrado en la Figura 1.
ya que soportan la gestión de datos estructurados,
no estructurados y semiestructurados en formas no
tabulares. Sin embargo, a pesar de su popularidad,
éstas no reemplazarán completamente a las BDR
principalmente por que las BDR se distinguen por su
consistencia y seguridad [2], así como por la gran can-
tidad de herramientas que soportan para inteligencia
de negocios, análisis, toma de decisiones e informes
[3]. Además, en [4] se demostró que las BDR propor-
cionan un mejor rendimiento general en comparación
por ejemplo con una base de datos orientadas a gra-
fos, un tipo de las bases de datos NoSQL.

Las BDR almacenan los datos en forma de filas y            Figura 1. Mapeo de base de datos relacional a un grafo
columnas dentro de una tabla, manteniendo las re-
laciones entre éstas mediante una llave externa [5].       Como se puede observar, las tablas Clientes y Pro-
Utilizan únicamente el Lenguaje Estructurado de            ductos no están relacionadas entre si de manera di-
Consultas (SQL, por sus siglas en inglés) para con-        recta, siendo necesario encontrar el camino que per-
sultar y manipular los datos almacenados en éstas.         mita determinar las relaciones entre ambas tablas.
No obstante, la versión estándar de SQL no puede           Como solución para esto, en este artículo se propone
expresar efectivamente consultas avanzadas y ana-          realizar un mapeo de la base de datos relacional a un
líticas. Por ejemplo, un escenario en donde el poder       grafo (ver Figura 1), en donde los nodos representan
de SQL es limitado es cuando se requiere extraer           a las tablas y los enlaces entre los nodos las relacio-
información de una BD externa al sistema, de la cual       nes a través de la llave foránea de cada tabla. Obte-
se desconoce su esquema. En este caso, la extrac-          niendo el grafo, se ejecuta el algoritmo de búsqueda
ción o acceso a la información se convierte en una         DFS para determinar la existencia de relaciones entre
tarea complicada.                                          las tablas involucradas y con esto construir posterior-
Una de las estrategias para solventar esta problemá-       mente la consulta SQL mediante productos cartesia-
tica es la implementación de algoritmos de búsqueda        nos que permita realizar la extracción de la informa-
no informa ya que, no necesitan conocer información        ción solicitada.
sobre su dominio [6]. Entre estos algoritmos, el algorit-  Hasta donde se tiene conocimiento existen pocos tra-
mo de Búsqueda en Profundidad (DFS, por sus siglas         bajos relacionados con el objetivo de esta investiga-
en inglés) es de utilidad para determinar la conectivi-    ción. La mayoría de ellos describen la transformación
dad informática, recorre cada ruta de cada nodo den-       completa del esquema de BDR a un grafo, implicando
tro de un conjunto de nodos unidos por aristas (grafo      un tiempo considerable de procesamiento y comple-
o árbol) hasta más no poder. Si esto se traslada a una     jidad alta de implementación. Por ejemplo, en [7] se
BD, el algoritmo DFS permitiría determinar las rela-       describe un método para transformar completamen-
ciones entre las tablas de cualquier BD relacional, a      te la BDR con sus atributos y relaciones, a bases de
partir de la creación de un árbol o grafo equivalente al   datos orientada a grafos compatible con Neo4j. Este
esquema de la BD y con esto, construir las consultas       enfoque requiere del conocimiento total de la BDR y
SQL de forma dinámica sin tener que utilizar varios        de los algoritmos para realizar la transformación de
lenguajes de datos.                                        la BDR a una base de datos orientada a grafo, lo que
Para clarificar esta problemática, considere un ejem-      implica un proceso no automatizado y complejo.
plo real en donde se tiene una base de datos externa       Por otro lado, otras soluciones describen sistemas de
al sistema, conformada por información de pedidos,         búsqueda por palabras clave para ejecutar consultas
detalle de pedidos, productos, clientes y vendedores,      complejas sin necesidad de utilizar consultas SQL,
así como las asociaciones entre éstas. A través del        como es el caso de [8], en el cual se describe un sis-
sistema, se desea conocer el nombre del producto           tema de búsqueda de objetos relacionales llamado
que compró determinado cliente, el sistema debe po-        Ross, que utiliza un enfoque novedoso para encontrar
der determinar si la consulta que el usuario desea es      las mejores rutas de unión entre relaciones y prede-
válida; por lo cual, al ser una base de datos externa,     cir relaciones entre tablas no relacionadas. En [9] se
de la cual se desconoce su esquema es necesario            describe un sistema similar que realiza búsquedas de
descubrir si existe una relación entre la tabla clientes
y la tabla productos para poder extraer la información
solicitada. Para efectos de esta clarificación, supon-

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