18 puan yazan GN⁺ 2024-02-07 | 1 yorum | WhatsApp'ta paylaş

SQL for the Weary

  • Hedef kitle: Hücre biyolojisi alanında yüksek lisans derecesine sahip Rachel, bir araştırma hastanesinde hücre analizi üzerinde çalışıyor ve veri bilimci olmak istiyor.
  • Gerekli ön bilgi: Temel Unix komutları ve tablo biçimindeki verileri analiz etme becerisi.
  • Öğrenme çıktıları: Veritabanı ile veritabanı yöneticisi arasındaki farkı açıklama, SQL yazma, tablo tanımlama ve veri işleme, join türlerini açıklama, bitişik satırlarla çalışmak için pencere fonksiyonlarını kullanma, transaction ve trigger kavramlarını anlama, SQL kullanarak JSON verisini işleme, Python aracılığıyla veritabanı etkileşimi.

Kurulum

  • En son sürümü indirme: SQLite veritabanı örnekleri, SQL sorguları, Python betikleri ve daha fazlasını içeren dosyaları geçici bir dizine açın.

Arka plan kavramları

  • Veritabanı: Aranabilen ve erişilebilen veri koleksiyonu.
  • Veritabanı yönetim sistemi (DBMS): Belirli bir veritabanı türünü yöneten program.
  • SQLite: Veritabanını tek bir dosyada saklar; PostgreSQL ise daha yüksek performans için bilgiyi birden fazla dosyaya dağıtır.
  • İlişkisel veritabanı yönetim sistemi (RDBMS): Veriyi tablolarda saklar ve SQL kullanarak sorgular.
  • NoSQL veritabanı: MongoDB gibi tablo kullanmayan veritabanları da vardır.

Veritabanına bağlanma

  • Veritabanı bağlantısı: Gerçek bir sorgu değildir, ancak başka işlemler yapmadan önce gerekli bir adımdır.

Yönetim komutları

  • SQLite yönetim komutları: Standart SQL'in bir parçası değildir; PostgreSQL'in özel komutları \ ile başlar.
  • Çıktı biçimi: Sonuçları okunabilir şekilde göstermek için .headers on ve .mode markdown kullanın.

Tablo işlemleri

  • Tablo oluşturma: create table komutuyla tabloları ve sütunları tanımlayın.
  • Veri ekleme: insert into komutuyla tabloya veri ekleyin.
  • Satır güncelleme: update komutuyla belirli koşulları sağlayan satırlardaki veriyi değiştirin.
  • Satır silme: delete from komutuyla belirli koşulları sağlayan satırları kaldırın.

Join işlemleri

  • Join: İki tablodaki bilgileri birleştirme işlemi.
  • Inner join: inner join kullanarak yalnızca iki tabloda eşleşen satırları birleştirir.
  • Left join: left join kullanarak sol tablodaki tüm satırları korur ve sağ tablodaki eksik değerleri null ile doldurur.

Toplulaştırma fonksiyonları

  • Toplulaştırma: Birden fazla değeri tek bir değerde birleştirme işlemi.
  • Yaygın toplulaştırma fonksiyonları: Veriyi toplulaştırmak için sum, max, min, avg vb. kullanılır.
  • Gruplama: group by kullanarak satırları belirli sütunların benzersiz kombinasyonlarına göre gruplar ve her grup için toplulaştırma yapar.

GN⁺ görüşü

  • Bu yazı, veritabanları ve SQL hakkında temel bir anlayış kazandırmaya yönelik bir kaynak olup, başlangıç seviyesindeki yazılım mühendisleri veya veri bilimine ilgi duyanlar için faydalıdır.
  • SQL'in çeşitli özelliklerini gerçek örneklerle açıklayarak veritabanı yönetimi ve veri işleme konusunda pratik bilgi sunar.
  • Özellikle veritabanı join'leri, toplulaştırma fonksiyonları ve tablo işlemleri veri analiziyle ilgili çalışmalarda çok önemlidir; bu yazı bu kavramları net biçimde anlamaya yardımcı olur.

1 yorum

 
GN⁺ 2024-02-07
Hacker News görüşleri
  • ChatGPT kullanarak veri bilimci gibi karmaşık sorgular yazmak mümkün. Bu sayede dönüşüm oranı, mesaj tıklama oranı gibi faydalı metrikler elde edilebilir.
  • Veri bilimci teriminin anlamı, geçmişte “en seksi meslek” denilen dönemden bu yana değişti. Yazıda, biyoloji yüksek lisans derecesine sahip Rachel’ın bir araştırma hastanesinde hücre analizi yaptığı ve veri bilimci olmak istediği anlatılıyor. Eskiden veri bilimcileri hem nicel bir altyapıya hem de yazılım mühendisliği geçmişine sahip kişilerdi; bugün ise bazen “abartılmış veri analisti” olarak görülüyorlar.
  • Bu kılavuzu DuckDB kullanarak yeniden yazmak iyi olabilir. DuckDB şu anda veri bilimcileri tarafından SQLite’tan daha sık kullanılıyor.
  • Oldukça özlü bir SQL kılavuzu; örnekler üzerinden çok iyi eğitim veriyor. ABD’deki üniversitelerde bu içerik bir dönem boyunca öğretiliyor, ancak bu kılavuz veritabanı optimizasyonu dışında çoğu endüstriyel yazılım mühendisliği rolü için yeterli.
  • SQL pratiği yapmak için TextQuery adlı bir Mac uygulaması kullanılabilir. CSV veri kümelerini hızlıca içe aktarıp SQL sorguları çalıştırabilirsiniz; şu anda beta sürümü ücretsiz olarak kullanılabiliyor.
  • Wi‑Fi’ın kararsız olduğu bir uçuş sırasında uzun, tek sayfalık bir öğreticiyi indirmenin iyi olduğu söyleniyor. SQL dışında başka diller veya teknolojiler için de benzer öğreticiler olup olmadığı merak ediliyor.
  • Birçok sorgu yalnızca SQLite için geçerli ve bazı DBMS’lerde desteklenmeyen özellikler içeriyor. Örneğin, aggregate filtering MySQL, MS SQL, Oracle gibi sistemlerde desteklenmiyor.
  • Bunun veri bilimcileri için bir öğreticiden çok, genel SQL için iyi bir özet olduğu düşünülüyor.
  • “left outer join” açıklaması yalnızca eşitlik koşulları için geçerli ve left join hakkında yanlış bir algı oluşturabilir. Bu tür açıklamalar çok yaygın, ancak yanıltıcı olabilir.