Diferencia entre revisiones de «SQLite»
(Página creada con «<nowiki>#</nowiki> SQLite <nowiki>**</nowiki>SQLite** es un sistema de gestión de bases de datos relacional (RDBMS) ligero, embebido y sin servidor, implementado como una biblioteca en C. Fue creado por D. Richard Hipp en el año 2000 y es de dominio público. A diferencia de otros motores como MySQL o PostgreSQL, SQLite no utiliza arquitectura cliente-servidor, sino que funciona directamente dentro de la aplicación que lo usa. --- <nowiki>##</nowiki> Caracterí…») |
Sin resumen de edición |
||
| Línea 1: | Línea 1: | ||
= SQLite = | |||
'''SQLite''' es un sistema de gestión de bases de datos relacional (RDBMS) ligero, embebido y sin servidor, implementado como una biblioteca en C. Fue creado por D. Richard Hipp en el año 2000 y es de dominio público. | |||
A diferencia de otros motores como MySQL o PostgreSQL, SQLite no utiliza arquitectura cliente-servidor, sino que funciona directamente dentro de la aplicación que lo usa. | A diferencia de otros motores como MySQL o PostgreSQL, SQLite no utiliza arquitectura cliente-servidor, sino que funciona directamente dentro de la aplicación que lo usa. | ||
== Características == | |||
* '''Sin servidor (serverless)''': no requiere instalación ni configuración de un servicio. | |||
* '''Archivo único''': la base de datos completa se almacena en un solo archivo. | |||
* '''Ligero''': tamaño muy reducido. | |||
* '''Portable''': funciona en múltiples sistemas operativos sin cambios. | |||
* '''ACID''': garantiza atomicidad, consistencia, aislamiento y durabilidad. | |||
* '''Embebido''': se integra directamente en la aplicación. | |||
* '''Transaccional''': soporta transacciones completas. | |||
* '''Multiplataforma''': Windows, Linux, macOS, Android, iOS. | |||
== Arquitectura == | |||
SQLite no sigue el modelo cliente-servidor: | SQLite no sigue el modelo cliente-servidor: | ||
* La aplicación accede directamente al archivo de base de datos. | |||
* No hay procesos en segundo plano. | |||
* Todo se maneja mediante llamadas a la biblioteca SQLite. | |||
== Funcionamiento == | |||
SQLite ejecuta sentencias SQL estándar sobre un archivo local. | SQLite ejecuta sentencias SQL estándar sobre un archivo local. | ||
| Línea 45: | Línea 30: | ||
Operaciones principales: | Operaciones principales: | ||
* <code>CREATE</code> | |||
* <code>INSERT</code> | |||
* <code>SELECT</code> | |||
* <code>UPDATE</code> | |||
* <code>DELETE</code> | |||
Ejemplo: | Ejemplo: | ||
<syntaxhighlight lang="sql"> | |||
CREATE TABLE usuarios ( | CREATE TABLE usuarios ( | ||
id INTEGER PRIMARY KEY, | |||
nombre TEXT, | |||
edad INTEGER | |||
); | ); | ||
INSERT INTO usuarios (nombre, edad) | INSERT INTO usuarios (nombre, edad) | ||
VALUES ('Juan', 25); | VALUES ('Juan', 25); | ||
SELECT * FROM usuarios; | SELECT * FROM usuarios; | ||
</syntaxhighlight> | |||
== Tipos de datos == | |||
SQLite usa tipado dinámico. Tipos principales: | SQLite usa tipado dinámico. Tipos principales: | ||
* '''NULL''' | |||
* '''INTEGER''' | |||
* '''REAL''' | |||
* '''TEXT''' | |||
* '''BLOB''' | |||
== Ventajas == | |||
* No requiere instalación | |||
* Muy rápido en local | |||
* Bajo consumo de recursos | |||
* Fácil de transportar | |||
* Ideal para apps pequeñas o embebidas | |||
== Desventajas == | |||
* Concurrencia limitada | |||
* No escala bien a sistemas grandes | |||
* Sin gestión avanzada de usuarios | |||
* Bloqueo de escritura a nivel de archivo | |||
== Casos de uso == | |||
* Aplicaciones móviles | |||
* Software de escritorio | |||
* Sistemas embebidos / IoT | |||
* Navegadores | |||
* Prototipos | |||
== Comparación == | |||
- | {| class="wikitable" | ||
! Característica !! SQLite !! PostgreSQL / MySQL | |||
|- | |||
| Arquitectura || Embebida || Cliente-servidor | |||
|- | |||
| Instalación || No || Sí | |||
|- | |||
| Escalabilidad || Baja || Alta | |||
|- | |||
| Concurrencia || Limitada || Alta | |||
|} | |||
== Comandos útiles == | |||
* <code>.open archivo.db</code> | |||
* <code>.tables</code> | |||
* <code>.schema</code> | |||
* <code>.exit</code> | |||
== Seguridad == | |||
SQLite no tiene autenticación interna. Depende de: | SQLite no tiene autenticación interna. Depende de: | ||
* Permisos del sistema operativo | |||
* Encriptación externa (ej: SQLCipher) | |||
== Licencia == | |||
Dominio público. Uso libre sin restricciones. | Dominio público. Uso libre sin restricciones. | ||
Revisión del 22:43 16 abr 2026
SQLite
SQLite es un sistema de gestión de bases de datos relacional (RDBMS) ligero, embebido y sin servidor, implementado como una biblioteca en C. Fue creado por D. Richard Hipp en el año 2000 y es de dominio público.
A diferencia de otros motores como MySQL o PostgreSQL, SQLite no utiliza arquitectura cliente-servidor, sino que funciona directamente dentro de la aplicación que lo usa.
Características
- Sin servidor (serverless): no requiere instalación ni configuración de un servicio.
- Archivo único: la base de datos completa se almacena en un solo archivo.
- Ligero: tamaño muy reducido.
- Portable: funciona en múltiples sistemas operativos sin cambios.
- ACID: garantiza atomicidad, consistencia, aislamiento y durabilidad.
- Embebido: se integra directamente en la aplicación.
- Transaccional: soporta transacciones completas.
- Multiplataforma: Windows, Linux, macOS, Android, iOS.
Arquitectura
SQLite no sigue el modelo cliente-servidor:
- La aplicación accede directamente al archivo de base de datos.
- No hay procesos en segundo plano.
- Todo se maneja mediante llamadas a la biblioteca SQLite.
Funcionamiento
SQLite ejecuta sentencias SQL estándar sobre un archivo local.
Operaciones principales:
CREATEINSERTSELECTUPDATEDELETE
Ejemplo:
<syntaxhighlight lang="sql"> CREATE TABLE usuarios (
id INTEGER PRIMARY KEY, nombre TEXT, edad INTEGER
);
INSERT INTO usuarios (nombre, edad) VALUES ('Juan', 25);
SELECT * FROM usuarios; </syntaxhighlight>
Tipos de datos
SQLite usa tipado dinámico. Tipos principales:
- NULL
- INTEGER
- REAL
- TEXT
- BLOB
Ventajas
- No requiere instalación
- Muy rápido en local
- Bajo consumo de recursos
- Fácil de transportar
- Ideal para apps pequeñas o embebidas
Desventajas
- Concurrencia limitada
- No escala bien a sistemas grandes
- Sin gestión avanzada de usuarios
- Bloqueo de escritura a nivel de archivo
Casos de uso
- Aplicaciones móviles
- Software de escritorio
- Sistemas embebidos / IoT
- Navegadores
- Prototipos
Comparación
| Característica | SQLite | PostgreSQL / MySQL |
|---|---|---|
| Arquitectura | Embebida | Cliente-servidor |
| Instalación | No | Sí |
| Escalabilidad | Baja | Alta |
| Concurrencia | Limitada | Alta |
Comandos útiles
.open archivo.db.tables.schema.exit
Seguridad
SQLite no tiene autenticación interna. Depende de:
- Permisos del sistema operativo
- Encriptación externa (ej: SQLCipher)
Licencia
Dominio público. Uso libre sin restricciones.