SQL EĞİTİMİ
SQL ile çalışırken sorgular karmaşıklaştıkça yavaşlamasın. Aynı veriyi farklı şekillerde çekip tutarsız raporlama olmasın. Tablo yapısı büyüdükçe sorgu zihinsel yüke dönüşmesin. Bu eğitimin temel hedefi budur.
Aylarca StackOverflow örnekleriyle toparlanan refleks sistematik bir disipline kavuşur. Yazılım geliştirici, analist veya raporlama uzmanı olsun fark etmez. Her sorguyu sıfırdan kurmak yerine ortak desenlerle ilerlenir. Sonuçlar öngörülebilir, sorgu kalitesi tutarlı kalır. Resmi dokümantasyon için PostgreSQL SQL Language Reference birincil kaynaktır.
Katılımcı Profili
SQL'i veri katmanının ortak dili olarak kullanan profillere yöneliktir:
- Yazılım Geliştiriciler: Uygulamadan veri okuma ve yazma akışlarını kurar
- Veri Analistleri: Raporlama için karmaşık sorguları yazar ve optimize eder
- BI ve Raporlama Uzmanları: Power BI, Tableau veya Excel kaynak sorgularını hazırlar
- QA / Test Mühendisleri: Veri doğrulama ve test senaryosu sorguları üretir
- Sistem ve DBA Adayları: Yönetim, izleme ve operasyon sorgularını öğrenir
Ön Gereklilikler
Aşağıdaki temellerle gelen katılımcı eğitimde örneklere doğrudan uygulamalı geçer:
- Tablo, satır ve sütun kavramlarına temel aşinalık
- Bilgisayar kullanımı ve dosya yönetimi rahatlığı
- Excel veya Google Sheets ile filtre ve sıralama deneyimi
- Bir veritabanı arayüzü (SSMS, pgAdmin, DBeaver vb.) kurabilmek
- Mantıksal düşünme ve kümelerle çalışma alışkanlığı
Süresi ve Tarihi
Süre: 2 gün. Bu süre standart program içindir; ek modüllere ve hedefe göre süre özelleştirilebilir.
Eğitim tarihleri ve saatleri, katılımcı grubunun uygunluğuna göre birlikte planlanır.
Kazanımlar
Eğitim sonunda SQL sorgu yazımı sistematik bir disipline kavuşur:
- SELECT, WHERE, ORDER BY ile temel sorguları doğru kurar
- INNER, LEFT, RIGHT, FULL ve CROSS JOIN'i senaryoya göre seçer
- GROUP BY, HAVING ve aggregate fonksiyonlarla özet rapor üretir
- Subquery, correlated subquery ve CTE arasında doğru tercih yapar
- Window function (ROW_NUMBER, RANK, LAG, LEAD) ile gelişmiş analiz yazar
- Index temellerini ve query plan okumayı uygular
- Transaction, ACID ve isolation level kavramlarını kavrar
- Veri tipleri ve NULL davranışını projeksiyon hatasız yönetir
SQL Eğitimi Konuları
1. RDBMS Temelleri ve SQL Standardı
- İlişkisel model: tablo, satır, sütun, primary/foreign key
- ANSI SQL standardı ve dialect farkları (MS SQL, PostgreSQL, Oracle, MySQL)
- DDL, DML, DCL, TCL kategorileri
- Veri tipleri: sayı, metin, tarih, boolean, JSON
- NULL davranışı ve three-valued logic
2. SELECT Temelleri ve Filtreleme
- SELECT, DISTINCT, alias ve sütun ifadeleri
- WHERE: karşılaştırma, BETWEEN, IN, LIKE, IS NULL
- ORDER BY ve TOP / LIMIT / FETCH NEXT
- CASE WHEN ile koşullu sütun
- String, sayı ve tarih fonksiyonları
3. JOIN ile Tablolar Arası Sorgu
- INNER JOIN ile ilişkili kayıt eşleştirme
- LEFT, RIGHT, FULL OUTER JOIN davranışları
- CROSS JOIN ve kartezyen ürün
- Self JOIN ile aynı tabloda hiyerarşi
- JOIN sırası ve filtre konumlandırma
4. Aggregate ve Gruplama
- COUNT, SUM, AVG, MIN, MAX ile özet
- GROUP BY ve birden fazla sütunla gruplama
- HAVING vs WHERE farkı
- ROLLUP ve GROUPING SETS
- String agg ve array agg
5. Subquery ve CTE
- Scalar, multi-row ve correlated subquery
- IN, EXISTS, ANY, ALL kullanımı
- Derived table (FROM içinde subquery)
- CTE (WITH) ile okunabilir sorgu
- Recursive CTE ile hiyerarşi sorgulama
6. Window Function
- OVER, PARTITION BY ve ORDER BY
- ROW_NUMBER, RANK, DENSE_RANK, NTILE
- LAG, LEAD ile satırlar arası karşılaştırma
- FIRST_VALUE, LAST_VALUE
- Cumulative sum ve moving average pattern'leri
7. INSERT, UPDATE, DELETE
- INSERT single, multi-row ve SELECT'ten ekleme
- UPDATE ve JOIN'li UPDATE
- DELETE ve cascading davranış
- MERGE / UPSERT
- OUTPUT / RETURNING ile değişiklik takibi
8. Index Temelleri
- Clustered ve non-clustered index
- Composite ve covering index
- Index seek vs scan
- Execution plan okuma giriş
- Index'in kötüye kullanımı ve maliyet
9. Transaction ve ACID
- BEGIN, COMMIT, ROLLBACK
- Isolation level: READ COMMITTED, REPEATABLE READ, SNAPSHOT, SERIALIZABLE
- Lock, deadlock ve mitigation
- Optimistic vs pessimistic concurrency
- Long-running transaction tuzakları
10. View, Stored Procedure ve Function Girişi
- View ile sorgu yeniden kullanımı
- Materialized / indexed view
- Scalar ve table-valued function
- Basit stored procedure yazımı
- Trigger giriş
SQL EĞİTİMİ ile İlgili
Sıkça Sorulan Sorular ve Cevapları
SQL'i hiç bilmeden bu eğitime katılabilir miyim?
Evet. Eğitim, tablo ve sorgu kavramlarına temel düzeyde aşinalığı olan katılımcılar için sıfırdan başlar. Excel veya Sheets ile filtre/sıralama deneyimi yeterlidir.
Hangi veritabanı sistemi üzerinden ilerleniyor?
ANSI SQL standardı üzerinden ilerlenir; örnekler ihtiyaca göre MS SQL Server, PostgreSQL, Oracle veya MySQL üzerinde gösterilir. Dialect farkları ayrı bölümde açıklanır.
JOIN'ler arasında doğru seçimi nasıl yapacağız?
Önce ilişki tipini (one-to-many, many-to-many) ve sorgunun amacını tanımlarız. Senaryoya göre INNER, LEFT, RIGHT veya FULL OUTER tercih edilir; nesne diyagramı ve örneklerle pratik yapılır.
Window function bu eğitimin kapsamında mı?
Evet. ROW_NUMBER, RANK, LAG, LEAD ve kümülatif toplam gibi yaygın senaryolar üzerinden uygulamalı işlenir. Subquery yerine ne zaman window kullanılacağı netleştirilir.
Eğitim içeriğini ihtiyaçlarımıza göre özelleştirebilir misiniz?
Evet. Eğitim öncesinde ihtiyaç analizi yaparak içerik ve örnekleri kurumun hedeflerine göre uyarlıyoruz. Modüller eklenebilir, bazı başlıklar derinleştirilebilir veya sadeleştirilebilir.
Eğitim yeri, yöntemi ve sertifikasyon süreci nasıl ilerliyor?
Eğitim online (canlı) veya yerinde gerçekleştirilebilir; tarih ve saatleri katılımcı grubunun uygunluğuna göre planlıyoruz. Program sonunda katılım sertifikası verilir; talep edilirse ölçme-değerlendirme ve raporlama eklenebilir.



