Database Reference
In-Depth Information
is because, from fuzzy condition, we derive a classical condition and annotate the fuzzy terms (fuzzy
algebra tree). The output of the optimizer is a fuzzy execution plan, that is, an algebra relational tree with
the physical operators and the fuzzy conditions for each base table (linguistic labels over the linguistic
variables), we annotate the fuzzy algebra operators, the fuzzy terms and a new projected attribute to
record the membership degree when the executor calculate it.
Executor
The executor must apply the fuzzy access mechanism and Fuzzy Physical Relational Operators record-
ing the membership degree in each resulting row using a bottom-up approach (from leaf to the top of
tree), as we have to sort in descending order over the membership degree. Previous works compute the
membership degree starting from the top down causing overhead due to the post-processing applied at
the top for processing SQLf.
Processing Example
Let's illustrate fuzzy query processing by means of a simple example. We assume the following simple
database schema (primary keys are underlined):
STUDENT( SID , SName, Age, RecordS) index on SName
COURSE( CNO , CName, Credits, AverageC) index on CName
ENROLL( SID,CNO,Period ,Section, Grade)
Further, consider the following SQLf query:
SELECT SName, Period FROM STUDENT S, ENROLL E
WHERE Grade = middle AND Age = old AND S.SID = E.SID ;
In this query middle and old are fuzzy predicates defined by trapezoidal membership functions ac-
cording user's preferences statements like:
CREATE FUZZY PREDICATE middle ON 0..100 AS (60,70,80,90);
CREATE FUZZY PREDICATE old ON 0..120 AS (65,100, INFINITE, INFINITE);
The syntax of this type of statements was defined in previous works and used in applications with
SQLfi (Goncalves & Tineo, 2008). The first and last parameter represents the support, also the second
and third the core of the membership function. The fuzzy predicate old is a monotonous increasing func-
tion, for this reason the two last parameters are infinite (unbounded). Also middle is a linguistic label
that refers to the linguistic variable grade and old is another that refers to age.
We propose fuzzy algebra operators that might calculate the membership degree in any query tree's
node or leaf, i.e. Figure 1 show a fuzzy algebra tree for the SQLf query given before.
This fuzzy relational algebra query tree can't be processed by classical query optimizer, we propose
to apply the Derivation Principle and extend the classical query annotated by fuzzy conditions like is
shown in Figure 2.
Search WWH ::




Custom Search