In this chapter, we present the Soft-SQL project whose goal is to define a rich extension of SQL aimed at effectively exploiting flexibility offered by fuzzy sets theory to solve practical issues when querying classic relational databases. The Soft-SQL language is based on previous approaches that introduced soft conditions on tuples in the classical relational database model. We retain the main features of these approaches and focus on the need to provide tools allowing users to directly specify the context dependent semantics of soft conditions. To this end, Soft-SQL provides a command (named CREATE TERM-SET) to define the semantics of linguistic values with respect to a context represented by a linguistic variable (Zadeh, 1975); the SELECT command is extended in order to support soft predicates based on the user defined term sets, the semantics of grouping and aggregation can be modified, and finally, the clauses in the SELECT command can be combined effectively.
Key Terms in this Chapter
Term Set: Name of the set of values that a linguistic variable can assume.
Linguistic Quantifier: Linguistic quantifiers extend the set of quantifiers of classical logic. They can be either crisp (such as all, at least 1, at least k, half) or fuzzy quantifiers (such as most, several, some, approximately k). Formally, Zadeh (1983) first defined fuzzy quantifiers as fuzzy subsets and identified two types of quantifiers: absolute and relative. Absolute quantifiers, such as about 7, almost 6, and so forth are defined as fuzzy sets with membership function on a subset of positive integers. Relative quantifiers are defined as fuzzy sets with membership function defined on [0,1].
OWA Operator: Ordered weighting average operators defined by Yager (1988) are a family of mean-like operators that allow the realization of aggregations in between the two extremes of the AND and OR corresponding with the minimum and the maximum of the operands respectively.
Flexible Query: A query allowing the specification of some kind of preferences on selection conditions and/or priorities among conditions. Within the fuzzy context, flexible queries are also named fuzzy queries: preferences in fuzzy queries are defined by soft conditions expressed by linguistic predicates such as young, while priorities among conditions are expressed by numeric values expressing the degrees of priorities.
Soft-SQL: Indicates the fuzzy extension of SQL defined in this chapter.
Fullfillment Degree: A value in [0,1] that expresses the satisfaction degree of a tuple of a relation subjected to a flexible query in a relational database. When it is zero, it means that the tuple does not satisfy the flexible query at all; when it is one, it means that the tuple fully satisfies the query. Intermediate values in (0,1) indicate partial satisfaction of the query by the tuple. Fullfillment degree is also named membership degree of the tuple in SQLf queries.
SQLf: Indicates a fuzzy extension of SQL language (Bosc & Pivert, 1995). Another extension is named FSQL (Galindo et al., 2006).
Aggregate Function: A function of SQL language working on sets of tuples instead of on single tuples and returning one single value as a result of their evaluation.
SQL: Structured Query Language used in relational databases.
Soft Condition: Tolerant selection condition admitting degrees of satisfaction defined by a fuzzy set on the domain of a linguistic variable, such as Age, and specified by linguistic terms, such as young, old, and so forth.
Complete Chapter List
Maria Amparo Vila, Miguel Delgado
Slawomir Zadrozny, Guy de Tré, Rita de Caluwe, Janusz Kacprzyk
Balazs Feil, Janos Abonyi
Didier Dubois, Henri Prade
Noureddine Mouaddib, Guillaume Raschia, W. Amenel Voglozin, Laurent Ughetto
P Bosc, A Hadjali, O Pivert
Guy De Tré, Marysa Demoor, Bert Callens, Lise Gosseye
Bordogna Bordogna, Guiseppe Psaila
Ludovic Liétard, Daniel Rocacher
Angélica Urrutia, Leonid Tineo, Claudia Gonzalez
Rallou Thomopoulos, Patrice Buche, Ollivier Haemmerlé
Troels Andreasen, Henrik Bulskov
Mohamed Ali Ben Hassine, Amel Grissa Touzi, José Galindo, Habib Ounelli
Geraldo Xexéo, André Braga
Aleksandar Takaci, Srdan Škrbic
Carlos D. Barranco, Jesús R. Campaña, Juan M. Medina
Yauheni Veryha, Jean-Yves Blot, Joao Coelho
Yan Chen, Graham H. Rong, Jianhua Chen
R. A. Carrasco, F. Araque, A. Salguero, M. A. Vila
Andreas Meier, Günter Schindler, Nicolas Werro
Shyue-Liang Wang, Ju-Wen Shen, Tuzng-Pei Hong
Radim Belohlavek, Vilem Vychodil
Awadhesh Kumar Sharma, A. Goswami, D. K. Gupta
Hamid Haidarian Shahri
J. I. Peláez, J. M. Doña, D. La Red