JSSQL - Un motor de base de datos en javascript
Este verano me topaba con un proyecto interesante llamado JSSQL. JSSQL es un motor de base de datos escrito en Javascript, el cual podemos ejecutar consultas SQL desde nuestras páginas web sin necesidad de estar conectado a algún servidor.
JSSQL es un proyecto de Joaquín Becerra de la Universidad de Buenos Aires. Podéis encontrar más información en: http://javascriptsql.sourceforge.net/
Cargar la librería
Sección titulada «Cargar la librería»Lo primero de todo es cargar la librería Javascript que implementa el motor de base de datos. Esta librería es JSSQL.js.
<script type="text/javascript" src="JSSQL.js"></script>Instanciar el objeto JSSQL
Sección titulada «Instanciar el objeto JSSQL»Una vez cargada la librería instanciaremos el objeto principal llamado JSSQL.
var jssql = new JSSQL();Abrir la base de datos
Sección titulada «Abrir la base de datos»A partir del objeto JSSQL abriremos la base de datos a utilizar mediante el método open.
if (!jssql.Open("mibasededatos")) alert(jssql.GetError());Si falla la apertura de la base de datos, devolvemos el error del motor de la base de datos. Este error está accesible vía el método .GetError().
En el código vemos que abrimos una base de datos que se llama “mibasededatos”. Pero ¿Dónde está la base de datos?
Estructura de las bases de datos
Sección titulada «Estructura de las bases de datos»Las bases de datos están definidas en ficheros .jsdb bajo una estructura de directorios:
/JSDB/mibasededatos.jsdb/JSDB/mibasededatos/paises.jsdb/JSDB/mibasededatos/ciudades.jsdbEl fichero JSDB tiene la siguiente estructura:
DBList[DBList.length] = 'mibasededatos|paises|ciudades';Vemos que contiene la definición mediante arrays de las bases de datos que contiene.
Definir tablas
Sección titulada «Definir tablas»A su vez, cada una de las tablas, tiene su fichero JSBD con el contenido. Por ejemplo la tabla de países tendría el siguiente contenido:
dbtable[dbtable.length] = 'España|Madrid|Europa';dbtable[dbtable.length] = 'Francia|París|Europa';dbtable[dbtable.length] = 'Italia|Roma|Europa';JSSQL nos ofrece una herramienta de conversión desde las bases de datos hacia JSDB. Puedes acceder a ella desde: http://javascriptsql.sourceforge.net/ARCH/JSBD/ConversorBD.php
Ejecutar consultas
Sección titulada «Ejecutar consultas»Una vez que hemos visto como se definen las bases de datos pasamos a ejecutar la consulta mediante el método .Query(). La consulta es una SELECT sencilla de países.
var resultado = jssql.Query("SELECT * FROM paises");Recorrer resultados
Sección titulada «Recorrer resultados»El resultado nos lo deja en un array, el cual recorremos de forma sencilla:
for (var i = 0; i < resultado.length; i++) { document.write(resultado[i][0] + " - " + resultado[i][1] + "<br>");}Conclusión
Sección titulada «Conclusión»La verdad es que JSSQL realiza un enfoque muy interesante sobre la necesidad de tener una BD en local. Algo que ya no parece estar muy lejos gracias a HTML5.
Descarga el código de JSSQL - Un motor de base de datos en javascript
JSSQL es un motor de base de datos en javascript que permite ejecutar consultas SQL sin conexión a servidor.