Contenido de esta guía
Qué es una tabla
Una tabla es una estructura con columnas definidas y cero o más filas. Cada fila representa una ocurrencia del concepto que modela la tabla; cada columna registra una propiedad concreta.
En productos, una fila representa un producto. Las columnas nombre, precio y stock no son listas independientes: juntas describen el mismo producto identificado por id.
Estructura y datos no son lo mismo
Esquema
Define nombres de columnas, tipos, valores predeterminados, claves y restricciones. Cambia mediante instrucciones de definición como CREATE TABLE o ALTER TABLE.
Filas almacenadas
Contienen los valores concretos. Cambian mediante INSERT, UPDATE y DELETE.
Una tabla puede existir sin filas. Su estructura sigue definida aunque una consulta SELECT * no devuelva resultados.
Ejemplo: leer tres filas sin confundir posiciones
SELECT id, nombre, precio
FROM productos
ORDER BY id
LIMIT 3;| id | nombre | precio |
|---|---|---|
| 1 | Ratón | 24,9 |
| 2 | Teclado | 49,5 |
| 3 | Monitor 24 | 179,0 |
El orden visual no forma parte de la tabla. Se ha solicitado con ORDER BY id. Sin esa cláusula, el motor no garantiza que las filas aparezcan siempre en la misma secuencia.
Por qué una tabla necesita identidad y reglas
Una clave primaria identifica cada fila de forma única. Una clave foránea relaciona una fila con otra tabla. Las restricciones como NOT NULL, UNIQUE o CHECK impiden estados que el modelo considera inválidos.
Estas reglas no sustituyen una buena explicación del dominio, pero hacen que la base de datos pueda rechazar parte de los errores antes de que se propaguen.
Cómo conocer una tabla de verdad
No deduzcas la estructura solo por una captura o por una consulta con algunas columnas. Revisa el esquema mediante las herramientas de metadatos de tu motor. Los comandos concretos cambian: PostgreSQL ofrece catálogos y comandos de cliente; SQLite dispone de pragmas; MySQL y SQL Server tienen sus propios catálogos.
Para conocer el contenido, utiliza consultas explícitas. Por ejemplo, esta consulta confirma que productos contiene nueve filas repartidas entre cinco categorías:
SELECT COUNT(*) AS filas,
COUNT(DISTINCT categoria) AS categorias
FROM productos;| filas | categorias |
|---|---|
| 9 | 5 |
Errores frecuentes
Tratar cada fila como una posición permanente
Una fila no es «la tercera» salvo que la consulta defina un orden. Identifícala mediante una clave estable.
Guardar varios valores en una sola celda
Una lista separada por comas suele dificultar filtros, relaciones y restricciones. Modela entidades y relaciones en tablas adecuadas.
Práctica de comprensión
Describe la tabla clientes
Observa las columnas id, nombre, email, ciudad, fecha_registro y activo. Decide cuál debería identificar una fila, cuál puede ser desconocida y qué columna representa un estado lógico.
activo utiliza 1 y 0 para representar dos estados.Respuesta razonada
id es la clave primaria. email admite NULL porque no siempre se conoce. activo representa un estado lógico. El nombre o la ciudad no son buenos identificadores porque pueden repetirse o cambiar.
Compatibilidad entre motores
El concepto de tabla es común, pero los tipos, la generación automática de claves, las modificaciones de esquema y los comandos para inspeccionar metadatos cambian entre motores. Separa siempre el modelo general de la sintaxis específica.
Qué debes recordar
- Las columnas definen propiedades; las filas contienen ocurrencias.
- El esquema y los datos cambian con familias distintas de sentencias.
- Una clave identifica filas; las restricciones protegen reglas.
- El orden solo existe cuando la consulta lo solicita.