PDF de programación - Introducción a SQLite

Imágen de pdf Introducción a SQLite

Introducción a SQLitegráfica de visualizaciones

Publicado el 2 de Julio del 2021
572 visualizaciones desde el 2 de Julio del 2021
110,4 KB
13 paginas
Creado hace 16a (28/01/2008)
INTRODUCCIÓN A

POR DANIEL PONSODA MONTIEL

Autor: Daniel Ponsoda Montiel
Segundo curso de Administración de sistemas informáticos.
Asignatura: Sistemas gestores de bases de datos.
I.E.S. San Vicente (San Vicente del Raspeig, Alicante).

Este material se distribuye bajo licencia Creative Commons (Reconocimiento).
Puede ser distribuido, copiado y exhibido por terceros si se muestra en los créditos
el nombre del autor.

Versiones de este documento:



23 de Enero de 2008. Primera versión.

Índice de contenido
¿Qué es SQLite?......................................................................................................................4
Características de la librería...............................................................................................4
Compacta.......................................................................................................................4
Autocontenida................................................................................................................4
Características de la base de datos...................................................................................4
Características del gestor de la base de datos..................................................................5
Embebido.......................................................................................................................5
No necesita configuración..............................................................................................5
Transaccional.................................................................................................................5
Diferencias en el lenguaje SQL...........................................................................................6
Restricciones..................................................................................................................6
Añadidos........................................................................................................................6
Casos en los que es adecuado el uso de SQLite................................................................6
Casos en los que se desaconseja el uso de SQLite............................................................7
Comenzando con SQLite.........................................................................................................8
Primeros pasos...................................................................................................................8
SQLite para usuarios de PHP / MySQL................................................................................8
Funciones de SQLite básicas para C...................................................................................9
Programa de ejemplo en C/C++......................................................................................11
Glosario................................................................................................................................12
Enlaces.................................................................................................................................13

SQLite 3

Daniel Ponsoda Montiel

¿Qué es SQLite?
SQLite es una librería compacta y autocontenida 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.

Características de la librería

Compacta

Con todas las características habilitadas, el tamaño de la librería es inferior a 250Kb.
Deshabilitando características opcionales, el tamaño puede quedarse por debajo de los
180Kb. Esto la hace muy apropiada para usarla en dispositivos con poca memoria, como
teléfonos móviles, PDAs y reproductores MP3.
Aunque también hay una relación entre uso de memoria y velocidad. Generalmente,
SQLite funcionará más rápido cuanto más memoria se le reserve.

Autocontenida

Requiere muy poco soporte de librerias externas o del sistema operativo. Esto la hace
adecuada para usarla en pequeños dispositivos que no son tan completos como los PC de
escritorio.
Está escrita en ANSI-C y debería compilarse fácilmente con cualquier compilador de C
estándar. Hace un uso mínimo de las librerías estandar de C. Sólo utiliza siete funciones
que son: memset(), memcpy(), memcmp(), strcmp(), malloc(), free() y realloc().
Es posible configurarlo en la compilación para que use memoria estática en lugar de
dinámica para no necesitar malloc(), free() y realloc(). Las funciones para el manejo de
fechas requieren soporte adicional de la librería de C, pero también se pueden deshabilitar
durante la compilación.
Además de la versión normal del código fuente, que incluye todo el árbol de ficheros,
existe una versión (algamation) que incluye todo el fuente en un único fichero C. Para dar
soporte SQLite, basta con linkar el fichero “sqlite3.c” al proyecto e incluir su
correspondiente cabecera “sqlite3.h”.

Características de la base de datos

– Fichero único. La base de datos se almacena en un único fichero, cuyo formato es
multiplataforma (Es posible leer el fichero en sistemas de 32 y 64 bits o en
arquitecturas big-endian y little-endian). Estas características hacen que SQLite sea
popular para usarlo como formato de archivo de las aplicaciones. O dicho de otra
forma: Se puede usar SQLite como sustituto de Oracle o como sustituto de fopen().

– Manifiesto de tipado. La mayoría de motores SQL utilizan tipado estático. Cada
columna de una tabla se asocia con un tipo de datos, y solo pueden introducirse
valores de un tipo particular. SQLite elimina esta restricción, y hace que el tipo de
datos pueda ser una propiedad del valor en sí, y no de la columna.

4

SQLite 3

Daniel Ponsoda Montiel

– Registros de longitud variable. Muchos otros motores SQL, fijan una cantidad de
espacio para cada todas las filas, de forma que, por ejemplo, si declaramos una
columna como varchar(100), el motor reservará 100 bytes de espacio para todas
las filas sin tener en cuenta la información que se guarde. SQLite, por el contrario,
usa sólo la cantidad de disco que necesita para almacenar la información en una
fila.

– Seguridad de los datos. Más de dos tercios del código están dedicados
puramente a la prueba y verificación. Una aplicación automatizada ejecuta cientos
de miles de pruebas empleando millones de consultas SQL. SQLite responde
perfectamente a fallos de reserva de memoria, y errores de E/S de disco.

Características del gestor de la base de datos

Embebido

La mayoría de motores de bases de datos, como MySQL, Oracle o SQL Server, están
implementados como un servicio (o demonio en Unix). Los programas que quieren acceder
a la base de datos se comunican con el servidor usando algún tipo de protocolo para
enviar peticiones y recibir resultados. Esto es lo que se conoce como una aplicación
cliente-servidor.
SQLite no funciona de esta manera. Con SQLite, el proceso que quiere acceder a la base
de datos, lee y escribe directamente en disco. No hay servicio intermediario. De esta
manera se puede hacer una aplicación totalmente autónoma y portable.
Esto tiene ventajas y desventajas. La principal ventaja es que no debemos tener un
servicio que instalar, configurar, inicializar, mantener, etc.
Por otro lado, el uso de un servidor para la base de datos provee mayor protección frente a
bugs en el lado de cliente. Un fallo de segmentación en el cliente no puede afectar a la
memoria que se encuentra en el servidor. Además, como el servidor es un único proceso,
puede controlar mejor la concurrencia.
No obstante, una característica de SQLite es que es la única base de datos sin servidor
(que el autor sepa) que permite el acceso de múltiples aplicaciones a la misma base de
datos.

No necesita configuración

Debido a que SQLite es un SGBD embebido en la aplicación, no necesita instalar ni
configurar nada más aparte de la aplicación en cuestión.

Transaccional

Una base de datos transaccional es aquella cuyos cambios y consultas son atómicos,
consistentes, aislados y durables (ACID), y por tanto es capaz de realizar transacciones
seguras. Las transacciones en SQLite tienen estas características, incluso cuando se
interrumpen por el fallo del programa, del sistema operativo o de la alimentación del
ordenador. Todos los cambios de una transacción en SQLite se hacen completamente o no
se hacen.

5

SQLite 3

Daniel Ponsoda Montiel

Diferencias en el lenguaje 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 par
  • Links de descarga
http://lwp-l.com/pdf19367

Comentarios de: Introducción a SQLite (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad