Kurs
İlişkisel veritabanı, veritabanındaki diğer tablolarla ilişkili bilgileri içeren bir dizi tablodur (satır ve sütunlardan oluşan veri kümeleri).
Aşağıdaki diyagram, örnek bir ilişkisel veritabanındaki iki tablodaki sütunlar hakkında bilgiler içerir. Her iki tabloda da customer_id adlı sütunlar bulunur ve bu, tablolar arasında bir ilişki kurar. Şirket büyüyüp binlerce (veya milyonlarca) sipariş kaydı oluşturdukça, verileri ayrı tablolarda saklamak hem alan kullanımını optimize eder hem de veritabanının boyutunu azaltır.

SQL (Structured Query Language), ilişkisel veritabanlarıyla etkileşim kurmak için standart dildir. SQL ile ilişkisel bir veritabanındaki verileri sorgulayabilir, yani sorular sorabilirsiniz. SQL ile çalışmak ve ilişkisel veritabanlarını kullanmak bir veri analisti, veri mühendisi veya veri bilimcisi için vazgeçilmez bir beceri setidir.
SQL öğrenmenin yollarını araştırmaya başladıysanız, öğrenilebilecek pek çok farklı SQL lehçesi olduğunu ve bu lehçeler arasındaki bazı belirgin (ve daha az belirgin) farkları fark etmiş olabilirsiniz. Peki nereden başlamalısınız? Daha önce kullanmadıysanız hangi SQL sürümü sizin için daha faydalıdır? Bu yazıda, dört popüler veritabanı yönetim sistemi – PostgreSQL, MySQL, SQLite ve SQL Server – ve bunların SQL söz dizimi sürümlerine odaklanacağız.
Aşağıdaki Stack Overflow Trends grafiği, bu platformların her birinin ne sıklıkta tartışıldığına dair bir fikir verir – her çizgi, Stack Overflow’daki tüm sorular içinde ilgili SQL sürümü hakkında olanların yüzdesini temsil eder.

MySQL, Stack Overflow sorularında tutarlı biçimde en popüler SQL sürümü olmuştur. İkinci sırada ise Microsoft SQL Server (Microsoft’un SQL lehçesinin adı olan T-SQL dahil) yer alır ve PostgreSQL ile SQLite’tan istikrarlı biçimde daha popüler bir etiket olmaya devam etmektedir. Bu da, bu sistemlerden birine özgü bir sorunuz varsa, birinin benzer bir soruyu daha önce sormuş olma olasılığının yüksek olduğu anlamına gelir.
Farkı ne?
PostgreSQL, MySQL ve SQLite çok benzer bir söz dizimi kullanır; aşağıda vurgulanan bazı önemli farklar vardır. Microsoft SQL Server ise SQL söz diziminde en büyük karşıtlığı sergiler ve diğer platformlarda bulunmayan çok çeşitli işlevler sunar. Aşağıdaki tablo, SQL platformları arasındaki temel farklara dair bazı örnekleri öne çıkarır.
| SQL Server | MySQL | PostgreSQL | SQLite | |
|---|---|---|---|---|
| SELECT ... | Select [col1], [col2] | SELECT col1, col2 | SELECT col1, col2 | SELECT col1, col2 |
| Tablolardaki verilerde büyük/küçük harf duyarlılığı? | Evet WHERE name = ‘John’ veya WHERE name = ‘john’ aynı değildir | Hayır WHERE name = ‘John’ veya WHERE name = ‘john’ aynıdır | Evet WHERE name = ‘John’ veya WHERE name = ‘john’ aynı değildir | Evet WHERE name = ‘John’ veya WHERE name = ‘john’ aynı değildir |
| Tırnak işaretlerinin kullanımı | yalnızca name = ‘John’ | name = ‘John’ veya name = “John” | yalnızca name = ‘John’ | name = ‘John’ veya name = “John” |
| Sütunlar ve tablolar için takma adlar | SELECT AVG(col1)=avg1 | SELECT AVG(col1) AS avg1 | SELECT AVG(col1) AS avg1 | SELECT AVG(col1) AS avg1 |
| Tarihlerle çalışma | GETDATE() DATEPART() | CURDATE() CURTIME() EXTRACT() | CURRENT_DATE() CURRENT_TIME() EXTRACT() | DATE(‘now’) strftime() |
| Pencere fonksiyonları, ör. OVER(), PARTITION BY() | Evet | Evet | Evet | Evet |
Nereden başlamalıyım?
SQL konusunda az ya da hiç deneyimi olmayan ve en geniş ölçüde uygulanabilir becerileri kazanmak isteyen öğrenciler için PostgreSQL ile başlamayı öneririm. MySQL’in ezici popülaritesine rağmen, PostgreSQL daha iyi bir tercih olabilir; çünkü söz dizimi Standart SQL’e en yakın olanıdır. Bu, becerilerinizi MySQL veya SQLite gibi diğer veritabanı yönetim sistemlerine kolayca aktarabileceğiniz anlamına gelir. Örneğin, aşağıdaki sorgu satış bilgileri veritabanından verileri toplar. Bir birleşim (join), bir toplu işlev (aggregate function) ve bir filtre içerir. Bu söz dizimi, üç veritabanı sisteminde de aynı sonuçları üretir.
Select
c.customer_name,
SUM(p.amount) AS total_sales
FROM customers AS c
LEFT JOIN purchases AS p
ON c.customers_id = p.customer_id
WHERE
c.customer_location = 'USA'
GROUP BY
c.customer_name;
Kariyerinizde Microsoft SQL Server ile çalışmayı öngörüyorsanız, T-SQL/Microsoft SQL öğrenerek başlamanızı öneririm. SQL Server, önemli bir pazar payını korumaya devam ediyor ve birçok sektörde önemli bir veritabanı yönetim sistemidir. Bu ikisinden hangisinin sizin için daha önemli olduğundan emin değilseniz, alanınızdaki iş ilanlarına göz atarak belirli rol veya sektörlerde belirli bir veritabanı sistemine yönelik bir tercih olup olmadığını belirlemenizi öneririm.
DataCamp nasıl yardımcı olabilir?
DataCamp’te şu anda PostgreSQL’de giriş konuları ve join’leri kapsayan iki SQL dersi sunuyoruz. PostgreSQL’de orta ve ileri düzey konuları kapsayan heyecan verici dersler de geliştirme aşamasında. Ayrıca, SQL Server’a giriş niteliğinde bir T-SQL/Microsoft SQL dersi de dahil olmak üzere, size SQL Server ile çalışmada sağlam bir temel sağlayacak birkaç SQL Server dersi üzerinde çalışıyoruz. Daha fazla bilgi için ders yol haritamıza göz atabilirsiniz.
Kendi başınıza bir PostgreSQL veritabanı ile etkileşim pratiği yapmak istiyorsanız, Kaggle’daki veri kümelerini keşfetmenizi öneririm. İlginizi çeken bir şey bulursanız, PostgreSQL’e içe aktarın (CSV veya SQLite dosyaları PostgreSQL’e içe aktarılabilir) ve keşfetmeye başlayın!
Bizimle öğretmenlik yapın!
Bilgi ve uzmanlığınızı DataCamp’teki 3 milyon öğrencimizle paylaşmak ister misiniz? Büyüyen ders kütüphanemize katkıda bulunacak eğitmenler arıyoruz. Ders dilek listemiz, önümüzdeki aylarda öğrencilerimize sunmayı hedeflediğimiz becerileri vurgular. Bu bağlantıdan başvurabilirsiniz. Sizinle çalışmayı dört gözle bekliyoruz!
