*********************************************
***  Programa 'FQ': Fuzzy Queries         ***
***                 Consultas Difusas     ***
***  Programa cliente:                    ***
***   - SQL  (Structured Query Language)  ***
***   - FSQL (Fuzzy SQL, SQL Difuso)      ***
***  Fichero Leeme.TXT:                   ***
***   - Breve Manual de Usuario de FQ     ***
*********************************************
***  Jos Galindo Gmez:  Noviembre 1998  ***
*********************************************

# Requisitos de instalacin y funcionamiento mnimo:

	- FQ es un programa para Windows 95/98/NT.
	- FQ requiere tener instalado el SGBD Oracle.
	- FQ requiere tener instalados los Oracle Objects
	  (objetos distribuidos por Oracle).
	- Los requisitos Hardware son mnimos, por lo que estn
	  supeditados a los requisitos de Oracle.
	- Para usar FSQL (SQL Difuso) requiere el Servidor FSQL,
	  que es un conjunto de paquetes PL/SQL que permiten
	  efectuar consultas en FSQL (programado por el mismo autor).


# Algunas caractersticas de FQ:

	- FQ es un sencillo programa Cliente FSQL (Fuzzy SQL).
	- FQ permite efectuar consultas clsicas o difusas a una
	  Base de Datos Difusa o Crisp (clsica) Oracle.
	  El modelo de Base de Datos Relacional Difusa (BDRD)
	  utilizado es el modelo GEFRED/FIRST (ver referencias).
	- FQ permite utilizar el lenguaje FSQL (Fuzzy SQL)
	  que es una extensin del lenguaje SQL, que permite
	  expresar consultas difusas o flexibles (con atributos difusos,
	  condiciones difusas, umbrales de cumplimiento,
          grados de cumplimiento de cada tupla...).
	  Para ms datos sobre FSQL y su sintaxis ver las referencias
	  bibliogrficas ms abajo.
	- FQ tambin admite consultas en SQL estndar.
	- FQ incorpora mens para insertar en nuestra consulta elementos
	  como: Operadores lgicos, operadores de conjuntos, comparadores...
	- FQ permite mostrar fcilmente las etiquetas lingsticas
	  definidas para un atributo (columna) concreto.
	- FQ permite mostrar fcilmente los atributos difusos Tipo 3
	  compatibles entre s, i.e., que pueden ser comparados.
	- Las consultas en FQ sern expresadas en modo texto
	  y en lenguaje SQL o FSQL (Fuzzy SQL, SQL Difuso).
	- FQ solicita login/password para conectarse al SGBD.
	- FQ dispone de un icono que nos permite saber rpidamente si
	  estamos o no conectados al SGBD. Adems, al situar el cursor
	  del ratn sobre l nos dir el usuario que est conectado y
	  el nombre de la Base de Datos.
	- FQ tiene diversas opciones de configuracin, teclas de acceso
	  rpido para las acciones ms comunes y multitud de ToolTipText
	  (textos explicativos que aparecen al situar el cursor sobre
	  algn objeto u opcin concreta).
	- FQ permite usar el portapapeles (Cortar, Copiar y Pegar).
	- FQ permite limitar el nmero de tuplas a recuperar
	  a un nmero mximo.
	- FQ tiene dos formas de recuperar las tuplas:
		+ Visualizando las tuplas conforme las recupera (ms lento).
		+ Recuperar todas y visualizarlas al final (ms rpido).
	- Mientras FQ recupera las tuplas muestra una barra de progreso,
	  el nmero de tupla que est recuperando y el total a recuperar.
	- FQ permite cancelar una consulta cuando ya est lanzada, de
	  forma que deje de recuperar las tuplas restantes.
	- FQ permite consultar informacin general de la conexin,
	  del usuario y del Servidor FSQL: roles, privilegios,
          nmero de sesin, usuario/uid, versin del RDBMS Oracle,
          fecha de creacin del usuario, si estn instalados los
          paquetes del servidor FSQL, versin del Servidor FSQL,
          nmero de errores y tiempo empleado por el Servidor FSQL
          en la ultima traduccin (sin contar el tiempo de comunicacin),
          normas a emplear en CDEG con los operadores lgicos,
          tratamiento de atributos difusos en posiciones inusuales,
          fecha del ltimo uso de Servidor FSQL y de la funcin FSQL_FIN...
	- FQ tiene un potente buscador de archivos incorporado (F3).
	- FQ permite salvar consultas en ficheros de texto.
	  La extensin por defecto es '.FQL'.
	- FQ permite especificar un nombre de archivo como primer argumento
	  en la lnea de comandos. Ejemplo:  FQ consulta.FQL
	  El fichero especificado como argumento ser abierto por FQ y
	  situado en su ventana de edicin de consultas.
	  Esto permite asociar algunos tipos de ficheros (como los .FQL) al
	  programa FQ, de forma que FQ se abra automticamente al abrir
	  estos ficheros (con return, doble click...).
	- FQ permite visualizar y salvar en disco la traduccin
	  a SQL de una consulta FSQL (esta traduccin es hecha por
	  el Servidor FSQL).
	- FQ permite imprimir una consulta SQL/FSQL con el tipo
	  de letra y tamaos empleados.
	- FQ permite imprimir la tabla resultante de una consulta y
	  guardarla en diversos formatos:
		+ Formato imagen .BMP de Alta Calidad
		+ Formato imagen .BMP de Baja Calidad (Blanco y Negro)
		+ Formato tabular de LaTeX (.tex)
		+ Formato HTML para la Web (.htm, .html)
	- La tabla de resultados puede ser cambiada de tipo de letra,
	  color y color del fondo (sobretodo para mejorar su impresin o su
	  grabacin a fichero grfico).
	- FQ permite ordenar las filas de una consulta por el valor de una
	  columna (previamente seleccionada), sin necesidad de usar la
	  clausula ORDER BY. Tambin pueden ordenarse segn el orden en el
	  que fueron recuperadas las filas (primera columna de la tabla).
	  Esta opcin puede ser muy til para ordenar los resultados por
	  su grado de cumplimiento.
	- FQ permite alinear los valores de una columna en la posicin
	  que deseemos dentro de su celda: Izquierda/Centro/Derecha,
	  Arriba/Centro/Abajo y opcin por defecto.
	- FQ permite ampliar/reducir el tamao de la altura de una fila y de
	  la anchura de una columna. Y permite Activar/Desactivar la opcin
	  WordWrap para la divisin o no de textos en distintas lineas dentro
	  de una celda de la tabla.
	- FQ permite activar/desactivar el mezclador de filas/columnas con igual
	  valor. Esto hace que las filas/columnas con igual valor estn mezcladas
	  de forma que NO se repite dicho valor.
	  Para que esto funcione hay que Activar individualmente las Filas/Columnas
	  en las que deseamos que la mezcla tenga efecto.
	  Esto puede facilitar la visualizacin de la tabla. Las opciones son:
		+ Mezclador Desactivado (opcin por defecto)
		+ Libre
		+ Restringe las Filas
		+ Restringe las Columnas
		+ Restringe ambas
	- FQ permite reescalar el tamao de la ventana de edicin de consultas
	  y la de la tabla resultante de una consulta, con opciones, esta ltima,
	  para que la ventana ocupe todo el ancho o el alto de la ventana.
	- En la instalacin de FQ se crean dos directorios para ejemplos e
	  imgenes respectivamente. Ambos directorios pueden ser borrados
	  junto con su contenido, sin afectar el funcionamiento de FQ.
	- Desde FQ es fcil ejecutar algunos programas de Windows:
		+ Calculadora
		+ Explorador de ficheros
		+ Bloc de Notas (NotePad)
		+ WordPad
	- Desde la ventana de la opcin "Acerca de FQ..." (Ctrl-F12),
	  podemos acceder a informacin general sobre el sistema que
	  se est usando (procesador, memoria...).
	- FQ tiene una opcin escondida para ver las 7 Maravillas del
	  Mundo Antiguo y sus datos ms importantes.


# Requisitos para efectuar consultas difusas en FSQL:

	- FQ, para consultas difusas en FSQL, requiere
	  tener instalado las tablas de la Base de
	  Metaconocimiento Difuso (FMB): FIRST.
	  Incluso si vamos a consultar con FSQL una base
	  de datos clsica (en ese caso lo mejor es usar SQL).
	- FQ requiere tener instalado el Servidor FSQL, para
	  poder efectuar consultas FSQL.
	  El Servidor FSQL es un conjunto de tablas y procedimientos
	  almacenados (programados en PL/SQL) que nos permite acceder
	  a la Base de Datos con el lenguaje de consulta difuso FSQL.
	- FQ no requiere el Servidor FSQL para efectuar consultas en
	  SQL de Oracle.


# Licencia:

	- FQ es un programa gratuito para investigadores, particulares y
	  empresas, siempre que sea utilizado sin nimo de lucro.
	  En otro caso, el usuario deber aportar a una asociacin
	  Humanitaria y/o Ecologista el importe que considere justo
	  por la utilizacin de este producto.
	- Queda totalmente prohibida la venta total o parcial de este
	  producto.


# Referencias Bibliogrficas bsicas:

  * J.M. Medina, O. Pons, M.A. Vila,
    "GEFRED. A Generalized Model of Fuzzy Relational Data Bases".
    Information Sciences, 76(1-2), 87-109 (1994).

  * J.M. Medina R., ``Bases de Datos relacionales difusas.
    Modelo terico y aspectos de su implementacin''.
    Ph. Doctoral Thesis, University of Granada, May 1994.

  * J. Galindo, J.M. Medina, O. Pons, M.A. Vila, J.C. Cubero,
    "A prototype for a fuzzy relational database".
    Demo session in the 6th International Conference on
    Extending Database Technology, EDBT'98.
    Valencia (Spain), March 1998.

  * J. Galindo, J.M. Medina, O. Pons, J.C. Cubero,
    "A Server for Fuzzy SQL Queries",
    in ``Flexible Query Answering Systems'',
    eds. T. Andreasen, H. Christiansen and H.L. Larsen,
    Lecture Notes in Artificial Intelligence (LNAI) 1495, pp. 164-174.
    Ed. Springer, 1998.
    International Conference on Flexible Query Answering Systems, FQAS'98,
    Roskilde (Denmark), May 1998.

  * J. Galindo, J.M. Medina, M.A. Vila, J.C. Cubero
    "Fuzzy Comparators for Flexible Queries to Databases",
    Sixth Iberoamerican Conference on Artificial Intelligence
    Lisbon, Portugal, October 5-9, 1998.

  * J. Galindo, "TRATAMIENTO de la IMPRECISIN en BASES de DATOS
    RELACIONALES: EXTENSIN del MODELO y ADAPTACIN DE LOS SGBD ACTUALES."
    Ph.D. Tesis, por la Universidad de Granada.
    (actualmente en fase de escritura)


# Agradecimientos: Son muchos los que me han ayudado y no podra
  nombrarlos a todos. Me gustara agradecer explcitamente la
  colaboracin de:

	- Juan Miguel Medina R., por su apoyo, direccin y
	  conocimiento de background.
	- Antonio Caba M., por su inters en resolver mis dudas de VB.
	- M. Carmen Aranda G., por su comprensin y apoyo logstico.
	- Patricia Galindo A., por que, sin ella saberlo, me ha ayudado
	  ms que nadie.
