scieee Science in your language
[es] (orig)

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

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.

Read accessible full text

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

Author: Díaz Gómez, Roberto; Muñoz Leiva, Andrea
Year: 2019
Source: https://docta.ucm.es/bitstreams/1fb76a21-0583-459e-8850-9378149caa14/download
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