Kodokon kodokon.com

El modelo relacional: tablas, filas, columnas

Descubre cómo una base de datos organiza la información en tablas y crea tu primera tabla en SQLite.

8 min · 3 preguntas

Abrir esta lección en Kodokon

Una base de datos es un programa que almacena información de forma organizada y duradera, incluso cuando la computadora está apagada. El modelo más extendido es el modelo relacional: los datos se organizan en tablas. Una tabla se parece a una hoja de cálculo: cada columna describe una propiedad (un título, un precio...) y cada fila representa un elemento completo (un libro concreto, por ejemplo). SQL (Structured Query Language) es el lenguaje que se usa para crear estas tablas y consultar su contenido. Cada comando que envías a la base de datos se llama consulta.

SQL
CREATE TABLE books (
  id INTEGER PRIMARY KEY,
  title TEXT,
  author TEXT,
  genre TEXT,
  year INTEGER,
  price REAL
);
Nuestra tabla de ejemplo: una pequeña biblioteca

Desglosemos esta consulta. CREATE TABLE books crea una tabla llamada books. Dentro de los paréntesis, cada línea declara una columna: su nombre y luego su tipo, es decir, la clase de datos que acepta. En SQLite, los tipos principales son INTEGER (número entero), REAL (número decimal), TEXT (texto) y BLOB (datos binarios como una imagen). La ausencia de un valor se escribe NULL. Por último, PRIMARY KEY designa la clave primaria: una columna cuyo valor identifica de forma única a cada fila, como un número de expediente.

SQL
INSERT INTO books (id, title, author, genre, year, price)
VALUES
(1, 'Dune', 'Herbert', 'sf', 1965, 9.9),
(2, 'Fondation', 'Asimov', 'sf', 1951, 8.5),
(3, '1984', 'Orwell', 'sf', 1949, 7.2),
(4, 'Croc-Blanc', 'London', 'aventure', 1906, 5.5),
(5, 'Les Robots', 'Asimov', 'sf', 1950, 7.9),
(6, 'Deux ans de vacances', 'Verne', 'aventure', 1888, 6.9),
(7, 'Le Petit Prince', 'Saint-Exupery', 'conte', 1943, 6.5);
Copia y pega este bloque justo después del CREATE TABLE

La consulta INSERT INTO añade filas a la tabla: la veremos en detalle en la última lección. Fíjate en que los valores de texto van entre comillas simples ('Dune'), nunca entre comillas dobles. Ahora comprobemos que todo está en su sitio con una consulta de lectura: SELECT.

SQL
SELECT * FROM books;
El asterisco * significa "todas las columnas"

Deberías ver 7 filas y 6 columnas: tu primera base de datos funciona. Guarda el script CREATE TABLE + INSERT de esta lección: cada lección siguiente se apoya en esta misma tabla books. Si cierras el navegador o la terminal, solo tienes que ejecutarlo de nuevo para volver a empezar desde el mismo punto.

Prueba de conocimientos

Comprueba que has retenido los puntos clave de esta lección.

  1. En una tabla, ¿qué representa una fila?
    • Una propiedad, como el título o el precio
    • Un elemento completo, como un libro concreto
    • El tipo de datos de una columna
  2. ¿Qué tipo de SQLite es adecuado para almacenar un precio como 6.5?
    • INTEGER
    • TEXT
    • REAL
    • BLOB
  3. ¿Cuál es el propósito de la cláusula PRIMARY KEY en la columna id?
    • Ordenar automáticamente las filas en orden alfabético
    • Identificar de forma única a cada fila
    • Prohibir los números negativos