Está en la página 1de 4

FUZZY STRUCTURED QUERY LANGUAGE

2010 En este documento se realizar una breve introduccin y explicacin de los aspectos fundamentales de las base de datos difusas as como su significado, utilizacin y descripcin del lenguaje FSQL, y se expondr un ejemplo de su utilizacin. 1. INTRODUCCIN El lenguaje FSQL, tambin llamado Fuzzy SQL o Fuzzt Structure Language, es un lenguaje difuso, una extensin del lenguaje clsico. Lofti A. Zadeh fu e diseador de la lgica difusa que es la lgica

utilizada para el tratamiento de las base de datos relacionales que es el utilizado por FSQL.
Nos referimos a la lgica difusa como una extensin de la lgica clsica ya que esta solo nos permite la manipulacin de informacin totalmente cierta o totalmente falsa, debido a que no es posible el tratamiento de informacin imprecisa, esto consiste en aadir al lenguaje SQL comparadores difusos que usan la teora de la posibilidad y necesidad. Estos comparadores son del tipo necesariamente igual, posiblemente mayor, entre otros. Por ello la lgica difusa (o teora de conjunto difusos) nos permite el tratamiento de informacin imprecisa, esta informacin no es precisa, una base de datos difusa no solo se puede usar para almacenar informacin difusa sino que tambin podemos realizar consultar de datos difusos o no sobre la informacin almacenada, cuyo objetivo es consultar elementos que cumplan una condicin difusa que son aquellos cuyos parmetros admiten ambigedad. Esto me proporcionara un grado que me indicar en que medida cumplan las condiciones establecidas, por ejemplo, si quiero que me devuelva los das del mes pasado que hizo fro he de definir a partir de que grado se considera que hace fro. Debido a que a lgica difusa nos permite trabajar con mtodos cualitativos el lenguaje FSQL nos permite definir etiquetas lingsticas tales como fro o calor pudiendo emplearse en consultas o sentencias y establece un umbral difuso para que los elementos considerados sean aquellos que superen dicho umbral difuso. 2. FIRST El formato de una base de datos relacional difusa (BDRD) est definido por Fuzzy Interface for Relacional System (FIRST o Interface Difuso para sistemas relacionales) y su esquema general que se muestra en la imagen 2.1. Las BDRD se construyen a partir de un Sistemas Gestor de Base de Datos (SGBD) ya existente. Las caractersticas fundamentas les FIRST son: los tipos de FMB. tipos de atributos difusos y el servidor FSQL que se explicarn en los apartados 3,4 y 5 respectivamente.

3. FMB

Imagen 2.1
1

Fuzzy Metaknowledge Base (FMB) que es una Base de Metaconocimiento Difuso esta almacena la

informacin que est relacionada con la extensin difusa de la base de datos. Es decir, FMB almacenar una lista con todos aquellos atributos que permitan el tratamiento difuso y su tipo difuso correspondiente. 4. TIPOS DE ATRIBUTOS DIFUSOS Antes de definir los 3 distintos tipos de atributos hay que explicar el significado de algunos trminos: UNKNOWN: Desconocemos el valor del atributo pero si sabemos que es posible que tome un valor conocido; UNDEFINED: Ninguno de los valores conocidos sobre el dominio es aplicable a dicho atributo. NULL: Ignorancia absoluta, no sabemos si el atributo es UNKNOWN o UNDEFINED. Codigo: indican la representacin del tipo de valor que queremos almacenar. AtributoN, AtrN: Nombre de los atributos: P.Atri.N: representacin de la lista de n parejas con n>=1. Crisp: Se almacenar el valor crisp que es el que se necesita almacenar. Label: se almacenar un identificador para un valor de tipo etiqueta. Intervalo: se almacenarn los valores mximo y mnimo del intervalo. Aproximadamente: almacenar el valor central, una aproximacin, de la distribucin de posibilidad. Trapecio: Almacena los 4 valores con los que va a operar.

Atributo Difuso de tipo 1


Son los atributos clsicos o crisp, sobre estos se pueden definir etiquetas lingisticas, y por tanto se podrn efectuar tambin consultas difusas o flexibles pero no nos permiten almacenar valores difusos. Toda la informacin sobre la naturaleza de los atributos y donde tambin se almacenar las etiquetas ser en FMB Este tipo de atributos son los que permiten el tratamiento difuso de datos no difusos.

Por tanto nos permitir la utilizacin de consultas de tipo comparadores difusos y constantes difusas, trminos explicados en el apartado 7. Atributo Difuso de tipo 2 Tipos de valor
UNKNOWN UNDEFINED NULL Crips c Label Intervalo [n,m] Aproximacin(n) Trapecio[a,b,c,d]

Cdigo
0 1 2 3 4 5 6 7

Atributo1
NULL NULL NULL c identificador FUZZY (FUZZY_ID) n n a
Tabla 3.1

Atributo2
NULL NULL NULL NULL NULL NULL n-margen b-a

Atributo3
NULL NULL NULL NULL NULL NULL n+margen c-d

Atributo4
NULL NULL NULL NULL NULL m margen d

Poseen las mismas caractersticas y funciones que los atributos difusos de tipo 1, pero adems estos nos permitirn el almacenamiento de datos difusos como distribuciones de posibilidad o datos imprecisos sobre referencial ordenado. Los 5 atributos posibles de tipo 2 podrn tomar los valores recogidos en la tabla 3.1 para cada tipo de constante difusa:

Atributo Difuso de tipo 3


Son los atributos que recogen datos escalares sobre dominios escalares. Son atributos sobre referencial no ordenado. Al igual que en los atributo difusos de tipo 2 para estos tipos de atributos, escalares, tambin necesitaremos almacenar el tipo de valor y lo datos de este valor. Debemos definir para este tipo de atributos una relacin de proximidad, esta nos indica para cada par de valores su valor de semejanza. Estas relaciones de proximidad definidas sobre el dominio subyacente sern almacenadas en la FMB. En la FMD no solo se almacenar la relacin de proximidad, sino que tambin las etiquetas y el valor de n, siendo n el nmero de atributos existentes. Existen valores especiales, estos son simple y distribucin de posibilidad. Entendemos por valor simple como una etiqueta con su grado de posibilidad y como distribucin de posibilidad como aquellas etiquetas definidas sobre un mximo de n parejas. En la tabla 3.2 se muestran la representacin de los atributos difusos de tipo 3.

Tipos de valor
UNKNOWN UNDEFINED NULL Simple Distribucin de Posibilidad

Cdigo
0 1 2 3 4

Atr.P1
NULL NULL NULL p p1

Atr1
NULL NULL NULL label label1

Atr.P2
NULL NULL NULL NULL p2 Tabla 3.2

Atri2

...
... ... ... ... ...

Atr.P3
NULL NULL NULL NULL pn

Atr3
NULL NULL NULL NULL labeln

NULL NULL N
NULL label2

5. SERVIDOR FSQL Como ya se ha mencionado anteriormente el servidor FSQL es una extensin del SGBD. La arquitectura de la BDRD con el servidor FSQL est compuesto por: Base de Datos: puede ser tradicional (relaciones con los datos) o de FMB (informacin) Servidor FSQL: Esto nos permite la utilizacin del lenguaje FSQL en una SGBD tradicional. Cliente FSQL: Interfaz entre el usuario u otro programa y el servidor FSQL. El funcionamiento del servidor FSQL: en primer lugar el cliente FSQL enviar la sentencia deseada al servidor FSQL luego, este lo analizar y si es correcta la traducir a la sentencia SQL que la resuelve. Si todo el proceso de traduccin ha ido bien, no se han producido errores de ningn tipo, el cliente FSQL leer la sentencia SQL o los errores en caso de que se hayan producido y lo enviar, la sentencia o el error, a una Base de datos coherente con la FMB y por ltimo el cliente FSQL recibir los datos calculados o resultantes de dicha sentencia. 6. DDL Los lenguajes de DDL de una base de datos tradicionales son los usados para la creacin, modificacin o borrado de las estructuras u objetos donde estn almacenados los datos, aunque en este grupo tambin entran aquellas sentencias destinadas a la seguridad, indices y control de almacenamiento. Estas sentencias se han modificado para adaptarlas al lenguaje FSQL y afectar a los objetos ya conocimos TABLE, VIEW y a LABEL y NEARNESS que son objetos especficos de FSQL. LABEL: hace referencia a etiquetas de atributos difusos de tipo 1 y 2. NEARNESS: obliga a la definicin de etiquetas y a su relacin de similitud de un atributo difuso.
3

EJEMPLOS: CREATE LABEL PEQUEO ON PISOS.PRECIO VALUES 30000, 230000, 500000; 7. DML Igual que en DDL, en DML adems de hacer aquella sentencias de la base de datos clsica FSQL incorpora el tratamiento de informacin difusa. Una de las incorporaciones mas significativas es la de la sentencia SELECT, en la cual destacamos: Etiquetas lingsticas: precedidas por el smbolo $ y solo se definirn etiquetas lingsticas a aquellos atributos de tratamiento difuso. Comparadores difusos: TABLA 56 Umbral de cumplimiento: threshold, por defecto ser 1 pero se puede establecer dicho umbral con el siguiente formato: <Condicin_simple> THOLD. THOLD se puede sustituir por un comparador crisp (=,<,...). Funcin CDEG (<atributo>): Nos muestra una columna con aquellos atributos que cumplan la condicin indicada. CDEG(*): Calcula para todos sus atributos el grado de cumplimiento y los muestra. Carcter comodn %: Adems de realizar las mismas funciones que el carcter comodn * de una base de datos clsica incluye la funcin CDEG aplicada a todos los atributos de la condicin, los de la parte FROM y las columnas con el grado de cumplimiento de los atributos relevantes. Constantes difusas: Pueden usarse todas aquellas constantes difusa ya definidas, UNKNOWN, UNDEFINED, LABEL, NULL, APROXIMACIN, Crisp, Intervalo y Trapecio. Condicin con IS: UNKNOWN <Atributo_Difuso> IS [NOT] UNDEFINED NULL Cuantificadores difusos: Pueden ser absoluto o relativo y se definen de la siguiente forma: $Cuantificador FUZZY[p] (condicin_difusa) THOLD $Cuantificador FUZZY[p] (condicin_difusa_1) ARE (condicin_difusa_1) THOLD Comentarios: Existen 3 tipos: --: Fin de linea /*: Fin de sentencia. /*texto*/: comentario de un bloque. Ejemplos: SELECT * FROM Personas WHERE Ojos FEQ $Azules THOLD 0.6 AND Edad FGT $mayor THOLD 0.1; 8. CONCLUSIONES El lenguaje FSQL est suponiendo un gran avance en cuanto a las base de datos ya que es una ampliacin y con ello una mejora de las base de datos tradicionales. Aunque en la actualidad no son usadas comnmente, ya que es un campo de investigacin en la actualidad. Opino que cuando dicho lenguaje se implante totalmente en Oracle este ser ms utilizado ya que no supondra ningn cambio en los sistemas si no ms bien una actualizacin del sistema. 9. REFERENCIAS Wikipedia en espaol: http://es.wikipedia.org/wiki/FSQL Universidad de Mlaga: http://www.lcc.uma.es/~ppgg/FSQL.html Rafael Francisco Oliva Moreno Capitulo 2 de Visual FSQL: Gestin visual de bases de datos difusas en oracle a travs de internet usando FSQL Galindo J. Conjuntos y Sistemas Difusos (Lgica Difusa y Aplicaciones) 11.FSQL (Fuzzy SQL) Galindo J. y M. Carmen Aranda Gestin de una agencia de viajes usando base de datos difusas y FSQL

También podría gustarte