Varlık-ilişki modeli

Snowflake ile Veri Modellemesine Giriş

Nuno Rocha

Director of Engineering

Varlık-ilişki modeline giriş

  • Varlık-ilişki (ER) modeli: Normalleştirilmiş veriyi varlıklar, öznitelikler ve ilişkilerle yapılandırır

Modellenecek üniversite teması varlıkları

Snowflake ile Veri Modellemesine Giriş

Varlık-ilişki modeline örnek

Üniversite teması varlık etkileşimi

Snowflake ile Veri Modellemesine Giriş

Neden ER modeli

  • Açıklık
    • Gerçek hayattaki etkileşimleri yansıtarak iş bağlantılarını basitleştirir
  • Organizasyon
    • Veriyi ilişkili varlıklara ayırır, yönetimi kolaylaştırır
  • Esneklik
    • Zamanla büyüme ve değişime uyum sağlar
Snowflake ile Veri Modellemesine Giriş

ER modelini oluşturma

Üniversite teması modeli ve enrollments

Snowflake ile Veri Modellemesine Giriş

ER modelini oluşturma

  • Mevcut varlıklar arasında ilişki ekle:
ALTER TABLE classes
ADD FOREIGN KEY (school_id) REFERENCES schools(school_id);

Sınıflar ve okullar varlıklarını bağlama, üniversite teması modeli

Snowflake ile Veri Modellemesine Giriş

ER modelini oluşturma

Üniversite teması modeli, yeni varlık enrollments

Snowflake ile Veri Modellemesine Giriş

ER modelini oluşturma

CREATE OR REPLACE TABLE enrollments (
      -- Eşsiz bir tanımlayıcıyla yeni bir varlık oluştur
      enrollment_id NUMBER(10,0) PRIMARY KEY

-- Varlığın özniteliklerini ekle year NUMBER(4,0), semester VARCHAR(255)
-- Diğer varlıklarla ilişkileri ekle FOREIGN KEY (student_id) REFERENCES students(student_id), FOREIGN KEY (class_id) REFERENCES classes(class_id)
);
Snowflake ile Veri Modellemesine Giriş

ER modelini oluşturma

Nihai üniversite ER modeli

Snowflake ile Veri Modellemesine Giriş

ER modelinden veri çekme

2023’te Fen fakültesinde imzalanan dersler ve öğrenci adları için ER modeli sorgulama

Snowflake ile Veri Modellemesine Giriş

ER modelinden veri çekme

SELECT students.name  
FROM students;

Öğrenci adları için ER modeli sorgulama

Snowflake ile Veri Modellemesine Giriş

ER modelinden veri çekme

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

Öğrenciler ve kayıtlar için ER modeli sorgulama

Snowflake ile Veri Modellemesine Giriş

ER modelinden veri çekme

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

2023 kayıtları için ER modeli sorgulama

Snowflake ile Veri Modellemesine Giriş

ER modelinden veri çekme

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

Ders adları için ER modeli sorgulama

Snowflake ile Veri Modellemesine Giriş

ER modelinden veri çekme

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';
Snowflake ile Veri Modellemesine Giriş

ER modelinden veri çekme

  • JOIN ON: İlgili sütuna dayalı olarak tabloları birleştiren SQL ifadesi.

Fen fakültesi için ER modeli sorgulama

Snowflake ile Veri Modellemesine Giriş

Terimler ve işlevlere genel bakış

  • Varlık-ilişki (ER) modeli: Normalleştirilmiş veriyi varlıklar ve ilişkilerle yapılandırır.
  • SELECT FROM: Bir tablodan sütunları çeker.
  • JOIN ON: İlgili sütuna göre tabloları birleştirir.
  • WHERE: Kayıtları koşula göre filtreler.
  • AND: WHERE ile birden çok koşulu birleştirir.
-- Belirli koşullarla birleştirilmiş varlıklardan veri sorgulama
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;
Snowflake ile Veri Modellemesine Giriş

Hadi pratik yapalım!

Snowflake ile Veri Modellemesine Giriş

Preparing Video For Download...