
Rev. Téc. Ing. Univ. Zulia. Vol. 44, No. 1, 2021, Enero-Abril, pp. 04-58
37
Una Implementación para el Agrupamiento Difuso en SQL
Introducción
A pesar del vertiginoso desarrollo de la
tecnología de las bases de datos, los sistemas de gestión
de bases de datos (SGBD) comunes no permiten la
sufren el problema de la rigidez [1], [2], [3]. En un sistema
manera precisa. En este sentido, la rigidez de los sistemas
clásicos tiene dos consecuencias principales [4]. No hay
de los usuarios y las respuestas en el límite pueden
dejar los resultados fuera. La lógica difusa ofrece nuevos
instrumentos para acceder y procesar datos que pueden
ser aplicables en sistemas en los que los requisitos de los
usuarios no son precisos por naturaleza [5], [6], [7].
El operador estándar de agrupamiento tiene
gran importancia para los almacenes de datos y las
técnicas de análisis como OLAP y la minería de datos, y
tiene propiedades de tiempo de ejecución y escalabilidad
relativamente buenas. Aunque la semántica deloperador
de agrupamiento es simple, se limita a la igualdad (todas
valores que los atributos de agrupación). Para superar
estas limitaciones, Bosc y Pivert [8] proponen ampliar
FuzzyGroup-By (FGB), la cual permite la agrupación
basada en particiones difusas predefinidas en los atributos
del dominio, en lugar de la igualdad de datos. Una cláusula
valores (atómicos) de los atributos especificados en esa
cláusula, por ejemplo, «GROUP BY A» construye una
partición en la que cada grupo está asociado a un valor
de A presente en la relación. La idea de Bosc y Pivert [8]
es ampliar este mecanismo para construir particiones en
términos de intervalos o conjuntos difusos de valores.
Además, ellos añaden una variante de la función de
agregación de conteo llamada count-rel, que calcula la
cardinalidad relativa (por ejemplo, el grado de satisfacción
medio) asociada a un grupo.
Aplicaciones emergentes, como las bases de
datos biológicos y la transmisión de datos, requieren
Adicionalmente, las aplicaciones comerciales con
grandes cantidades de datos pueden beneficiarse
grupos de valores similares. La implementación de la
agrupación difusa dentro de un motor de base de datos,
puede tener la ventaja de que el tiempo de ejecución del
operador de Fuzzy Group-By es comparable al del Group-
By convencional. Así pues, estetrabajo comprende el
la gestión de la agrupación difusa, sobre la base de una
arquitectura estrechamente acoplada. En una arquitectura
estrechamente acoplada [9], [10], [8], todas las tareas,
componentes y funcionalidades correspondientes al
paradigma de la base de datos a integrar, forman parte del
respectivo SGBD como operación primitiva. La principal
ventaja de esta arquitectura es que se resuelven todos los
problemas de escalabilidad y rendimiento que pueden
presentarse en otros tipos de arquitecturas.
Ejemplo de motivación
Considere los datos de la cartelera musical
mostrada en la Tabla 1, donde un artículo se caracteriza
por un título, año, artista y ventas en millones. Además,
considere la consulta de un usuario para determinar la
media de ventas por década (sesenta, setenta, ochenta,
rse
como[8], [11]: SELECT label(año), avg(venta) FROM
cartelera GROUP BY label(año) USING p(año) =
{[1960, 1969], [1970, 1979], [1980, 1989], [1990,
1999], [2000, 2009], [2010,2019]}; el resultado de esta
consulta es presentada en la Tabla 2.
Tabla 1. Cartelera musical.
Título Año Artista
Ventas
(millones)
Can’t Help Falling In
Love
1962 Elvis Presley 28
Carnegie Hall Concert 1966 BuckOwens 54
Aretha Franklin: Soul
‘69
1969 Aretha Franklin 32
SomethingBetterTo
Do
1975
Olivia Newton-
John
22
Thriller 1983 Michael Jackson 65
ThisIsThe Time 1987 Billy Joel 12
BallerinaGirl 1987 Lionel Richie 53
My Heart Will Go On 1998 CelineDion 8
Hard Candy 2008 Madonna 34
No Line On The
Horizon
2009 U2 31
SomeoneLikeYou 2011 Adele 41
LoveYourself 2016 Justin Bieber 23
Cozy Little Christmas 2018 Katy Perry 12
Tabla 2. Valores promedio de ventas de títulos por rango de años.
label (año)
[1960, 1969] [1970, 1979] [1980, 1989] [1990, 1999] [2000, 2009] [2010, 2019]
Prom.
38,00 22,00 43,33 8,00 32,50 25,33