scieee Open visual document viewer

SQLab Extent. Ampliación del laboratorio virtual de consultas SQL

Díaz Gómez, Roberto; Muñoz Leiva, Andrea

Abstract

Este trabajo supone una extensión y mejora de la aplicación web SQLab cuyo desarrollo se llevó a cabo como TFG de un curso previo. Los aspectos mejorados afectan tanto al diseño de la interfaz de usuario como de la base de datos. Estas mejoras han permitido la incorporación de nuevas funcionalidades como la autogestión de las tablas por parte de los docentes, la posibilidad de incluir ejercicios de operaciones de manipulación de datos diferentes a select, y la incorporación de nuevos filtros entre otros.

Full text

CURSO 2018/19 T abajo de in de g ado del G ado en Ingenie ía In o má ica y del G ado en Ingenie ía de So wa e FACULTAD DE INFORMÁTICA UNIVERSIDAD COMPLUTENSE DE MADRID SQLab Ex en . Ampliación del labo a o io i ual de consul as SQL. Alumnos: Robe o Díaz Gómez y And ea Muñoz Lei a Tu o a: Mª de las Me cedes Ga cía Me ayo SqLab Ex en . Ampliación del labo a o io i ual de consul as SQL. 2 SqLab Ex en . Ampliación del labo a o io i ual de consul as SQL. 3 AGRADECIMIENTOS En p ime luga , que íamos ag adece la ayuda y el apoyo cons an e de nues a u o a Me cedes G. Me ayo que, además de se nues a men o a, ha sido de g an ayuda en una pa e impo an e del p oceso de desa ollo como es el de las p uebas. En segundo luga , que íamos ag adece a Luis Llana po acili a nos el acceso al se ido y po esol e nos odas nues as dudas iniciales sob e su uso. También, que íamos ag adece a odos nues os p o eso es y a la gen e de la acul ad po es os años que nos han hecho c ece como in o má icos y como pe sonas. Po úl imo, a nues as amilias y amigos po el apoyo cons an e du an e es os años, g acias po c ee en noso os y anima nos a consegui es a me a. And ea y Robe o. SqLab Ex en . Ampliación del labo a o io i ual de consul as SQL. 4 Con enido Resumen ........................................................................................................................................ 5 Resumen Español ...................................................................................................................... 5 Resumen Inglés ......................................................................................................................... 5 1. In oducción .............................................................................................................................. 6 1.1 In oducción en español ...................................................................................................... 6 1.2 In oducción en inglés ......................................................................................................... 7 2. Recu sos u ilizados en el p oyec o ............................................................................................ 8 3. Me odología y plan de abajo ................................................................................................ 11 4. Base de da os .......................................................................................................................... 12 4.1 Diag ama En idad- Relación. ............................................................................................. 12 4.2. Conside aciones de la base de da os. .............................................................................. 13 5. Funcionalidades de la aplicación ............................................................................................. 14 5.1 Login .................................................................................................................................. 14 5.2 Pan alla de Bien enida ...................................................................................................... 15 5.4 Ges ión de ablas ............................................................................................................... 16 5.5 Ges ión de eje cicios ......................................................................................................... 18 5.6 Ges ión de hojas de eje cicios ........................................................................................... 21 5.7 Resolución de eje cicios .................................................................................................... 23 5.8 Es adís icas ........................................................................................................................ 25 5.9 Aplicación en inglés y español .......................................................................................... 26 6. Conclusiones............................................................................................................................ 28 6.1 Conclusiones en español ................................................................................................... 28 6.2 Conclusiones en inglés ...................................................................................................... 29 6.3 Apo aciones And ea Muñoz Lei a ................................................................................... 30 6.4 Apo aciones Robe o Díaz Gómez ................................................................................... 31 7. Bibliog a ía .............................................................................................................................. 32 SqLab Ex en . Ampliación del labo a o io i ual de consul as SQL. 5 Resumen Resumen Español Es e abajo supone una ex ensión y mejo a de la aplicación web SQLab cuyo desa ollo se lle ó a cabo como TFG de un cu so p e io. Los aspec os mejo ados a ec an an o al diseño de la in e az de usua io como de la base de da os. Es as mejo as han pe mi ido la inco po ación de nue as uncionalidades como la au oges ión de las ablas po pa e de los docen es, la posibilidad de inclui eje cicios de ope aciones de manipulación de da os di e en es a selec , y la inco po ación de nue os il os en e o os. Palab as cla e: MySQL, SQL, He amien as de au oe aluación, Bases de da os, Aplicación Web. Resumen Inglés This p ojec is an ex ension and imp o emen o he web applica ion SQLab whose de elopmen was ca ied ou p e iously. The imp o ed aspec s a ec bo h he design o he use in e ace and he da abase. These imp o emen s ha e allowed he inco po a ion o new ea u es such as eache sel -managemen o he ables, he possibili y o including exe cises abou da a manipula ion di e en om selec , and he inco po a ion o new il e s among o he s. KeyWo ds: MySQL, SQL, Sel -assessmen Tools, Da abase, Web Applica ion. SqLab Ex en . Ampliación del labo a o io i ual de consul as SQL. 6 1. In oducción 1.1 In oducción en español Es un hecho que los co ec o es au omá icos de p og amas se han in eg ado en el en o no educa i o uni e si a io. In e ne ha pe mi ido que el acceso de los es udian es a es as he amien as es é al alcance de odos. Esencialmen e, los usua ios plan ean soluciones a los p oblemas que se les p oponen y es as son e aluadas pa a de e mina su co ección y emi i un e edic o. En un abajo p e io, SQLab, se desa olló un co ec o au omá ico de consul as SQL (S uc u ed Que y Language) pa a su u ilización po pa e de es udian es de las asigna u as de Bases de Da os. El obje i o p incipal de la he amien a es pe mi i a los es udian es pe ecciona y a ianza los conocimien os adqui idos de o ma au ónoma, sin la necesa ia supe isión de un p o eso que alide las soluciones que p oponen a los di e en es p oblemas que se les plan ean. Es a he amien a ambién pe mi e a los docen es agiliza el p oceso de co ección de los eje cicios, así como ealiza un seguimien o del a ance de los alumnos, pe mi iéndoles de ec a aquellos aspec os en los que deben incidi más, así como selecciona eje cicios o ien ados a e o za de e minados conocimien os. Es a memo ia de alla el p oceso de desa ollo lle ado a cabo pa a la p oducción de una nue a e sión de es a he amien a, SqLab Ex en , así como los ecu sos u ilizados. En es a nue a e sión se p opuso ex ende la he amien a pa a in eg a eje cicios en los que se equie a el conocimien o de ins ucciones del lenguaje SQL ela i as al manejo de da os además de las consul as. Asimismo, se que ían inclui nue as uncionalidades que acili a án la ges ión de los eje cicios a los p o eso es. P incipalmen e, inclui una in e az que les pe mi ie a c ea ablas y los da os almacenados en ellas desde la aplicación, sin necesidad de ecu i al adminis ado de la base de da os. También se conside aba mejo a las es adís icas disponibles. Finalmen e, se mejo a ía el diseño de la in e az ex endiéndola con la e sión en inglés. Sin emba go, después de un iempo analizando la aplicación o iginal, implemen ada en Wo dP ess, nos dimos cuen a de que nues as mejo as no e an compa ibles con las ca ac e ís icas del CMS (Con en Managemen Sys em), po lo que se decidió desa olla la nue a he amien a desde ce o, lo que supuso la implemen ación de odas las uncionalidades disponibles en la e sión inicial an es de inco po a nues as mejo as. SqLab Ex en . Ampliación del labo a o io i ual de consul as SQL. 7 1.2 In oducción en inglés I is a ac ha he au oma ic p og am co ec o s ha e been in eg a ed in o he uni e si y educa ional en i onmen . The In e ne has made i possible o s uden s o access hese ools o be accessible o e e yone. Essen ially, he use s p opose solu ions o he p oblems ha a e p oposed o hem and hese a e e alua ed o de e mine hei co ec ness and issue a e dic . In a p e ious wo k, SQLab, an au oma ic SQL que y co ec o (S uc u ed Que y Language) was de eloped o i s use by s uden s o he Da abases subjec s. The main objec i e o he ool is o allow s uden s o e ine and consolida e he acqui ed knowledge independen ly, wi hou he necessa y supe ision o a eache who alida es he solu ions hey p opose o he di e en p oblems ha a ise. This ool also allows eache s o s eamline he p ocess o co ec ing he exe cises, as well as o moni o he p og ess o he s uden s, allowing hem o de ec hose aspec s in which hey should ha e mo e impac , as well as selec ing exe cises aimed a ein o cing ce ain knowledge. This epo de ails he de elopmen p ocess ca ied ou o he p oduc ion o a new e sion o his ool, SqLab Ex en , as well as he esou ces used. In his new e sion i was p oposed o ex end he ool o in eg a e exe cises in which he knowledge o ins uc ions o he SQL language ela ed o he handling o da a in addi ion o he que ies is equi ed. Also, we wan ed o include new unc ionali ies ha will acili a e he managemen o he exe cises o he eache s. Mainly, include an in e ace ha allows hem o c ea e ables and he da a s o ed in hem om he applica ion, wi hou he need o eso o he adminis a o o he da abase. I was also conside ed o imp o e he a ailable s a is ics. Finally, he design o he in e ace would be imp o ed by ex ending i wi h he English e sion. Howe e , a e some ime analyzing he o iginal applica ion, implemen ed in Wo dP ess, we ealized ha ou imp o emen s we e no compa ible wi h he cha ac e is ics o he CMS (Con en Managemen Sys em), so i was decided o de elop he new ool om sc a ch. which mean he implemen a ion o all he unc ionali ies a ailable in he ini ial e sion be o e inco po a ing ou imp o emen s. SqLab Ex en . Ampliación del labo a o io i ual de consul as SQL. 8 2. Recu sos u ilizados en el p oyec o A con inuación, explicamos los ecu sos que hemos u ilizado pa a la implemen ación del p oyec o. • Se ido : Disponemos de un espacio de almacenamien o en un se ido de la acul ad donde se alojan los iche os de la aplicación. Pa a accede a dicho se ido hemos necesi ado la he amien a Cygwin que pe mi e simula el compo amien o de un sis ema Unix en un equipo con Windows, y así es ablece una conexión con el se ido que u iliza el sis ema Unix. • Na egado web: Hemos u ilizado an o Google Ch ome como Mozilla Fi e ox pa a conec a nos al se ido y pode ejecu a y p oba la aplicación du an e su desa ollo. Es os na egado es disponen de “he amien as pa a desa ollado es” que ayudan a p oba y encon a el po qué de los allos de la aplicación. • XAMPP: sis ema ges o de bases de da os MySQL, el se ido web Apache y los in é p e es pa a lenguajes de sc ip PHP y Pe l. • Gi Hub: pla a o ma que aloja p oyec os u ilizando el sis ema de con ol de e siones de Gi . Es a he amien a nos ha pe mi ido abaja en pa alelo y ene un con ol de e siones. • T ello: he amien a de ges ión de p oyec os que acili a la colabo ación. Es una aplicación muy isual que con iene lis as dispues as ho izon almen e po página con el in de consegui la opinión y e isión del equipo. • Edi o de código: edi o de ex o diseñado pa a edi a código uen e de p og amas in o má icos. Puede se una aplicación indi idual o es a incluido en un en o no de desa ollo. Noso os hemos u ilizado p incipalmen e Sublime Tex pa a c ea el código de la aplicación y Ne Beans pa a la pa e de la in e az. • Lenguajes de p og amación. o PHP: lenguaje de código abie o muy popula , especialmen e adecuado pa a el desa ollo web y que puede se inc us ado en HTML. Lo que dis ingue a PHP de algo del lado del clien e como Ja asc ip es que el código es ejecu ado en el se ido , gene ando HTML y en iándolo al clien e. El clien e ecibi á el esul ado de ejecu a el sc ip , aunque no se sab á el código subyacen e. El desa ollo de PHP es á cen ado en la p og amación de sc ip s del lado del se ido . La aplicación u iliza es e lenguaje pa a la uncionalidad y acompaña al HTML en la in e az. SqLab Ex en . Ampliación del labo a o io i ual de consul as SQL. 9 o HTML: lenguaje de ma cado pa a la elabo ación de páginas web. Con es e lenguaje conseguimos el diseño deseado y nos asegu amos de que se á compa ible con dis in os na egado es y pla a o mas. o Boo s ap: biblio eca mul ipla a o ma o conjun o de he amien as de código abie o pa a diseño de si ios y aplicaciones web. Con iene plan illas de diseño con ipog a ía, o mula ios, bo ones, cuad os, menús de na egación y o os elemen os de diseño basado en HTML y CSS, así como ex ensiones de Ja aSc ip adicionales. A di e encia de muchos amewo ks web, solo se ocupa del desa ollo on -end. o CSS: lenguaje de diseño g á ico pa a de ini y c ea la p esen ación de un documen o es uc u ado esc i o en un lenguaje de ma cado. Es muy usado pa a es ablece el diseño isual de los documen os web, e in e aces de usua io esc i as en HTML. Jun o con HTML y Ja aSc ip , CSS es una ecnología usada po muchos si ios web pa a c ea páginas isualmen e a ac i as. o Fon awesome: amewo k de iconos ec o iales y es ilos CSS. Es e amewo k es u ilizado pa a sus i ui imágenes de iconos comunes po g á icos ec o iales con e idos en uen es. Pa a ello u iliza una lib e ía de más de 400 iconos ans o madas en uen es. o Ja aSc ip : Se u iliza p incipalmen e en su o ma del lado del clien e, implemen ado como pa e de un na egado web pe mi iendo mejo as en la in e az de usua io y páginas web dinámicas. Ac ualmen e es ampliamen e u ilizado pa a en ia y ecibi in o mación del se ido jun o con ayuda de o as ecnologías como AJAX. o jQue y: biblio eca mul ipla a o ma de Ja aSc ip que pe mi e simpli ica la mane a de in e ac ua con los documen os HTML, manipula el á bol DOM, maneja e en os, desa olla animaciones y ag ega in e acción con la écnica AJAX a páginas web. o AJAX: écnica de desa ollo web pa a c ea aplicaciones in e ac i as. Es as aplicaciones se ejecu an en el clien e, es deci , en el na egado de los usua ios mien as se man iene la comunicación asínc ona con el se ido en segundo plano. De es a o ma es posible ealiza cambios sob e las páginas sin necesidad de eca ga las, mejo ando la in e ac i idad, elocidad y usabilidad en las aplicaciones. Las unciones de llamada de AJAX no malmen e se e ec úan desde código Ja aSc ip . SqLab Ex en . Ampliación del labo a o io i ual de consul as SQL. 16 5.4 Ges ión de ablas Es a página pe mi e al p o eso ges iona sus ablas. Cuando el usua io selecciona una de ellas se mues a la es uc u a de la abla (Ilus ación 5) y los da os que con iene (Ilus ación 6). Median e el bo ón Ejecu a Sc ip se accede a una nue a página (Ilus ación 7) que pe mi e in oduci las sen encias necesa ias pa a c ea , modi ica o bo a ablas en la base de da os, así como inse a da os en las mismas. Indica que se pueden inclui an as sen encias como se desee pa a su ejecución en secuencia. An es de ejecu a las sen encias se ealizan una se ie de alidaciones. Pa a cada sen encia comp obamos p ime o que sean de un ipo pe mi ido, es deci , C ea e able, Al e able, D op able o Inse in o. Si es así se localizan los nomb es de las ablas que se u ilizan en las sen encias y se eemplazan po el nomb e ex endido con el p e ijo co espondien e al nomb e de usua io. Si du an e la ejecución el ges o de la base de da os de ec a e o es, es os se mues an al usua io pa a su co ección. Ilus ación 4. Pe il del p o eso . SqLab Ex en . Ampliación del labo a o io i ual de consul as SQL. 17 Ilus ación 6. Da os de la abla seleccionada. Ilus ación 5. Es uc u a de la abla seleccionada. SqLab Ex en . Ampliación del labo a o io i ual de consul as SQL. 18 5.5 Ges ión de eje cicios Es a página pe mi e al p o eso e en una abla odos los eje cicios diseñados en la aplicación y ges iona los suyos median e los iconos si uados en la pa e de echa de las ilas (Ilus ación 8). En la pa e supe io de echa de la página se encuen a el bo ón pa a accede a la página de c eación de eje cicios (Ilus ación 9). Seleccionando un eje cicio de la abla se mues a una página donde apa ece oda la in o mación del eje cicio (Ilus ación 10). Los eje cicios pod án se edi ados o bo ados po su c eado an solo si no han sido esuel os po ningún alumno. Pulsando el icono del lápiz accedemos a la página pa a edi a el eje cicio (Ilus ación 11). La edición no pe mi e modi ica el c eado de las ablas u ilizadas pa a diseña el eje cicio, po ello ese campo apa ece deshabili ado. Pa a elimina el eje cicio se debe pulsa el icono de la papele a. Si han sido esuel os, el p o eso pod á deshabili a los pulsando el icono candado pa a que no se sigan u ilizando. Cuando inhabili as un eje cicio la ila adquie e una anspa encia pa a di e encia lo de los eje cicios habili ados. Pa a ol e a habili a un eje cicio bas a con ol e a pulsa sob e el icono del candado en su ila co espondien e. Ilus ación 7. Ejecu a Sc ip SqLab Ex en . Ampliación del labo a o io i ual de consul as SQL. 19 Ilus ación 8. Ges ión de Eje cicios. Ilus ación 9. C ea Eje cicio. SqLab Ex en . Ampliación del labo a o io i ual de consul as SQL. 20 Ilus ación 10. Ve eje cicio. Ilus ación 11. Edi a eje cicio. SqLab Ex en . Ampliación del labo a o io i ual de consul as SQL. 21 5.6 Ges ión de hojas de eje cicios La ges ión de las hojas de eje cicios es simila a la de los eje cicios. La página mues a una abla con las hojas que hay c eadas en el sis ema (Ilus ación 12). El bo ón pa a la c eación de una nue a hoja accedemos a una página donde pod emos in oduci el í ulo de la hoja de eje cicios y los eje cicios que la componen (Ilus ación 13). Apa ecen dos ablas que nos pe mi en ealiza es a a ea. En la supe io apa ece án los eje cicios que seleccionemos pa a su inclusión en la hoja de eje cicios La abla in e io p esen a odos los eje cicios disponibles en el sis ema que aún no hayan sido incluidos en la hoja de eje cicios. Al pulsa el icono Ꚛ de cualquie ila de la abla in e io , dicha ila se mo e á a la abla supe io , quedando incluida en la hoja de eje cicios. Si se pulsa el icono de la papele a de la abla supe io ese eje cicio se elimina á de la hoja de eje cicios. Se pueden o dena los eje cicios haciendo a as ándolos hacia a iba o hacia abajo den o de esa abla. El bo ón Gua da hoja almacena á en la base de da os el es ado inal de la hoja de eje cicios. Al igual que en el caso de los eje cicios al selecciona una hoja de eje cicios en la abla de las disponibles mues a la elación de eje cicios que la componen (Ilus ación 14). Del mismo modo, al pincha el icono del lápiz de una hoja de eje cicios accedemos a la página pa a en la que pod án ealiza los cambios necesa ios (Ilus ación 15). Es a página unciona del mismo modo que la que pe mi e c ea una nue a hoja, excep o que en es e caso la abla supe io inicialmen e con iene los eje cicios que o man pa e de la hoja. Pa a elimina la hoja hay que pulsa sob e el icono de la papele a. Ilus ación 12. Ges ión de Hojas de Eje cicios. SqLab Ex en . Ampliación del labo a o io i ual de consul as SQL. 22 Ilus ación 13. C ea Hoja de Eje cicios. Ilus ación 14. Ve Hoja de Eje cicios. SqLab Ex en . Ampliación del labo a o io i ual de consul as SQL. 23 5.7 Resolución de eje cicios Es a página p esen a es pes añas. En la p ime a pes aña emos la in o mación de la/s abla/s que se deben usa pa a esol e el eje cicio así como el enunciado y el campo de ex o donde el alumno debe á eclea la solución (Ilus ación 16). En la segunda pes aña emos los esul ados ob enidos al ejecu a la solución del p o eso y la del alumno. Cuando el eje cicio es de ipo “Ope ación Manipulación de Da os” es a pes aña no apa ece, pues no hay esul ados que mos a (Ilus ación 17). Po úl imo, en la e ce a pes aña se mues a una abla donde se incluyen odas las soluciones que ha p opues o el alumno, jun o con su echa y e edic o (Ilus ación 18). Ilus ación 15. Edi a Hoja de Eje cicios. SqLab Ex en . Ampliación del labo a o io i ual de consul as SQL. 24 Ilus ación 16. Resolución de Eje cicios. Resol e Ilus ación 17. Resolución de eje cicios. Resul ados SqLab Ex en . Ampliación del labo a o io i ual de consul as SQL. 25 Ilus ación 18. Resolución de eje cicios. Soluciones p e ias. 5.8 Es adís icas Es a uncionalidad ha sido ex endida ya que en la e sión an e io solo se podían consul a las es adís icas globales e indi iduales po alumno, mos ando el po cen aje de eje cicios esuel os, acie os y allos. Es a uncionalidad se ha ex endido con isualización de las es adís icas po ca ego ía y po ni el. El p o eso puede e las g á icas po ni eles o po ca ego ías y ambién puede selecciona si quie e e da os globales o de un alumno que le haya elegido como p o eso de e e encia (Ilus ación 19). El alumno puede e sus es adís icas o ganizando los da os po ni eles o po ca ego ías (Ilus ación 20). SqLab Ex en . Ampliación del labo a o io i ual de consul as SQL. 32 7. Bibliog a ía Recu sos u ilizados: Las desc ipciones de los ecu sos u ilizados se han ob enido de www.wikipedia.o g y de las páginas o iciales. Páginas de ayuda a p og amado es: Página o icial de MySQL: h ps://de .mysql.com/ Manual PHP: h p://php.ne /manual/en/index.php S ackO e low: h ps://s acko e low.com/ W3schools, ayuda con los lenguajes HTML, CSS, Ja asc ip , PHP, conexión a la base de da os SQL y Boo s ap: h ps://www.w3schools.com/ El es o de in o mación expues a en es a documen ación que no se haya e lejado en es e apa ado es debido a los conocimien os p opios de los au o es. Enlace a la aplicación: h p://chusky. di.ucm.es/~ g17sql/SQL-Lab17/ empla es/login/login.php Enlace al Gi Hub del p oyec o: h ps://gi hub.com/and eamunoz/ g