Teknolojiler ve Araçlar

SQL Temelleri

1. SQL Nedir?

Photo by Christina Morillo on Pexels.com

SQL (Structured Query Language), veritabanları ile iletişim kurmak için kullanılan bir sorgulama dilidir. Veri ekleme, güncelleme, silme, çekme gibi işlemleri yapmak için kullanılır. SQL, ilişkisel veritabanlarını (RDBMS) yönetmek ve analiz etmek için en yaygın kullanılan dillerden biridir.

SQL’in Avantajları

  • Veri yönetimi: Büyük veri kümelerini düzenlemek ve yönetmek için idealdir.
  • Hızlı sorgulama: Verileri hızlıca çekmek ve analiz etmek için optimize edilmiştir.
  • Standartlaştırılmış dil: MySQL, PostgreSQL, SQL Server gibi birçok sistemde kullanılır.
  • İleri düzey veri analizi: Karmaşık sorgular, veri modelleme ve analitik işlemler için uygundur.
  • Güvenilirlik: Veri bütünlüğünü korumak için güçlü doğrulama mekanizmaları sağlar.

2. SQL’in Temel Komutları

SQL’de en sık kullanılan temel sorgu komutları şunlardır:

2.1 SELECT – Veri Çekme

Belirli bir tablodan veri almak için kullanılır.

SELECT * FROM calisanlar;

Belirli sütunları almak için:

SELECT isim, maas FROM calisanlar;

2.2 WHERE – Koşullu Filtreleme

Belirli bir koşula göre veri filtrelemek için kullanılır.

SELECT * FROM calisanlar WHERE maas > 5000;

2.3 ORDER BY – Sıralama

Verileri belirli bir sütuna göre sıralamak için kullanılır.

SELECT * FROM calisanlar ORDER BY maas DESC;

2.4 INSERT – Yeni Veri Ekleme

Yeni kayıt eklemek için kullanılır.

INSERT INTO calisanlar (isim, departman, maas) VALUES ('Ali Yılmaz', 'IT', 7000);

2.5 UPDATE – Veri Güncelleme

Var olan kayıtları güncellemek için kullanılır.

UPDATE calisanlar SET maas = 8000 WHERE isim = 'Ali Yılmaz';

2.6 DELETE – Veri Silme

Belirli bir kaydı silmek için kullanılır.

DELETE FROM calisanlar WHERE isim = 'Ali Yılmaz';

3. SQL ile Veri Modelleme

Verileri daha verimli yönetmek için tablolar arasındaki ilişkileri tanımlamak önemlidir.

3.1 JOIN – Tabloları Birleştirme

İki veya daha fazla tabloyu ilişkilendirmek için kullanılır.

SELECT calisanlar.isim, departmanlar.departman_adi
FROM calisanlar
JOIN departmanlar ON calisanlar.departman_id = departmanlar.id;

3.2 GROUP BY – Gruplama ve Özetleme

Belirli bir kritere göre verileri gruplamak için kullanılır.

SELECT departman, AVG(maas) AS ortalama_maas
FROM calisanlar
GROUP BY departman;

3.3 HAVING – Gruplanmış Verilere Koşul Uygulama

Filtrelenmiş gruplarla çalışmak için kullanılır.

SELECT departman, COUNT(*) AS calisan_sayisi
FROM calisanlar
GROUP BY departman
HAVING COUNT(*) > 10;

4. SQL Performans Optimizasyonu

Büyük veri setleriyle çalışırken performansı artırmak için aşağıdaki yöntemler kullanılabilir:

  • INDEX Kullanımı: Sorguların hızlanması için anahtar sütunlara index ekleyin.
  • LIMIT Kullanımı: Büyük sorgular yerine sadece ihtiyacınız olan veriyi çekin.
  • EXPLAIN ile Sorgu Analizi: Sorguların çalışma planını görmek için EXPLAIN kullanın.
  • View Kullanımı: Sık kullanılan sorguları hızlandırmak için VIEW oluşturabilirsiniz.
  • Stored Procedures ve Functions: Karmaşık sorguları saklamak ve çağırmak için kullanılır.

5. SQL’de İleri Seviye Konular

5.1 Alt Sorgular (Subqueries)

Bir sorgunun içinde başka bir sorgu kullanarak karmaşık veri analizleri yapmak mümkündür.

SELECT isim, maas FROM calisanlar
WHERE maas > (SELECT AVG(maas) FROM calisanlar);

5.2 Window Functions

Satır bazlı analizler yapmak için kullanılır.

SELECT isim, departman, maas,
RANK() OVER (PARTITION BY departman ORDER BY maas DESC) AS siralama
FROM calisanlar;

5.3 Normalizasyon ve Denormalizasyon

Veri modellemede normalizasyon, veri tekrarlanmasını önlemek için kullanılırken denormalizasyon, performansı artırmak için belirli veri fazlalıklarına izin verir.


6. Örnek SQL Projesi: Çalışan Performans Analizi

📌 Proje Konusu: Bir şirkette çalışanların maaşlarını ve departman bazında dağılımlarını analiz eden bir SQL raporu.

🔹 Veri Kaynağı: Çalışanlar ve Departmanlar tabloları (MySQL, PostgreSQL veya SQL Server kullanılabilir)

🔹 Adımlar:

  1. Çalışanlar Tablosunu Oluştur: Çalışanların temel bilgilerini içeren tablo oluşturulur.
  2. Departmanlar Tablosunu Oluştur: Çalışanların hangi departmana ait olduğunu belirleyen tablo eklenir.
  3. Çalışan Maaşlarını Analiz Et: Departman bazında ortalama maaş hesaplanır.
  4. Performans Optimizasyonu Uygula: Verileri daha hızlı analiz etmek için index eklenir.

SQL, veri analizi ve yönetimi için vazgeçilmez bir dildir. Daha fazla pratik yaparak ve gerçek verilerle çalışarak yetkinliğinizi artırabilirsiniz.

Yorum bırakın