Actually, FSQL and SQLf are the main fuzzy logic based proposed extensions to SQL. It would be very interesting to integrate them with a standard for fuzzy databases. The issue is what to take from one or other proposal. In this chapter, we analyze FSQL and SQLf making a comparison in several ways: approach direction, fuzzy components, system architecture, satisfaction degree, evaluation mechanisms, and experimental performance. We observe that there are powerful and interesting features in both proposals that could be mixed in a unified language for fuzzy relational databases.
Key Terms in this Chapter
Fuzzy Condition: Condition using fuzzy values and/or fuzzy comparators, whose truth is fuzzy. The fuzzy values may be fuzzy attributes or fuzzy constants, like linguistic labels or “approximately 8” (expressed by #8 in FSQL). Fuzzy comparators express fuzzy relations between two values, for example, “approximately equal,” “fuzzy greater than,” “much greater than,” and so on. The expression of preferences may be considered another kind of fuzzy condition. The fulfillment of one fuzzy condition is usually a value in the interval [0,1] giving a fuzzy fulfillment degree for each fuzzy condition.
DDL (Data Definition Language): The statements of this language enable the creation and modification of the structures in which the data will be stored. Examples of DDL statements are: CREATE (to create objects of the database: tables, views, etc.), DROP (to remove objects), ALTER (to modify objects), and statements for security controls, indexes, and for the control of the physical storage of the data.
Fuzzy Degrees: Fuzzy attributes, whose domain is usually the interval [0,1], although other values are also permitted, such as possibility distributions (usually over this unit interval), which, in turn, may be related to specific linguistic labels (like “a lot,” “normal,” etc.). In order to keep it simple, usually only degrees in the interval [0,1] are used, because the other option offers no great advantages and a greater technical and semantic complexity.
CDEG (Compatibility Degree): FSQL predefined function intended for the computation of fuzzy conditions’ satisfaction degrees. In queries involving fuzzy data items, this function would be used in order to project the satisfaction degree as part of the resulting table.
DML (Data Manipulation Language): The DML statements (or sentences) enable the query (consultation) and the modification of the data stored in the database. Examples of this kind of sentences are: SELECT, INSERT, DELETE, and UPDATE.
SQLf: Extension of SQL with fuzzy sets based features that allows using a fuzzy condition in any place where SQL allows a Boolean condition, providing fuzzy querying capabilities on classic and relational databases giving fuzzy result sets as query answers.
FSQL: Extension of SQL with fuzzy sets based features that allows the storage of fuzzy data values and their use in any place where SQL allows using crisp data values, providing imprecise and uncertain data manipulation in classic and fuzzy relational databases.
Derivation Principle: SQLf’s theoretical and practical basis for evaluation strategies that keep the extra added cost of fuzzy query processing low, taking advantage of existing relations between fuzzy conditions and crisp ones.
SQL (Structured Query Language): Relational database querying language, as essentially developed by Chamberlin et al. (1974, 1976). In 1986, the American National Standard Institute (ANSI) and the International Standards Organization (ISO) published the standard SQL-86 or SQL1 (ANSI, 1986). In 1989, an extension of the SQL standard, called SQL-89, was published, and SQL2 or SQL-92 was published in 1992 (ANSI, 1992).