Model entita a vztahů

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

Nuno Rocha

Director of Engineering

Úvod do modelování entit a vztahů

  • Model entita a vztahů (ER): Strukturuje normalizovaná data pomocí entit, atributů a vztahů

Entity tématu vysoké školy pro modelování

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

Příklad modelu entit a vztahů

Interakce entit tématu vysoké školy

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

Proč volit ER model

  • Přehlednost
    • Zjednodušuje obchodní vazby odpovídající reálným interakcím
  • Organizace
    • Rozděluje data do souvisejících entit, což usnadňuje správu informací
  • Flexibilita
    • Přizpůsobivost pro růst a změny v čase
Úvod do datového modelování ve Snowflake

Tvorba ER modelu

Model tématu vysoké školy s přihláškami

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

Tvorba ER modelu

  • Přidání vztahu mezi existující entity:
ALTER TABLE classes
ADD FOREIGN KEY (school_id) REFERENCES schools(school_id);

Model tématu vysoké školy, propojení entit tříd a škol

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

Tvorba ER modelu

Model tématu vysoké školy, nová entita přihlášek

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

Tvorba ER modelu

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

Tvorba ER modelu

Finální ER model vysoké školy

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

Načítání dat z ER modelu

Dotazování ER modelu na jména studentů a předměty zapsané v roce 2023 na Přírodovědecké fakultě

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

Načítání dat z ER modelu

SELECT students.name  
FROM students;

Dotazování ER modelu na jména studentů

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

Načítání dat z ER modelu

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

Dotazování ER modelu na studenty a přihlášky

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

Načítání dat z ER modelu

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

Dotazování ER modelu na přihlášky z roku 2023

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

Načítání dat z ER modelu

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';

Dotazování ER modelu na názvy předmětů

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

Načítání dat z ER modelu

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

Načítání dat z ER modelu

  • JOIN ON: Klauzule SQL pro spojení řádků z tabulek na základě souvisejícího sloupce (ON).

Dotazování ER modelu na Přírodovědeckou fakultu

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

Přehled terminologie a funkcí

  • Model entita a vztahů (ER): Strukturuje normalizovaná data pomocí entit a vztahů.
  • SELECT FROM: Příkaz SQL pro načtení sloupců z tabulky.
  • JOIN ON: Klauzule SQL pro spojení řádků z tabulek na základě souvisejícího sloupce (ON).
  • WHERE: Klauzule SQL pro filtrování záznamů podle zadané podmínky.
  • AND: Logický operátor pro kombinování více podmínek v klauzuli WHERE.
-- Querying data from merged entities filtered by specific 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;
Úvod do datového modelování ve Snowflake

Lass uns üben!

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

Preparing Video For Download...