
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