Modèle entité-association

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

Nuno Rocha

Director of Engineering

Introduction à la modélisation entité-association

  • Modèle entité-association (ER) : structure des données normalisées via des entités, attributs et relations

Entités du thème universitaire à modéliser

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

Exemple de modèle entité-association

Interaction des entités du thème universitaire

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

Pourquoi choisir le modèle ER

  • Clarté
    • Simplifie les liens métier en reflétant les interactions réelles
  • Organisation
    • Décompose les données en entités liées, facilitant la gestion
  • Flexibilité
    • S'adapte à l'évolution dans le temps
Introduction à la modélisation des données dans Snowflake

Construire le modèle ER

Modèle du thème universitaire 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 : lien entre les entités classes et schools

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

Construire le modèle ER

Modèle du thème universitaire, nouvelle entité enrollments

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

Construire le modèle ER

CREATE OR REPLACE TABLE enrollments (
      -- Create a new entity with a unique identifier
      enrollment_id NUMBER(10,0) PRIMARY KEY

-- Add the entity's attributes year NUMBER(4,0), semester VARCHAR(255)
-- Add relationships to other entities 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 universitaire final

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

Extraire des données du modèle ER

Interroger le modèle ER : noms des étudiants et cours suivis en 2023 à l'école Science

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

Extraire des données du modèle ER

SELECT students.name  
FROM students;

Interroger le modèle ER : noms des étudiants

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

Extraire des 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 : étudiants et inscriptions

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

Extraire des 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 : inscriptions 2023

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

Extraire des 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 : noms des cours

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

Extraire des 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

Extraire des 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 : école Science

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

Terminologie et fonctions : récapitulatif

  • Modèle entité-association (ER) : structure des données normalisées avec des entités et des 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 selon une condition.
  • AND : opérateur logique utilisé avec WHERE pour combiner des conditions.
-- Interroger des données issues d'entités jointes, filtrées par conditions
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...