Formüller ve kolay yollar
SQL · 20
Bu kurstaki tüm formüller ve onları hatırlamanın kolay yolları tek sayfada.
1İleri düzey SQLİleri
Pencere fonksiyonları
Derse gitCTE: WITH ve özyinelemeli sorgular
Derse gitCASE ve koşullu mantık
Derse gitMetin, tarih ve matematik fonksiyonları
Derse gitKüme işlemleri ve gelişmiş birleştirmeler
Derse git2Profesyonel düzeyde veritabanlarıÜniversite
Veritabanı tasarımı ve normalizasyon
Derse gitX → Y ⇔ ∀ t₁, t₂ ∈ r : t₁[X] = t₂[X] ⇒ t₁[Y] = t₂[Y]
- Xbelirleyen (determinant) — nitelikler kümesi
- Ybağımlı nitelikler kümesi
- rtablonun (bağıntının) herhangi bir geçerli durumu
- t₁, t₂tablonun herhangi iki satırı; t[X] — satırın X sütunlarındaki değerleri
X'te aynı olan iki satır Y'de de aynı olmak zorundadır.
(R₁ ∩ R₂) → R₁ ∨ (R₁ ∩ R₂) → R₂
- R₁, R₂ayrıştırmadan elde edilen iki tablonun nitelik kümeleri (R₁ ∪ R₂ = R)
- R₁ ∩ R₂ortak nitelikler —
JOINişleminin yapıldığı sütunlar
Koşul sağlanıyorsa ayrıştırma kayıpsızdır: R = R₁ ⋈ R₂.
İşlemler ve eş zamanlılık
Derse gits = s₀ − q₂ ≠ s₀ − q₁ − q₂
- s₀iki işlemin de okuduğu başlangıç stoğu
- q₁, q₂T1 ve T2'nin sattığı miktarlar
- sson yazan işlemin (T2) kaydettiği sonuç
Kayıp güncelleme: “oku → uygulamada hesapla → yaz” düzeninde T1'in satışı toplamdan düşer.
Sorgu optimizasyonu ve indeksler
Derse gith = ⌈ log N ÷ log f ⌉
- hağacın yüksekliği — bir anahtarı bulmak için okunan sayfa sayısı
- Nindeksteki anahtar (satır) sayısı
- fdallanma katsayısı — bir sayfaya sığan anahtar sayısı (genellikle yüzlerce)
Yükseklik satır sayısıyla logaritmik olarak artar: tablo 500 kat büyüdüğünde ağaca yalnızca bir düzey eklenir.
s = n ÷ N
- skoşulun seçiciliği (0 ile 1 arasında)
- nkoşula uyan satır sayısı
- Ntablodaki tüm satırlar
Küçük s (az satır döndüren bir koşul) indeks için iyidir; s büyükse tam tarama daha ucuz olabilir.
Uygulamada PostgreSQL ve MySQL
Derse gitSQL ile veri analizi
Derse gitAOV = R ÷ Nₒ
- AOVortalama sipariş değeri (average order value), manat
- Rdönem geliri: Σ miktar · fiyat, manat
- Nₒaynı dönemdeki sipariş sayısı
r = A ÷ C₀ · 100%
- rkohortun elde tutma oranı
- C₀kohort büyüklüğü — ilk dönemde gelen müşteriler
- Asonraki dönemlerde yeniden sipariş veren müşteriler
cᵢ = nᵢ ÷ n₁ · 100%
- cᵢi. aşamaya kadarki dönüşüm
- nᵢi. aşamaya ulaşan müşteriler
- n₁hunideki ilk aşama
Adım dönüşümü ise nᵢ ÷ nᵢ₋₁ · 100%'dür; “en çok nerede kaybediyoruz?” sorusunu cevaplar.
k = ⌈ p ÷ 100 · n ⌉
- kyüzdeliğin sıralı listedeki konumu (1'den başlayarak)
- pyüzdelik, örneğin 90
- ndeğer sayısı
En yakın sıra yöntemi: p. yüzdelik, değerlerin en az %p'sini kapsayan en küçük değerdir.