Saltar al contenido
Bases de datos con SQL
Todos los cursos

Ejercicio: SQLite y PostgreSQL en la práctica

  • ⏱ 40 minutos
  • 📶 Nivel: principiante

Objetivo

Crear una base SQLite desde la terminal, consultarla con los comandos de punto y adaptar un esquema a PostgreSQL.

Cómo se trabaja

Necesitas SQLite instalado (sqlite.org/download) y, para el reto, Node.js. Guarda el esquema y los datos de la tienda (los bloques de las lecciones 1 y 5) en un archivo tienda.sql.

Pasos

Marca cada paso a medida que lo completes. Tu avance se guarda en este navegador.

💡 Pista 1: abrir y cargar

Todo ocurre dentro de sqlite3. Los comandos de punto no llevan ;.

💡 Pista 2: el reto de Node.js

Instala el paquete con npm install better-sqlite3, usa db.prepare(...).all(100) y escribe "type": "module" en package.json para poder usar import.

✅ Ver una solución posible

Intenta resolverlo antes de mirar. Tu versión puede ser distinta y también correcta.

Sesión de sqlite3
.read tienda.sql
.tables
.headers on
.mode column
SELECT nombre, precio FROM productos WHERE precio > 100 ORDER BY precio;
.schema productos
.quit

Resultado esperado

nombreprecio
Teclado120.00
Webcam150.00
Monitor FHD650.00
Monitor 4K899.00
Paso 5: PostgreSQL
CREATE TABLE productos (
  id        INTEGER GENERATED ALWAYS AS IDENTITY PRIMARY KEY,
  nombre    TEXT    NOT NULL,
  categoria TEXT    NOT NULL,
  precio    NUMERIC NOT NULL,
  stock     INTEGER NOT NULL DEFAULT 0
);

Si quieres cargar los ids a mano (como en nuestros datos), usa GENERATED BY DEFAULT AS IDENTITY o inserta sin id.

consulta.js (reto)
import Database from 'better-sqlite3';

const db = new Database('tienda.db');
const filas = db.prepare('SELECT nombre, precio FROM productos WHERE precio > ? ORDER BY precio').all(100);
console.table(filas);

💡 🏁 Reto extra (opcional)

Instala PostgreSQL, crea la base tienda, un rol propio y carga el esquema adaptado con \i. Después conecta pg con una variable de entorno DATABASE_URL.