SQL
Veritabanlarıyla konuşmanın dili
Veritabanlarının nasıl düzenlendiğini öğren ve verileri seçmek, filtrelemek, sıralamak, gruplamak ve birleştirmek için SQL sorguları yaz. Kursun sonunda kendi tablolarını oluşturabilecek, verileri güvenle değiştirebilecek; indeks, görünüm ve işlem (transaction) kullanabileceksin. Her örneği doğrudan dersin içinde, bir alıştırma veritabanı üzerinde çalıştırabilirsin.
Kurs içeriği
SQL temelleri
BaşlangıçVeritabanı nedir, SELECT ile veri nasıl seçilir ve WHERE ile nasıl filtrelenir.
- 1Veritabanları ve tablolarVeritabanının ne olduğunu, tabloların satır ve sütunlardan nasıl oluştuğunu ve anahtarların tabloları nasıl birbirine bağladığını öğren.12 dk
- 2SELECT ve sütun takma adlarıGereken sütunları seç, anında hesaplamalar yap, sütunlara takma ad ver ve DISTINCT ile tekrarları kaldır.14 dk
- 3WHERE: satırları filtrelemeWHERE ile yalnızca gereken satırları seç: karşılaştırma işleçleri, AND, OR, NOT ve parantezlerin önemi.15 dk
Filtreleme, sıralama ve toplamlar
BaşlangıçLIKE, IN, BETWEEN ve NULL ile hassas filtreler, ORDER BY ile sıralama ve toplama fonksiyonlarıyla özetler.
- 4LIKE, IN, BETWEEN ve IS NULLKalıba göre aramayı (LIKE), bir değer listesiyle eşleştirmeyi (IN), aralık seçmeyi (BETWEEN) ve eksik verilerle (NULL) çalışmayı öğren.16 dk
- 5ORDER BY ve LIMIT: sıralama ve sınırlamaSonucu bir ya da birkaç sütuna göre sırala, ilk N satırı seç, sonuçları sayfalara böl ve farklı VTYS'lerin bunu nasıl yaptığını öğren.14 dk
- 6Toplama fonksiyonları: COUNT, SUM, AVG, MIN, MAXÇok sayıda satırı tek bir sayıya dönüştür: satırları say, değerleri topla; ortalamayı, en küçük ve en büyük değeri bul.14 dk
Gruplama ve tablo birleştirme
OrtaGROUP BY ve HAVING ile grup raporları, JOIN ile birden fazla tablodan veri ve alt sorgular.
- 7GROUP BY ve HAVING: gruplara göre özetlerSatırları gruplara ayır, her grup için toplama fonksiyonlarını hesapla ve grupları HAVING ile filtrele.16 dk
- 8JOIN: tabloları birleştirmeINNER JOIN ve LEFT JOIN ile birkaç tablonun verisini tek bir sonuçta birleştir, eşi olmayan satırları bul ve birleştirmeden sonra grupla.18 dk
- 9Alt sorgularSorgu içinde sorgu yaz: WHERE, SELECT ve FROM içinde alt sorgular, IN, EXISTS, ilişkili alt sorgular ve WITH ifadesi.18 dk
Veri değiştirme ve veritabanı tasarımı
İleriINSERT, UPDATE ve DELETE, kısıtlamalarla tablo oluşturma, indeksler, görünümler ve işlemler.
- 10INSERT, UPDATE, DELETE: verileri değiştirmeTabloya yeni satırlar ekle, var olan satırları değiştir, gereksiz olanları sil ve bunu güvenle yapmayı öğren.16 dk
- 11CREATE TABLE: veri tipleri ve kısıtlamalarKendi tablolarını oluştur, sütunlar için doğru tipi seç ve PRIMARY KEY, NOT NULL, UNIQUE, CHECK, DEFAULT, FOREIGN KEY ile hatalı verinin önüne geç.18 dk
- 12İndeksler, görünümler ve işlemlerİndekslerle aramayı hızlandır, görünümlerle karmaşık sorgulara ad ver ve işlemlerle (transaction) değişiklikleri “ya hep ya hiç” ilkesiyle yap.18 dk
İleri düzey SQL
İleriPencere fonksiyonları, CTE ve özyinelemeli sorgular, CASE ile koşullu mantık, metin, tarih ve matematik fonksiyonları, küme işlemleri ve gelişmiş birleştirmeler.
- 13Pencere fonksiyonlarıHiçbir satırı kaybetmeden sıralama yap, gruplar içinde numara ver, kümülatif toplam hesapla ve önceki satırla karşılaştır: ROW_NUMBER, RANK, DENSE_RANK, SUM() OVER, PARTITION BY, LAG ve LEAD.22 dk
- 14CTE: WITH ve özyinelemeli sorgularKarmaşık bir sorguyu adlandırılmış adımlara böl, birkaç CTE'yi zincir gibi bağla ve özyinelemeli CTE'lerle sayı dizileri ve hiyerarşiler kur.20 dk
- 15CASE ve koşullu mantıkCASE WHEN ile sorgunun içinde “eğer… ise…” yaz, COALESCE ve NULLIF ile NULL değerleri yönet, koşullu toplama ile tabloyu pivot biçimine getir.18 dk
- 16Metin, tarih ve matematik fonksiyonlarıSQLite'ta metni kes, birleştir ve ara, tarihlerle hesap yap ve sayıları yuvarla; her fonksiyonun MySQL ve PostgreSQL karşılığını öğren.20 dk
- 17Küme işlemleri ve gelişmiş birleştirmelerSorgu sonuçlarını UNION, UNION ALL, INTERSECT ve EXCEPT ile birleştir ve karşılaştır; bir tabloyu kendisiyle birleştir, CROSS JOIN ile tüm kombinasyonları kur ve NOT EXISTS ile eksik olanları bul.20 dk
Profesyonel düzeyde veritabanları
ÜniversiteNormalizasyonla veritabanı tasarımı, işlemler ve eş zamanlılık, indeksler ve sorgu optimizasyonu, uygulamada PostgreSQL ve MySQL, SQL ile veri analizi.
- 18Veritabanı tasarımı ve normalizasyonBir ER modeli kur, ilişkilerin kardinalitesini belirle, fonksiyonel bağımlılıkları bul ve tabloları adım adım 1NF, 2NF, 3NF ve BCNF'ye kadar ayrıştır.30 dk
- 19İşlemler ve eş zamanlılıkACID'in nasıl sağlandığını, eş zamanlı işlemlerin hangi anomalilere yol açtığını, yalıtım düzeylerini, kilitleri, MVCC'yi ve kilitlenmeleri (deadlock) öğren.30 dk
- 20Sorgu optimizasyonu ve indekslerB-ağacı indeksinin nasıl çalıştığını, sorgu planının nasıl okunduğunu, indeksi kullanabilen (sargable) koşulların nasıl yazıldığını, bileşik ve kapsayan indeksleri ve indeksin ne zaman zarar verdiğini öğren.30 dk
- 21Uygulamada PostgreSQL ve MySQLSunucu VTYS'lerine geçiş: veri tipleri, IDENTITY ve AUTO_INCREMENT, JSON sütunları, SQLite'tan farklar, kullanıcılar ve yetkiler, yedekler.30 dk
- 22SQL ile veri analiziİş metriklerini SQL ile hesapla: ortalama sipariş değeri, kohortlar ve elde tutma, huni dönüşümü, medyan ve yüzdelikler; sonunda da alıştırma verileri üzerinde bir ABC analizi projesi.30 dk