04 · Práctica

Cómo se documenta una tabla

La ficha completa de fct_ventas: metadatos, una tabla visual con datos de ejemplo y el diccionario de columnas — tal como se ve en un catálogo de datos real.

Un caso concreto: tu primer día en el equipo de datos

Imagina que acabas de entrar al equipo de datos de una cadena de cafeterías. El primer pedido es simple: "necesitamos el total vendido este mes". Abres la base y encuentras una tabla llamada fct_ventas, sin ninguna nota al lado.

Ahí empiezan las dudas. ¿Una fila es un ticket completo, o un producto dentro de un ticket? Si se suma la columna cantidad sin saberlo, se podría estar contando "3 cafés en un mismo ticket" como si fueran tres ventas separadas. ¿Y precio? ¿es el precio de hoy, o el que se cobró ese día puntual? Si la cafetería subió precios la semana pasada, esa duda cambia el resultado del reporte.

Ese tipo de duda es exactamente lo que una ficha de documentación resuelve antes de que se convierta en un número equivocado en un reporte. El resto de esta página documenta fct_ventas paso a paso, hasta dejar cada una de esas preguntas sin ambigüedad.

Por qué esto importa, en general

Una tabla sin documentación es una caja negra: la próxima persona que la use (o tú mismo en seis meses) no sabe qué representa cada fila, si un valor puede venir vacío, o si esa columna ya está descontinuada. Documentar bien evita tres problemas típicos: preguntas repetidas en el chat del equipo, análisis hechos sobre datos mal entendidos, y miedo a tocar una tabla porque "nadie sabe para qué sirve esa columna".

1. Metadatos generales

Antes de listar columnas, toda ficha empieza con el contexto general de la tabla:

Tabla
fct_ventas
Tipo
tabla de hechos
Grano
una fila = un producto vendido dentro de un ticket (no el ticket completo)
Origen
sistema de punto de venta (POS), tabla ventas_raw
Actualización
carga incremental cada día a las 03:00
Dueño
equipo de Datos — canal #datos-soporte
El grano es lo más importante de toda la ficha — es la respuesta a la primera duda del ejemplo de arriba. Aquí dice explícitamente "un producto dentro de un ticket, no el ticket completo", así que sumar cantidad da unidades vendidas, no cantidad de tickets. Si el grano fuera otro, esa misma suma significaría algo completamente distinto.

2. Datos de ejemplo (tabla visual)

Mostrar filas reales (o simuladas) es lo que más rápido le da contexto a alguien nuevo. Así se vería fct_ventas con datos de muestra:

fct_ventas — muestra de 5 filas
id_ventaid_productoid_cliente cantidadpreciofecha
1001P-204C-88215.502026-08-01
1002P-071C-88142.002026-08-01
1003P-204C-15315.502026-08-02
1004P-330C-4219.902026-08-02
1005P-071C-15242.002026-08-03

En ámbar, la clave primaria (id_venta). En verde, las claves foráneas que apuntan a las dimensiones (id_producto, id_cliente) — así se conecta esta tabla de hechos con el esquema en estrella que viste antes.

3. Diccionario de columnas

Después de la muestra visual, cada columna se describe una por una. Esto es lo que herramientas como dbt docs o un catálogo de datos generan automáticamente a partir de esta información:

ColumnaTipoDescripciónEjemplo
id_ventaPK integer Identificador único de la línea de venta. No se repite nunca. 1001
id_productoFK varchar Referencia al producto vendido, apunta a dim_producto. P-204
id_clienteFK varchar Referencia al cliente que compró, apunta a dim_cliente. Puede ser nulo si la venta fue sin registrar cliente. C-88
cantidad integer Unidades del producto vendidas en esta línea. Siempre mayor a cero. 2
precio decimal(10,2) Precio unitario al momento de la venta, en la moneda local. No es el precio actual del producto — es el histórico de ese día. 15.50
fecha date Fecha en que se realizó la venta. Se usa para unir con dim_fecha. 2026-08-01

4. Una dimensión se documenta distinto

La tabla de hechos guarda claves y medidas (números que se suman o promedian). Una dimensión, en cambio, guarda atributos descriptivos — texto que sirve para filtrar y agrupar. Compara el diccionario de dim_producto:

ColumnaTipoDescripciónEjemplo
id_productoPK varchar Identificador único del producto. P-204
nombre varchar Nombre comercial del producto tal como aparece en el ticket. Café molido 500g
categoria varchar Familia a la que pertenece, usada para agrupar reportes. Almacén
activo boolean Si el producto todavía se vende o fue discontinuado. true

Nota: cuando un atributo como categoria se guarda en su propia tabla en vez de repetirse en cada producto, eso es justamente el paso de estrella a copo de nieve.

Herramientas que generan esto automáticamente

En un equipo real, esta ficha casi nunca se escribe a mano: se genera a partir del propio código de las tablas. Herramientas como dbt docs o SchemaSpy leen la base de datos (o los modelos de transformación) y arman esta documentación — incluyendo diagramas de relaciones — de forma automática.