Sei sulla pagina 1di 15

Tecnología de datos Universidad Nacional

San Agustín

ÍNDICE
AGRADECIMIENTO Y DEDICATORIA………………………………………………… i

INTRODUCCIÓN………………………………………………………………………….. ii

I. ¿QUÉ ES EL SQLITE? ................................................................................................................... 2

II. INSTALACIÓN ................................................................................................................................ 2

III. CARACTERÍSTICAS ................................................................................................................ 10

IV. LENGUAJES DE PROGRAMACIÓN DE SQLITE.................................................................. 11

V. ACTUALIZACIONES .................................................................................................................... 11

VI. DIFERENCIAS EN EL LEMGUAJE SQL ................................................................................. 13

VII. VENTAJAS ............................................................................................................................... 14

1
Tecnología de datos Universidad Nacional
San Agustín

I. ¿Qué es el SQlite?
SQLite es un proyecto de dominio público creado por D. Richard Hipp. A diferencia de los
sistemas de gestión de bases de datos cliente-servidor, el motor de SQLite no es un
proceso independiente con el que el programa principal se comunica.

SQLite es una librería compacta y auto contenida de código abierto y distribuida bajo
dominio público que implementa un gestor de bases de datos SQL embebido, sin
configuración y transaccional.

Los usuarios más conocidos que la utilizan actualmente en sus aplicaciones son: Adobe,
Apple, Mozilla, Google, McAfee, Microsoft, Philips, Sun y Toshiba, entre otros.

SQLite no es directamente comparable a los motores de base de datos SQL cliente /


servidor como MySQL, Oracle, PostgreSQL o SQL Server, ya que SQLite está tratando de
resolver un problema diferente.

Los motores de base de datos SQL de cliente / servidor se esfuerzan por implementar un
repositorio compartido de datos empresariales. Destacan la escalabilidad, la concurrencia,
la centralización y el control. SQLite se esfuerza por proporcionar almacenamiento de datos
local para aplicaciones y dispositivos individuales. SQLite enfatiza economía, eficiencia,
confiabilidad, independencia y simplicidad.

SQLite no compite con las bases de datos de cliente / servidor. SQLite compite con fopen .

II. Instalación
5.1 LIBRERIA (Biblioteca)

• sólo necesita una librería (biblioteca) que ocupa poco más de 700KB (
tclsqlite3.dll
). Desarrollada en C, SQLite es un proyecto de dominio público creado por D. Richard
Hipp.

5.2 PLATAFORMAS SQLITE

• SQLite está construida en C, lo cual facilita la migración a diversas plataformas de


sistemas operativos y de dispositivos. Dado que una base de datos de SQLite se
almacena por completo en un solo archivo, está puede ser exportada a cualquier otra
plataforma y tener interoperatibilidad al 100% sin ningún requerimiento de
programación adicional o cambios de configuración.

5.3 ALMACENAMIENTO

2
Tecnología de datos Universidad Nacional
San Agustín

• cada usuario puede crear tantas bases de datos como desee sin la necesidad de la
intervención de un administrador de bases de datos que gestione los espacios de
trabajo, usuarios y permisos de acceso.
facilita la portabilidad de los datos, y solamente tiene la restricción del espacio de disco
asignado al usuario en el servidor.

1. Primero nos vamos a dirigir al siguiente link


https://www.sqlmaestro.com/products/sqlite/maestro/download/
y procederemos a presionar el botón de Download en la primera opción que
tiene un tamaño de 12.14 Mbyte.

2. Nos re direccionara a la siguiente ventana en donde nos pedirá una cuenta


pero no es necesaria para descargar nuestro programa, podemos hacerlo con
un click en Download.

3
Tecnología de datos Universidad Nacional
San Agustín

3. Una
vez con el
archivo

descargado vamos a ejecutarlo como administrador.

4. En este punto se inicia la configuración para la instalación del programa


SQLite.

4
Tecnología de datos Universidad Nacional
San Agustín

5. Ya con el inicio nos arrojara la ventana de los términos y condiciones del


software los cuales después de leer se procede a aceptarlos.
Después te da una breve explicación de lo que es SQLite.

5
Tecnología de datos Universidad Nacional
San Agustín

6. En la siguiente ventana nos da la opción de elegir la ruta en donde se instalara


es recomendado dejarlo en la raíz como cualquier otro programa.
En este punto te dice que selecciones el folder inicial del menú igualmente se
recomienda dejar la configuración predeterminada.

6
Tecnología de datos Universidad Nacional
San Agustín

7. Puedes decidir si quieres crear un icono en el escritorio o crear un acceso


directo.
Y después de toda la configuración procedemos a instalar con un click en el
botón INSTALL.

7
Tecnología de datos Universidad Nacional
San Agustín

8. Después arrojara una barra progresiva en donde nos marcara el avance de la


instalación.
Una vez instalado te dice si se desea iniciar el programa o si solo quieres ir a
la página de inicio.

8
Tecnología de datos Universidad Nacional
San Agustín

9. Iniciando este software te da la opción de registrar una licencia, comprarlo o


continuar con la opción de prueba gratuita por 30 dias.
Aquí está el software iniciando sin ningún contratiempo.

9
Tecnología de datos Universidad Nacional
San Agustín

10. Esto sería la última ventana del proceso de instalación, que es la ventana de
inicio del programa SQLite.

III. Características
Estas son algunas de las características principales de SQLite:

 La base de datos completa se encuentra en un solo archivo.


 Puede funcionar enteramente en memoria, lo que la hace muy rápida.
 Tiene un footprint menor a 230KB.
 Es totalmente autocontenida (sin dependencias externas).
 Cuenta con librerías de acceso para muchos lenguajes de programación.

10
Tecnología de datos Universidad Nacional
San Agustín

 Soporta texto en formato UTF-8 y UTF-16, así como datos numéricos de 64


bits.
 Soporta funciones SQL definidas por el usuario (UDF).
 El código fuente es de dominio público y se encuentra muy bien
documentado.

IV. Lenguajes de Programación de SQlite


Gracias a que SQLite es software libre, es posible encontrar una gran cantidad de
componentes, librerías y drivers para interactuar con SQLite desde una gran diversidad de
lenguajes y plataformas de programación. Ya sea que estemos utilizando lenguajes
modernos como Java, Perl, Python, PHP, Ruby, C#, lenguajes más antiguos como Pascal,
SmallTalk, Clipper, o lenguajes poco conocidos como Suneido, REXX, S-Lang, para todos
podemos encontrar librerías y ejemplos de código para SQLite.

 SQLite nos ofrece solo dos tipos de extensiones para crear una base de datos
SQLite las cuales son.

 SQLite3 db: Que corresponde a la versión 3 de SQLite y que es la actual, la


extensión del archivo generado es (.s3db).

 SQLite2 db: Corresponde a la versión 2 y antigua de SQLite que poco se usa


actualmente, la extensión del archivo generado es (.sdb).

V. Actualizaciones
 SQLite tuvo un alto nivel de los cambios .

La primera versión fue en 2000-08-17:Version 1.0 (CVS 499)

7.1 ) 2001-11-23:Version 2.1.2 (CVS 459)

 Se corrigió un error en DROP TABLE que podía causar la corrupción de la tabla


SQLITE_MASTER. El problema principal era que la secuencia de operaciones de
BTree (Eliminar, Siguiente) no siempre dejaría el cursor apuntando a la primera
entrada después de la entrada que se eliminó. Una consecuencia de este error fue
que una DROP TABLE en una tabla con índices no siempre eliminaría todos los
índices asociados con esa tabla de la tabla SQLITE_MASTER. Los intentos
subsiguientes de abrir la base de datos fallarán cuando se haya analizado el índice
de la tabla faltante. También se han realizado cambios para ignorar los índices

11
Tecnología de datos Universidad Nacional
San Agustín

adicionales en la tabla SQLITE_MASTER para que una base de datos previamente


corrompida por este error sea nuevamente legible. (CVS 316)

7.2 ) 2011-07-26: Versión 3.7.7.1

 Después de hacer pruebas de carga con una base datos más realista, el rendimiento
no es tan bueno como parecía, especialmente cuando se trata de lanzar consultas
que contienen varios left outer join.

 El dialecto de SQL usado por SQLite es lo bastante parecido al de SQL Server como
para que la mayoría de las consultas específicas que teníamos escritas para SQL
haya funcionado sin cambios, o con cambios mínimos (por ejemplo, el top de T-SQL
se convierte en un limit en SQLite.

 Donde hemos empezado a tener problemas (y aún no sabemos muy bien como
resolverlos), ha sido con los tipos de datos soportados por SQLite. Esto merece un
análisis más profundo, pero basta con decir que SQLite tiene un tipado dinámico
para las columnas. De hecho, el tipado se aplica a nivel de celda y no ha nivel de
columna, por lo que una misma columna puede contener a la vez datos de tipo
INTEGER y TEXT. Esto no supondría un gran problema (dada la capa de
abstracción que nos proporciona NHibernate), si no fuese porque en SQLite no
existe el tipo decimal de precisión arbitraria como tal, sino que se almacena como
un número real en coma flotante.

7.3 ) 2017-10-24: Versión(3.21.0)

Aproveche las capacidades de escritura atómica en el sistema de archivos F2FS cuando


esté disponible, para una sobrecarga de transacción muy reducida. Esto actualmente
requiere la opción de tiempo de compilación
SQLITE_ENABLE_BATCH_ATOMIC_WRITE.

Permitir que los comandos ATTACH y DETACH funcionen dentro de una


transacción. Permita que se escriban WITHOUT ROWID tablas virtuales si la PRIMARY
KEY contiene exactamente una columna.

El "fsync ()" que ocurre después de que el encabezado se escribe en un reinicio WAL ahora
usa la configuración de sincronización para los puntos de control. Esto significa que usará
un "fullfsync" en los Mac si se activa PRAGMA checkpoint_fullfsync

12
Tecnología de datos Universidad Nacional
San Agustín

VI. Diferencias en el lemguaje SQL


Restricciones

 Claves ajenas. Pueden usarse en las tablas, pero no serán interpretadas como tales.
 Soporte parcial de triggers. Características no implementadas:
FOR EACH sólo admite FOR EACH ROW.
Triggers de tipo INSTEAD OF sólo están permitidos en vistas.
Triggers recursivos.
 Soporte parcial de ALTER TABLE. Sólo están permitidos RENAME TABLE y ADD
COLUMN.
 Soporte parcial de manejo de cardinalidad. Sólo está implementado LEFT JOIN.
 Las vistas son de sólo lectura.
 No existen los comandos GRANT y REVOKE. Debido a que SQLite lee y escribe en
un simple fichero, los únicos permisos de acceso que pueden aplicarse son los del
fichero. Los comandos GRANT y REVOKE, usados comúnmente en aplicaciones
cliente/servidor no están implementados porque carecen de sentido en un motor de
base de datos embebido.

Añadidos

₰ Orden REPLACE. Es un alias de “INSERT OR REPLACE”, que ha sido agregado para


compatibilidad con MySQL.
₰ Una consulta puede llevar la clausula no estándar ON CONFLICT, que permite definir
lo que se debe de hacer cuando se encuentre un problema durante la ejecución de
una orden. La sintaxis es: ON CONFLICT algoritmo, donde “algoritmo” puede ser uno
de los siguientes:
 ROLLBACK. Deshace todo lo que se había hecho hasta ese momento en la
transacción actual.
 ABORT. Se cancela la ejecución. Los cambios realizados por comandos
anteriores se conservan pero se hace un respaldo del estado anterior. Este es
el comportamiento por defecto.
 FAIL. Similar al anterior, solo que no hace respaldo de los datos anteriores.
 IGNORE. Se ignora la orden actual y se siguen ejecutando los siguientes
comandos.
 REPLACE. Se reemplaza la fila que está causando el conflicto con los valores
de la orden actual.

13
Tecnología de datos Universidad Nacional
San Agustín

₰ Las ordenes ATTACH y DETACH permiten añadir o quitar otro fichero de base de
datos a la conexión actual. Las sintaxis son: ATTACH [base_de_datos] fichero.bd AS
nombre_base_de_datos. DETACH [base_de_datos] nombre_base_de_datos.
₰ Además, a través del interfaz de C, es posible crear nuevas instrucciones SQL
personalizadas.

Casos en los que es adecuado el uso de SQLite

 En aplicaciones autónomas que no queramos que dependan de otros procesos, como


podría ser un programa para llevar la contabilidad de una pequeña/mediana empresa.
 Para su uso como formato de almacenamiento para cualquier aplicación.
 En pequeños dispositivos que no disponen de servicio SQL (PDAs, Móviles, etc.) y
con pocos recursos de memoria.
 Bases de datos internas de programas que necesiten manejar gran cantidad de
información temporal (p. ej. videojuegos, programas de análisis, etc.).

Casos en los que se desaconseja el uso de SQLite

 En aplicaciones cliente/servidor. Si tienes muchos programas clientes que acceden a


una base de datos almacenada en un servidor, deberías considerar el uso de un motor
cliente/servidor.
 En bases de datos demasiado grandes. El sistema de transacción de SQLite, necesita
almacenar temporalmente 256 bytes de información por cada 1 Mbyte de datos en
cada consulta. Si la base de datos es excesivamente grande (varios gigabites), la
memoria comienza a convertirse en un problema.
 En situaciones de alta concurrencia. Por cada solicitud de acceso a la base de datos,
el motor de SQLite, bloquea el fichero entero para evitar problemas de concurrencia.
En muchos casos esto no es un problema, ya que cada proceso realiza su consulta
rápidamente (sólo unos milisegundos) y termina. Pero hay aplicaciones que emplean
alta concurrencia, para las cuales se debería buscar otro tipo de solución.

VII. Ventajas
 SQLite tiene una pequeña memoria y una única biblioteca es
necesaria para acceder a bases de datos.
 SQLite realiza operaciones de manera eficiente y es más rápido que
MySQL y PostgreSQL.

14
Tecnología de datos Universidad Nacional
San Agustín

 SQLite se ejecuta en muchas plataformas y sus bases de datos


pueden ser fácilmente portadas sin ninguna configuración o
administración.
 SQLite cuenta con diferentes interfaces del API, las cuales permiten
trabajar con C++, PHP, Perl, Python, Ruby, Tcl, Groovy, Qt ofrece el
pluginqsqlite, etc.
 SQLite es de dominio público, y por tanto, es libre de utilizar para
cualquier propósito sin costo.

VIII. Bibliografia
http://sqlitebrowser.org. Consultado el 9 de diciembre del 2017
https://sqlite.org/docs.html Consultado el 10 de diciembre del 2017
«SQLite Copyright». SQLite. Consultado el 10 de diciembre de 2017

15

Potrebbero piacerti anche