SQL DATABASES USING SQLALCHEMY: CHAINING JOINS, VIEWS, & INDEXES EĞİTİMİ

JOIN'leri zincirleyin, view ve index ile hızlandırın

Çok tablolu JOIN zincirleri, view tanımı ve index stratejileriyle performanslı SQLAlchemy

SQLAlchemy: Chaining Joins, Views & Indexes Eğitimi, SQLAlchemy'de çok tablolu sorgu performansına odaklanan 3 günlük orta seviye bir programdır.

3 gün Orta Seviye Online / Yüz Yüze / Hibrit Sertifikalı

Eğitim Hakkında

SQLAlchemy ile JOIN zincirleme, view ve index odaklı performans eğitimi

Bu eğitim, SQLAlchemy'de çok tablolu sorgu performansına odaklanır. join() ve outerjoin() ile JOIN zincirleme, aliased ile aynı tablonun birden çok kez kullanımı, relationship ve contains_eager üzerinden JOIN işlenir. Ardından view ve materialized view tanımı ile view üzerinden sorgulama ele alınır. Son olarak Index nesnesiyle tekil, bileşik ve kısmi index tanımı, EXPLAIN ile sorgu planı okuma ve kapsayıcı index stratejileri PostgreSQL üzerinde uygulamalı gösterilir.

Süre ve Format

3 Gün. İlk gün JOIN zincirleme ve aliased; ikinci gün view tanımı ve sorgulama; üçüncü gün index stratejileri ve sorgu planı analizi uygulamalı işlenir.

Seviye

Orta Seviye — SQLAlchemy ile sorgu yazabilen ve JOIN zincirleme, view ve index ile performansta derinleşmek isteyenler için

Öğrenme Metodu

Her konu örnek bir şema üzerinde canlı kod yazılarak, üretilen SQL ve EXPLAIN sorgu planları birlikte incelenerek uygulamalı işlenir.

Neden Bu Eğitim?

🔗JOIN Zincirleme

Çok tablolu sorguları join ve outerjoin ile zincirleyip aliased kullanarak karmaşık ilişkileri tek sorguda çözersiniz.

👁️View ile Soyutlama

Karmaşık sorguları view olarak tanımlayıp sorguları sadeleştirir, tekrar kullanılabilir veri katmanları oluşturursunuz.

⚡Index ile Hız

Tekil, bileşik ve kısmi index'leri doğru kurarak sorgu planını iyileştirir ve yanıt sürelerini belirgin biçimde kısaltırsınız.

Anahtar Konular

sqlalchemy joinsqlalchemy viewsqlalchemy indexsqlalchemy performansexplain sorgu planıbileşik indexmaterialized viewpython ormsqlalchemy eğitimialiased sqlalchemy
“Hızlı bir sorgu, doğru zincirlenmiş JOIN'lerin doğru index ve view'larla buluştuğu yerde ortaya çıkar.”

Ön Koşullar

Bu orta seviye eğitim için önerilen ön bilgiler

1
SQLAlchemy Sorgulama

select(), where() ve temel join ile sorgu yazabiliyor olmak beklenir.

2
Temel SQL ve JOIN

INNER ve OUTER JOIN ile index kavramına temel düzeyde aşinalık gereklidir.

3
Python Bilgisi

Sınıf ve fonksiyonlarla rahat çalışabilen, kod okuyup yazabilen Python düzeyi önerilir.

4
PostgreSQL Erişimi

EXPLAIN ve index örnekleri için erişilebilir bir PostgreSQL sunucusu önerilir.

Eğitim İçeriği

Programın gün gün akışı aşağıdadır. Bir güne tıklayarak o günün modüllerini ve içeriklerini görebilirsiniz.

Günün hedefijoin ve outerjoin ile birden çok tabloyu zincirlemek, aliased ile aynı tabloyu birden çok kez kullanmak ve relationship üzerinden JOIN kurabilmek.
Modül 1
JOIN Temelleri ve Zincirleme
  • select().join() ile iki modelin birleştirilmesi
  • Birden çok join() çağrısının zincirlenmesi
  • join_from ile açık başlangıç tablosu belirtme
  • ON koşulunun otomatik ve elle belirtilmesi
  • Zincirli JOIN'de tablo sırasının sorguya etkisi
  • Üretilen SQL'de JOIN sırasının incelenmesi
Modül 2
Dış ve Özel Birleştirmeler
  • outerjoin() ile sol dış birleştirme
  • isouter ve full parametreleriyle join türü seçimi
  • FULL OUTER JOIN'in dialect desteği ve sınırları
  • SELF JOIN ile bir tablonun kendisiyle birleşimi
  • İlişkili olmayan tabloların koşullu birleştirilmesi
  • JOIN sonucunda NULL satırların yorumlanması
Modül 3
aliased ile Takma Adlar
  • aliased ile aynı tablonun iki kez kullanılması
  • Hiyerarşik (öz-ilişkili) veride aliased örneği
  • Alias üzerinden sütun seçimi ve filtreleme
  • Alt sorguya aliased atanarak JOIN yapılması
  • aliased ile isim çakışmalarının önlenmesi
  • Karmaşık raporlarda alias okunabilirliği
Modül 4
relationship Üzerinden JOIN
  • relationship tanımını join koşulu olarak kullanma
  • join(Model.relationship) kısa yazımı
  • contains_eager ile JOIN edilen veriyi yükleme
  • JOIN ile yükleme stratejisinin birleştirilmesi
  • any ve has ile ilişki üzerinden filtreleme
  • İlişki tabanlı JOIN ile elle JOIN karşılaştırması
Günün hedefiSQLAlchemy ile view tanımlamak, materialized view farkını kavramak ve view'ları model olarak eşleyip sorgulayabilmek.
Modül 1
View Kavramı ve Rolü
  • View'ın kayıtlı sorgu olarak rolü ve avantajları
  • View ile tablo arasındaki temel farklar
  • Karmaşık JOIN'lerin view ile soyutlanması
  • Güvenlik ve yetki katmanı olarak view kullanımı
  • View'ın güncellenebilirlik sınırları
  • View isimlendirme ve bakım yaklaşımları
Modül 2
SQLAlchemy ile View Oluşturma
  • DDL ve text() ile CREATE VIEW ifadesi çalıştırma
  • compiler extension ile view construct tanımı
  • select() construct'ından view tanımı üretme
  • event.listen ile tablolarla birlikte view oluşturma
  • Alembic göçünde view oluşturma ve silme
  • View tanımının sürüm kontrolünde yönetimi
Modül 3
Materialized View
  • Materialized view ile normal view arasındaki fark
  • PostgreSQL CREATE MATERIALIZED VIEW kullanımı
  • REFRESH MATERIALIZED VIEW ile veri tazeleme
  • CONCURRENTLY ile kesintisiz yenileme
  • Ağır raporlarda materialized view performansı
  • Tazeleme stratejisi ve zamanlama kararları
Modül 4
View Üzerinden Sorgulama
  • View'ın bir modele (Table) eşlenmesi
  • View üzerinden select() ile sorgulama
  • View'a __table__ ile ORM modeli bağlama
  • View ile JOIN ve filtreleme yapılması
  • View sonuçlarının performansının gözlenmesi
  • View ve doğrudan sorgu arasında seçim yapma
Günün hedefiIndex nesnesiyle tekil, bileşik ve kısmi index tanımlamak, EXPLAIN ile sorgu planını okumak ve index'in JOIN ve filtreye etkisini analiz edebilmek.
Modül 1
Index Tanımı ve Oluşturma
  • Column(index=True) ile tekil index tanımı
  • Index() nesnesiyle açık index tanımlama
  • __table_args__ içinde index belirtilmesi
  • UniqueConstraint ve benzersiz index farkı
  • Index isimlendirme kuralları ve kurallı adlandırma
  • create_all ile index'lerin oluşturulması
Modül 2
Bileşik ve Özel Index'ler
  • Çok sütunlu (bileşik) index tanımı ve sütun sırası
  • Kısmi (partial) index ile postgresql_where kullanımı
  • İfadeye dayalı (functional) index tanımı
  • GIN ve GiST gibi PostgreSQL index türleri
  • Kapsayıcı (covering) index ve INCLUDE sütunları
  • Index'in yazma performansına maliyeti
Modül 3
EXPLAIN ve Sorgu Planı
  • EXPLAIN ve EXPLAIN ANALYZE ile plan okuma
  • Seq Scan, Index Scan ve Index Only Scan ayrımı
  • JOIN stratejileri: Nested Loop, Hash, Merge Join
  • Plandaki maliyet ve satır tahminlerinin yorumlanması
  • SQLAlchemy sorgusunun plan üzerinden değerlendirilmesi
  • İstatistiklerin (ANALYZE) plana etkisi
Modül 4
Index ile Performans Ayarı
  • Filtreleme ve JOIN sütunlarına index eklenmesi
  • SARGable sorgular ve index kullanımını bozan ifadeler
  • Kullanılmayan index'lerin tespiti ve temizlenmesi
  • ORDER BY ve LIMIT'i hızlandıran index kurgusu
  • Index öncesi ve sonrası sorgu süresinin ölçülmesi
  • Performans ayarında bilinçli index-yazma dengesi

Eğitim Kazanımları

Program sonunda katılımcılar:

✅
JOIN Zincirleme

join ve outerjoin ile birden çok tabloyu zincirleyip çok tablolu sorguları doğru biçimde kurabilirsiniz.

✅
aliased Kullanımı

aliased ile aynı tabloyu birden çok kez kullanıp öz-ilişkili ve hiyerarşik verileri sorgulayabilirsiniz.

✅
İlişki Üzerinden JOIN

relationship ve contains_eager ile JOIN'i yükleme stratejisiyle birleştirerek verimli sorgular yazabilirsiniz.

✅
View Oluşturma

DDL ve compiler extension ile SQLAlchemy üzerinden view tanımlayıp karmaşık sorguları soyutlayabilirsiniz.

✅
Materialized View

Materialized view'ı tanımlayıp REFRESH ile tazeleyerek ağır raporların performansını artırabilirsiniz.

✅
Index Tanımı

Tekil, bileşik, kısmi ve ifadeye dayalı index'leri Index nesnesi ve __table_args__ ile tanımlayabilirsiniz.

✅
EXPLAIN Analizi

EXPLAIN ANALYZE ile sorgu planını okuyup Seq Scan, Index Scan ve JOIN stratejilerini yorumlayabilirsiniz.

✅
Performans Ayarı

Index'in JOIN ve filtreye etkisini ölçerek sorguları hızlandırır ve index-yazma dengesini kurabilirsiniz.

Kimler İçin Uygundur?

  • SQLAlchemy ile temel ve orta düzey sorgu yazabilen Python geliştiriciler
  • backend geliştiriciler ve veri mühendisleri; çok tablolu sorguları zincirlemek
  • view
  • index ile performansı artırmak isteyen BT personeli

Sıkça Sorulan Sorular

Bu eğitim için neyi bilmem gerekir?
SQLAlchemy ile temel ve orta düzey sorgu yazabildiğinizi, yani select(), where() ve temel join kullanabildiğinizi varsayar. Henüz bu seviyede değilseniz önce SQLAlchemy: Getting Started ve Querying Data eğitimleri önerilir. Bu eğitim o temel üzerine JOIN zincirleme, view ve index konularını ekler.
EXPLAIN ile sorgu planı analizi işleniyor mu?
Evet. Üçüncü gün EXPLAIN ve EXPLAIN ANALYZE ile sorgu planı okuma; Seq Scan, Index Scan, Index Only Scan ayrımı ve Nested Loop, Hash, Merge Join stratejileri uygulamalı olarak ele alınır. Index öncesi ve sonrası sorgu süreleri ölçülerek index'in etkisi somut biçimde gösterilir.
View'ları SQLAlchemy ile nasıl oluşturuyoruz?
İkinci gün, DDL ve text() ile CREATE VIEW çalıştırma, compiler extension ile tekrar kullanılabilir bir view construct tanımlama ve select() construct'ından view üretme işlenir. Ayrıca PostgreSQL materialized view oluşturma, REFRESH ile tazeleme ve view'ı bir ORM modeline eşleyip sorgulama uygulamalı gösterilir.
Bu eğitim diğer SQLAlchemy eğitimlerinden farkı nedir?
Bu eğitim özellikle çok tablolu sorgu performansına, yani JOIN zincirleme, view ile soyutlama ve index stratejilerine odaklanır. Querying Data eğitimi genel sorgulamayı, Manipulating Data veri değiştirmeyi kapsar. Bu program, serinin performans ve ileri sorgulama ayağını oluşturur.
Eğitim sonunda sertifika veriliyor mu?
Evet. Programı tamamlayan katılımcılar Digital Vizyon Akademi Katılım ve Başarı Sertifikası alır. Eğitim; kurum içi yüz yüze veya online olarak verilebilir ve içerik katılımcı profiline göre uyarlanır. Herhangi bir ürün tabanlı resmi sınav tercih edilmesi halinde, o sınavın başvurusu ve ücreti ilgili kuruma aittir.

Sertifikalandırma

Bu eğitim Digital Vizyon Akademi Başarı Sertifikası ile tamamlanır.

Eğitim başında “Ön Test”, bitiminde “Son Test” uygulanarak gelişim ölçümlenir. Değerlendirme formunu dolduran katılımcılar sertifikalarını alır. Sertifikanızın geçerliliğini Sertifika Sorgulama sayfasından doğrulayabilirsiniz.

Örnek Sertifika d Digital Vizyon AKADEMİ KATILIM SERTİFİKASI Bu sertifika [Katılımcı Adı Soyadı] adlı katılımcının aşağıdaki eğitim programını başarıyla tamamladığını belgeler. SQL Databases Using SQLAlchemy: Chaining Joins, Views, & Ind Sertifika Kodu DV-2026XX00 Tarih 23.10.2026 Yetkili İmza DV AKADEMİ

Eğitim Bilgileri

Süre3 gün
SeviyeOrta Seviye
FormatOnline / Yüz Yüze / Hibrit
Sertifika✓ Var
Hemen Bilgi Al
İlgili Eğitimler

Bu Eğitimle Birlikte Tercih Edilenler

Veritabanı Yönetimi TemelleriSQL Databases Using SQLAlchemy: Getting Started Eğitimi
Veritabanı Eğitimleri

SQL Databases Using SQLAlchemy: Getting Started Eğitimi

2 günBaşlangıçOnline / Yüz Yüze / Hibrit

Python geliştiriciler için SQLAlchemy'ye başlangıç eğitimi: Engine, bağlantı havuzu, Core ile tablo tanımı ve ORM temelleri. Uygulamalı, kurumsal eğitim.

Detayları Gör →
Veritabanı Yönetimi TemelleriSQL Databases Using SQLAlchemy: Manipulating Data Eğitimi
Veritabanı Eğitimleri

SQL Databases Using SQLAlchemy: Manipulating Data Eğitimi

3 günOrtaOnline / Yüz Yüze / Hibrit

SQLAlchemy ile veri değiştirme eğitimi: nesne durumları, INSERT, UPDATE, DELETE, cascade, toplu işlemler ve upsert. Uygulamalı, kurumsal eğitim.

Detayları Gör →
Veritabanı Yönetimi TemelleriSQL Databases Using SQLAlchemy: Querying Data Eğitimi
Veritabanı Eğitimleri

SQL Databases Using SQLAlchemy: Querying Data Eğitimi

3 günOrtaOnline / Yüz Yüze / Hibrit

SQLAlchemy ile ileri veri sorgulama eğitimi: select(), filtreleme, gruplama, ilişki yükleme stratejileri ve N+1 önleme. Uygulamalı, kurumsal eğitim.

Detayları Gör →
Veritabanı Yönetimi TemelleriSQL Databases Using SQLAlchemy: Using the SQLAlchemy ORM Eğitimi
Veritabanı Eğitimleri

SQL Databases Using SQLAlchemy: Using the SQLAlchemy ORM Eğitimi

3 günOrtaOnline / Yüz Yüze / Hibrit

Python'da SQLAlchemy ORM ile model, Session, ilişki, yükleme stratejileri ve Alembic göçleri. 3 günlük uygulamalı kurumsal veritabanı eğitimi.

Detayları Gör →
Veritabanı Yönetimi TemelleriSQL Databases Using SQLAlchemy: Using Triggers, Stored Procedures, & Transactions Eğitimi
Veritabanı Eğitimleri

SQL Databases Using SQLAlchemy: Using Triggers, Stored Procedures, & Transactions Eğitimi

3 günOrtaOnline / Yüz Yüze / Hibrit

SQLAlchemy ile transaction, savepoint, yalıtım seviyeleri, stored procedure çağırma ve trigger yazma eğitimi. PostgreSQL ve PL/pgSQL ile uygulamalı eğitim.

Detayları Gör →
Veritabanı Yönetimi TemelleriSQL Diagnostics Eğitimi
Veritabanı Eğitimleri

SQL Diagnostics Eğitimi

3 günOrtaOnline / Yüz Yüze / Hibrit

Yürütme planı, bekleme istatistikleri, DMV ve kilitlenme analiziyle SQL performans teşhisi. 3 günlük uygulamalı kurumsal veritabanı eğitimi.

Detayları Gör →
+90 (501) 369 40 14 WhatsApp [email protected] LinkedIn