Modèle entité-relation

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

Nuno Rocha

Director of Engineering

Introduction à la modélisation entité-relation

  • Modèle entité-relation (ER) : Structure des données normalisées à l'aide d'entités, d'attributs et de relations

Entités du thème collégial à modéliser

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

Exemple de modèle entité-relation

Interaction des entités du thème collégial

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

Pourquoi choisir le modèle ER

  • Clarté
    • Simplifie les liens d'affaires en reflétant les interactions réelles
  • Organisation
    • Découpe les données en entités liées, ce qui facilite la gestion
  • Flexibilité
    • S'adapte à la croissance et aux changements dans le temps
Introduction à la modélisation des données dans Snowflake

Construire le modèle ER

Modèle collégial avec inscriptions

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

Construire le modèle ER

  • Ajouter une relation entre des entités existantes :
ALTER TABLE classes
ADD FOREIGN KEY (school_id) REFERENCES schools(school_id);

Modèle collégial, liaison des entités courses et écoles

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

Construire le modèle ER

Modèle collégial, nouvelle entité enrollments

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

Construire le modèle ER

CREATE OR REPLACE TABLE enrollments (
      -- Créer une nouvelle entité avec un identifiant unique
      enrollment_id NUMBER(10,0) PRIMARY KEY

-- Ajouter les attributs de l'entité year NUMBER(4,0), semester VARCHAR(255)
-- Ajouter des relations vers d'autres entités FOREIGN KEY (student_id) REFERENCES students(student_id), FOREIGN KEY (class_id) REFERENCES classes(class_id)
);
Introduction à la modélisation des données dans Snowflake

Construire le modèle ER

Modèle ER collégial final

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

Extraction de données du modèle ER

Interroger le modèle ER pour les noms d'étudiants et les cours suivis en 2023 à l'école des sciences

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

Extraction de données du modèle ER

SELECT students.name  
FROM students;

Interroger le modèle ER pour les noms d'étudiants

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

Extraction de données du modèle ER

SELECT students.name
FROM students
    JOIN enrollments 
    ON students.student_id = enrollments.student_id;

Interroger le modèle ER pour les étudiants et leurs inscriptions

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

Extraction de données du modèle ER

SELECT students.name
FROM students
    JOIN enrollments 
    ON students.student_id = enrollments.student_id
WHERE enrollments.year = '2023';

Interroger le modèle ER pour les inscriptions 2023

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

Extraction de données du modèle ER

SELECT students.name, 
    classes.class_name
FROM students
    JOIN enrollments 
    ON students.student_id = enrollments.student_id
    JOIN classes 
    ON enrollments.class_id = classes.class_id
WHERE enrollments.year = '2023';

Interroger le modèle ER pour les noms des cours

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

Extraction de données du modèle ER

SELECT students.name, 
    classes.class_name
FROM students
    JOIN enrollments 
    ON students.student_id = enrollments.student_id
    JOIN classes 
    ON enrollments.class_id = classes.class_id
    JOIN schools 
    ON classes.department_id = schools.school_id
WHERE enrollments.year = '2023'
    AND schools.school_name = 'Science';
Introduction à la modélisation des données dans Snowflake

Extraction de données du modèle ER

  • JOIN ON : Clause SQL pour combiner des lignes de tables, basée ON une colonne liée.

Interroger le modèle ER pour l'école des sciences

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

Aperçu de la terminologie et des fonctions

  • Modèle entité-relation (ER) : Structure des données normalisées à l'aide d'entités et de relations.
  • SELECT FROM : Commande SQL pour récupérer des colonnes d'une table.
  • JOIN ON : Clause SQL pour combiner des lignes de tables, basée ON une colonne liée.
  • WHERE : Clause SQL pour filtrer les enregistrements selon une condition.
  • AND : Opérateur logique avec WHERE pour combiner plusieurs conditions.
-- Interroger des données issues d'entités jointes avec des conditions précises
SELECT column_name
FROM table_name
    JOIN other_table ON table_name.FK = other_table.PK
WHERE column_name  condition  value
    AND column_name  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...