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

Misión: un catálogo verificable

Crear un informe de disponibilidad y resolver otra pregunta con pruebas.

Rutas de aprendizaje24 min

Vamos a descubrir juntos

  1. 1

    availability.sql usa LEFT JOIN con préstamos abiertos, agrupa por identidad y resta unidades de stock. La disponibilidad inicial es 2, 0, 0 y 2. Comprueba a mano antes de ejecutar.

  2. 2

    Ejecuta python -m unittest discover -v. Las pruebas cubren nombres repetidos, kit sin préstamos, devoluciones, vacío y falta de existencias. No ocultes negativos: el esquema permite sobrepréstamos y el informe debe revelarlos.

  3. 3

    Crea needs_restock.sql con disponibilidad menor o igual a cero. Prueba datos iniciales y tras devolver préstamo 3 en la misma ejecución. Añade una prueba propia: las incluidas no demuestran esta tarea nueva.

  4. 4

    Completa REVIEW.md con predicción, ejecución, consulta propia, prueba y límite. Explica a alguien; solo, vuelve después sin copiar. Guarda .sql e informe. Rullst Academy envía un archivo confirmado a GitHub, no la base ni ejecuta SQL allí.

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.

-- Misión: un catálogo verificable
SELECT k.id, k.label,
       k.stock - COALESCE(SUM(l.units), 0) AS available
FROM kits AS k
LEFT JOIN loans AS l ON l.kit_id = k.id AND l.returned IS NULL
GROUP BY k.id, k.label, k.stock
ORDER BY k.id;
Comparar con la salida de referencia
[
  {
    "columns": [
      "id",
      "label",
      "available"
    ],
    "rows": [
      [
        1,
        "Orbit",
        2
      ],
      [
        2,
        "Sprout",
        0
      ],
      [
        3,
        "Orbit",
        0
      ],
      [
        4,
        "Nova",
        2
      ]
    ]
  }
]

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

Crear un informe de disponibilidad y resolver otra pregunta con pruebas.

Ahora te toca

Taller de descubrimientos

Lee, predice y comprueba

Crear un informe de disponibilidad y resolver otra pregunta con pruebas.
Prepara tus respuestas y comprueba cuando estés listo.
Una pausa para entender

¿Qué evidencia supera repetir el ejemplo?

Necesito una pista

Ejecuta python -m unittest discover -v. Las pruebas cubren nombres repetidos, kit sin préstamos, devoluciones, vacío y falta de existencias. No ocultes negativos: el esquema permite sobrepréstamos y el informe debe revelarlos.

Cargando tu camino…

¿Cómo reconocer lo que aprendí?

Usa objetivos y desafío para reflexionar o conversar con alguien que pueda ayudar. Es autoevaluación orientada: no envía respuestas, no da XP ni verifica automáticamente autonomía.

En Construcción, integra una solución propia, prueba una variación nueva, registra límites y pide revisión si es posible. Reproducir es un comienzo; explicar y adaptar desarrolla autonomía.

Tu desafío de transferencia

Adapta a materiales ficticios de un taller o pasatiempo. Define pregunta, consulta, error y recuperación. Registra ayuda y trabajo autónomo.

Guarda evidencia: predicción, intento, resultado, cambio propio y lo que aún no explicas. Busca feedback si es posible; si estudias solo, vuelve después sin copiar y compara intentos.

Inténtalo de nuevo en otro momento

Tras una pausa, explica la idea sin abrir la solución y prueba otro ejemplo. Compara con tu primer intento: ¿qué puedes hacer por tu cuenta y dónde necesitas una pista? Puedes escribir, hablar o dibujar; elige una forma de comprobar la misma idea. Registra la ayuda recibida, incluida IA, y vuelve al fragmento necesario. No hay plazo universal ni XP extra por este registro.

Las conclusiones y XP registran evaluaciones de Rullst Academy. Una ruta introductoria puede ayudar en la vida diaria y preparar estudios; sola no demuestra dominio completo ni preparación profesional. Nivel indica profundidad, no edad.

Llévatelo contigo

Adapta a materiales ficticios de un taller o pasatiempo. Define pregunta, consulta, error y recuperación. Registra ayuda y trabajo autónomo.

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.