Al Fin Viernes 2008: SQLite (Ser o no Ser)

Vuelve la Columna "Al Fin Viernes" a CL, de la mano de Gerardo Cabero

Había pasado mucho tiempo, el viento y la lluvia comenzaban a caer sobre mi rostro, pude sentir que mi el mundo segia sumido a la dominación de M$, mire hacia un costado sonreí y me tire al vacío, Podía sentía como mi cuerpo comenzaba a ser atraído por ala fuerza de gravedad...Luego desplege mi paracaídas, Un súbito tirón me jalo , y pude sentir que mis piernas se movían de un lado a otro...
Sobre la tela del paracaídas se encontraba bordado unos símbolos, GNU, Linux, Firefox, Debian, Sqlite, Gambas, Plone, Grails, Groovy, Superwaba ect...

"Al Fin Viernes" SQLITE – SER o NO SER -

Que comienzo verdad...Es un gusto estar con UD nuevamente , y volver a un lugar donde me inicies, aun recuerdo que me mis compañeros del web me decían "Pase 3 hs corrigiendo los errores de tu articulo", "Escribís con las patas" Después de charlar con Los Sr. Ariel Corgatelli -Infosertec - , Sr. Franco Rivero – ComLibre- y Sr. Daniel Maldonado – Repaweb- . Decimos volver a poner en el linea este cable a tierra, que es una humilde seccion llamada "Al Fin Viernes" Comenzamos....
Fue una semana... Gatastrofica – C -, esto se debió a que tuve que rendir exámenes finales y me entregaron las notas de otros. Mientras caminaba por los pasillos de la universidad, escuchaba un grupo de alumnos discutir sobre el uso de los motores de base de datos..
"Instalate Oracle que es lo mejor...Mientras otro decía... pero Usa M$ Server, aunque pensándolo bien usa Mysql"
La verdad que hoy la mayoría de al gente usa Motores de Base de datos, Los ya tradicionales transaccionales o los Niños mimados de persistencia de Objetos. Pero existe otra aternativa llamada Sqlite ...
SQLite es un proyecto de dominio público creado por D. Richard Hipp que implementa una pequeña librería de aproximadamente 500Kb programada en lenguaje C, que funciona como un sistema de gestión de base de datos relacionales. A diferencia de los motores de base de datos convencionales con la arquitectura cliente-servidor, SQLite es independiente, ya que no se comunica con un motor de base de datos, sino que las librerías de SQLite pasan a integrar la aplicación.
Algunas Características de SQLite
Un par de características que lo hacen único, y lo distinguen entre el resto son las siguientes:

Cero Configuración
De la forma en que fue concebido y diseñado SQLite, NO necesita ser instaladoo No prender, reiniciar u apagar un servidor.

Portabilidad
SQLite puede ser ejecutado en diferentes sistemas operativos, o estar embebido en muchos otros como Symbian, Palm OS, ect . La portabilidad no está dada en sí por el software, sino por la base de datos condensada en un solo archivo, que pude crecer hasta 2TB, Una DB en Sqlite Puede ser fácilmente copiada a algún dispositivo USB o ser enviada vía correo electrónico.

Pedagógico
En el ambiente universitario, se suele enseñar Base de datos, y enseñar el concepto SQL para administrar las bases de datos. Muchas veces transportar una base a nuestra casa no es tarea una tarea fácil. Por tal motivo Sqlite esta siendo adoptado por los docente para agilizar el proceso de presentación y corrección de estos temas. Para la gente que desea saber como trabajan los RDBMS, el código SQLite puede servir como una buena base. para comprender los principios operativos de otros sistemas.

Limitaciones
Una vez escuché decir que no existía un software al cual no se le encontraran limitaciones. SQLite no está exento de esto, algunas de las limitaciones son las siguientes:
• Limitaciones en Where: esta limitación está dada por el soporte para clausuras anidadas.
• Falta de Clave Foránea: se hace caso omiso de las claves foráneas; esto quiere decir, cuando se realice la creación de la tabla desde el modo consola, está permitiendo el uso de la clausura, aunque no realizara el chequeo de la misma.
• Falta de documentación en español: al momento de escribir este artículo es muy escasa la documentación disponible en español sobre SQLite.

SQLite: ser o no ser un motor
Ésta es la pregunta que todos deben realizarse en este punto. Muchos de los usuarios de software libre y desarrolladores, al ver el funcionamiento de SQLite, afirman que es un motor de base de datos, y se pueden encontrar en muchos sitios "SQLite el Motor" aunque en realidad no lo es, puesto que no posee la integridad referencial, En palabras más simples: la integridad referencial es el control de la clave foránea. En SQLite, cuando se crea una tabla, se pude invocar a la palabra reservada forean key. Pero el compilador realizará caso omiso de la misma dentro de su estructura.
A pesar de ser considerado una librería, SQLite ha abierto un nuevo ENTORNO Y ENFOQUE al tratamiento de base de datos, pasó de ser una simple librería a un esquema mucho más amplio. Al que hemos llamado al como PseudoMotor, algo que aparenta ser un motor pero no lo es. Esto se debe a que contiene dentro de sí mismo muchas características de los grandes motores de base de datos, como ser: la creación de usuarios, vistas, triger, etc. Otra cualidad interesante es la capacidad de poder definir la integridad referencial a través de los trigger, haciéndolo casi similar a un motor de base de datos, pero manteniendo la sencillez y simplicidad de una librería.

Links
www.Sqlite.org
Sqlite-latino.blogspot.com

En lo personal
Mientras escuchaba a aquellos chicos, recordé que yo también estuve en la misma situación buscando y tratando de elegir un motor de base de datos. Pero sera cosas de un año que conocí a SQLite , el cual actualmente los uso para algunos de mis proyectos. Aunque a muchos desarrolladores, les parezca un poco raro, manejar una Base de datos en un archivo. Una ves me dijeron, Sqlite No Sirve.. A lo que le dije Sqlite funciona y esta desarrollado para medianas aplicaciones, de complejidad media, baja. Un claro ejemplo en donde no es posible utilizar sqlite es una aplicación para Supermercado, sin en cambio podría utilizarlo par administrar una sistema de viaje estudiantes.
Otras de las cosas interesantes es que sqlite esta siendo soportados en muchos de los lenguajes como por ejemplo Python, Ruby, Groovy, PHP, Gambas ect.
Por Ultimo hay que animarse Y Experimentar el Cambio

Como palabras finales
Cambiando de tema , Regrese.. y Bueno espero poder volver a escribir... No quería dejar pasar el tiempo, volver sentarme frente a la computadora y escribir lo que pasa a mi alrededor...
Muchas Gracias A TODOS !!!

Un abrazo Gerardo "La Foca" Cabero

Comentarios