Rullst AcademyRullst Academy/Lección
Bases de datos y SQL I · Lección 11 / 12

Guardar y probar la recuperación

Distinguir script, base y respaldo; ensayar cambio de esquema y restauración.

Rutas de aprendizaje18 min

Vamos a descubrir juntos

  1. 1

    Un .sql guarda instrucciones; un .db SQLite guarda datos y esquema. GitHub con código no recibe automáticamente la base. Los datos personales necesitan cuidados propios; aquí son ficticios.

  2. 2

    Ejecuta python lab.py snapshot. Crea una carpeta nueva sql-recovery-... con original.db, backup.db y restored.db. Usa la API SQLite, añade location y versión 2 al original y restaura la copia anterior en archivo separado.

  3. 3

    report.json verifica contenido, versión, integridad y FKs. La restauración vuelve a versión 1 sin la columna posterior. Copiar una base en uso sin considerar estado y archivos auxiliares no es este procedimiento.

  4. 4

    Copias en un disco sirven para practicar, no protegen contra perder la computadora. La operación real requiere copias externas, retención, control y pruebas. No practiques sobre una base importante.

Tu mesa de datos

Nuestro modelo: kits.id ← loans.kit_id. Un material puede tener varios préstamos; nombres pueden repetirse. Solo usamos datos ficticios.

Predice antes de abrir la referencia. Muestra salida verificada del ejemplo original, no ejecuta tu texto. Ejecuta cambios con el kit en tu computadora.

-- Guardar y probar la recuperación
BEGIN;
ALTER TABLE kits ADD COLUMN location TEXT NOT NULL DEFAULT 'shelf';
SELECT id, location FROM kits ORDER BY id;
ROLLBACK;
Comparar con la salida de referencia
[
  {
    "columns": [
      "id",
      "location"
    ],
    "rows": [
      [
        1,
        "shelf"
      ],
      [
        2,
        "shelf"
      ],
      [
        3,
        "shelf"
      ],
      [
        4,
        "shelf"
      ]
    ]
  }
]

Ejecuta el comando en la carpeta extraída. Usa python3 en macOS/Ubuntu o py si es tu launcher Windows. Cada ejecución empieza en memoria; lee README.md para guardar archivos y practicar recuperación.

python lab.py run lesson.sql
Mis archivos y GitHub

El editor guarda tu borrador .sql en este navegador. Descárgalo y sustituye lesson.sql en el kit; en el proyecto final, availability.sql. El ZIP conserva el modelo original. GitHub envía solo el archivo confirmado, sin ejecutar SQL ni enviar la base.

Enlaces oficiales y siguiente paso

✦
TU MISIÓN

Distinguir script, base y respaldo; ensayar cambio de esquema y restauración.

Ahora te toca

Taller de descubrimientos

Lee, predice y comprueba

Distinguir script, base y respaldo; ensayar cambio de esquema y restauración.
Prepara tus respuestas y comprueba cuando estés listo.
Una pausa para entender

¿Qué demuestra recuperación?

Necesito una pista

Ejecuta python lab.py snapshot. Crea una carpeta nueva sql-recovery-... con original.db, backup.db y restored.db. Usa la API SQLite, añade location y versión 2 al original y restaura la copia anterior en archivo separado.

Cargando tu camino…

Llévatelo contigo

Ejecuta snapshot y lee el informe. Explica qué se recuperó, qué no y dónde guardarías una copia externa ficticia.

A tu ritmo

Mis archivos y GitHub

Cada lección puede convertirse en un registro propio: código, notas o un plan de práctica. Guardar un archivo en GitHub es opcional y no cambia tus XP.

Manual del alumno

El editor y las descargas se abren cuando esta lección esté disponible para tu cuenta. Revisa el acceso indicado abajo o vuelve al mapa de la ruta.

Comprobando tu acceso a esta lección…

Rullstpetbot

La IA puede equivocarse. Consulta el material de la lección.