Page 66 - Ingeniantes Semestral 721 Interactivo
P. 66

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

Determinando la existencia de
relaciones en bases de datos re-
lacionales mediante el algoritmo
DFS

RESUMEN: Las bases de datos re-                                  Colaboración
lacionales son la estrategia más uti-                            Héctor Adán Morales Lugo; Patricia Elizabeth Fi-
lizada para almacenar y recuperar                                gueroa Milán; Nicandro Farias Mendoza; Jesús Al-
datos de una manera organizada,                                  berto Verduzco Ramírez; Ramona Evelia Chávez
soportando el lenguaje SQL como su                               Valdez, Tecnológico Nacional de México / Instituto
interfaz de consulta. Sin embargo, el                            Tecnológico de Colima	
poder de SQL se ve limitado para                                 	
expresar consultas analíticas com-
plejas para extraer información de     ABSTRACT: Relational databases are the most used stra-
bases de datos cuando se desco-        tegy to store and retrieve data in an organized way, su-
noce su esquema entidad-relación.      pporting the SQL language as its query interface. However,
Para solventar esta problemática, en   the power of SQL is limited to express complex analytical
este artículo se propone un enfoque    queries to extract information from databases when its en-
que permite determinar y validar la    tity-relationship schema is unknown. In order to solve this
existencia de relaciones entre ta-     problem, this article proposes an approach that allows de-
blas de bases de datos relacionales    termining and validating the existence of relationships be-
mediante la utilización del algoritmo  tween relational database tables by using the DFS algorithm
DFS como mecanismo de búsque-          as an uninformed search mechanism. It was implemented
da no informada. Se implementó         by making an equivalent graph of the database through ad-
realizando un grafo equivalente de     jacency lists in Python, which is supplied to the DFS algo-
la base de datos a través de listas    rithm to find the shortest path; that is, the relationships be-
de adyacencia en Python, el cual se    tween the tables in the database, allowing the construction
suministra al algoritmo DFS para en-   of the Cartesian products necessary to form a complex and
contrar la ruta más corta; es decir,   dynamic SQL query that allows the extraction of the data
las relaciones entre las tablas de la  even though the entity-relationship schema is unknown. The
base de datos, permitiendo la cons-    approach integrated a web-based decision support system
trucción de los productos cartesia-    demonstrating the viability of the approach. The application
nos necesarios para conformar una      of this approach allows the development of efficient infor-
consulta SQL compleja y dinámica       mation systems.
que permite la extracción de los da-
tos aun desconociendo el esquema       KEYWORDS: relational databases, depth-first search, DFS,
entidad-relación. El enfoque se in-    dynamic SQL queries, graphs.
tegró a un sistema de web de apo-
yo a la toma de decisiones demos-      INTRODUCCIÓN
trando la viabilidad del enfoque. La   Las bases de datos (BD) son la principal solución para satis-
aplicación de este enfoque permite     facer la necesidad de almacenar y recuperar datos de una
desarrollar sistemas de información    manera organizada. Permiten representar la estructura del ne-
eficientes.                            gocio de una empresa, optimizando y automatizando los pro-
PALABRAS CLAVE: bases de datos         cesos cotidianos de comercialización; por lo cual, los datos
relacionales, búsqueda en profundi-    mundiales se duplican cada dos años con una gran cantidad de
dad, DFS, consultas SQL dinámicas,     transacciones que requieren soluciones de almacenamiento.
grafos.                                Dentro de estas soluciones, las más utilizadas son las bases de
                                       datos relacionales (BDR) y las bases de datos no relacionales,
                                       conocidas comúnmente como NoSQL (Not only SQL) [1].

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