Sunteți pe pagina 1din 11

Extended_FSQL_Server: a Server for the description and the

manipulation of FRDB

Amel GRISSA TOUZI


ENIT, TUNISIA
Amel.touzi@enit.rnu.tn

Mohamed Ali BEN HASSINE


ENIT, TUNISIA
med_ali_bh@dcemail.com

Habib OUNALLI
FST, TUNISIA
habib.ounelli@fst.rnu.tn

ABSTRACT
The Fuzzy Relational Databases (FRDB) has been extensively studied in a theoretical level.
Unfortunately, the repercussions of these works on the practical level are negligible.
Medina et al. have developed a server named FSQL, supporting flexible queries on FRDB.
The FSQL Server is based on a fuzzy relational model named GEFRED. This server has been
programmed in PL/SQL language under Oracle. Flexible queries in FSQL are expressed with
an extension of the standard SQL, named FSQL (Fuzzy SQL). The FSQL server uses a Fuzzy
Meta-knowledge Base (FMB) to model the different types of fuzzy attributes. Since Oracle
doesn't recognize FSQL, consequently we must transform an FSQL script in a SQL script
equivalent, which includes the necessary updates of the FMB. This hard task is supposed
already made in the implementation of FSQL server by Medina et al.
We propose in this paper an extension of FSQL server in order to remedy this serious limit
especially in the case of voluminous DB. Our extension consists in transforming a FSQL
script automatically in an SQL equivalent, including the necessary updates of the FMB. This
extension has two enhancements to FSQL, while preserving all its possibilities: (1) a better
extensibility notably in case of addition of new fuzzy types and (2) the possibility of
definition and the manipulation of FRDB directly with the FSQL language. The enhanced
server is operational under Oracle.

Key Words: FSQL, Fuzzy relational database, Flexible queries, GEFRED, FIRST.

1. Introduction language named FSQL (Fuzzy SQL) has been


The Fuzzy Relational Databases (FRDB) has defined [5, 10]. The FSQL language extends
been widely studied in a theoretic level [1, 2, 7, the SQL language, to support the flexible
14, 15]. However, few works have studied it queries, with fuzzy comparators, fuzzy
from a practical point of view. Among these constants, fuzzy quantifiers, new data types
works, the one of Medina et al. is very and new commands such as "CREATE
interesting. They developed a Fuzzy query LABEL" and "CREATE NEARNESS"
interface (FQ) [6] which, as interacting with a (definition of linguistic terms and similarity
server called FSQL server, permits the flexible relations).
querying on FRDB. This server has been Since the FQ software is implemented for the
developed in PL/SQL language for Oracle Oracle DBMS, which only supports SQL and
Database Management System (DBMS), PL/SQL languages, it is natural that all
following a theoretic model called GEFRED. extensions made in FSQL won't be supported
To model flexible queries and the concept of directly by Oracle. To make this extension,
the fuzzy attributes, an extension of the SQL Medina et al. defined a Fuzzy Meta-
Knowledge Base (FMB) formed by a set of outline some conclusions and suggest some
tables. This FMB, store all necessary future lines of research.
information to manipulate fuzzy attributes.
This method is difficult since it is necessary to 2. Fuzzy Relational Databases
know the internal organization of the FMB and We present in this section the basic concepts of
the number of trapezoidal linguistic labels for FRDB.
each fuzzy attribute. Also, this number of A Fuzzy Relational Database (FRDB) is an
labels changes according to the nature of each extension of the relational database. This
fuzzy attribute. An exam of FQ of FSQL extension introduces fuzzy predicates under
server [6] allowed us to clear the following shapes of linguistic expressions that, at the
limits: time of a flexible querying, permits to have a
1) FQ considers that the DB is already defined range of answers (each with a member ship
in SQL and don't treat the problem of the degree) in order to offer to the user all
equivalence between the fuzzy types of intermediate variations between the completely
GEFRED and the standard SQL types. For satisfactory answers and those completely
example, a FTYPE2 fuzzy attribute dissatisfactory [1]. We can also say that a
(attribute age in the figure 3) defined in FRDB is defined as an enhanced relational
FSQL is replaced by five SQL attributes database that allows fuzzy attribute values and
with several lines in the FMB to models its fuzzy truth values; both of these are expressed
different linguistic labels (figure 7) and as fuzzy sets [15].
other fuzzy concepts (fuzzy quantifiers, The basic model of fuzzy relational databases
nearness, approximate values, etc.). is considered the simplest one, and it consists
2) FQ is not appropriated in practice for large of adding a grade, normally in the [0,1]
DB. interval, to each instance (or tuple). This makes
In this paper, we propose an extension of keeping database data homogeneity possible.
FSQL server that permits to solve the previous Nevertheless, the semantic assigned to this
problems. The main idea of this extension is to grade will determine its usefulness, and this
add a layer that permits to give an automatic meaning will be utilized in the query processes
transformation of the FRDB schema in a SQL [9]. The main models are those of Prade-
language equivalent while updating the FMB. Testemale [13], Umano-Fukami [14], Buckles-
The users don't have need to know how the Petry [3], Zemankova-Kaendel [16] and
server store and manipulate fuzzy attributes. GEFRED of Medina-Pons-Vila [11]. This last
Our solution presents the following model constitutes an eclectic synthesis of the
advantages: (1) preserves all possibilities of various models published so far with the aim of
FSQL Server, (2) operational under oracle's dealing with the problem of representation and
DBMS, (3) makes transparent the treatment of fuzzy information by using
transformation of a script written in FSQL to relational DB.
its equivalent in SQL and (4) supports the
description and the manipulation of a FRDB in 3. The GEFRED model
FSQL language. The GEFRED model (GEneralised model
Fuzzy heart Relational Database) has been
This paper is organized into 7 sections. Section proposed in 1994 by Medina et al. [11]. It is
2 deals with the basic concepts of the fuzzy based on the generalized fuzzy domain and
relational databases. Section 3 presents the generalized fuzzy relation, which include
GEFERD model. Section 4 studies an example classic domains and classic relations,
to illustrate the implementation problems of the respectively. The data types supported by this
fuzzy concepts in RDB. The extended, model are showed in the table 1.
E_FSQL_Server, is presented in Section 5. To model the flexible queries and the concept
Section 6 description the software of the fuzzy attributes, Medina et al. introduced
FSQL_TO_SQL. Finally, in section 7, we an extension of SQL language called FSQL
(Fuzzy SQL). We present in the following fuzzy comparators. There are many
section this language. comparators, the most used are: FEQ
(Fuzzy Equal than), (NFEQ: Necessarily
1. A single scalar (e.g. Behavior=good,
represented by the possibility of distribution
FEQ), FGT (Fuzzy Greater than), (NFGT:
1/good). Necessarily FGT), FGEQ (Fuzzy Greater
2. A single number (e.g. Age=28, represented by or Equal than), (NFGEQ: Necessarily
the possibility of distribution 1/28). FGEQ), FLT (Fuzzy Less Than), (NFLT:
3. A set of mutually exclusive possible scalar Necessarily FLT), FLEQ (Fuzzy Less or
assignations (e.g. Behavior={Bad, Good}, Equal than), (NFLEQ: Necessarily FLEQ),
represented by {1=Bad, 1=Good}). MGT (Much Greater Than), (NMGT:
4. A set of mutually exclusive possible numeric Necessity MGT), MLT (Much Less Than),
assignations (e.g. Age={20, 21}, represented (NMLT: Necessarily MLT), FINCL (Fuzzy
by {1/20, 1/21}). INCLuded in), INCL, FDIF (Fuzzy
5. A possibility distribution in a scalar domain
DIFrent), (NFDIF: Necessary FDIF) [4,
(e.g. Behavior={0.6/Bad, 1.0/Regular}).
6. A possibility distribution in a numeric domain
10]. Like in SQL, fuzzy comparators
(e.g. Age={0.4/23, 1.0/24, 0.8/25}, fuzzy compare one column with one constant or
numbers or linguistic labels). two columns of the same type.
7. A real number belonging to [0, 1], referring to c) Fuzzy constants: Besides the typical
the degree of matching (e.g. Quality=0.9). constants (NULL), FSQL included many
8. An Unknown value with possibility constants such as $[a,b,c,d], #n, $label,
distribution Unknown={1/u: u ∈U} on domain [n,m], UNKNOWN, UNDEFINED, etc.
U, considered. d) Fuzzy qualifiers: they are of two natures,
9. An Undefined value with possibility absolute and relative [10].
distribution Undefined={0/u: u ∈U} on e) Fuzzy attributes: the classification
domain U, considered. adopted for the types of attributes is based
10. A NULL value given by NULL={1/Unknown, on the approaches of representation and
1/Undefined}.
treatment of the "imprecise" data [9, 10].
These fuzzy attributes may be classified in
Tab. 1: Data types in the GEFRED Model
four data types. This classification is
performed taking into account the type of
3.1 The FSQL language
referential or underlying domain. In all of
The FSQL language [5, 9, 10] is an extension
them the values Unknown, Undefined, and
of SQL which allows the use of flexible
Null are included:
queries. It means that all valid queries in SQL
1) Fuzzy Attributes Type 1: These are
are as valid in FSQL. This paper will only
attributes with “precise data”, classic or
provide a summary of the main extensions
crisp (traditional, with no imprecision).
added to this command:
However, they can have linguistic
a) Linguistic Labels: If an attribute is able of
labels defined over them and we can
fuzzy treatment then linguistic labels can
use them in fuzzy queries. This type of
be defined on it. These labels will be
attribute is represented in the same way
preceded with the symbol $ to distinguish
as precise data, but can be transformed
them easily. There are two types of labels
or manipulated using fuzzy conditions.
and they will be used in different fuzzy
This type is useful for extending
attribute types: (1) Labels for attributes
traditional databases allowing fuzzy
with an ordered underlined fuzzy domain
queries to be made about classic data.
(Fuzzy Attributes Type 1 and 2) and (2)
2) Fuzzy Attributes Type 2: These are
Labels for attributes with a non ordered
attributes that gather “imprecise data
fuzzy domain (Fuzzy Attributes Type 3 and
over an ordered referential”. These
4).
attributes admit both crisp and fuzzy
b) Fuzzy Comparators: Besides the typical
data, in the form of possibility
comparators (=,>, etc.), FSQL includes
distributions over an underlying ordered The main components of FIRST are:
dominion (fuzzy sets). It is an extension RDBMS: All the operations conceived for the
of the Type 1 that does, now, allow the fuzzy extension will be translated into queries
storage of imprecise information. for the RDBMS host. These queries will be
3) Fuzzy Attributes Type 3: They are made using a language supported by the
attributes over “data of discreet non- RDBMS (in general SQL). DB: store all the
ordered dominion with analogy”. In these permanent information, fuzzy or not, following
attributes some labels are defined the relational model. FMB: built in the host
("blond", "red", "brown", etc.) that are system catalog as one of its extensions. It
scalars with a similarity (or proximity) provides information about all the fuzzy
relationship defined over them, so that structures (figure 2), data and definitions stored
this relationship indicates to what extent in the DB. FSQL Server: Its objective is to
each pair of labels resemble each other. extract the queries written with a FSQL
They also allow possibility distributions language and translate them in a language
(or fuzzy sets) over this dominion, like understood by the RDBMS, the SQL language.
for example, the value (1/dark, To do this translation, it uses the information
0.4/brown), which expresses that a stored in the FMB. FSQL Client, FSQL
certain person is more likely to be dark Fuzzy FORM and Interface Client: These are
than brown-haired. the programs that establish an interface
4) Fuzzy Attributes Type 4: These attributes between the user and FSQL server.
are original and they are defined in the The figure 2 shows the relations in the FMB,
same way as Type 3 attributes, without it its attributes, its primary keys (underlined) and
being necessary for a similarity its foreign keys (with the arrows).
relationship to exist between the labels.

3.2 The GEFRED architecture


In order to implement a system which
represent and manipulate "imprecise"
information, Medina et al. have developed
FIRST [12] (Fuzzy Interface for Relational
Systems) to extend the DBMS capacities in
order to represent and manipulate Imprecise
data. It reuses the existing structure and adds
new components to handle fuzzy information.
The schema of the architecture is showed in
Figure 1.

Fig. 2: Relations in the FMB


Fig. 1: General schema of FIRST
(FPn,Fn). In the case of the SIMPLE type, only
Fuzzy attributes Type 1 are represented as first couple is used and the possibility value
usual attributes, because they do not allow will be 1 (to be standardized).
fuzzy values. Fuzzy attributes Type 2 are 4. Example
represented, under oracle, by 5 traditional We want in this example to model an employee
attributes according to the form described in described by the following information:
table 2. matriculate (identifier), name, surname,
address, age, salary, productivity. The
attributes age, salary and productivity are
described as follows:
- Age is of FTYPE2 type having like
linguistic labels YOUNG(18, 22, 30, 35),
ADULT(25 ,32 ,45 ,50) and AGED(50 , 55,
62, 70) defined by trapezoidal possibility
distributions (figure 2). To use the
approximate comparison with the age using
Tab. 2: Internal representation of fuzzy attributes the fuzzy comparators, as MGT (Much
Type 2 (for an attribute F) Greater Than), NMGT (Necessity MGT)
and MLT (Much Less Than), we need to
- FT: stores the type of value which the define a margin and a distance. The margin
attribute in question can take (0 for permits to make some approximations. The
UNKNOWN, 1 for UNDEFINED, etc.). The distance specifies when two age values are
letter T is concatenated the name of the different. Let's suppose that for age, the
attribute. margin is 5 and the distance is 10.
- F1, F2, F3 et F4: The names of these
attributes are formed by concatenate the
numbers 1, 2, 3, and 4 to the attribute name.
They stores the description of the parameters
which define the data and which depend on the
type of value (FT),
Fig. 3: Definition of labels on age
Fuzzy attributes Type 3 and 4 are represented, - Salary is of FTYPE1 type having like
by a variable number of traditional attributes linguistic labels LOW(50, 80, 120, 180),
according to the form described in table 3. MEDIUM (150, 300, 400,5 50) and
HIGH(400, 600, 800, 1000) defined also by
trapezoidal functions (figure 3). Let's
suppose that for the salary, the margin is 10
and the distance is 50.

Tab. 3: Internal representation for fuzzy attributes


Type 3 or 4 (for an attribute F)
- FT: stores the kind of value which the Fig. 4: Definition of labels on salary
attribute in question can take (0 for
UNKNOWN, 1 for UNDEFINED, 2 for - Productivity is of FTYPE3 type having
NULL, 3 for SIMPLE and 4 for POSSIBILITY like linguistic labels BAD, REGULAR and
DISTRIBUTION). GOOD. In this situation, the data are not
- List of n pairs, with n ≥1, with the format quantifiable, but presents resemblances
(Possibility value, label): (FP1,F1),..., defined in the table 1. For example, the
value REGULAR of the productivity An abstract representation of the relation
attribute resembles to the value GOOD schema EMPLOYEE will be as follows:
with a degree equal to 0.7. (MATRICULATE, NAME, SURNAME,
ADDRESS, AGE, SALARY, PRODUCTIVITY).
similarity degree BAD REGULAR GOOD The implementation of this FSQL script under
BAD 1 0.3 0.2 Oracle, in an SQL equivalent, must be
REGULAR 0.3 1 0.7 executed in two steps: a treatment in the DB
GOOD 0.2 0.7 1 and a treatment in the FMB.
1) Treatment in the DB
Tab. 4: similarity relations for the productivity
The CREATE TABLE command is
attribute
translated by:
The creation of a table with the FSQL language CREATE TABLE EMPLOYEE(
must follow the following steps: MATRICULATE# VARCHAR2(4) NOT NULL,
1) create the table EMPLOYE with its NAME VARCHAR2(20) NOT NULL,
attributes (fuzzy and classic), SURNAME VARCHAR2(20) NOT NULL,
2) create the corresponding labels for ADDRESS VARCHAR2(40) NOT NULL,
FTYPE1 and FTYPE2 attributes type, AGET NUMBER(1) DEFAULT 0 NOT NULL
3) create the corresponding similarity CHECK (AGET BETWEEN 0 AND 7),
relations (NEARNESS ) for the FTYPE3 AGE1 NUMBER(3),
attributes type, AGE2 NUMBER(3),
4) update the FMB. AGE3 NUMBER(3),
AGE4 NUMBER(3),
These steps are modeled with the FSQL script SALARY NUMBER(7) NOT NULL,
in the following figure: PRODUCTIVITYT NUMBER(1) NOT NULL
/* Creation of EMPLOYEE table */ CHECK (PRODUCTIVITYT BETWEEN 0 AND 4),
CREATE TABLE EMPLOYEE( PRODUCTIVITYP1 NUMBER(3,2),
MATRICULATE# VARCHAR(4) NOT NULL, PRODUCTIVITY1 NUMBER(3) NOT NULL,
NAME VARCHAR(20) NOT NULL,
SURNAME VARCHAR(20) NOT NULL, PRIMARY KEY (MATRICULATE#));
ADDRESS VARCHAR(40) NOT NULL,
AGE FTYPE2(5,10) NUMBER(3) DEFAULT Fig. 6: SQL script
UNKNOWN NOT NULL,
SALARY FTYPE1(10,50) NUMBER(7) NOT NULL,
PRODUCTIVITY FTYPE3(1) NOT NULL, In our example the table EMPLOYEE will
PRIMARY KEY (MATRICULE#)); have the following schema:
/*Definition of linguistic labels */ (MATRICULATE, NAME, SURNAME,
CREATE LABEL YOUNG ON EMPLOYE.AGE ADRESS, AGET, AGE1, AGE2, AGE3,
VALUES 18,22,30,35; AGE4, SALARY, PRODUCTIVITYT,
CREATE LABEL ADULT ON EMPLOYE.AGE PRODUCTIVITYP1, PRODUCTIVITY1).
VALUES 25,32,45,50;
CREATE LABEL OLD ON EMPLOYE.AGE
VALUES 50,55,62,70; 2) Treatment in the FMB:
CREATE LABEL LOW ON EMPLOYE.SALARY For the level of the FMB, CREATE TABLE
VALUES 50,80,120,180; leads us to store the information concerning
CREATE LABEL MEDIUM ON the fuzzy attributes, the list of the linguistic
EMPLOYE.SALARY VALUES 150,300,400,550;
CREATE LABEL HIGH ON EMPLOYE.SALARY
labels and the similarity relations in their
VALUES 400,600,800,1000; corresponding tables. It means to insert for
/* Definition of NEARNESS */ every fuzzy attribute the suitable tuples in the
CREATE NEARNESS ON FMB tables. Figure 7 summarizes the change
EMPLOYE.PRODUCTIVITY carried out at the level of the FMB.
LABELS BAD, REGULAR, GOOD As we have just seen with this example, the
VALUES 0.3, 0.2, 0.7;
transformation of a FSQL script to its
Fig. 5: FSQL script equivalent in SQL is not a simple task. This
operation is very delicate and must be made by goals of this approach is to make transparent
hand by the designer of the FRDB. this transformation; the designer of the FRDB
This task demand to the designer to know: doesn't have need to know the description of
a) the FMB formed by its different tables with the FMB nor the mechanism of
their details, its different attributes, and, implementation.
b) the necessary process to follow to model
the concepts of linguistics labels, similarity 5. The server: E_FSQL_Server
relations, fuzzy constants, etc. while We propose in this section, our extension of
knowing the attributes types. FSQL server.
To our opinion, this work is very long,
especially if we want to manage voluminous 5.1 Proposed architecture
DB. Consequently the FQ software is limited We propose in this part, an extension of the
to some simple examples of DB and to FIRST architecture E_FIRST in order to
academic use. support the creation and the manipulation of a
FRDB. In the new architecture (figure 8), we
added a layer (FSQL_TO_SQL) that assures
the interface between a DDL script of a FRDB
modeled in FSQL and its correspondent in
SQL with the update of the FMB. Thus, the
user can interact with the FRDB by two senses:
the first consults the FRDB (simple user) and
the second manipulates and creates the FRDB
(designer).

5.2 Presentation of the FSQL_TO_SQL


layer
This layer presents a tool, called
FSQL_TO_SQL, which permits the
implementation of a FRDB described in FSQL
under oracle 8i.

Fig. 7: Update of the FMB


We propose in the following of the paper an
extension of FSQL server. One of the main Fig. 8: E_FIRST architecture
This tool allows an automatic transformation of 5.2.1 Working's Principle
a FSQL script in an equivalent SQL script The working's principle is as follows:
while specifying the modifications made to the
level of the FMB.
Begin
- cut a DDL instruction in several lines containing each one an attribute.
- study every DDL line:
if it contains a classic attribute
then copy this line in a first file (result1.sql).
else make a very specific treatment to every fuzzy attribute.
This treatment divides in two under-treatments:
- Treatment in DB
- translate the command that concerns the DB
- copy the translated command in the file (result1.sql)
- Treatment in FMB
- provide a script writes in the file (result2.sql), containing the
information in the FMB concerning the fuzzy attributes and
the objects defined on them.
End

Fig. 9: Main Algorithm

As result of these two treatments, we obtain 2) insert the tuples in the FMB containing
two files: a file containing the DDL part of the the fuzzy attributes defined on this
DB and a second containing the modification table,
to do in the FMB. We can also regroup the 3) model the different commands
two treatments in a same file since they will be CREATE LABEL, CREATE
executed in the DBMS. This process of NEARNESS in the FMB.
working is illustrated in the figure 10.

5.2.2 Rules to follow


After a detailed study of the GEFRED model
and the FQ software, we defined a set of rules
that we must apply to succeed the
transformation according to the fuzzy attributes
types. In fact, the treatment in the DB and in
the FMB depends to treated command and of
fuzzy attributes type.

Translation of the command CREATE


TABLE
The modeling of this command will be
effectuated while respecting the following
steps:
1) call the classic command CREATE
TABLE with a modification of the
fields containing the fuzzy attributes1,

1
We are interested in this paper to the 3 fuzzy attributes
FTYPE1, FTYPE2 and FTYPE3 Fig. 10: Functioning of FSQL_TO_SQL
We associate to each type of attribute a specific Type of attribute Treatment in the FMB
treatment according to the rules described in
FTYPE1, FTYPE2 1) store in the FCL table
the table 4 and 5. FTYPE3, FTYPE4 the information on the
attribute (name, type,
Attribute Treatment in the database length and a commentary),
type
2) store the values in
FTYPE1 1) delete FTYPE1 from the command FTYPE1, FTYPE2
brackets that follows
syntax FTYPE1 (n,m) in the
1) delete FTYPE2 from the command FAM table.
syntax,
2) store in the FCC table
2) concatenate the attribute with the letter FTYPE3, FTYPE4 the compatible attributes
'T' follow-up of the restriction of its with him
values (they must be in the interval Classic Nothing to do
[0,10]),
3) concatenate the attribute respectively Tab. 6: CREATE TABLE in FMB
with 1, 2, 3 and 4 (Attribute1,…,
FTYPE2 Attribute4). The attribute changes into
2n+1 attributes, Translation of the command CREATE
4) add in the same line its type of basis
LABEL
(classic type defined after FTYPE. By 1) insert in the FOL table the identifier of
default is NUMBER), the linguistic label, its name and its type.
5) translate the word "DEFAULT" 2) insert in the FLD table the parameters of
according to the table 2, linguistics label (a,b,c,d), etc.
6) translate the restriction according to the
table 2. Translation of the command CREATE
1) delete FTYPE3 (resp. FTYPE4) from NEARNESS
the syntax of the command, 1) insert in the FOL table the identifier of
2) concatenate the attribute with the letter the linguistic label, its name and its type.
'T' follow-up of the restriction of its 2) insert in the FND table the list it of the
values (they must be in the interval linguistic labels with their similarity degrees.
[0,4]),
3) concatenate the attribute n time 6. Description of the software
respectively with Pi then with i, FSQL_TO_SQL
knowing that n is provided between
FTYPE3 FSQl_TO_SQL offers a convivial interface that, on
parenthesis after the word "FTYPE3 or
FTYPE4 FTYPE4" and 1≤i≤n,
the one hand, presents an editor of FSQL script
description, and on the other hand, gives
4) add its basic type (by default it is automatically its equivalent in SQL with the update
NUMBER(3,2)) for AttributePi and of the corresponding FMB. It is developed in C++
NUMBER(3) for Attributei (the
language.
attribute changes into 2n+1 attributes),
To use FSQL_TO_SQL, the user must, first of all,
5) translate the word "DEFAULT" load the script of its FRDB modeled in FSQL either
according to the table 3, by writing it under the editor or by specifying the
6) translate the restriction according to path of the file source containing its script (.fsql).
the table 3.
Classic Nothing to do While clicking on the button "translate" which is in
bar of menu under Action (figure 11),
Tab. 5: CREATE TABLE in DB FSQL_TO_SQL generates its equivalent in SQL
(figure 12).
Conclusion
The FRDB have been studied extensively on
the theoretical level. However, the repercussions
of these works on the practical level remain
negligible. The few achieved works limited
Translate themselves to the flexible querying of classic
FSQL query DB (crisp DB). Among these works, the one of
Medina and al is very interesting. Medina et al.
developed an FRDB server around Oracle named
FSQL Server. This implementation treat only
the flexible querying while supposing that the
DB diagram was already defined.
Fig. 11: Translation FSQL query The diagram definition is made with an
extension of SQL (FSQL) that introduces new
data types for the fuzzy attributes. Since Oracle
doesn't support the FSQL language, a
preliminary stage is necessary to transform the
FSQL commands to their SQL equivalent. We
showed that this transformation (mapping) is
from afar an easy task.
We proposed an extension of FSQL server
while achieving this transformation
automatically. This extension, that preserves
the FSQL acquirements, presents two
following advantages: (1) a bigger extensibility
notably in case of addition of new fuzzy types
and (2) the definition and the manipulation of
fuzzy DB directly with the FSQL language.

Fig. 12: Translation of FSQL query As futures perspectives of this work, we


mention (1) the automatic determination of the
FSQL_TO_SQL can moreover detect and signal trapezoidal functions for the fuzzy attributes
the syntactic errors in a FSQL script. If the error is while using techniques of fuzzy clustering and
to the level of the new FSQL objects (FTYPE,
(2) the addition of a expert system for the
UNKNOWN, LABEL, etc.), our tool displays this
error, the most possible cause of its apparition and
choice of the suitable fuzzy attributes type
the line where it is happen (figure 13). Otherwise among the very numerous types of GEFRED.
(the error occurred at the SQL commands level), a We think that this last point will be a useful
report concerning this error will be generated by start point in order to generalize the fuzzy
the Oracle DBMS. databases in the real database world.

References:
[1] P. Bosc, L. Liétard, O. Pivert, "Bases de
données et Flexibilité : Les requêtes Graduelles"
Techniques et Sciences informatiques, 17(3), 1998,
pp. 355-378.
[2] P. Bosc and O. Pivert, "SQLf: A Relational
Database Language for Fuzzy Querying", IEEE
Transactions on Fuzzy Systems, Vol 3, No. 1, Feb
1995.
[3] B. P. Buckles, F. E. Petry, "A Fuzzy
Representation of Data for Relational Databases".
Fuzzy Sets and Systems, 7, 1982, pp. 213-226.
Fig. 13: detection of errors
[4] J. Galindo, M. Medina, M. A Vila, J. C.
Cubero, "Fuzzy Comparators for Flexible Queries
to Databases". In: Proc. of IBERAMIA'98. Lisbona
(Portugal), 1998
[5] J. Galindo, J. M. Medina, O. Pons, and J. C.
Cubero, “A server for fuzzy SQL queries,” in
Flexible Query Answering Systems, T. Andreasen,
H. Christiansen, and H. L. Larsen, Eds. New York:
Springer-Verlag, 1998, pp. 164–174. Lecture Notes
in Artificial Intelligence (LNAI)1495.
[6] J. Galindo, the FSQL server + FQ ":
http://www.lcc.uma.es/personal/ppgg/FSQL
[7] J. Galindo, “Tratamiento de la imprecisión en
bases de datos relacionales: Extensión del modelo y
adaptación de los SGBD actuales,” Ph.D.
dissertation, Univ. Granada, Granada, Spain, Mar.
1999.
[8] J. Galindo, A. Urrutia, M. Piattini,
"Representation of Fuzzy Knowledge in Relational
Databases". 15th International Workshop on
Database and Expert Systems Applications (DEXA
2005), published by IEEE Computer Society, 2005,
pp. 917-921.
[9] J. Galindo, A. Urrutia, M. Piattini, Fuzzy
Databases: Modeling, Design and Implementation.
Eds. Idea Group Publishing Hershey, USA, 2005.
[10] J. Galindo, "New Characteristics in FSQL, a
Fuzzy SQL for Fuzzy Databases". WSEAS
Transactions on Information Science and
Applications 2, Vol. 2, 2005, pp. 161-169.
[11] J. M. Medina, O. Pons, M. A. Vila,
“GEFRED. A Generalized Model of Fuzzy
Relational Data Bases”. Information Sciences,
76(1-2), 1994, pp. 87-109.
[12] J. M. Medina, O. Pons, A. Vila, “FIRST. A
Fuzzy Interface for Relational SysTems”. VI
International Fuzzy Systems Association World
Congress (IFSA 1995). Sao Paulo (Brasil), 1995.
[13] H. Prade, C. Testemale, "Fuzzy Relational
Databases: Representational issues and Reduction
Using Similarity Measures". J. Am. Soc.
Information Sciences 38(2), 1987, pp. 118-126.
[14] M. Umano, S. Fukami, M. Mizumoto, K.
Tanaka "Retrieval Processing from Fuzzy
Databases". Technical Reports of IECE of Japan,
Vol. 80, No 204, (on Automata and Languages),
1980, pp. 45-54, AL80-50.
[15] Yoshikane Takahashi, "Fuzzy Database Query
Languages and Their Relational Completeness
Theorem" IEEE Transaction On Knowledge and
Data Engineering, vol 5, N° 1, February 1993
[16] M. Zemankova-Leech, A. Kandel,
"Implementing Imprecision in Information
Systems". Information Sciences, 37, 1985, pp. 107-
141.

S-ar putea să vă placă și