SQL Server nedir?
- Microsoft relational database management system.
- Database engine, tools ve cloud seçeneklerini ürün isimleriyle güncel doğrula.
Relational database nedir?
- Table, row, column, primary key, foreign key.
- Excel tablosu ile veritabanı farkı.
SQL nedir, T-SQL nedir?
- Standard SQL ve SQL Server'ın T-SQL uzantısı.
- DDL/DML/DQL kavramlarına giriş.
Database, schema ve object
- Database → schema → table/view/procedure/function.
dboşemasının ne olduğu.
Primary key ve foreign key
- Uniqueness ve referential integrity.
- Raporlama view'larında ilişki mantığı.
SELECT nasıl çalışır?
- SELECT, FROM, WHERE, ORDER BY.
- Production'da
SELECT *alışkanlığının neden sorun olabileceği.
JOIN türleri
- INNER, LEFT, RIGHT/FULL yüksek seviye.
- Yanlış JOIN ile satır çoğaltma ve yanlış KPI riski.
GROUP BY ve aggregate
- SUM, COUNT, AVG, MIN/MAX.
- Granularity ve duplicate problemine dikkat.
CASE ve koşullu hesaplama
- Durum mapping ve raporlama mantığı.
CTE ve subquery
- Okunabilirlik ve karmaşık sorguyu bölme.
- Recursive CTE'yi ayrı advanced içerik.
Window functions
- ROW_NUMBER, RANK, LAG/LEAD, SUM OVER.
- Raporlamada sıralama, önceki kayıt ve hareketli toplam.
STRING_AGG / STRING_SPLIT gibi yardımcı fonksiyonlar
- Raporlama senaryolarında kullanım; SQL Server sürüm uygunluğunu doğrula.
View nedir?
- Reusable query katmanı.
- View'ı data snapshot sanmama.
Stored Procedure nedir?
- Parametreli server-side işlem.
- Raporlama vs transaction logic kullanım ayrımı.
Function nedir?
- Scalar/table-valued function ve performans etkileri; advanced.
Temporary table ve table variable
- Karmaşık rapor sorgularında ara sonuç.
- Performans seçimini execution plan ile doğrulama.
Index nedir?
- Clustered/nonclustered kavramlarına giriş.
- Her kolona index eklemenin write/storage maliyeti.
Execution plan nedir?
- Scan, seek, join operator ve estimated vs actual.
- Sorgu optimizasyonunda ilk araçlardan biri.
SQL Server performans sorunları
- Missing/unused index, blocking, bad plan, statistics, parameter sniffing, I/O.
- Bir sorguyu hızlandırırken sistemi bütünüyle değerlendirme.
Blocking ve deadlock
- Birbirinden farkı.
- Transaction süresi ve uygun index etkisi.
Statistics
- Optimizer'ın cardinality tahmini için rolü.
- Bakım ve güncellik.
Database normalization
- 1NF/2NF/3NF'e giriş.
- Analitik star schema ile OLTP normalization'ın farklı amaçları.
ERP verisini raporlama
- Doğrudan production tables, vendor views, reporting DB, replica veya data warehouse seçenekleri.
- ERP vendor desteğini bozmamak.
Raporlama view katmanı
- Kolon isimlerini standardize, business logic merkezileştirme.
- Power BI'a sade veri modeli sunma.
Data warehouse / data mart
- OLTP ile analytics workload ayrımı.
- Fact/dimension ve incremental load.
ETL / ELT
- Kaynaklardan veriyi alma/dönüştürme/yükleme.
- SQL Agent, SSIS, Power Query, Fabric gibi araçların senaryoya göre rolü.
SQL Server Agent
- Job, schedule, backup/report refresh tasks.
- Edition/hosting kısıtlarını güncel doğrula.
SQL Server backup
- Full, differential, transaction log.
- Recovery model ile RPO ilişkisi.
Recovery model
- Simple, Full, Bulk-logged yüksek seviye.
- Log backup gereksinimi.
Point-in-time restore
- Transaction log zinciri ile belirli zamana dönüş.
- Restore testinin önemi.
SQL Server güvenliği
- Windows/Entra/SQL authentication seçeneklerinin güncel destek durumunu doğrula.
- Login, user, database role, least privilege.
Service account
- Dedicated service identity ve minimum yetki.
- Parola/credential yönetimi.
Encryption
- TLS in transit, TDE ve column-level seçeneklere giriş.
- Edition/version özelliklerini doğrula.
Audit ve log
- Login failures, permission changes, data access ihtiyacına göre audit.
- KVKK/ISO bağlamında gereksiz tüm sorguları loglama yerine risk bazlı yaklaşım.
High availability
- Failover Cluster Instance, Always On Availability Groups, log shipping gibi yaklaşımlara giriş.
- Backup'ın HA ile aynı şey olmadığını vurgula.
SQL Server ve Power BI
- Import/DirectQuery, views, query folding ve source performance.
- Production DB'nin korunması.
Veri kalitesi
- Duplicate, NULL, yanlış tarih, referential mismatch.
- Teknik doğru sorgunun yanlış business KPI üretebileceği.
SQL rapor doğrulama
- Örnek kayıt karşılaştırma, row count, reconciliation, kullanıcı acceptance.
- KPI tanımının iş birimiyle imzalanması.
En sık yapılan hatalar
- NOLOCK'u her sorguya körlemesine eklemek.
- SELECT *.
- Join key yanlışlığı.
- Production üzerinde ağır rapor.
- Backup var ama restore testi yok.
- Sa hesabını uygulamalarda paylaşmak.
Pillar içerisinde önerilen karşılaştırma tabloları
- SQL Server vs Excel
- Table vs View
- View vs Stored Procedure
- INNER JOIN vs LEFT JOIN
- Clustered vs Nonclustered Index
- OLTP Database vs Data Warehouse
- Backup vs High Availability
- Import vs DirectQuery (SQL + Power BI)
Gerçek hayat senaryoları
- ERP SQL view'larından Power BI dashboard besleme.
- Satış ve operasyon tablolarını business key ile birleştirip KPI view oluşturma.
- Yavaş rapor sorgusunda execution plan ve index analizi.
- Transaction log backup ile düşük RPO ve point-in-time restore.
- Production DB'yi yormamak için reporting replica/data mart mimarisi.
Sık sorulan sorular
- SQL Server nedir?
- T-SQL nedir?
- Primary key nedir?
- Foreign key nedir?
- JOIN nedir?
- LEFT JOIN ne işe yarar?
- GROUP BY nedir?
- CTE nedir?
- Window function nedir?
- View nedir?
- Stored Procedure nedir?
- Index nedir?
- Execution Plan nedir?
- SQL sorgusu neden yavaş?
- Blocking nedir?
- Deadlock nedir?
- Recovery Model nedir?
- Full Differential Log backup farkı nedir?
- SQL Server Power BI'a bağlanır mı?
- ERP veritabanından rapor almak güvenli mi?
- NOLOCK güvenli mi?
- SQL Server yedek nasıl test edilir?