Sqlite
SQLite
Sqlite: Rápido, ágil,
liviano y robusto
Gerardo Antonio Cabero, Daniel Maldonado
linux@software.com.pl
Cada vez que los desarrolladores nos enfrentamos a nuevos desafíos, es primordial
saber optar por la mejor herramienta para el tratamiento de los datos.
Desde que en la informática se comenzó a trabajar con datos, la mayor preocupación
e interrogante fue cómomanipular esos datos. Hasta hace algunas décadas atrás
era un verdadero calvario para el desarrollador, puesto que el mantenimiento se
realizaba a través del manejador de archivos del lenguaje con el cual se realizaba la
implementación. Aquello desencadenó que surgieran las primeras alternativas para
separar el programa del mantenimiento y manipulación de los datos. Fue así que
surgieron losprimeros motores que cumplían esa función; hoy podemos encontrar
grandes titanes, como Oracle, Informix, PostgreSQL, MySQL y Firebird.
2
A
un así muchos desarrolladores han optado
En su versión 3, SQLite permite base de datos de hasta 2
por una opción que surgió de la necesidad terabytes de tamaño y la inclusión de campos tipo blob (exde buscar agilidad, sencillez y sobre todo, traídode la Wikipedia).
cero configuración. Su nombre es SQLite y
ha llegado para quedarse...
Breve Historia de SQLite
Cuando D. Richard Hipp trabajaba desarrollando soft¿Qué es SQLite?
ware para la fuerza naval de los Estados Unidos, comenSQLite es un proyecto de dominio público creado por D. Ri- zó a desarrollar SQLite , según él cuenta con sus propias
chard Hipp que implementa una pequeñalibrería de aproxi- palabras: SQLite surgió de una necesidad personal, para
madamente 500Kb programada en lenguaje C, que funciona mi propio uso.
como un sistema de gestión de base de datos relacionales.
En enero de 2000 yo estaba trabajando con un equiA diferencia de los motores de base de datos convencio- po de la General Dynamics en la Fuerza naval de los
nales con la arquitecturacliente-servidor, SQLite es indepen- Estados Unidos, en un proyecto de software, el cual se
diente, ya que no se comunica con un motor de base de datos, conectaba a una base de datos Informix, el motor funsino que las librerías de SQLite pasan a integrar la aplicación. cionaba muy bien, pero habíamos tenido problemas para
La misma utiliza las funcionalidades de SQLite a través de hacer una reconfiguracióncuando el sistema se reiniciallamadas simples a sub rutinas y funciones. Esto reduce la ba. Luego cambiamos a PostgreSQL, pero administrar
latencia en el acceso a la base de datos, debido a que las lla- la base de datos era un problema. Si bien aún estaba
madas a funciones son más eficientes que la comunicación luchando para hacer frente a estas cuestiones, surgió la
entre procesos. El conjunto dela base de datos (definiciones, idea de escribir un simple motor de base de datos SQL
tablas, índices, y los propios datos), son guardados como un que permitiera leer los archivos del disco duro, y luego
solo fichero estándar, en la máquina local.
ser llamados en diferentes solicitudes. Cinco meses más
Linux+ 9/2007
programación
SQLite
tarde, yo estaba sin un contrato por algunosRazones para elegir SQLite
unos meses y por lo que comencé a escribir Abajo están presentadas varias ventajas de
SQLite, con el pensamiento de que sería útil SQLite que pueden ser de ayuda:
en algún problema similar, más adelante.
•
(Extracto del Prólogo de SQLite escrito por • Tamaño: SQLite tiene una pequeña memoRichard Hipp).
ria y una única biblioteca es necesaria para
•
Listado 1. Creaciónde una nueva base de datos
$ sqlite3 prueba.db
•
SQLite version 3.3.10
Enter ".help" for instructions
sqlite> CREATE TABLE personal (
...> id smallint primary key,
•
...> nombre varchar(25),
...> apellido varchar(25),
...> direccion varchar(25)
...> );
•
sqlite>
Estructura Sql :
CREATE TABLE nombre (campo1 tipo, campo2 tipo, campo3 tipo,.., campoN
tipo);...
Regístrate para leer el documento completo.