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

Modelar con reglas

Leer un esquema y distinguir identidad, obligación, unicidad y límites.

Rutas de aprendizaje16 min

Vamos a descubrir juntos

  1. 1

    Lee schema.sql. kits describe materiales; loans registra eventos. Separarlas evita repetir atributos en cada préstamo. Empieza por las preguntas y reglas necesarias.

  2. 2

    PRIMARY KEY identifica filas. code es UNIQUE y NOT NULL: no puede repetirse ni faltar. label sí puede repetirse. stock usa CHECK para exigir entero no negativo tras conversión de afinidad; INTEGER solo no basta en una tabla ordinaria.

  3. 3

    NULL significa ausencia o desconocimiento, no cero ni texto vacío. CHECK puede aceptar NULL si la expresión no es falsa; añade NOT NULL para datos obligatorios. Las reglas complementan la validación de la aplicación.

  4. 4

    El ejemplo crea una tabla en memoria. En intentos separados repite un id y prueba stock negativo. Lee la restricción; no la elimines solo para que pase el comando.

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.

-- Modelar con reglas
CREATE TABLE practice (id INTEGER PRIMARY KEY, code TEXT NOT NULL UNIQUE, stock INTEGER NOT NULL CHECK(typeof(stock)='integer' AND stock>=0));
INSERT INTO practice VALUES(1,'T-01',0);
SELECT id, code, stock FROM practice ORDER BY id;
Comparar con la salida de referencia
[
  {
    "columns": [
      "id",
      "code",
      "stock"
    ],
    "rows": [
      [
        1,
        "T-01",
        0
      ]
    ]
  }
]

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

Leer un esquema y distinguir identidad, obligación, unicidad y límites.

Ahora te toca

Taller de descubrimientos

Lee, predice y comprueba

Leer un esquema y distinguir identidad, obligación, unicidad y límites.
Prepara tus respuestas y comprueba cuando estés listo.
Una pausa para entender

¿Qué exige código presente y único?

Necesito una pista

PRIMARY KEY identifica filas. code es UNIQUE y NOT NULL: no puede repetirse ni faltar. label sí puede repetirse. stock usa CHECK para exigir entero no negativo tras conversión de afinidad; INTEGER solo no basta en una tabla ordinaria.

Cargando tu camino…

Llévatelo contigo

Diseña una tabla ficticia de un pasatiempo. Explica clave, valor opcional y dos valores rechazados.

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.