Modelul entitate-relație

Introducere în modelarea datelor în Snowflake

Nuno Rocha

Director of Engineering

Introducere în modelarea entitate-relație

  • Modelul entitate-relație (ER): Structurează datele normalizate folosind entități, atribute și relații

Entitățile temei universitare de modelat

Introducere în modelarea datelor în Snowflake

Exemplu de model entitate-relație

Interacțiunea entităților temei universitare

Introducere în modelarea datelor în Snowflake

De ce să alegeți modelul ER

  • Claritate
    • Simplifică conexiunile de afaceri, reflectând interacțiunile din viața reală
  • Organizare
    • Împarte datele în entități corelate, facilitând gestionarea informațiilor
  • Flexibilitate
    • Adaptabilitate pentru a crește și a evolua în timp
Introducere în modelarea datelor în Snowflake

Construirea modelului ER

Modelul temei universitare plus înscrieri

Introducere în modelarea datelor în Snowflake

Construirea modelului ER

  • Adăugați o relație între entitățile existente:
ALTER TABLE classes
ADD FOREIGN KEY (school_id) REFERENCES schools(school_id);

Modelul temei universitare, legând entitățile cursuri și facultăți

Introducere în modelarea datelor în Snowflake

Construirea modelului ER

Modelul temei universitare, noua entitate înscrieri

Introducere în modelarea datelor în Snowflake

Construirea modelului 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)
);
Introducere în modelarea datelor în Snowflake

Construirea modelului ER

Modelul ER final al universității

Introducere în modelarea datelor în Snowflake

Extragerea datelor din modelul ER

Interogarea modelului ER pentru numele studenților și cursurile înscrise în 2023 la facultatea de Științe

Introducere în modelarea datelor în Snowflake

Extragerea datelor din modelul ER

SELECT students.name  
FROM students;

Interogarea modelului ER pentru numele studenților

Introducere în modelarea datelor în Snowflake

Extragerea datelor din modelul ER

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

Interogarea modelului ER pentru studenți și înscrieri

Introducere în modelarea datelor în Snowflake

Extragerea datelor din modelul ER

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

Interogarea modelului ER pentru înscrierile din 2023

Introducere în modelarea datelor în Snowflake

Extragerea datelor din modelul 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';

Interogarea modelului ER pentru numele cursurilor

Introducere în modelarea datelor în Snowflake

Extragerea datelor din modelul 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';
Introducere în modelarea datelor în Snowflake

Extragerea datelor din modelul ER

  • JOIN ON: Clauză SQL pentru combinarea rândurilor din tabele, pe baza unei coloane comune specificate cu ON.

Interogarea modelului ER pentru facultatea de Științe

Introducere în modelarea datelor în Snowflake

Prezentare generală a terminologiei și funcțiilor

  • Modelul entitate-relație (ER): Structurează datele normalizate folosind entități și relații.
  • SELECT FROM: Comandă SQL pentru extragerea coloanelor dintr-un tabel.
  • JOIN ON: Clauză SQL pentru combinarea rândurilor din tabele, pe baza coloanei specificate cu ON.
  • WHERE: Clauză SQL pentru filtrarea înregistrărilor după o condiție.
  • AND: Operator logic folosit cu clauza WHERE pentru combinarea mai multor condiții.
-- 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;
Introducere în modelarea datelor în Snowflake

Lass uns üben!

Introducere în modelarea datelor în Snowflake

Preparing Video For Download...