SQLite

De CiberWiki
Revisión del 22:42 16 abr 2026 de Warid.F (discusión | contribs.) (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í…»)
(difs.) ← Revisión anterior | Revisión actual (difs.) | Revisión siguiente → (difs.)

# 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:

- `CREATE`

- `INSERT`

- `SELECT`

- `UPDATE`

- `DELETE`

Ejemplo:

```sql

CREATE TABLE usuarios (

    id INTEGER PRIMARY KEY,

    nombre TEXT,

    edad INTEGER

);

INSERT INTO usuarios (nombre, edad)

VALUES ('Juan', 25);

SELECT * FROM usuarios;

```

---

## 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.