Normaliser les données relationnelles

Introduction à la modélisation des données dans Snowflake

Nuno Rocha

Director of Engineering

Comprendre les données non normalisées

  • Données non normalisées (UNF) : Données sans structure claire, désorganisées, avec des répétitions et/ou des anomalies

Entité Tous les produits

Introduction à la modélisation des données dans Snowflake

Comprendre les données non normalisées

Anomalies dans l'entité Tous les produits

Introduction à la modélisation des données dans Snowflake

Comprendre les données non normalisées

Anomalie Banana mise en évidence

Introduction à la modélisation des données dans Snowflake

Comprendre les données non normalisées (3)

Anomalie du fabricant mise en évidence

Introduction à la modélisation des données dans Snowflake

Comprendre les données non normalisées (4)

Anomalie dans la description détaillée mise en évidence

Introduction à la modélisation des données dans Snowflake

Comprendre les données non normalisées (5)

Anomalie Produits mise en évidence

Introduction à la modélisation des données dans Snowflake

Problèmes des données non normalisées

  • Redondance des données : Répétition inutile de données
  • Anomalies de données : Irrégularités ou incohérences dans les données

Anomalies dans l'entité Tous les produits

Introduction à la modélisation des données dans Snowflake

Repérer les données non normalisées

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

Liste des fabricants avec le nombre de répétitions de produits

Introduction à la modélisation des données dans Snowflake

Repérer les données non normalisées

SELECT DISTINCT category 
FROM allproducts;

Liste des catégories

Introduction à la modélisation des données dans Snowflake

Repérer les données non normalisées

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

Liste des produits de catégorie L

Introduction à la modélisation des données dans Snowflake

Repérer les données non normalisées

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

Liste de tous les produits contenant L

Introduction à la modélisation des données dans Snowflake

Données normalisées

  • Données normalisées : Données organisées en entités distinctes et atomiques
  • Avantages :
    • Améliore l'exactitude et la fiabilité
    • Accélère les requêtes
    • Utilisation des ressources optimisée
    • Extensibilité
Introduction à la modélisation des données dans Snowflake

Aperçu de la terminologie et des fonctions

  • Données non normalisées (UNF) : Données sans structure claire, désorganisées, ou contenant des répétitions ou des anomalies
  • Données normalisées : Données organisées en entités distinctes et atomiques
  • SELECT FROM : Clause SQL pour extraire des données d'une entité précise
  • DISTINCT : Clause SQL renvoyant des valeurs uniques d'un attribut
  • COUNT : Clause SQL comptant les lignes correspondant aux critères
  • GROUP BY : Clause SQL regroupant les lignes par attributs identiques
  • HAVING : Clause SQL avec GROUP BY pour filtrer des groupes par condition
  • WHERE : Clause SQL pour filtrer selon une condition
  • AS : Clause SQL pour renommer une colonne ou une table avec un alias
Introduction à la modélisation des données dans Snowflake

Aperçu des fonctions

-- Interroger des valeurs uniques en filtrant par une condition précise
SELECT DISTINCT column_name
FROM table_name
WHERE column_name  condition  value;
-- Compter des valeurs agrégées par une colonne en filtrant les résultats
SELECT column_name, 
    COUNT(*) AS alias_name
FROM table_name
GROUP BY column_name
HAVING COUNT(*)  condition  value;
Introduction à la modélisation des données dans Snowflake

Passons à la pratique !

Introduction à la modélisation des données dans Snowflake

Preparing Video For Download...