Estructura de una tabla: columnas y filas
Imagina una tabla de Excel o una hoja de cálculo. Una tabla en SQL funciona exactamente igual, pero con superpoderes. Es la estructura fundamental donde se almacenan todos los datos en una base de datos relacional. En esta lección vas a entender cómo están organizadas las tablas y por qué es crucial comprender la diferencia entre columnas y filas.
¿Qué es una tabla en SQL?
Una tabla es una colección de datos organizados en un formato de cuadrícula con filas y columnas. Cada tabla tiene un nombre único dentro de la base de datos que la identifica claramente.
En SQL, una tabla es la estructura básica para almacenar datos. Se compone de columnas (la estructura) y filas (los datos reales).
Las columnas: la estructura de la tabla
Las columnas definen qué tipo de información se puede almacenar en la tabla. Cada columna tiene un nombre, un tipo de dato específico y características especiales como permitir valores nulos o ser clave primaria.
Tipos de datos comunes en columnas
| Tipo de dato | Descripción | Ejemplo |
|---|---|---|
VARCHAR |
Texto de longitud variable | "María García" |
INT |
Números enteros | 25, 100, 999 |
DATE |
Fecha | 2024-01-15 |
DECIMAL |
Números con decimales | 19.99, 3.50 |
BOOLEAN |
Verdadero o falso | TRUE, FALSE |
Características de las columnas
Cuando creamos una columna, podemos especificar varias características importantes:
- NOT NULL: La columna debe tener siempre un valor
- PRIMARY KEY: Identificador único para cada fila
- UNIQUE: No puede haber valores repetidos
- DEFAULT: Valor predeterminado si no se especifica
Las filas: los datos reales
Las filas (también llamadas registros o tuplas) son las entradas individuales de datos. Cada fila representa un objeto o entidad completa. Siguiendo el ejemplo de una tabla de empleados, cada fila sería los datos de un empleado específico.
Piensa en las columnas como las preguntas de un formulario (¿Cuál es tu nombre? ¿Cuántos años tienes?) y en las filas como las respuestas completas de cada persona que preenchió el formulario.
Ejemplo práctico: tabla de empleados
Vamos a crear una tabla llamada empleados con la siguiente estructura:
CREATE TABLE empleados (
id INT PRIMARY KEY,
nombre VARCHAR(100) NOT NULL,
puesto VARCHAR(50) NOT NULL,
salario DECIMAL(10,2),
fecha_contratacion DATE,
activo BOOLEAN DEFAULT TRUE
);
Ahora veamos cómo se verían los datos (las filas) en esta tabla:
| id | nombre | puesto | salario | fecha_contratacion | activo |
|---|---|---|---|---|---|
| 1 | Carlos Rodríguez | Desarrollador Senior | 45000.00 | 2022-03-15 | true |
| 2 | Ana Martínez López | Diseñadora UX | 38000.00 | 2023-01-10 | true |
| 3 | Miguel Sánchez Ruiz | Analista de Datos | 42000.00 | 2021-08-22 | true |
| 4 | Laura Fernández Castro | Gerente de Proyecto | 55000.00 | 2020-05-01 | false |
Diferencia entre columnas y filas
Es fundamental entender esta distinción porque la usarás constantemente en SQL:
| Aspecto | Columnas | Filas |
|---|---|---|
| Definición | Definen la estructura | Contienen los datos |
| Analogía | Campos de un formulario | Respuestas completas |
| En SQL | Se usan en SELECT, WHERE, GROUP BY | Se manipulan con INSERT, UPDATE, DELETE |
| Cantidad típica | Pocas (5-20 normalmente) | Muchas (miles o millones) |
La clave primaria: identificador único
Cada tabla debe tener una clave primaria (primary key), que es una columna (o combinación de columnas) que identifica de forma única cada fila. En nuestra tabla de empleados, la columna id es la clave primaria.
¿Por qué es necesaria una clave primaria?
- Identificación única: Cada fila necesita ser identificada sin ambigüedad
- Integridad de datos: Previene registros duplicados
- Relaciones: Otras tablas pueden referenciarla
- Rendimiento: Los sistemas optimizan las búsquedas por clave primaria
Insertar datos: añadiendo filas
Para agregar nuevas filas a una tabla, usamos el comando INSERT INTO:
INSERT INTO empleados (id, nombre, puesto, salario, fecha_contratacion, activo)
VALUES (5, 'Patricia Vega Torres', 'Contadora', 40000.00, '2024-02-01', TRUE);
La sintaxis de INSERT INTO sigue el patrón: INSERT INTO nombre_tabla (columnas) VALUES (valores). Los valores de texto van entre comillas simples, los números no.
Consultar la estructura de una tabla
Si quieres ver las columnas de una tabla sin sus datos, puedes usar:
DESCRIBE empleados;
O en algunos sistemas:
SELECT column_name, data_type
FROM information_schema.columns
WHERE table_name = 'empleados';
Conceptos avanzados: esquemas
Ver más sobre esquemas de base de datosLas tablas pertenecen a esquemas, que son contenedores lógicos dentro de una base de datos. El esquema predeterminado suele llamarse public.
La sintaxis completa sería: esquema.tabla.columna
Por ejemplo: recursos_humanos.empleados.id
Esto es especialmente útil en bases de datos grandes donde quieres organizar tablas relacionadas en grupos.
Errores comunes con columnas y filas
Resumen visual
- 📊 Columnas = Verticales = Definen QUÉ guardamos = Campos
- 📋 Filas = Horizontales = Contienen los datos reales = Registros
- 🔑 Primary Key = Identificador único por fila
- 🏗️ Estructura = Columnas | Datos = Filas
Practicando lo aprendido
Ahora imagina que tienes una tabla llamada productos con estas columnas: id, nombre, precio, categoria, stock.
Conclusión
Ahora entiendes la estructura fundamental de las tablas en SQL. Las columnas definen la estructura y los tipos de datos que puedes almacenar, mientras que las filas contienen los datos reales. Esta distinción es crucial para escribir consultas SQL efectivas y diseñar bases de datos bien organizadas.
En la próxima lección aprenderás sobre tipos de datos más detallados y cómo elegir el más apropiado para cada columna.
Si una tabla tiene 10 columnas y almacena información de 500 clientes, ¿cuántas columnas y cuántas filas tiene la tabla?
- A) 10 columnas y 500 filas
- B) 500 columnas y 10 filas
- C) 10 columnas y 10 filas
- D) 500 columnas y 500 filas
¿Para qué sirve la clave primaria (PRIMARY KEY) en una tabla?
- A) Para encriptar los datos de la tabla
- B) Para identificar de forma única cada fila de la tabla
- C) Para ordenar las filas alfabéticamente
- D) Para eliminar filas duplicadas manualmente
¿Qué comando SQL usarías para ver la estructura (columnas) de una tabla llamada "clientes"?
- A) SELECT * FROM clientes
- B) DELETE FROM clientes
- C) DESCRIBE clientes
- D) UPDATE clientes SET