Modelado de datos (data modeling)
El modelado de datos es decidir cómo se organizan los datos en tablas: qué guarda cada una, qué es una fila y cómo se conectan, para que las preguntas den la respuesta correcta.
Selecciona cualquier frase de aquí para preguntarle a tu Maestro.
Ana tiene 2 pedidos ($2,000 y $1,000) y 3 tickets de soporte. En una sola consulta haces LEFT JOIN de clientes a pedidos y a tickets, y sumas el monto con SUM. ¿Qué total te da para Ana?
Para qué sirve: un buen modelo hace que la consulta correcta sea la fácil. Decide el grano de cada tabla (qué es una fila), sus llaves y cómo se relacionan las tablas: uno a uno, uno a muchos o muchos a muchos.
Tres niveles: un modelo conceptual nombra las cosas que le importan al negocio (clientes, pedidos, productos); uno lógico lista sus campos y relaciones; uno físico son las tablas reales en una base de datos. Para análisis, la forma más común es el esquema de estrella.
Quién lo hace: ingenieros de datos e ingenieros de analítica, muchas veces con herramientas como dbt, para un data warehouse.
Así se usa
De la idea a las tablas
Una tienda, en tres niveles
- Conceptual: los clientes hacen pedidos, y cada pedido tiene productos
- Lógico: clientes(id_cliente, nombre, ciudad) · pedidos(id_pedido, id_cliente, fecha) · partidas(id_pedido, id_producto, cantidad, precio)
- marcado: Físico: CREATE TABLE pedidos (id_pedido INT PRIMARY KEY, id_cliente INT REFERENCES clientes, fecha DATE)La misma idea, ya con los tipos y las llaves de la base de datos.
Cuándo mirar más de cerca
Todo en una sola hoja
Una hoja de pedidos
- pedidos: id_pedido, fecha, monto, nombre_cliente, ciudad_cliente
- marcado: Lupita tiene 12 pedidos; se muda y le cambias la ciudad a Querétaro en el más reciente
Tu hoja repite la ciudad del cliente en cada pedido. Lupita se muda y actualizas su pedido más reciente. ¿Qué muestra un reporte por ciudad?
Pregúntale a tu Maestro sobre Modelado de datos
Te responde desde la página gratis más cercana a esta palabra, igual que mientras estudias.
Tú: ¿Qué quiere decir "Modelado de datos", en palabras sencillas?
Tu Maestro: Te lo explico con un caso tuyo, que se queda mejor que una definición. ¿Qué tablas juntas a mano para armar tus reportes?
Pregunta sobre: Responde desde la página "¿Qué es una fila? La pregunta que cambia el número"
Solo este navegador guarda lo que preguntas aquí. ¿Cómo funciona?
Para saber más
Términos relacionados
- Esquema de estrella
Un esquema de estrella acomoda los datos para analizar: una tabla de hechos con eventos, como ventas, al centro, unida por llaves a tablas de dimensiones (cliente, producto, fecha) que los describen.
- Granularidad (de una tabla)
Lo que representa una fila de una tabla: una persona, una transacción, un planeta, una persona por lenguaje. Contar filas solo cuenta lo que quieres si conoces la granularidad.
- JOIN en SQL
Un JOIN en SQL combina los renglones de dos tablas donde una columna coincide, como los pedidos con sus clientes. El tipo de JOIN decide qué pasa con los que no tienen pareja.
- dbt (data build tool)
dbt (data build tool) convierte consultas SELECT de SQL en tablas o vistas de tu almacén de datos, las corre en orden y prueba los resultados: dbt run construye los modelos y dbt test los revisa.