3873-8386-1-SM

download 3873-8386-1-SM

of 17

Transcript of 3873-8386-1-SM

  • 179

    hERRAmIENTA ASISTIdA PoR ComPUTAdoRA PARA lA ENSEANzA dEl lgEbRA RElACIoNAl EN

    bASES dE dAToS

    ComPUTER-AIdEd Tool foR ThE TEAChINg of RElATIoNAl AlgEbRA IN dATA bASE CoURSES

    Johnny Villalobos murillo1steven Brenes chavarra2

    sonia mora Rivera3

    RESUmEN

    En este artculo se describe el diseo, la imple-mentacin y el uso de una herramienta asistida por computadora para la enseanza del lgebra relacional en cursos de bases de datos, la herra-mienta ha sido llamada relational Algebra Tras-lator (RAT).

    En el curso EIF 211 diseo e implementacin de bases de datos de la carrera de Ingeniera en Sis-temas de Informacin de la Universidad Nacional de Costa rica se tiene la problemtica de intro-ducir el tema del lgebra relacional y siendo los conocimientos matemticos del estudiante no muy profundos en el rea, se daba una gran dificultad en el aprendizaje del tema, el cual es muy impor-tante para entender bien el trabajo que realizan las bases de datos, de esta forma el rAT ha sido conceptualizado como una herramienta que viene a apoyar el proceso de enseanza-aprendizaje.

    Se presentan los principios de diseo y arquitec-tura que requiere su implementacin tales como: la tabla de smbolos del lenguaje, las reglas gra-maticales y los algoritmos bsicos que utiliza el Relational Algebra Traslator, para realizar las tra-ducciones de lgebra relacional al lenguaje SQL4. La herramienta se ha puesto en prctica durante un ciclo lectivo y ha demostrado tener efectividad en el proceso de enseanza aprendizaje; esto ha mo-tivado a los investigadores a publicarlo en el sitio

    1 Universidad Nacional de Costa Rica, Escuela de Informtica, [email protected] Universidad Nacional de Costa Rica, Escuela de Informtica, [email protected],3 Universidad Nacional de Costa Rica, Escuela de Informtica, [email protected] SQL es un lenguaje de consulta estructurado que permite realizar consultas en bases de datos relacionales.

    recibido el 10 de agosto de 2011 Aceptado el 30 de setiembre de 2011 Corregido el 6 de diciembre de 2011

    www.slinfo.una.ac.cr con el propsito de que esta herramienta pueda ser utilizada en diversos cursos en otras universidades.

    Palabras clave: compilador, enseanza-aprendi-zaje, software educativo, SQL, lgebra relacional, traductor.

    AbSTRACT.

    This article describes the design and implementa-tion of computer-aided tool called relational Al-gebra Translator (RAT) in data base courses, for the teaching of relational algebra. There was a pro-blem when introducing the relational algebra topic in the course EIF 211 design and Implementation of databases, which belongs to the career of En-gineering in Information Systems of the National University of Costa Rica, because students atten-ding this course were lacking profound mathema-tical knowledge, which led to a learning problem, being this an important subject to understand what the data bases search and request do rAT comes along to enhance the teaching-learning process.

    It introduces the architectural and design principles required for its implementation, such as: the lan-guage symbol table, the gramatical rules and the basic algorithms that rAT uses to translate from relational algebra to SQL language. This tool has been used for one periods and has demonstrated to be effective in the learning-teaching process. This

    UNICIENCIA 26pp. 179-195

    2012

  • 180

    JOHNNY VILLALOBOS MURILLO, STEVEN BRENES CHAVARRA Y SONIA MORA RIVERA

    UNICIENCIA 26, 2012

    urged investigators to publish it in the web site: www.slinfo.una.ac.cr in order for this tool to be used in other university courses.

    keywords: compiler, teaching-learning, educa-tional software, SQL relational algebra, translator.

    INTRodUCCIN

    Las carreras en ingeniera de sistemas de in-formacin, ciencias de la computacin y ca-rreras afines, en general, tienen una proble-mtica al contemplar cursos con temas que tienen un alto nivel de abstraccin para los estudiantes, como por ejemplo el lgebra re-lacional, y se podran citar muchos ejemplos ms de esto, pero no es tema del artculo, sino ms bien enfocarse en la dificultad que presentan los cursos de bases de datos cuan-do se ensea el tema del lgebra relacional. En los contenidos del curso EIF 211 diseo e implementacin de bases de datos, que se imparte en la carrera Ingeniera en Sistemas de Informacin de la Universidad Nacional de Costa rica se contempla el tema del lge-bra relacional, partiendo de la importancia de este tema en el rea de bases de datos y len-guajes de consulta (Cood, 1990). El alto ni-vel de abstraccin que exige del estudiantado dificulta mucho su enseanza-aprendizaje, pues prcticamente es un lenguaje de consul-ta muy terico; mientras que otros lenguajes de consulta como el SQL, s permiten rea-lizar pruebas y obtener resultados de forma natural en las bases de datos y por lo tanto son menos abstractos.

    El lgebra relacional sin embargo, no dispo-ne de un mecanismo que permita interactuar con las bases de datos de la actualidad direc-tamente; por esta razn se gesta la idea de crear una herramienta que facilitara a los es-tudiantes el aprendizaje en este tema, se par-te del supuesto que los estudiantes logran un aprendizaje significativo en el tema si prue-ban las soluciones a los problemas que se les presentan contra datos reales, esto disminuye el nivel de abstraccin y reafirma los prin-

    cipios tericos del modelo relacional que es uno de los ejes principales del curso.

    1. la herramienta

    1.1 Conceptualizacin

    Estando clara la necesidad de contar con una herramienta que facilite al estudiante el mo-delado y puesta en prctica del lgebra rela-cional para comprender los procesos que se llevan a cabo en la generacin de consultas en bases de datos, se procede a disear la he-rramienta rAT.

    Tomando en cuenta la tecnologa actual la herramienta debe ser capaz de traducir el l-gebra relacional a un lenguaje que sea enten-dido no slo por los estudiantes sino por las bases de datos utilizadas en el curso (Oracle, MySQL, Postgress y SQL server), dadas es-tas condiciones se establece por lo tanto el lenguaje SQL como el lenguaje destino.

    de esta manera, se enuncian los siguientes requerimientos de la herramienta, como bsi-cos por ser considerados en el diseo inicial:

    debe contar con controles para asegu-rar que la escritura de las sentencias sea la correcta, es decir debe garanti-zar la sintaxis correcta de las senten-cias.

    debe poder traducir sentencias del l-gebra relacional a SQL.

    debe poder conectarse a diversas ba-ses de datos, para probar las senten-cias.

    Debe poder graficar las consultas para facilitar la visualizacin de la solu-cin y construccin de las consultas.

    Estos requerimientos tambin establecen que el formalismo y la simbologa de los opera-dores del lgebra relacional se deben garanti-zar, por lo que la herramienta necesariamente tendr que contar con la implementacin de los operadores oficiales: sigma, pi, ro, unio-nes, intersecciones y diferencia de conjuntos

  • 181

    HERRAMIENTA ASISTIDA POR COMPUTADORA PARA LA ENSEANZA DEL LGEBRA...

    UNICIENCIA 26, 2012

    (Silberschatz, 2006) que representan los ope-radores de relaciones y teora de conjuntos del lgebra relacional.

    Adems, al considerar la representacin gr-fica de las operaciones en el lgebra relacio-nal como un requerimiento importante para la comprensin de las consultas, el sistema debe ser capaz de representar mediante un r-bol de parser5 (Aho, 2008) la construccin de las sentencias durante la traduccin.

    1.2 diseo y construccin de la herramienta

    de esta forma la herramienta propuesta es una aplicacin computacional que debe com-binar las tcnicas de compiladores, matem-ticas discretas, estructura de datos y tcnicas de programacin de algoritmos como recur-sividad sobre rboles binarios para lograr el objetivo final. Las tcnicas de compiladores, estudian el diseo de aquellos programas que

    5 Un rbol de parser o rbol de derivacin es una es-tructura de datos llamada rbol binario, en bases de datos es una estructura compuesta por operadores y variables que modelan una consulta en lgebra re-lacional. Se usar para efectos del artculo, por ser ms conocido el trmino de rbol de parser.

    permiten traducir un lenguaje origen a un lenguaje destino (Hopcroft, 2001), normal-mente cuando se habla de compiladores el lenguaje destino suele ser el lenguaje mqui-na llamado tambin cdigo binario, sin em-bargo la definicin no limita la existencia de un lenguaje diferente a este ltimo, para ser precisos se van utilizar tcnicas de traducto-res, las cuales a su vez se basan en tcnicas de compiladores.

    Se plantea entonces un software con caracte-rsticas de compilador que permita traducir sentencias de lgebra relacional a un lengua-je que las bases de datos entiendan (SQL), un ejemplo de esta traduccin puede ser:

    nombre, cedula, edad ( sexo=masculino (personas)) como sentencia de lgebra relacional, su corres-pondiente traduccin a SQL es:

    SELECT nombre, cedula, edad FroM per-sonas WHERE sexo = Masculino

    Cuadro 1. Ejemplo de traduccin del lgebra relacional al SQL.

    Componente lgebra relacional SqlProyeccin a(t1) SElECT a FroM t1;Seleccin a=12 (t1) SElECT * FROM t1 WHERE a = 12;Producto cartesiano t1 t2 SElECT * FroM t1 joIN t2Producto natural t1 t2 SElECT * FroM t1 NATURAl joIN t2Sobrenombre raliast1 (SELECT * FROM t1) aliasInterseccin t1 t2 (SELECT * FROM t1) INTERSECT

    (SELECT * FROM t2)

    Unin t1 t2 (SELECT * FROM t1) UNIoN (SELECT * FROM t2)

    diferencia t1 t2 (SELECT * FROM t1) dIffERENCE(SELECT * FROM t2)

    fuente: desarrollo propio de los autores.

  • 182

    JOHNNY VILLALOBOS MURILLO, STEVEN BRENES CHAVARRA Y SONIA MORA RIVERA

    UNICIENCIA 26, 2012

    Cabe rescatar que las bases de datos que usan el SQL son sistemas basados en la teora de relaciones enarias, funciones y teora de conjuntos (Silberschatz, 2006), motivo por el cual la traduccin entre el lgebra relacio-nal al SQL evita la prdida de funcionalidad, ejemplo de ello es que existe el equivalente en SQL de los operadores del lgebra rela-cional. En el siguiente cuadro se muestran algunos ejemplos de las equivalencias antes mencionadas:

    de esta forma, se establecen los siguientes componentes como factores principales en el diseo e implementacin de la herramienta:

    1. analizador lexicogrfico2. analizador sintctico3. analizador semntico4. traductor de lgebra a SQL5. graficador del rbol de parser

    Este diseo est orientado a disminuir la po-sibilidad de errores de escritura por parte de los estudiantes, esto porque los tres prime-ros analizadores garantizan que la sentencia de lgebra relacional ingresada al sistema sea vlida y por lo tanto la consulta pueda ser realizada.

    Para comprender mejor el desarrollo de la aplicacin es importante retomar algunas definiciones importantes que permitan una mejor comprensin del tema:

    Existen dos tipos bsicos y reconocidos de lenguajes: los lenguajes naturales y los len-guajes formales (Chomsky, 1975); los prime-ros se fueron construyendo con el paso del tiempo mediante la conversacin hablada y escrita, estos son por ejemplo el espaol o el ingls. Adems, los lenguajes formales se basan en normas matemticas tales como la lgica y teora de conjuntos para su modelaje y entendimiento.

    Definicin 1. Se define un lenguaje como un conjunto de palabras. Cada lenguaje est

    formado por secuencias de smbolos (pa-labras) tomados de alguna coleccin finita llamada alfabeto.

    Definicin 2. Se define un alfabeto como un conjunto no vaco y finito de smbolos, en-tonces escribimos un alfabeto y Una secuen-cia finita de smbolos de un alfabeto, se llama palabra, expresin o cadena.

    Definicin 3. Una palabra es un conjunto fi-nito de smbolos , con la concatenacin de palabras formaremos un conjunto denotado por , luego el conjunto de palabras que ten-gan significado se llama diccionario.

    desde el punto de vista tcnico, un compila-dor adems de ser un traductor es un progra-ma que verifica que la sentencia de entrada sea vlida. Una sentencia vlida es aquella expresin lexicogrfica, semntica y sintc-ticamente correcta. de esta manera, la herra-mienta propuesta debe cumplir con estas va-lidaciones para asegurar sentencias correctas que puedan ser traducidas a sentencias en un lenguaje SQL.

    Definicin 4. Una expresin es lexicogrfica-mente correcta si, y solo , con exp una palabra.

    La utilidad del analizador lexicogrfico es la deteccin temprana de errores de tipo alfab-tico (Allen, 2002); por ejemplo la expresin no es una expresin lxico-grficamente va-lida, pues , en particular .

    Desde estas premisas se define en el RAT el alfabeto del lgebra relacional como: = {0, 1, 2, , 8, 9, _, a, b, c, , A, B, C ,, Z, , , , , =, , , , , -, , , , , , }, donde representa un carcter nulo.

    Definicin 6. Se establece una gramtica usando la definicin de Noam Chomsky (Chomsky, 1975), compuesta por la siguien-te cuaterna:

  • 183

    HERRAMIENTA ASISTIDA POR COMPUTADORA PARA LA ENSEANZA DEL LGEBRA...

    UNICIENCIA 26, 2012

    1. Un conjunto finito de smbolos, que representa la totalidad del alfabeto de un lenguaje. Los componentes reci-ben el nombre de terminales o smbo-los terminales.

    2. Un conjunto de variables, a estas va-riables se les denomina no terminales o categoras sintcticas, estos no ter-minales se forman por otros smbolos terminales o no terminales.

    3. Existe un smbolo inicial, esta varia-ble representa el inicio de la gram-tica, adems debe ser un smbolo no terminal.

    4. Un conjunto finito de producciones o reglas, que representa una definicin recursiva de lenguaje. Cada regla est conformada de:

    a. Una variable llamada cabeza, es un identificador de la regla en particular.

    b. El smbolo de produccin ().c. Una cadena de cero o ms sm-

    bolos terminales o no termina-les, a este bloque se le llama cuerpo de la produccin, en la cual cada elemento se sustitu-ye recursivamente para formar una derivacin.

    Estas cuatro componentes definen una tupla llamada gramtica libre de contexto, tam-

    bin recibe el nombre de gramtica (Choms-ky, 1975) de tal forma que se puede designar a G = (V,T,P,S) donde V es el conjunto de los smbolos no terminales, T el de los smbolos terminales, P son las reglas de produccin y la S es el smbolo inicial de la gramtica.

    Se define entonces la gramtica para el RAT como la tupla con V = {literal, numeral, sm-bolos numricos, smbolos lgicos, smbolos conjuntos, variable, nmero, parmetro, pro-yeccin, condicional, renombramiento, ex-presin, expresin lgica, expresin numri-ca}. El conjunto T o alfabeto del lenguaje se define como T = {0, 1, 2, , 8, 9, _, a, b, c, , A, B, C ,, Z, , , , , =, , , , , -, , , , , , } donde representa un carcter nulo. Se cuenta tambin el smbolo inicial S = expresin, definido en las reglas de produccin de P.

    Para el conjunto P se definen las siguiente reglas de produccin, para efectos de simpli-ficar la notacin se usar el formato Backus-Naur form o BNF (Hopcroft, 2001), donde los smbolos de produccin () y sus respec-tivos cuerpos se agrupan con el smbolo ::= y separamos los cuerpos de las producciones por el smbolo ( | ) para identificar que son de la misma regla.

    A continuacin se detalla el conjunto de pro-ducciones:

  • 184

    JOHNNY VILLALOBOS MURILLO, STEVEN BRENES CHAVARRA Y SONIA MORA RIVERA

    UNICIENCIA 26, 2012

    Definicin 8. Una expresin es semntica-mente correcta si, y solo si la expresin es producida por alguna regla de produccin.

    La importancia del analizador semntico es la deteccin de errores estructurales, de esta forma se sabe si la expresin que introdu-ce el usuario est correctamente formada,

    suponga la expresin: , esta expresin es lexicogrficamente vlida, pues todos los smbolos de la expresin son elementos del alfabeto, pero es semnticamente incorrec-ta, el error se encuentra en el porque la regla dentro del PI es un parmetro definido por las siguientes reglas:

    ::= ,|

    ::= |< simbolosNumericos>

    ::= +|-|*|/

  • 185

    HERRAMIENTA ASISTIDA POR COMPUTADORA PARA LA ENSEANZA DEL LGEBRA...

    UNICIENCIA 26, 2012

    Se esperaba un nmero o una variable des-pus del primer signo de ms, pero lo que se ley fue el signo + , y es aqu donde se presenta un error de semntica.

    Definicin 9. Se define una matriz gramati-cal o matriz de adyacencia, como una matriz cuadrada que permite representar una rela-cin binaria6.

    Para el rAT se desarrolla una matriz gra-matical del lgebra relacional, para el veri-ficador sintctico, para crear y evaluar todos los posibles escenarios. Esta matriz booleana est formada por todos los smbolos no ter-minales. La matriz completa del lgebra re-lacional al ser tan grande no se adjuntar, sin embargo se puede ejemplificar con los sm-bolos Pi, Sigma, parntesis, literal y nmero (constante) mostrados en el cuadro 2.

    6 Una relacin binaria es una asociacin que se reali-za entre dos conjuntos.

    Cuadro 2. Matriz gramatical (adyacencia) parcial.

    SIgmA lITERAl CoNSTAmTE PARENTESIS AbIERToPARENTESIS

    CERRAdoPI 0 0 0 1 0

    SIgmA 0 0 0 1 0

    lITERAl 0 0 0 0 1

    CoNSTANTE 0 0 0 0 1

    PARENTESISAbIERTo 1 1 1 1 0

    PARENTESISCERRAdo 0 0 0 1 1

    Fuente: desarrollo propio de los autores

    La funcin de esta matriz dentro del pro-grama es verificar la gramtica del lge-bra relacional, funciona con los estados de la siguiente regla, por ejemplo en la fila de constante todas las columnas tienen ceros

    menos la columna llamada parntesis cerra-do con lo que se interpreta como despus de un nmero puede ir un parntesis cerrado. observe que tambin puede ir un operador matemtico pero por efectos del ejemplo queda excluido este caso.

    Definicin 10. Un rbol consta de un con-junto finito de elementos, llamados nodos y un conjunto tambin finito de lneas dirigidas o vrtices que conectan los nodos (Joyanes, 2007). Tambin, se puede definir como

    1. Una estructura de datos vaca.2. Una conjunto de nodos tales que

    a. Hay un nodo llamado razb. Todos los dems son sub-r-

    boles

    Observe que la definicin de rbol es recur-siva, y que la mayora de los algoritmos para recorrer rboles son recursivos, pero lo im-portante de los rboles binarios es su capaci-dad para modelar las expresiones de lgebra relacional de forma prcticamente natural. En la figura 1. rboles binarios y el lgebra

  • 186

    JOHNNY VILLALOBOS MURILLO, STEVEN BRENES CHAVARRA Y SONIA MORA RIVERA

    UNICIENCIA 26, 2012

    relacional se aprecia cmo se modelaron en el rAT las estructuras de rboles.

    figura 1. rboles binarios y el lgebra relacional

    fuente: desarrollo de los autores.

    Se presenta a continuacin el algoritmo ge-nerador de rboles de parser, la funcin tiene

    como entrada una lista de Tokens7 pre proce-sada de una expresin de lgebra relacional:

    7 Un token es una unidad lxica que tiene significado en un mbito.

    OPERADOR_APERTIRA = {PI, SIGMA, RO, CARTESIANO, NATURAL, IN-TErSECCIN, UNIoN, dIFErENCIA} FUNCIoN crearArbol [ToKENS tokens, Nodo actual] INICIo SI tokens.vacio() = = falso ENTONCES TOKEN tmp = tokens.siguiente(); SI tmp.dato == OPERADOR_APERTURA ENTONCES actual.dato = tmp; tones.siguiente(); crearArbol(tokens, actual.izquierda); tones.siguiente(); crearArbol(tokens, actual.derecha); EN_CASO_CONTRARIO MIENTRAS tmp CERRAR_PARENTESIS ENTONCES actual.agregar(tmp); tmp = tokens.siguiente(); FIN MIENTrAS; FIN SI; FIN SI;FIN FUNCIoN;

  • 187

    HERRAMIENTA ASISTIDA POR COMPUTADORA PARA LA ENSEANZA DEL LGEBRA...

    UNICIENCIA 26, 2012

    Este algoritmo tiene el propsito de gene-rar un rbol de parser a partir de una lista de tokens, el objetivo es distribuir recursiva-mente los tokens segn su tipo, los rboles de parser se bifurcan en presencia de un opera-dor de conjuntos (unin, interseccin o dife-rencia), un operador de producto cartesiano o un operador de producto natural, de esta for-ma se crean dos nuevos hijos en el algoritmo. Para los dems casos se acumulan los tokens en los nodos.

    Para traducir una sentencia de lgebra rela-cional a SQL, el programa est dividido en tres componentes principales. Inicialmente las sentencias ingresan como cadenas de ca-

    racteres, en ese momento, el analizador lexi-cogrfico revisa que no ingresen smbolos del alfabeto que no pertenecen al mismo, si la verificacin lxica es correcta el analizador retornar una lista de tokens que luego son alimentados al analizador sintctico el cual procesa las reglas de la matriz gramatical para detectar errores tempranos, si el proceso fue correcto entonces los tokens prosiguen a la etapa final donde el RAT genera el rbol de parser con el algoritmo ejemplificado an-teriormente. Posteriormente, para realizar la traduccin a SQL es tan simple como reco-rrer el rbol en inorden8 e ir concatenando los resultados de los nodos.

    8 El recorrido en inorden se basa en extraer el dato del nodo actual, luego irse recursivamente al nodo izquierdo y nodo derecho.

    figura 2. Proceso de la traduccin. Consulta

    Fuente: desarrollo de los autores

  • 188

    JOHNNY VILLALOBOS MURILLO, STEVEN BRENES CHAVARRA Y SONIA MORA RIVERA

    UNICIENCIA 26, 2012

    de esta forma, cuando se ingresa una con-sulta en el rAT, este se encarga de traducir a lenguaje SQL con su correspondiente rbol de parser, como se muestra en la Figura 2. Traduccin de la sentencia , donde en el pri-mer cuadro esta la lista de tokens generado por el analizador lexicogrfico, estos tokens son validados contra las reglas de la gramti-ca para finalmente aplicar el algoritmo gene-rador del rbol, con lo que se obtiene el rbol final con su respectiva sentencia SQL.

    En la figura 3. Software Relational Algebra Translator (RAT) v4.1.0.0 se muestra pro-piamente la herramienta traduciendo la sen-tencia:

    figura 3. Software Relational Algebra Translator (RAT) v4.1.0.0

    ABCd

    {nombre, edad, cdula} (personas){nota, curso, estudiante} (notas){cdula = estudiante} (A x B){nombre, edad, cdula, nota, curso} (C)

    Note que los nodos de las hojas del rbol generado estn siempre equilibrados y repre-sentan el crecimiento de la consulta, desde

    las tablas originales hasta llegar al ltimo nodo de la consulta.

    Este proceso les permite a los estudiantes comprender mejor el proceso que realizan las bases de datos cuando reciben una consulta a ser procesada, de ah la importancia de gene-rar el rbol, pues la herramienta se convierte en un recurso didctico ms en el curso.

    Las consultas en lgebra relacional fcil-mente se pueden complicar, por lo que se implement un operador denominado ope-rador de asignacin, el cual tiene la funcin de asignar a variables locales los valores de las relaciones que se encuentren a su derecha, por ejemplo: asigna el resultado del sigma a la variable A. Se presenta a continuacin un cuadro comparativo que ejemplifica el ope-rador de asignacin. Es claramente ms sim-ple escribir sentencias usando el operador de asignacin, lo que disminuye la complejidad del tema; adems el RAT identifica cuando se declaran operaciones recursivas invlidas como por ejemplo: .

  • 189

    HERRAMIENTA ASISTIDA POR COMPUTADORA PARA LA ENSEANZA DEL LGEBRA...

    UNICIENCIA 26, 2012

    Cuadro 3. Ejemplo del operador de asignacin

    Sin operador de asignacin Con operador de asignacin{nombre, edad, cedula, nota, curso}({cedula = estu-diante}({nombre, edad, cedula}(personas) {nota, curso, estudiante}(notas)))

    A {nombre, edad, cedula}(personas) B {nota, curso, estudiante}(notas) C {cedula = estudiante}(A B) d {nombre, edad, cedula, nota, curso}(C)

    fuente: desarrollo propio de los autores.

    y pensando en las necesidades de los estu-diantes y la facilidad de uso de la herramien-ta, se implementaron algunos otros mdulos como son:

    1. Una biblioteca donde el estudiante puede guardar las consultas que ha ido construyendo y probando. En este proceso, las consultas pueden ser ex-portadas y enviadas como proceso de verificacin del trabajo, documenta-cin posterior de proyectos, y even-tualmente como comprobacin de tareas o quices.

    2. Un analizador de rendimiento que compara la cantidad de productos cartesianos entre dos consultas, para efecto de optimizarlas.

    3. La herramienta puede ser visualizada en diferentes idiomas: espaol, ingls, italiano y alemn, adems se da la fa-cilidad de que cada persona la adapte a su propio idioma.

    4. La herramienta permite la conexin a cualquier base de datos relacional, mediante odBC9

    Adems de estas facilidades, se puede decir que el uso del rAT va mucho ms all de las expectativas de los diseadores, pues se pue-de utilizar como herramienta para ensear matemticas, vea el siguiente ejemplo: De-muestre que la siguiente afirmacin es vlida para conjuntos finitos predefinidos:, utilice en su demostracin el siguiente teorema: . de esta forma el estudiante de matemtica

    9 odBC es un estndar abierto para comunicacin entre bases de datos.

    podra coger dos conjuntos A y B de una base de datos y aplicar las siguientes consultas, que debe dar un conjunto vaco.

    X [[A][[A][B]]][[A][B]] AB=fy [[B][[B][A]]][[B][A]] BA=fW [X][y] A=B

    Tambin, podra ser una herramienta muy til para formar nuevos conjuntos a partir de los ya existentes, y se aplica productos cartesianos o proyecciones; para que de esta forma sea ms claro el proceso, y en esta l-nea el operador sigma facilita la escritura de conjuntos mediante el axioma de compren-sin10. Por ejemplo: Genere un conjunto for-mado solo por nmero pares, a partir de un subconjunto de los naturales. El estudiante podra llegar a generar el siguiente conjunto , ya sea mediante la consulta de proyeccin: o la siguiente consulta equivalente , esta l-tima es la forma ms natural de exponer los conjuntos por comprensin, la primera forma en que se present sera un ejemplo tpico de funcin (de naturales a pares). Estos aspectos de apoyo en reas especficas de la enseanza de la matemtica an no se han experimenta-do con estudiantes, pero sern trabajos para futuras investigaciones.

    1.3 Etapa de pruebas

    Para probar la utilidad de la herramienta rAT se disearon una serie de prcticas de

    10 El axioma de compresin afirma que se puede de-clarar un conjunto primero exponiendo una propie-dad que todos sus elementos la cumplan (Halmos, 2000).

  • 190

    JOHNNY VILLALOBOS MURILLO, STEVEN BRENES CHAVARRA Y SONIA MORA RIVERA

    UNICIENCIA 26, 2012

    laboratorio constituidas por problemas de diseo de consultas en lgebra relacional. Las consultas se clasificaron en consultas simples, complejas y optimizadas. Se tom el siguiente escenario formado por las tablas: artculos, vendedores, detalles, facturas, clientes, zonas, inventarios y bodegas. Para plantear consultas simples como son:

    1. obtener todos los vendedores en el sistema.

    2. obtener todos los clientes en el sis-tema.

    As tambin se utilizaron consultas comple-jas tales como

    1. Mostrar todos los clientes que han comprado productos ubicados en bo-degas de la zona Sur.

    2. Mostrar todas las facturas de aquellos productos que vengan un artculo Tv Plasma de inventarios ubicados en la zona Norte.

    Para las consultas optimizadas, se solicit al estudiante que aplicara la heurstica sigma-pi11 sobre las consultas complejas con su res-pectivo rbol cannico de parser.

    Para esta etapa se consideraron cuatro grupos de estudiantes del curso EIF 211 diseo e implementacin de base de datos, cada grupo estaba formado por 25 estudiantes, la herra-mienta se le proporcion a dos de los grupos y se les capacit en su uso.

    El clculo de consultas optimizadas, el cual representaba uno de los mayores retos para este tema en particular, segn los estudiantes dej de ser un proceso complejo debido al

    11 La heurstica sigma-pi (Silberschatz, 2006) dismi-nuye la cantidad de productos cartesianos, se basa en distribuir los sigmas por todo el rbol lo ms cerca de las tablas y los productos cartesianos, la heurstica de pi establece el uso explcito de las columnas que se ocupan de la consulta en vez de tomar todas columnas a la vez (situacin que se da por defecto en las bases de datos).

    uso del RAT, y lo ms importante es que los estudiantes pueden comprobar sus optimi-zaciones, que generalmente son estructuras complejas de varios niveles, de forma gil y rpida.

    Segn las opiniones de los estudiantes la prueba fue superada con xito, la diferencia fundamental radica en la facilidad que la he-rramienta les proporciona para disminuir los requerimientos de abstraccin y la facilidad de realizar las pruebas de las posibles solu-ciones que calculan.

    Adems, los estudiantes expresaron que la herramienta es fcil de usar y les pareci muy til la ayuda que ofrece cuando se les presenta un error de escritura y reconocieron que los rboles de parser, generados para la consulta, son de gran valor agregado debido a que el proceso de dibujar el rbol era un proceso meramente manual y tedioso.

    2. Aplicacin y uso de la herramienta

    2.1 A nivel nacional

    La herramienta ha estado en uso y en este ciclo se decide hacer una encuesta annima que permita validarla, se entrega a estu-diantes de bases de datos del curso EIF 402 Administracin de bases de datos, que es el siguiente curso de bases de datos que lle-van los estudiantes del plan de estudios, se logran 36 encuestas, se valida inicialmente el conocimiento que los estudiantes tienen de la herramienta, pues en este momento no todos los profesores del primer curso la usan, sin embargo de los 36 estudiantes en-cuestados el 100% conoce la herramienta, y de distintas maneras se enteran de su exis-tencia, como se ve en el siguiente grfico, Figura 4. Conocimiento del rAT, donde la mayora de los estudiantes usan el RAT en el curso, otros la usan por que sus compa-eros se lo dan a conocer y otros porque la encuentran en Internet.

  • 191

    HERRAMIENTA ASISTIDA POR COMPUTADORA PARA LA ENSEANZA DEL LGEBRA...

    UNICIENCIA 26, 2012

    figura 4. Conocimiento del rAT

    fuente: encuesta realizada a estudiantes, 2011.

    figura 5. El rAT facilita el proceso de consulta.

    fuente: Encuesta realizada a estudiantes, 2011.

    Para conocer si la herramienta les haba faci-litado a los estudiantes la comprensin del l-gebra relacional aplicada a las bases de datos, en la Figura 5. El rat facilita el proceso de consulta, se muestran los resultados, en este aspecto los estudiantes en su mayora expre-

    saron que con la herramienta y sobre todo con las facilidades que presenta y la usabili-dad de la misma, se haba mejorado el proce-so de entender la generacin de consultas:

  • 192

    JOHNNY VILLALOBOS MURILLO, STEVEN BRENES CHAVARRA Y SONIA MORA RIVERA

    UNICIENCIA 26, 2012

    En general los estudiantes opinaron que efectivamente el rAT facilita los procesos de construccin de consultas, un 92 % ex-pres que lo facilita o lo facilita mucho, y segn Figura 6. Aportes del rAT al apren-dizaje, los estudiantes consideran que la herramienta ha sido un valioso aporte a su proceso de aprendizaje.

    Por ltimo se les pidi a los estudiantes que expresaran su opinin acerca de las facili-dades que presenta el RAT, y algunas de las opiniones son:

    se obtiene una optimizacin eficien-te de las consultas sobre una base de datos

    ayuda a comprender mejor la elabo-racin de las consultas

    permite conectarnos a la base de datos y ver si nuestra consulta es correcta

    permite disear consultas por sepa-rado para luego unirlas en una sola consulta general lo cual promueve la optimizacin de las mismas

    muestra mucho ms claramente la generacin de sentencias de SQL y algebra relacional

    figura 6. Aporte del RAT al aprendizaje del estudiante.

    fuente: encuesta realizada a estudiantes, 2011.

    integra el algebra relacional, la con-sulta SQL y el rbol, lo cual lo hace ms comprensible

    es muy bsico y til, sin botones ni cosas que compliquen su usabilidad

    De esta forma la mayora de los estudian-tes reconoce que el rAT ha hecho aportes en su aprendizaje y ha mejorado el nivel de comprensin, mediante una interfaz sencilla, agradable que de manera grfica muestra la construccin de una consulta usando lgebra relacional en bases de datos.

    2.3 A nivel internacional

    En el ao 2010 con el fin de ampliar la difu-sin de la investigacin y que otros estudian-tes y docentes pudieran conocer y evaluar el rAT, se decidi ponerlo a disposicin desde el sitio de investigaciones en bases de datos de la Escuela de Informtica llamado Labo-ratorio virtual de Bases de datos, en el si-guiente enlace: www.slinfo.una.ac.cr. ). desde entonces, el sitio ha recibido 2763 visitas de diferentes pases del mundo, y de estas visitas 1566 se han convertido

  • 193

    HERRAMIENTA ASISTIDA POR COMPUTADORA PARA LA ENSEANZA DEL LGEBRA...

    UNICIENCIA 26, 2012

    en descargas de la herramienta, como se muestra en la Figura 7. descargas del rAT, en el cual se observa un reporte de utilizacin y descargas obtenido de Google Analytics, el 30 de octubre del 2011.

    figura 7. descargas del rAT

    Fuente: Google Analytics

    El RAT se ha popularizado a nivel mundial y diferentes sitios de descarga lo recomien-dan como herramienta, los usuarios ingresan a obtener una copia desde estos sitios o me-diante buscadores directos, en la Figura 8. Formas de acceder al rAT se muestran las diferentes formas de acceso al sitio de des-carga del RAT, desde Google Analytics.

    Adems, se tiene informacin de usuarios de diversos pases de todos los continentes que han visitado y descargado el RAT, en la Fi-gura 9. descargas por pas se muestra la lista de los 10 pases que han presentado ms des-cargas, obviamente Costa rica se encuentra entre los primeros, al ser una herramienta de estudio en los cursos, luego siguen Espaa, Estados Unidos, Per, Brasil, Colombia, Ar-gentina, Mxico, etc. En este momento se es-tn haciendo los contactos de tal manera que se empiecen a tener comentarios acerca del uso de la herramienta, desde estas universi-dades y sitios.

    figura 9. descargas por pas

    Fuente: Google Analytics 10/30/2011

    Muchas de esas descargas vienen de universi-dades, el Cuadro 3. Universidades que hacen uso del rAT. Muestra algunas de las univer-sidades donde el rAT est siendo usada, de esta forma se puede decir que la Universidad Nacional est haciendo un gran aporte a nivel internacional en el rea de bases de datos.

    figura 8. Formas de acceder al rAT

    Fuente: Google Analytics 10/30/2011

  • 194

    JOHNNY VILLALOBOS MURILLO, STEVEN BRENES CHAVARRA Y SONIA MORA RIVERA

    UNICIENCIA 26, 2012

    Cuadro 3. Universidades que hacen uso del rAT

    Nombre de Universidad PasNicolai Copernicus PolandNueva Granada ColombiaInstituto Politcnico Nacional MxicoColumbia ParaguayStanford Estados UnidosUniversity for Computer Science and Technology

    Macedonia

    Leibniz University Hanover HanoverUniversidad Nacional de Colombia Colombia

    Instituto Superior Tcnico PortugalUniversidad Nacional de Asuncin Paraguay

    Universidad Nacional Aut-noma de Honduras Honduras

    Universidad de Buenos Aires ArgentinaUnicatolica ColombiaCordoba ColombiaUniversity of Wisconsin-Parkside

    Estados Unidos

    Unipanamericana ColombiaInstituto de Matemtica y estadstica Brasil

    San pedro PerUniversidad complutense EspaaUnicatolica Lumen Gemtium Colombia

    Fuente: Formularios de registro de descarga.

    As, se puede afirmar que este trabajo ha venido a mejorar los procesos de enseanza aprendizaje del curso EIF 211 Diseo e im-plementacin de bases de datos, con respecto a la implementacin del lgebra relacional a procesos de consulta y generacin de senten-

    cias en SQL, y que con sobrada razn empie-za a darse a conocer nacional e internacional-mente, de ah la importancia de comunicar a la sociedad acadmica y a la sociedad en general de este tipo de trabajos.

    3. Conclusiones

    El desarrollo del rAT inicia como la idea de un profesor, como parte de sus investigacio-nes, poco a poco va tomando forma gracias a estudiantes de la carrera, hasta convertirse en una realidad: una herramienta que facili-ta la introduccin y comprensin del lgebra relacional en los cursos de bases de datos de la Escuela de Informtica de la Universidad Nacional, y mejora la comprensin y enten-dimiento de la consultas hechas en SQL, se-gn los mismos estudiantes lo confirman.

    El desarrollo del rAT fue un desafo, pues incorporaba, muchos conceptos tericos que incluyen las carreras de computacin e infor-mtica, y al llevarlos a la prctica, realmente se convierten en una prctica muy enriquece-dora para los desarrolladores.

    Adems el RAT incluye mltiples aplica-ciones y ha sido traducida a varios, idiomas: espaol, alemn, ingls e italiano, ha tomado relevancia mundial y est siendo utilizada en otras universidades del mundo, y es descar-gada desde el sitio del Laboratorio virtual de Bases de datos de la Escuela de Informtica..Como herramienta ya ha sido utilizada en los cursos de bases de datos de la Escuela de Informtica de la UNA para ensear lgebra relacional de forma muy especializada, como se ha mostrado, pero podra ser utilizada como una valiosa herramienta para ensear teora de conjuntos, en cursos de matemtica, pues facilita realizar operaciones en conjun-tos como la interseccin, unin o diferencia de conjuntos o combinaciones de ellas.

    Los resultados de este proceso de investiga-cin y desarrollo, han sido muy halagado-res, realmente se ha generado, a partir del

  • 195

    HERRAMIENTA ASISTIDA POR COMPUTADORA PARA LA ENSEANZA DEL LGEBRA...

    UNICIENCIA 26, 2012

    esfuerzo de profesores y el apoyo estudiantil una herramienta que mejora los procesos de enseanza aprendizaje del lgebra relacional, aplicada a las bases de datos, esperamos en el futuro seguir aportando al conocimiento de los estudiantes.

    4. bibliografaAho, Alfred V. (2008). Compiladores, principios, tcni-

    cas y herramientas. Mxico: Pearson EducacinB. Tucker Allen, Noonan Robert E. (2002). Program-

    ming languages: principles and paradigms. Es-tados Unidos: McGrawHill

    Chomsky, N. (1975) The Logical Structure of Linguistic Theory. Estados Unidos: Facsimile.

    E.F. Cood.( 1990). The Relational Model for Database Management: version 2. Estados Unidos: Addi-son Wesley.

    Gamma Erich. (1994). Design Patterns Elements of reusable Object-Oriented Software. Estados Uni-dos: Addison Wesley.

    Hopcroft, Jonh E. (2001). Introduction to Automata Theory, Languajes, and Computation. Estados Unidos: Addison Wesley.

    Joyanes Aguilar, Luis. (2007). Estructura de datos en C++. Espaa: McGrawHill.

    Paul R. Halmos, (2000). Naive Set Theory. Estados Uni-dos: Springer.

    Silberschatz, Korth, Sudarshan. (2006). Fundamentos de bases de datos. Estados Unidos: McGrawHill.