Académique Documents
Professionnel Documents
Culture Documents
Nombre: Helmuth Andrs Schmelzer Campos Curso: 2do Ingenieria en Informatica Instituto: Instituto Diego Portales Fecha de Entrega: 27/04/2011
Indice
Introduccin Qu es SQLite? Breve Historia de SQLite Razones para elegir SQLite Caracteristicas de SQLite Introduccin al uso de SQLite Primeros Pasos con SQLite SQLite y los lenguajes de programacin: Productos que usan SQLite Conclusin Bibliografia Pg 3 Pg 4 Pg 4 Pg 5 Pg 5-6 Pg 6-7 Pg 7-8 Pg 8-9 Pg 9 Pg 10 Pg 11
Introduccin
Cada vez que los desarrolladores nos enfrentamos a nuevos desafos, es primordial saber optar por la mejor herramienta para el tratamiento de los datos. Desde que en la informtica se comenz a trabajar con datos, la mayor preocupacin e interrogante fue cmo manipular esos datos. Hace dcadas era dificil para el programador manipular esos datos. Eso causo que surgieran alternativas, para separar al programa de los datos, as surgi los primeros motores de base de datos. Podemos encontrar grandes titanes, como Oracle, Informix, PostgreSQL, MySQL y Firebird., entre otros. SQLite surgi de la necesidad, de buscar sencillez, robustez, y sobretodo Cero Configuracin.
Qu es SQLite?
SQLite es un sistema de gestin de bases de datos relacional compatible con ACID, contenida en una relativamente pequea (~275 kiB)2 biblioteca en C. SQLite es un proyecto de dominio pblico creado por D. Richard Hipp. A diferencia de los sistema de gestin de bases de datos cliente-servidor, el motor de SQLite no es un proceso independiente con el que el programa principal se comunica. En lugar de eso, la biblioteca SQLite se enlaza con el programa pasando a ser parte integral del mismo. El programa utiliza la funcionalidad de SQLite a travs de llamadas simples a subrutinas y funciones. Esto reduce la latencia en el acceso a la base de datos, debido a que las llamadas a funciones son ms eficientes que la comunicacin entre procesos. El conjunto de la base de datos (definiciones, tablas, ndices, y los propios datos), son guardados como un slo fichero estndar en la mquina host.
Caracteristicas de SQLite
SQLite goza de unas caracteristicas que lo hacen unico, algunos se detallan a continuacion: Cero Configuracin De la forma en que fue concebido SQLite, NO necesita ser instalado reiniciar o apagar un servidor, No Prender, reiniciar o apagar un servidor, e incluso configurarlo. Esta cualidad permite que no haya un administrador de base de datos para crear tablas, vistas, asignar permisos. O bien la adopcin de medidas de recuperacin por cada cada del sistema. Portabilidad: SQLite puede ser ejecutado en diferentes sistemas operativos: Windows, Linux, BSD, Mac OS X, Solaris, HPUX,AIX, o estar embebido en muchos otros como QNX, VxWorks, Symbian, Palm OS, Windows CE. Se pude notar que muchos de ellos trabajan a 16, 32 y 64 Bits. La portabilidad no est dada en s por el software, sino por la base de datos condensada en un solo archivo, que puede estar situado en cualquier directorio, trayendo como ventaja que la base de datos puede ser fcilmente copiada a algn dispositivo USB o ser enviada va correo electrnico. Registros de longitud variable Generalmente los motores asignan una cantidad fija de espacio en disco para cada fila en la mayora de los campos de una determinada tabla. Por ejemplo, tomemos un campo de tipo VARCHAR(100), esto significa que el motor le asignar 100 bytes de espacio fijo en disco, independientemente de la cantidad de informacin que se almacene en ese campo. En cambio, SQLite realizar todo lo contrario, utilizando para ello la cantidad de espacio en disco necesario para almacenar la informacin real del campo. Tomando el ejemplo anterior, si quisiera almacenar un solo carcter en un campo definido como VARCHAR(100), entonces un nico byte de espacio de disco se consume. Realmente una caracterstica especial para ahorrar espacio en memoria. El uso de registros de longitud variable por SQLite, tiene una serie de ventajas, entre ellas el
resultado de un pequeo archivo de base de datos y optimizacin de la velocidad de la misma, puesto que hay menos informacin desperdiciada que leer y recorrer. Pedaggico Algunas veces cuando se est en un mbito educativo, se tiende a ensear SQL para administrar las bases de datos. Muchas veces transportar una base a casa no es tarea fcil, por eso SQLite est siendo adoptado de una forma pedaggica. Por ejemplo, los estudiantes pueden enviar va e-mail las bases de datos a los docentes para su presentacin y los docentes realizarn las observaciones necesarias. Para los estudiantes ms avanzados que estn interesados en el estudio de cmo trabaja un RDBMS, el cdigo SQLite puede servir como una buena base. Esto no quiere decir que es un modelo exacto de la forma en que los motores de bases de datos se apliquen, sino una forma en la que un estudiante que entiende cmo funciona SQLite puede comprender los principios operativos de otros sistemas. La arquitectura SQLite Cada motor de base de datos compila cada sentencia SQL en algn tipo de estructura de datos interna que luego se utilizar para llevar a cabo la labor de la declaracin. En SQLite, compilar la forma de las declaraciones es un breve programa en un lenguaje de mquina como representacin. Los usuarios podemos ver la mquina virtual antes poniendo EXPLAIN como palabra clave para una consulta. El uso de la VM dentro de SQLite ha sido un gran beneficio para el desarrollo de la biblioteca, ya que proporciona un cruce entre la interfaz de usuario que analiza las sentencias SQL y la parte en la cual la mquina virtual ejecuta el cdigo para calcular el resultado, as tambin utilizar la capacidad de rastreo de la ejecucin de la VM en cada sentencia e imprimir las mismas. Limitaciones Una vez escuch decir que no exista 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 limitacin est dada por el soporte para clausuras anidadas. Falta de Clave Fornea: se hace caso omiso de las claves forneas; esto quiere decir, cuando se realice la creacin de la tabla desde el modo consola, est permitiendo el uso de la clausura, aunque no realizara el chequeo de la misma. Falta de documentacin en espaol: es muy escasa la documentacin disponible en espaol sobre SQLite.
Descomprimimos los fuentes de SQLite en alguna carpeta con tar xzf sqlite.tar.gz Ejecutamos el script ./configure Ejecutamos make install para realizar la instalacin en el sistema (ese mtodo en lo personal no me gusta). Si se desea instalar en Windows, la instalacin se realizar de la siguiente forma: descargamos los ejecutables de SQLite, usamos la consola de lnea de comandos de Windows cmd, nos posicionamos en la carpeta y ejecutamos el archivo sqlite3.exe, el cual disparar la consola de sqlite3.
2|Ramon|Gomez|ZZZXXXYYY sqlite> Estructura en SQL: SELECT Campo1, Campo2,.., Campo4 FROM Tabla ; La consulta realizada anteriormente lista todos los campos y todos los registros de la tabla personal, pero es posible listar nicamente los campos que deseamos que aparezcan en la consulta. Para ello los separamos por medio del , y adems podemos agregarle la clusula WHERE para poder filtrar registros que cumplan con una determinada condicin, por ejemplo: sqlite> SELECT id, nombre, apellido FROM personal WHERE id <= 2; 1|Juan|Perez 2|Ramon|Gomez sqlite> Una vez creada la base de datos, si se quiere cerrar SQLite, se debe tipear lo siguiente: sqlite>.quit con ello cerramos al programa.
Desde Delphi se puede usar SQLite a travs de los componentes libres ZeosLib PHP incluye SQLite, desde la versin 5. SQLite tambin funciona con PHP 4 pero no viene incluido en l. Para ms detalles vea el manual y PECL info. Desde Java se puede acceder mediante el driver de SQLiteJDBC Desde Lazarus 0.9.8 y Free Pascal 2.0.0, SQLite est disponibles para programadores de Pascal. Mac OS X v10.4 incluye SQLite, y es una de las opciones en la Core Data API de Apple. AppleScript puede abrir, crear, y manipular base de datos SQLite por medio de la aplicacin de ayuda "Database Events" de Mac OS X 10.4. BlitzMAX posee un MOD que permite trabajar con bases de datos SQLite. Para ms detalles y descarga del MOD El componente de base de datos (gb.db) de Gambas soporta SQLite en sus versiones 1, 2 y 3 El lenguaje de programacin de vdeo juegos Bennu tiene un mod de SQlite disponible.
Conclusin
Da a da se avanza a pasos agigantados en el desarrollo, pero siempre existe ese desafo que hace al desarrollador definir la herramienta que ha de utilizar para realizar el manejo de los datos dentro de su implementacin. Se pueden ver claras ventajas con SQLite, frente a otros motores de base de datos, una mayor velocidad en la consulta, o el manejo de datos, se debe al no haber un proceso intermedio, para la comunicacin con el motor de la BD. Los puntos fuertes de SQLite son su Cero configuracin, y tener la DB en un solo archivo, con lo cual la base de datos es mas portable. Pero tiene puntos dbiles, como por ejemplo al intentar implemantarlo para aplicaciones clienteservidor o implementaciones en escala mayor. Aunque existen motores de base de datos colosos, el querer implementarlas para base de datos pequeas o menos extensas lo hace mas complejo, eso causo la busqueda de una implementacion mas pequea pero funcional, y sin las dessoventajas de ellas.
Bibliografia
La informacin del siguiente informe, fue sacada de los siguientes sitios: http://es.wikipedia.org/wiki/SQLite http://sqlite-latino.blogspot.com/
Anexos
Consola de SQLite, al hacer uso del query de SQL: select from, para acceder a la base de datos del historial, del cliente de mensajeria instantnea Gajim: