Easier to read with cream paper, a tint, more contrast or larger text? Choose your colours and text, once, for every page.

Vista previa

Crear tablas

Esta es la primera página de la lección. Léela y prueba las actividades. El resto está en el curso completo.

40 minutos

Los clubes del instituto

El instituto quiere apuntar sus clubes: ajedrez, fotografía, teatro. Y todavía no existe ninguna tabla.

Antes de guardar datos hay que construir el sitio donde irán. Es como hacer las estanterías antes de colocar los libros.

Hoy construyes tablas tú.

Palabras clave

PalabraQué significaEjemplo
CREATE TABLELa orden que crea una tabla nueva con sus columnas.CREATE TABLE clubs (...)
Tipo de datoQué clase de valor guarda una columna: número entero, decimal o texto.INTEGER, REAL, TEXT
RestricciónUna regla que los datos de una columna tienen que cumplir.NOT NULL
Valor por defectoEl dato que se guarda solo si no escribes ninguno.DEFAULT 0
EsquemaEl plano de la base: sus tablas, columnas y reglas.Todos los CREATE TABLE

Las celdas que rellenan los estudiantes quedan en blanco en esta vista previa.

CREATE TABLE

Escribes CREATE TABLE, el nombre de la tabla y, entre paréntesis, la lista de columnas. Cada columna lleva su nombre y su tipo.

Los tipos que usarás son tres: INTEGER para números enteros, REAL para decimales y TEXT para texto.

Pruébalo: tu primera tabla

Código: sql
-- Esta línea borra la tabla si ya existía, para poder repetir la prueba.
DROP TABLE IF EXISTS clubs;

CREATE TABLE clubs (
  id INTEGER PRIMARY KEY,
  name TEXT,
  members INTEGER
);

INSERT INTO clubs VALUES (1, 'Ajedrez', 14);
SELECT * FROM clubs;

Ejemplo resuelto: el tipo de cada columna

DatoTipoPor qué
Número de socios: 14INTEGEREs un número entero
Cuota al mes: 2.5 eurosREALTiene decimales
Nombre del club: AjedrezTEXTEs texto
Día de reunión: martesTEXTEs texto, aunque sea una fecha

Las celdas que rellenan los estudiantes quedan en blanco en esta vista previa.

Reglas para los datos

Una restricción es una regla que pones a una columna. La base la vigila por ti y rechaza el dato que no la cumple.

Así un club sin nombre o un número de socios negativo no entran nunca en la tabla.

Las restricciones más útiles

RestricciónQué exigeEjemplo
PRIMARY KEYIdentifica cada fila y no se repiteid INTEGER PRIMARY KEY
NOT NULLLa columna nunca puede quedar vacíaname TEXT NOT NULL
UNIQUENo se puede repetir el valoremail TEXT UNIQUE
DEFAULTSi no escribes dato, se guarda estemembers INTEGER DEFAULT 0
CHECKEl dato debe cumplir una condiciónCHECK (members >= 0)

Las celdas que rellenan los estudiantes quedan en blanco en esta vista previa.

Pruébalo: una tabla con reglas

Código: sql
DROP TABLE IF EXISTS clubs;

CREATE TABLE clubs (
  id INTEGER PRIMARY KEY,
  name TEXT NOT NULL,
  email TEXT UNIQUE,
  members INTEGER DEFAULT 0,
  CHECK (members >= 0)
);

INSERT INTO clubs (name, email) VALUES ('Ajedrez', '[email protected]');
INSERT INTO clubs (name, email, members) VALUES ('Fotografía', '[email protected]', 12);
SELECT * FROM clubs;

-- Ajedrez no tenía socios escritos: DEFAULT guarda un 0.

Repaso rápido: restricciones

Inténtalo

Repaso rápido: restricciones

3 preguntas
Pruébalo: tus respuestas se corrigen aquí y después se olvidan. Inicia sesión si quieres que se guarde tu puntuación y continuar donde lo dejaste.Iniciar sesión para guardar tu puntuación

Tus respuestas se corrigen aquí y no se guardan. Una cuenta guarda tus resultados.

La lección continúa

10 partes más de esta lección están en el curso completo, con los ejercicios y la comprobación final. Una cuenta te da todo.