Data Vault

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

Nuno Rocha

Director of Engineering

Introduction au modèle Data Vault

  • Modèle Data Vault : Technique de modélisation axée sur l'historique des données, structurée autour des hubs, liens et satellites.

Modèle Data Vault

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

Composants de Data Vault

  • Hubs : Représentent des concepts d'affaires uniques à l'aide d'une clé d'affaires unique.

Modèle Data Vault : hubs

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

Composants de Data Vault (1)

  • Liens : Capturent les relations et interactions entre hubs.

Modèle Data Vault : liens

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

Composants de Data Vault (2)

  • Satellites : Stockent les détails descriptifs et historiques liés aux hubs et aux liens.

Modèle Data Vault : satellites

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

Construire des hubs

Hubs du Data Vault collégial

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

Construire des hubs (1)

  • AUTOINCREMENT : Propriété d'attribut qui génère automatiquement des valeurs numériques uniques, séquentielles, pour chaque nouvelle ligne.
CREATE OR REPLACE TABLE hub_students (
    student_key NUMBER(10,0) AUTOINCREMENT PRIMARY KEY
);
Introduction à la modélisation des données dans Snowflake

Construire des hubs (2)

  • Créer un nouveau hub avec une clé numérique unique générée automatiquement et l'identifiant du concept du hub :
CREATE OR REPLACE TABLE hub_students (
    student_key NUMBER(10,0) AUTOINCREMENT PRIMARY KEY,
    student_id NUMBER(10,0)
);
1 Ensuite, nous indiquons la clé d'affaires qui identifie chaque concept ; student_id identifiera chaque étudiant
Introduction à la modélisation des données dans Snowflake

Construire des hubs (3)

  • Ajouter des attributs de suivi historique :
CREATE OR REPLACE TABLE hub_students (
    student_key NUMBER(10,0) AUTOINCREMENT PRIMARY KEY,
    student_id NUMBER(10,0),
    load_date TIMESTAMP,
    record_source VARCHAR(255)
);
Introduction à la modélisation des données dans Snowflake

Construire des hubs (4)

  • Créer le hub des cours :
CREATE OR REPLACE TABLE hub_classes (
    class_key NUMBER(10,0)
          AUTOINCREMENT 
          PRIMARY KEY,
    class_id NUMBER(10,0),
    load_date TIMESTAMP,
    record_source VARCHAR(255)
);
  • Créer le hub des écoles :
CREATE OR REPLACE TABLE hub_schools (
    school_key NUMBER(10,0) 
          AUTOINCREMENT 
          PRIMARY KEY,
    school_id NUMBER(10,0),
    load_date TIMESTAMP,
    record_source VARCHAR(255)
);
Introduction à la modélisation des données dans Snowflake

Construire des liens

Liens du Data Vault collégial

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

Construire des liens (1)

  • Créer une entité lien avec une clé numérique unique générée automatiquement :
CREATE OR REPLACE TABLE link_enrollments (
    link_key NUMBER(10,0) AUTOINCREMENT PRIMARY KEY
);
Introduction à la modélisation des données dans Snowflake

Construire des liens (2)

  • Ajouter des relations avec d'autres entités :
CREATE OR REPLACE TABLE link_enrollments (
    link_key NUMBER(10,0) AUTOINCREMENT PRIMARY KEY,
    student_key NUMBER(10,0),
    class_key NUMBER(10,0),
    FOREIGN KEY (student_key) REFERENCES hub_students(student_key),
    FOREIGN KEY (class_key) REFERENCES hub_classes(class_key)
);
Introduction à la modélisation des données dans Snowflake

Construire des liens (3)

  • Ajouter des attributs de suivi historique :
CREATE OR REPLACE TABLE link_enrollments (
    link_key NUMBER(10,0) AUTOINCREMENT PRIMARY KEY,
    student_key NUMBER(10,0),
    class_key NUMBER(10,0),
    load_date TIMESTAMP,
    record_source VARCHAR(255),
    FOREIGN KEY (student_key) REFERENCES hub_students(student_key),
    FOREIGN KEY (class_key) REFERENCES hub_classes(class_key)
);
Introduction à la modélisation des données dans Snowflake

Construire des liens (4)

  • Créer l'entité lien des offres :
CREATE OR REPLACE TABLE link_offerings (
    link_key NUMBER(10,0) AUTOINCREMENT PRIMARY KEY,
    class_key NUMBER(10,0),
    school_key NUMBER(10,0),
    load_date TIMESTAMP,
    record_source VARCHAR(255),
    FOREIGN KEY (class_key) REFERENCES hub_classes(class_key),
    FOREIGN KEY (school_key) REFERENCES hub_schools(school_key)
);
Introduction à la modélisation des données dans Snowflake

Construire des satellites

Satellites du Data Vault collégial

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

Construire des satellites (1)

  • Créer un nouveau satellite listant tous les attributs du concept :
CREATE OR REPLACE TABLE sat_student (
    name VARCHAR(255),
    email VARCHAR(255)
);
Introduction à la modélisation des données dans Snowflake

Construire des satellites (2)

  • Ajouter des attributs de suivi historique :
CREATE OR REPLACE TABLE sat_student (
    name VARCHAR(255),
    email VARCHAR(255),
    load_date TIMESTAMP,
    record_source VARCHAR(255)
);
Introduction à la modélisation des données dans Snowflake

Construire des satellites (3)

  • Relier le satellite à son hub :
CREATE OR REPLACE TABLE sat_student (
    student_key NUMBER(10,0),
    name VARCHAR(255),
    email VARCHAR(255),
    load_date TIMESTAMP,
    record_source VARCHAR(255),
    FOREIGN KEY (student_key) REFERENCES hub_students(student_key)
);
Introduction à la modélisation des données dans Snowflake

Construire des satellites (4)

  • Créer un nouveau satellite de cours :
CREATE OR REPLACE TABLE sat_class (
    class_key NUMBER(10,0),
    class_name VARCHAR(255),
    load_date TIMESTAMP,
    record_source VARCHAR(255),
    FOREIGN KEY (class_key) 
    REFERENCES hub_classes(class_key)
);
  • Créer un nouveau satellite d'école :
CREATE OR REPLACE TABLE sat_school (
    school_key NUMBER(10,0),
    school_name VARCHAR(255),
    load_date TIMESTAMP,
    record_source VARCHAR(255),
    FOREIGN KEY (school_key) 
    REFERENCES hub_schools(school_key)
);
Introduction à la modélisation des données dans Snowflake

Aperçu de la terminologie et des fonctions

  • Modèle Data Vault : Technique de modélisation axée sur l'historique des données, avec hubs, liens et satellites.
  • Hubs : Représentent des concepts d'affaires uniques avec une clé d'affaires unique.
  • Liens : Capturent les relations et interactions entre hubs.
  • Satellites : Stockent les détails descriptifs et historiques liés aux hubs et aux liens.
  • CREATE OR REPLACE TABLE : Commande SQL pour créer ou remplacer la structure d'une table.
  • PRIMARY KEY : Clause SQL définissant l'identifiant unique d'une ligne.
  • AUTOINCREMENT : Propriété générant automatiquement des valeurs numériques uniques et croissantes.
  • FOREIGN KEY (...) REFERENCES (...) : Clause SQL pour créer un lien entre deux tables.
Introduction à la modélisation des données dans Snowflake

Aperçu des fonctions

CREATE OR REPLACE TABLE table_name (
      -- Create an auto generated unique value as primary key
      unique_key column_datatype AUTOINCREMENT PRIMARY KEY,
      other_business_key column_datatype,
      foreign_column column_datatype,
      other_foreign_column column_datatype,
      -- Adding relationship with other entities
      FOREIGN KEY(foreign_column) REFERENCES foreign_table(PK_from_foreign_table),
      FOREIGN KEY(other_foreign) REFERENCES foreign_table(PK_from_other_foreign)
);
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...