Diferencia entre revisiones de «SQLite»

De CiberWiki
(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
 
(No se muestra una edición intermedia de otro usuario)
Línea 1: Línea 1:
<nowiki>#</nowiki> SQLite
= 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.
'''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 ==


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


- **Sin servidor (serverless)**: no requiere instalación ni configuración de un servicio.
== Arquitectura ==
 
- **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.
 
---
 
<nowiki>##</nowiki> 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.
* La aplicación accede directamente al archivo de base de datos.
 
* No hay procesos en segundo plano.
- No hay procesos en segundo plano.
* Todo se maneja mediante llamadas a la biblioteca SQLite.


- Todo se maneja mediante llamadas a la biblioteca SQLite.
== Funcionamiento ==
 
---
 
<nowiki>##</nowiki> 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:


- `CREATE`
* <code>CREATE</code>
 
* <code>INSERT</code>
- `INSERT`
* <code>SELECT</code>
 
* <code>UPDATE</code>
- `SELECT`
* <code>DELETE</code>
 
- `UPDATE`
 
- `DELETE`


Ejemplo:
Ejemplo:


```sql
<syntaxhighlight lang="sql">
 
CREATE TABLE usuarios (
CREATE TABLE usuarios (
 
    id INTEGER PRIMARY KEY,
    id INTEGER PRIMARY KEY,
    nombre TEXT,
 
    edad INTEGER
    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 ==
 
---
 
<nowiki>##</nowiki> Tipos de datos


SQLite usa tipado dinámico. Tipos principales:
SQLite usa tipado dinámico. Tipos principales:


- **NULL**
* '''NULL'''
 
* '''INTEGER'''
- **INTEGER**
* '''REAL'''
 
* '''TEXT'''
- **REAL**
* '''BLOB'''
 
- **TEXT**
 
- **BLOB**
 
---
 
<nowiki>##</nowiki> 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
 
---
 
<nowiki>##</nowiki> Desventajas
 
- Concurrencia limitada
 
- No escala bien a sistemas grandes
 
- Sin gestión avanzada de usuarios
 
- Bloqueo de escritura a nivel de archivo
 
---
 
<nowiki>##</nowiki> Casos de uso
 
- Aplicaciones móviles
 
- Software de escritorio
 
- Sistemas embebidos / IoT
 
- Navegadores
 
- Prototipos
 
---
 
<nowiki>##</nowiki> Comparación
 
| Característica | SQLite | PostgreSQL / MySQL |
 
|--------------|--------|--------------------|


| Arquitectura | Embebida | Cliente-servidor |
== Ventajas ==


| Instalación | No | Sí |
* No requiere instalación
* Muy rápido en local
* Bajo consumo de recursos
* Fácil de transportar
* Ideal para apps pequeñas o embebidas


| Escalabilidad | Baja | Alta |
== Desventajas ==


| Concurrencia | Limitada | Alta |
* Concurrencia limitada
* No escala bien a sistemas grandes
* Sin gestión avanzada de usuarios
* Bloqueo de escritura a nivel de archivo


---
== Casos de uso ==


<nowiki>##</nowiki> Comandos útiles
* Aplicaciones móviles
* Software de escritorio
* Sistemas embebidos / IoT
* Navegadores
* Prototipos


- `.open archivo.db`
== Comparación ==


- `.tables`
{| class="wikitable"
! Característica !! SQLite !! PostgreSQL / MySQL
|-
| Arquitectura || Embebida || Cliente-servidor
|-
| Instalación || No || Sí
|-
| Escalabilidad || Baja || Alta
|-
| Concurrencia || Limitada || Alta
|}


- `.schema`
== Comandos útiles ==


- `.exit`
* <code>.open archivo.db</code>
* <code>.tables</code>
* <code>.schema</code>
* <code>.exit</code>


---
== Seguridad ==
 
<nowiki>##</nowiki> Seguridad


SQLite no tiene autenticación interna. Depende de:
SQLite no tiene autenticación interna. Depende de:


- Permisos del sistema operativo
* Permisos del sistema operativo
* Encriptación externa (ej: SQLCipher)


- Encriptación externa (ej: SQLCipher)
== Licencia ==


---
Dominio público. Uso libre sin restricciones.


<nowiki>##</nowiki> Licencia
[[Categoría:Bases de datos]]
 
Dominio público. Uso libre sin restricciones.

Revisión actual - 04:22 17 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:

  • CREATE
  • INSERT
  • SELECT
  • UPDATE
  • DELETE

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.