SQLite
SQLite
TEMA: SQLITE
INTEGRANTES: Pedro Pairazamn Silva Lus Ramn Ziga
2013-II
Tabla de contenido
INTRODUCCIN ................................................................................................................................... 2 HISTORIA ............................................................................................................................................. 2 DESCRIPCIN TCNICA ........................................................................................................................ 3 DESCRIPCIN Y LICENCIA ................................................................................................................ 3 CARACTERSTICAS............................................................................................................................ 3 PROGRAMAS QUE USAN SQLITE ..................................................................................................... 4 COMANDOS USADOS POR SQLITE ...................................................................................................... 5 COMANDOS BSICOS ...................................................................................................................... 6 1. 2. 3. 4. 5. 6. 7. CREATE ................................................................................................................................ 6 DROP ................................................................................................................................... 7 INSERT ................................................................................................................................. 7 SELECT ................................................................................................................................. 8 UPDATE ............................................................................................................................... 9 DELETE ............................................................................................................................... 10 ALTER TABLE ...................................................................................................................... 10
SENTENCIAS SQL NO IMPLEMENTADAS EN SQLITE ...................................................................... 11 EMPRESAS QUE USAN SQLITE ........................................................................................................... 12 CONCLUSIONES ................................................................................................................................. 14 BIBLIOGRAFA .................................................................................................................................... 14
INTRODUCCIN
Hablar de SQLite es hablar de uno de los motores de base de datos ms usados del mundo, pues es usado en una gran cantidad de aplicaciones; algunas de estas son proyectos de alto nivel ejecutados por grandes transnacionales. Entonces, por qu es poco conocido? En este informe, les hablaremos sobre su historia, caractersticas, modo de uso y algunos casos de empresas que usan este poderoso motor.
HISTORIA
Cuando D. Richard Hipp trabajaba desarrollando software para la fuerza naval de los Estados Unidos, comenz a desarrollar SQLite. Segn l cuenta con sus propias palabras: El proyecto SQLite surgi de una necesidad personal, para mi propio uso. D. Richard Hipp En enero de 2000 D. Richard Hipp estaba trabajando con su equipo del General Dynamics en la fuerza naval de los Estados Unidos, en un proyecto de software, el cual se conectaba a una base de datos Informix. El motor funcionaba muy bien, pero haban tenido problemas para hacer una reconfiguracin cuando el sistema se reiniciaba. Luego cambiaron a PostgreSQL, pero administrar la base de datos era un poco ms complejo. Fue en ese momento cuando surgi la idea de escribir un simple motor de base de datos SQL que permitiera leer los archivos del disco duro, y luego ser llamados en diferentes solicitudes. Cinco meses ms tarde, Hipp comenz a escribir las primeras versiones de lo que hoy conocemos como SQLite, con el pensamiento de que sera til en algn problema similar. Es claro que SQLite tiene la capacidad de reemplazar a grandes motores de Bases de Datos y acoplarse al desarrollo de muchos proyectos informticos, ya sea en ambientes de prototipos de sistemas como as tambin en complejos y robustos software.
DESCRIPCIN TCNICA
DESCRIPCIN Y LICENCIA
SQLite es una librera en proceso programada en lenguaje C, que implementa un sistema de gestin de base de datos relacional, sin servidor (interacta directamente con archivos) y cero configuracin. En cuestiones de licencia, SQLite es de dominio pblico, por lo cual cualquier persona es libre de copiar, modificar, publicar, usar, compilar, vender o distribuir el cdigo SQLite original, ya sea en forma de cdigo o como un ejecutable compilado, para cualquier propsito (comercial o no comercial), con todo lo que esto implique. Sin embargo, el que haga uso del cdigo y documentacin de SQLite debe respetar los derechos morales del autor.
CARACTERSTICAS
Las transacciones son atmicas, consistentes, aisladas y durables (ACID) aun con fallos propios del sistema o fallas de energa. Cero configuracin, no se necesita una instalacin previa para su uso. Implementa la mayora del estndar SQL-92. (algunas caractersticas no son soportadas) Una base de datos complete puede ser almacenada en un archivo smple multiplataforma. Soporta bases de datos de hasta 2 TB, cadenas de dimensiones de GB y objetos binarios grandes (Binary Large Objects BLOBs). Ocupa poco espacio en memoria: menos de 500kB totalmente configurado o menos, con algunas caractersticas omitidas. Ms rpido que otros motores de base de datos cliente/servidor ms populares para la mayora de operaciones cotidianas. Posee un API fcil de usar. Escrito en ANSI-C. Referencias TCL incluidas. Referencias a otros lenguajes disponibles por separado. Cdigo fuente comentad con 100% test cubierto por branches. Disponible como un archivo de cdigo fuente ANSI-C simple si deseas incluirlo en otro proyecto.
Autnomo: no posee dependencias externas. Multiplataforma: Unix (Linux, Mac OS-X, Android, iOS) y Windows (Win32, WinCE, WinRT) soportados. Fcil de portar a otros sistemas. Viene con un cliente de interfaz de lnea de comandos (command-line interface -CLI) que puede ser usado para administrar diversas bases de datos SQLite.
Como se puede observar, se considera a la base de datos como un archivo, adems de usar mtodos y funciones proporcionados por la librera <sqlite3.h>. El caso puede variar, dependiendo del tipo de lenguaje que se implemente para usar esta base de datos.
.nullvalue STRING .output FILENAME .output stdout .print STRING... .prompt MAIN CONTINUE .quit .read FILENAME .schema ?TABLE? .separator STRING .show .stats ON|OFF .tables ?PATTERN? .timeout MS .width NUM NUM .timer ON|OFF
COMANDOS BSICOS
Estos comandos los podemos emplear desde la consola de SQLite como desde otro tipo de interfaz aadida que trabaje con este motor. 1. CREATE Se puede usar de las siguientes formas: CREATE INDEX CREATE TABLE CREATE TRIGGER CREATE VIEW CREATE VIRTUAL TABLE
Para este caso, usaremos el CREATE TABLE. Usaremos la consola para crear una nueva base de datos llamada test, adems de crear una tabla en esta DB, llamada datos con las siguientes caractersticas: id entero (3) [PRIMARIA, NO NULO] apellido cadena(30) [NO NULO] nombre cadena(30) [NO NULO] documentos cadena(30) [NO NULO] observaciones cadena(60) [NO NULO]
En el grfico anterior, al listar las tablas creadas, podemos ver que la tabla datos ya ha sido creada con las caractersticas mencionadas al comienzo. 2. DROP Este comando nos sirve para eliminar tablas de la base de datos. Para esto, supongamos que tenemos otra base de datos llamada Otra, la cual eliminaremos con el comando DROP TABLE Otra.
Antes de ejecutar el comando, mostramos las tablas existentes. Despus de ejecutar el comando, al volver a mostrar las tablas, vimos que ya no se mostraba la tabla que hemos eliminado. 3. INSERT Insertaremos los siguientes datos en la tabla Datos: CAMPO id apellido nombre documentos observaciones DATO 1 Ramon Luis 20092120B Ninguna que destacar
4. SELECT Luego de hacer la insercin de datos, para hacer la comprobacin, procederemos a mostrarlos con el comando SELECT. Para eso, en la consola usamos el siguiente comando:
Como podemos observar, la insercin anterior se hizo sin problemas, los datos se grabaron en la tabla tal como se insertaron.
5. UPDATE A veces es necesario hacer cambios en algunos datos. Para esto usamos el comando UPDATE. Aplicndolo en nuestro ejemplo:
6. DELETE Supongamos que tenemos un registro adicional con los siguientes datos: CAMPO id apellido nombre documentos observaciones DATO 2 Valentin Bithiah 20094057F Deportada
Y deseamos eliminar el registro anterior. Para esto, usaremos el comando DELETE de la siguiente forma:
Antes de utilizar DELETE, hicimos un SELECT para poder observar todos los registros que se encuentran en la BD. Luego de ejecutar, hicimos otro SELECT para observar cmo qued la tabla. Como se esperaba, el registro seleccionado fue eliminado. 7. ALTER TABLE Ac podemos modificar datos de la propia tabla, como renombrarla o aadir una nueva columna (otras opciones no pueden ejecutarse, lo cual se explicar en el siguiente punto). En este caso vamos a renombrar la tabla, de datos a usuarios. Para eso, en la consola, ejecutamos la siguiente instruccin:
Como pueden ver, primero mostramos las tablas que estn en la BD para poder ver el nombre de la tabla que queremos cambiar. Luego aplicamos el comando ALTER TABLE con el aadido RENAME TO, esto para cambiar el nombre de la tabla. Luego revisamos y vemos que el nombre ya se cambi.
GRANT y REVOKE
asignar a esta BD son los que permita asignarle el sistema operativo, por lo cual, no tendra sentido implementar los comandos GRANT y REVOKE.
Adobe usa SQLite como el formato de archivo de aplicacin para su producto Photoshop Lightroom. Adems, SQLite es un componente estndar de Adobe Integrated Runtime (AIR). Se ha reportado tambin que Acrobat Reader usa SQLite.
Airbus confirma que SQLite es usado en el software de vuelo de la familia de aviones A350 XWB.
Apple usa SQLite para muchas funciones implementadas en Mac OS X, incluyendo Apple Mail, Safari, y Aperture. Apple tambin usa SQLite en iPhone, en el iPod touch y en el software iTunes.
El popular sistema de almacenamiento de archivos en la nube Dropbox reporta que usa SQLite como la forma primaria de almacenamiento de datos por el lado del cliente.
SQLite es el formato primario de metadatos en el explorador web Firefox y en el cliente de correo Thunderbird, ambos de Mozilla.
Se cree que General Electric usa SQLite en alguno de sus productos porque se comunicaron con los desarrolladores de SQLite solicitando el nmero de control de exportacin de EE.UU. para SQLite. Se presume que GE est usando SQLite en algn product que estn exportando. Nadie (fuera de GE) puede confirmar qu producto puede ser.
Se conoce que Google usa SQLite en su aplicacin de escritorio para Mac, en Google Gears, en el sistema operativo Android y en el explorador web Chrome. La gente presume que Google usa SQLite adems en otra gran cantidad de productos que ellos no desean especificar. Ingenieros de Google hacen una gran cantidad de contribuciones al cdigo de bsqueda de texto con SQLite.
SQLite viene como un mdulo en el lenguaje de programacin Python desde su versin 2.5.
El entorno de programacin REALbasic viene equipado con una versin de SQLite que soporta encriptacin AES.
CONCLUSIONES
Finalmente, por las ventajas descritas y la gran cantidad de lenguajes de programacin que soportan SQLite, lo transforman no solo en una alternativa, sino en una opcin robusta y decisiva para la implementacin de sistemas que requieren almacenamiento de informacin en un formato altamente dinmico con soporte para SQL, con planes de escalabilidad, portabilidad y rapidez, sobre todo cuando se utilizan lenguajes de programacin dinamicos, algo muy comn en la actualizad, ms an cuando se hace necesario utilizar un motor pequeo y liviano que no requiera mayor configuracin o administracin como es el caso de dispositivos empotrados.
BIBLIOGRAFA
http://www.sqlite.org http://es.wikipedia.org/wiki/SQLite http://geotux.tuxfamily.org/index.php/es/geo-blogs/item/319-sqlite-spatialite-el-porque-delcomo