Normalizando dados relacionais

Introdução à Modelagem de Dados no Snowflake

Nuno Rocha

Director of Engineering

Entendendo dados não normalizados

  • Dados não normalizados (UNF): Podem não ter estrutura, ser desorganizados e conter repetições e/ou anomalias

Entidade de todos os produtos

Introdução à Modelagem de Dados no Snowflake

Entendendo dados não normalizados

Anomalias na entidade de todos os produtos

Introdução à Modelagem de Dados no Snowflake

Entendendo dados não normalizados

Anomalia da Banana destacada

Introdução à Modelagem de Dados no Snowflake

Entendendo dados não normalizados (3)

Anomalia do fabricante destacada

Introdução à Modelagem de Dados no Snowflake

Entendendo dados não normalizados (4)

Anomalia na descrição detalhada destacada

Introdução à Modelagem de Dados no Snowflake

Entendendo dados não normalizados (5)

Anomalia nos produtos destacada

Introdução à Modelagem de Dados no Snowflake

Problemas com dados não normalizados

  • Redundância de dados: Repetição desnecessária de dados
  • Anomalias de dados: Irregularidades ou inconsistências nos dados

Anomalias na entidade de todos os produtos

Introdução à Modelagem de Dados no Snowflake

Identificando dados não 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 com contagem de repetições de produtos

Introdução à Modelagem de Dados no Snowflake

Identificando dados não normalizados

SELECT DISTINCT category 
FROM allproducts;

Lista de categorias

Introdução à Modelagem de Dados no Snowflake

Identificando dados não normalizados

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

Lista de produtos com categoria L

Introdução à Modelagem de Dados no Snowflake

Identificando dados não normalizados

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

Lista de todos os produtos que contêm L

Introdução à Modelagem de Dados no Snowflake

Dados normalizados

  • Dados normalizados: Dados organizados em entidades distintas e atômicas
  • Benefícios:
    • Melhora a precisão e a confiabilidade
    • Aumenta o desempenho das consultas
    • Uso otimizado de recursos
    • Escalabilidade
Introdução à Modelagem de Dados no Snowflake

Visão geral: termos e funções

  • Dados não normalizados (UNF): Podem não ter estrutura, ser desorganizados ou conter repetições ou anomalias
  • Dados normalizados: Dados organizados em entidades distintas e atômicas
  • SELECT FROM: Cláusula SQL para buscar dados de uma entidade específica
  • DISTINCT: Cláusula SQL que retorna valores únicos de um atributo
  • COUNT: Cláusula SQL que conta as linhas que atendem ao critério
  • GROUP BY: Cláusula SQL que agrupa linhas com os mesmos valores pelos atributos especificados
  • HAVING: Cláusula SQL usada com GROUP BY para filtrar grupos por uma condição
  • WHERE: Cláusula SQL para filtrar registros por uma condição
  • AS: Cláusula SQL para renomear coluna ou tabela com um alias
Introdução à Modelagem de Dados no Snowflake

Visão geral de funções

-- Consultar valores únicos filtrados por uma condição específica
SELECT DISTINCT column_name
FROM table_name
WHERE column_name  condition  value;
-- Contar valores agregados por uma coluna específica enquanto filtra os resultados
SELECT column_name, 
    COUNT(*) AS alias_name
FROM table_name
GROUP BY column_name
HAVING COUNT(*)  condition  value;
Introdução à Modelagem de Dados no Snowflake

Vamos praticar!

Introdução à Modelagem de Dados no Snowflake

Preparing Video For Download...