Normalización de datos relacionales

Introducción al modelado de datos en Snowflake

Nuno Rocha

Director of Engineering

Comprender los datos no normalizados

  • Datos no normalizados (UNF): Datos que pueden carecer de estructura, estar desorganizados y contener repeticiones o anomalías

Entidad de todos los productos

Introducción al modelado de datos en Snowflake

Comprender los datos no normalizados

Anomalías en la entidad de todos los productos

Introducción al modelado de datos en Snowflake

Comprender los datos no normalizados

Anomalía de banana destacada

Introducción al modelado de datos en Snowflake

Comprender los datos no normalizados (3)

Anomalía del fabricante destacada

Introducción al modelado de datos en Snowflake

Comprender los datos no normalizados (4)

Anomalía en la descripción detallada destacada

Introducción al modelado de datos en Snowflake

Comprender los datos no normalizados (5)

Anomalía en productos destacada

Introducción al modelado de datos en Snowflake

Problemas con datos no normalizados

  • Redundancia de datos: Repetición innecesaria de datos
  • Anomalías de datos: Irregularidades o incoherencias en los datos

Anomalías en la entidad de todos los productos

Introducción al modelado de datos en Snowflake

Identificar datos no normalizados

SELECT manufacturer_id, 
       manufacturer_name, 
       location, 
       COUNT(*) AS repetitions
FROM allproducts
GROUP BY manufacturer_id, 
    manufacturer_name, 
    location
HAVING COUNT(*) > 1;

Lista de fabricantes con recuento de repeticiones de productos

Introducción al modelado de datos en Snowflake

Identificar datos no normalizados

SELECT DISTINCT category 
FROM allproducts;

Lista de categorías

Introducción al modelado de datos en Snowflake

Identificar datos no normalizados

SELECT DISTINCT product_name,
    category
FROM allproducts
WHERE category = 'L';

Lista de productos con categoría L

Introducción al modelado de datos en Snowflake

Identificar datos no normalizados

SELECT DISTINCT product_name,
    category
FROM allproducts
WHERE category = 'L';

Lista de todos los productos que contienen L

Introducción al modelado de datos en Snowflake

Datos normalizados

  • Datos normalizados: Datos organizados en entidades distintas y atómicas
  • Beneficios:
    • Mejora la exactitud y fiabilidad de los datos
    • Mejora el rendimiento de las consultas
    • Uso optimizado de recursos
    • Escalabilidad
Introducción al modelado de datos en Snowflake

Resumen de terminología y funciones

  • Datos no normalizados (UNF): Datos que pueden carecer de estructura, estar desorganizados o contener repeticiones o anomalías
  • Datos normalizados: Datos organizados en entidades distintas y atómicas
  • SELECT FROM: Cláusula SQL para recuperar datos de una entidad específica
  • DISTINCT: Cláusula SQL que devuelve valores únicos (diferentes) de un atributo
  • COUNT: Cláusula SQL que cuenta las filas que cumplen los criterios indicados
  • GROUP BY: Cláusula SQL que agrupa filas con los mismos valores por los atributos indicados
  • HAVING: Cláusula SQL usada con GROUP BY para filtrar grupos según una condición
  • WHERE: Cláusula SQL para filtrar registros según una condición
  • AS: Cláusula SQL para renombrar una columna o tabla con un alias
Introducción al modelado de datos en Snowflake

Resumen de funciones

-- Consultar valores únicos filtrados por una condición específica
SELECT DISTINCT column_name
FROM table_name
WHERE column_name  condition  value;
-- Contar valores agregados por una columna específica mientras se filtran los resultados
SELECT column_name, 
    COUNT(*) AS alias_name
FROM table_name
GROUP BY column_name
HAVING COUNT(*)  condition  value;
Introducción al modelado de datos en Snowflake

¡Vamos a practicar!

Introducción al modelado de datos en Snowflake

Preparing Video For Download...