Eğitimin Amacı ve Kapsamı
Kötü tasarlanmış bir veri tabanı şeması, üzerinde ne kadar indeks veya donanım iyileştirmesi yapılırsa yapılsın tutarsız veriler (güncelleme/silme anomalileri), karmaşık sorgular ve kırılgan raporlar üretmeye devam eder. Bu eğitim, sorgu planı ince ayarından (C0792) farklı olarak tablo yapısının, anahtarların ve kısıtların baştan doğru kurulmasına odaklanır.
Programda iş kurallarından ER diyagramı çıkarma, fonksiyonel bağımlılıklar ve 1NF, 2NF, 3NF, BCNF normalizasyon adımları, OLTP ile analitik/raporlama ihtiyaçları arasında kontrollü denormalizasyon kararları, doğal (natural) vs vekil (surrogate/IDENTITY/UUIDv7) anahtarlar, doğru veri tipi ve kısıt (FK, CHECK, EXCLUDE) seçimi, zamansal (temporal/audit) veri modelleme ve expand-contract ile kesintisiz şema migration'ları uygulamalı işlenir.
Kimler Katılmalı?
- Yeni modül ve veri tabanı tablolarını tasarlayan backend yazılımcıları ve uygulama geliştiriciler
- Veri bütünlüğü ve kurumsal veri modelinden sorumlu veri mimarları, DBA'ler ve sistem analistleri
- Mevcut spagetti/tutarsız şemaları yeniden yapılandıran (database refactoring) mühendislik ekipleri
- Ön koşul: temel SQL (CREATE TABLE, SELECT, JOIN) bilgisi
Kazanımlar
- İş gereksinimlerini varlık, ilişki, kardinalite ve bütünlük kurallarıyla eksiksiz bir fiziksel şemaya dönüştürmek
- Fonksiyonel ve geçişli bağımlılıkları tespit ederek tabloları 3NF/BCNF seviyesine normalize etmek
- Performans gerektiren okuma noktalarında veri bütünlüğünü bozmadan kontrollü denormalizasyon uygulamak
- Birincil anahtar (auto-increment, sequence, UUIDv4 vs sıralı UUIDv7), veri tipi ve nullability kararlarını doğru vermek
- Canlı üretim tablolarında kilitlenme yaratmadan expand-contract deseniyle şema değişikliği (migration) yürütmek
Konular
Kavramsal, Mantıksal ve Fiziksel Veri Modelleme
- İş kurallarından varlıkları (Entity), nitelikleri ve ilişkileri (1:1, 1:N, M:N) çıkarma
- Kardinalite, opsiyonellik ve alt tip / üst tip (Supertype/Subtype: Single Table, Class Table, Concrete Table) modelleme
- Anahtar tasarımı: Natural Key vs Surrogate Key (Bigint Identity/Sequence, rastgele UUIDv4 tuzağı ve zaman sıralı UUIDv7)
Normalizasyon (1NF – BCNF) ve Veri Anomalilerini Önleme
- Ekleme, güncelleme ve silme anomalileri gerçek projelerde nasıl veri bozulmasına yol açar?
- 1NF (atomik değerler ve tekrarlayan sütun gruplarının kaldırılması) ve 2NF (kısmi bağımlılıkların ayrılması)
- 3NF (geçişli/transitive bağımlılıkların kaldırılması) ve Boyce-Codd Normal Formu (BCNF) uygulamaları
Kontrollü Denormalizasyon ve Özel Modelleme Kalıpları
- Ne zaman 3NF'den ödün verilmeli? OLTP vs OLAP (Star/Snowflake şema) okuma/yazma dengesi
- Hesaplanmış özet sütunlar, tarihçeli anlık görüntüler (fatura anındaki fiyat/adres) ve Materialized View kullanımı
- Ağaç/hiyerarşi modelleme (Adjacency List, Materialized Path, Closure Table), çok dilli tablolar ve EAV anti-pattern'i
Fiziksel Şema Optimizasyonu: Veri Tipleri, Kısıtlar ve Tarihçe
- Sütun boyutu, hizalama (alignment), para/kesin sayısal tipler (
DECIMAL/NUMERICvsFLOAT) ve zaman dilimli tarih tipleri - Veri bütünlüğünü uygulama koduna bırakmama:
NOT NULL,FOREIGN KEY,CHECKveUNIQUEkısıtları - Soft Delete (
is_deleted/deleted_at) tuzakları, kısmi tekillik (partial unique index) ve Temporal / Audit tablo tasarımı
Sıfır Kesintili Şema Evrimi (Database Refactoring & Migrations)
- Canlıdaki büyük tablolarda kilit yaratan tehlikeli DDL işlemleri (sütun yeniden adlandırma, tip değiştirme, NOT NULL ekleme)
- Expand-Contract (Parallel Change) deseni ve Flyway/Liquibase ile geriye uyumlu şema geçişleri
- Bozuk ve normalize edilmemiş bir kurumsal şemayı adım adım yeniden modelleme atölyesi
Bu Kategorideki Diğer Eğitimler
-
SQL Sorgulama Temel
İlişkisel veritabanı mimarisi, veri modelleme, normalizasyon, indeksleme, tablolar, görünümler (Views), saklı prosedürler (Stored Procedures) ve JOIN ile temel SQL sorgulama.
- Canlı Kurs
- 8 modül
-
SQL Veri Tabanı Sorgulama
SQL Server mimarisi, SSMS kullanımı, T-SQL temelleri, SELECT sorguları, çoklu tablo JOIN işlemleri (INNER, OUTER, CROSS, SELF JOIN), OFFSET-FETCH sayfalama ve yerleşik (Scalar, Aggregate, Window) fonksiyonlar.
- Canlı Kurs
- 7 modül
-
Apache Spark SQL ile Büyük Veri Sorgulama
Apache Spark SQL ve DataFrame API, Catalyst Optimizer ve Adaptive Query Execution (AQE), Parquet/Delta Lake/Iceberg tablo formatları, join stratejileri ve data skew çözümü; büyük veri analitiği geliştiren ekipler için.
- Canlı Kurs
- 5 modül
-
PostgreSQL Temelleri ve İleri Seviye Geliştirme
PostgreSQL veri tipleri, ileri SQL (CTE, window functions, LATERAL), JSONB ile belge modelleme, tam metin arama, B-Tree/GIN/GiST/BRIN indeksleri, PL/pgSQL, MVCC/kilitler ve tablo bölümleme; uygulama geliştiricileri için.
- Canlı Kurs
- 5 modül
-
PostgreSQL Administration (Veri Tabanı Yönetimi)
PostgreSQL mimarisi, bellek ve WAL yapılandırması, MVCC/Autovacuum ve bloat yönetimi, PgBouncer bağlantı havuzu, pgBackRest ile PITR yedekleme, Streaming/Logical Replication ve Patroni ile yüksek erişilebilirlik.
- Canlı Kurs
- 5 modül
-
MySQL ve MariaDB Geliştirme ve Yönetimi
InnoDB depolama motoru ve clustered index mimarisi, sorgu ve indeks optimizasyonu, transaction ve kilit analizi, yedekleme, GTID tabanlı replikasyon ve yüksek erişilebilirlik; MySQL ve MariaDB kullanan geliştirici ve DBA ekipleri için.
- Canlı Kurs
- 5 modül
Bizimle iletişime geçin