ISSN: 1139-8736
Depósito Legal: B-8714-2001

6.6.2 Descripción General

El Traductor SQL es uno de los últimos módulos del Sistema de Comprensión. Se encarga de traducir a SQL una sentencia en LN segmentada conceptualmente, mediante la ejecución de cuatro procesos o pasos (Paso 1, Paso 2, Paso 3 y Paso 4). En cada una de ellos, la frase en LN de entrada se ve sometida a una serie de transformaciones, empezando por la conversión o generación de una plantilla semántica equivalente a la frase en LN desde un punto de vista conceptual pero más cerca de la implementación física del sistema (BD), y finalizando con la generación de la sentencia SQL a partir de dicha plantilla. A continuación describiremos cada uno de los cuatro pasos, justificando su existencia y destacando aquellos aspectos que consideramos relevantes para el conocimiento del sistema implementado.

 

Fig. 6.19 Diagrama de bloques del Traductor a SQL. Mediante la ejecución de 4 procesos, la frase en LN, segmentada conceptualmente (S.C.) (entrada), se traduce a una sentencia SQL equivalente (salida), permitiendo el acceso al SGBD con el fin de obtener la información necesaria para responder a la consulta realizada por el usuario.

Paso 1. Identificación de los conceptos de la frase a traducir, con el fin de generar con cada uno de ellos (de forma dinámica) una plantilla de traducción en la que cada Ci es sustituido por el nombre correspondiente al esquema relacional (Modelo Conceptual) del Dominio de Aplicación, en el que se encuentra incluido el esquema E-R de las BD. Asociado a cada concepto, se incluyen, como parte de la plantilla (ranuras), la secuencia de pares (palabra-categoría) que tienen una categoría semántica relevante dentro de ese concepto.

Un concepto puede ser incluido en la plantilla (abierto) pero no rellenarse o completarse con la secuencia de pares (palabra-categoría) relevantes, asignándose por defecto el par { ? (noproc) }.

A  partir de la frase en LN segmentada conceptualmente Ci { Pali1 (Cati1) ... PaliN (CatiN) } ....Cj {Palj1 (Catj1) ... PaljM (CatjM)}, aplicando las reglas del Paso 1, se obtiene la plantilla semántica equivalente:

#Campoi = Pali1 (Cati1) ... PaliN (CatiN)
#Campoj = Palj1 (Catj1) ... PaljM (CatjM)

Paso 2. Las funciones principales de este paso están relacionadas con la adaptación de los datos presentes en la plantilla generada por el Paso 1, a las BD utilizadas, y son:

Paso 3. Interpreta la información del Paso 2, comprobando los rasgos que están presentes (abiertos) y su contenido, realizando una serie de operaciones dependiendo del mismo, como:

Todo este proceso tiene como objetivo generar la plantilla definitiva, que será el punto de partida para que el Paso 4 realice la traducción a SQL,  adaptando el formato y el contenido de todos los datos a la BD existente e interpretación de algunos valores de determinados campos de la frase.

Paso 4. Construye o genera la sentencia SQL correspondiente a la frase en LN (segmentada conceptualmente) a partir de la plantilla asociada a la misma.

En los Pasos 3 y 4 se tiene en cuenta el diseño real de las tablas de las BD utilizadas en la aplicación.

Anterior   I  Siguiente   I  Índice capítulo 6   I  Índice General


ISSN: 1139-8736
Depósito Legal: B-8714-2001