In reality, a lot of information is available only in an imperfect form. This might be due to imprecision, vagueness, uncertainty, incompleteness, or ambiguities. Traditional database systems can only adequately cope with perfect data. Among others, fuzzy set theory has been applied to deal with imperfections of data in a more natural way and to enhance the accessibility of databases. In this chapter, we give an overview of main trends in the research on flexible querying techniques that are based on fuzzy set theory. Both querying techniques for traditional databases as well as querying techniques for fuzzy databases are described. The discussion comprises both the relational and the object-oriented database modeling approaches.
Key Terms in this Chapter
Possibilistic Fuzzy Database Approach: In the possibilistic fuzzy database approach, imprecision in the value of an attribute is modeled via a possibilistic distribution on the domain of this attribute. This calls for the use of necessity and possibility measures in database querying.
Fuzzy Preferences Inside Query Conditions: In fuzzy querying, the introduction of fuzzy preferences in queries can be done inside the query conditions via flexible search criteria and allow to express that some values are more desirable than others in a gradual way.
Similarity Relation Based Fuzzy Database Approach: In the similarity relation based fuzzy database approach, query results are allowed to contain not only data that exactly satisfy the search conditions but also data that are similar to these data. For this reason, the attribute domains have to be equipped with a similarity relation. (A similarity relation is a fuzzy binary relation whose membership function expresses the similarity degree between the pairs of the domain elements.)
Database: A collection of persistent data. In a database, data are modeled in accordance with a database model. This model defines the structure of the data, the constraints for integrity and security, and the behavior of the data.
Object-Oriented Database: An object-oriented database is a database that is modeled in accordance with an object-oriented database model. In an object-oriented database model, the data are structured in classes, which also embody the behavior of the data. Classes are constructed in the spirit of the object-oriented programming paradigm and are as such closely connected to an object-oriented programming language. The best known object-oriented database model is the ODMG model.
Fuzzy Querying: Searching for data in a database is called querying. Modern database systems offer/provide a query language to support querying. Relational databases are usually queried using SQL (Structured Query Language), and object-oriented ODMG databases are queried using OQL (Object Query Language). Traditional database querying can be enhanced by introducing fuzzy preferences and/or fuzzy conditions in the queries. This is called fuzzy querying.
Fuzzy Database: In a regular database, only crisp (perfectly described) data are stored. However, due to imprecision, vagueness, uncertainty, incompleteness, or ambiguities, a lot of data are in the real world available in an imperfect form only. Fuzzy databases intend to grasp imperfect information about a modeled part of the world and represent it directly, as accurate as possible, in a database. The two leading approaches to the representation of imperfect information in databases are the possibilistic approach and the similarity relation based approach.
Relational Database: A relational database is a database that is modeled in accordance with the relational database model. In the relational database model, the data are structured in relations that are represented by tables. The behavior of the data is defined in terms of the relational algebra, which originally consists of eight operators (union, intersection, division, cross product, join, selection, projection, and division), or in terms of the relational calculus, which is of a declarative nature.
Fuzzy Preferences Between Query Conditions: The introduction of fuzzy preferences in fuzzy querying can also be done between query conditions. These kinds of preferences are expressed via grades of importance, usually called weights. Different weights are then assigned to particular conditions indicating that the satisfaction of some query conditions is more desirable than the satisfaction of others.