Data Vault

Úvod do datového modelování ve Snowflake

Nuno Rocha

Director of Engineering

Úvod do modelu data vault

  • Model data vault: Technika modelování zaměřená na historické sledování dat, charakterizovaná použitím hubů, linků a satelitů.

Model data vault

Úvod do datového modelování ve Snowflake

Komponenty data vault

  • Huby: Reprezentují jedinečné obchodní koncepty pomocí jednoho obchodního klíče.

Model data vault: huby

Úvod do datového modelování ve Snowflake

Komponenty data vault (1)

  • Linky: Zachycují vztahy a interakce mezi huby.

Model data vault: linky

Úvod do datového modelování ve Snowflake

Komponenty data vault (2)

  • Satelity: Ukládají popisné a historické podrobnosti o hubech a linkách.

Model data vault: satelity

Úvod do datového modelování ve Snowflake

Tvorba hubů

Huby data vault vysoké školy

Úvod do datového modelování ve Snowflake

Tvorba hubů (1)

  • AUTOINCREMENT: Vlastnost atributu pro automatické generování jedinečných, postupně rostoucích číselných hodnot pro každý nový řádek.
CREATE OR REPLACE TABLE hub_students (
    student_key NUMBER(10,0) AUTOINCREMENT PRIMARY KEY
);
Úvod do datového modelování ve Snowflake

Tvorba hubů (2)

  • Vytvořte nový hub s automaticky generovaným jedinečným číselným klíčem a ID konceptu hubu:
CREATE OR REPLACE TABLE hub_students (
    student_key NUMBER(10,0) AUTOINCREMENT PRIMARY KEY,
    student_id NUMBER(10,0)
);
1 Dále uvádíme obchodní klíč identifikující každý koncept – student_id identifikuje každého studenta
Úvod do datového modelování ve Snowflake

Tvorba hubů (3)

  • Přidejte atributy pro historické sledování:
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)
);
Úvod do datového modelování ve Snowflake

Tvorba hubů (4)

  • Vytvořte nový hub tříd:
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)
);
  • Vytvořte nový hub škol:
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)
);
Úvod do datového modelování ve Snowflake

Tvorba linků

Linky data vault vysoké školy

Úvod do datového modelování ve Snowflake

Tvorba linků (1)

  • Vytvořte entitu linku s automaticky generovaným jedinečným číselným klíčem:
CREATE OR REPLACE TABLE link_enrollments (
    link_key NUMBER(10,0) AUTOINCREMENT PRIMARY KEY
);
Úvod do datového modelování ve Snowflake

Tvorba linků (2)

  • Přidejte vztahy k dalším entitám:
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)
);
Úvod do datového modelování ve Snowflake

Tvorba linků (3)

  • Přidejte atributy pro historické sledování:
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)
);
Úvod do datového modelování ve Snowflake

Tvorba linků (4)

  • Vytvořte novou entitu linku nabídek:
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)
);
Úvod do datového modelování ve Snowflake

Tvorba satelitů

Satelity data vault vysoké školy

Úvod do datového modelování ve Snowflake

Tvorba satelitů (1)

  • Vytvořte novou entitu satelitu se všemi atributy konceptu:
CREATE OR REPLACE TABLE sat_student (
    name VARCHAR(255),
    email VARCHAR(255)
);
Úvod do datového modelování ve Snowflake

Tvorba satelitů (2)

  • Přidejte atributy pro historické sledování:
CREATE OR REPLACE TABLE sat_student (
    name VARCHAR(255),
    email VARCHAR(255),
    load_date TIMESTAMP,
    record_source VARCHAR(255)
);
Úvod do datového modelování ve Snowflake

Tvorba satelitů (3)

  • Přidejte vazbu mezi satelitem a příslušným hubem:
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)
);
Úvod do datového modelování ve Snowflake

Tvorba satelitů (4)

  • Vytvořte nový satelit tříd:
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)
);
  • Vytvořte nový satelit škol:
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)
);
Úvod do datového modelování ve Snowflake

Přehled terminologie a funkcí

  • Model data vault: Technika modelování zaměřená na historické sledování dat, charakterizovaná použitím hubů, linků a satelitů.
  • Huby: Reprezentují jedinečné obchodní koncepty pomocí jednoho obchodního klíče.
  • Linky: Zachycují vztahy a interakce mezi huby.
  • Satelity: Ukládají popisné a historické podrobnosti o hubech a linkách.
  • CREATE OR REPLACE TABLE: Příkaz SQL pro vytvoření nebo nahrazení struktury tabulky.
  • PRIMARY KEY: Klauzule SQL pro definování sloupce jako jedinečného identifikátoru.
  • AUTOINCREMENT: Vlastnost atributu pro automatické generování jedinečných, postupně rostoucích číselných hodnot pro každý nový řádek.
  • FOREIGN KEY (...) REFERENCES (...): Klauzule SQL pro vytvoření vazby mezi dvěma tabulkami.
Úvod do datového modelování ve Snowflake

Přehled funkcí

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)
);
Úvod do datového modelování ve Snowflake

Pojďme si procvičit!

Úvod do datového modelování ve Snowflake

Preparing Video For Download...