💽 SQL Server Veritabanı Yönetimine Giriş
SQL Server, Microsoft tarafından geliştirilen, ilişkisel bir veritabanı yönetim sistemidir (RDBMS). Verilerin güvenli, tutarlı ve verimli bir şekilde saklanmasını ve yönetilmesini sağlar. İşletmelerin kritik verilerini depolamak, işlemek ve analiz etmek için yaygın olarak kullanılır.
- ⚙️ Veritabanı: İlişkili tablolar halinde düzenlenmiş, yapılandırılmış veri koleksiyonudur.
- 💾 SQL Server Instance: SQL Server'ın kurulu olduğu ve çalıştığı ortama denir. Birden fazla instance aynı sunucuda çalışabilir.
- 🔑 Kimlik Doğrulama: SQL Server'a erişim için Windows Authentication veya SQL Server Authentication kullanılabilir.
🔑 T-SQL Sorgularına Giriş
T-SQL (Transact-SQL), SQL Server tarafından kullanılan, SQL dilinin bir uzantısıdır. Veritabanı nesnelerini oluşturmak, verileri sorgulamak, değiştirmek ve yönetmek için kullanılır.
📝 Temel T-SQL Komutları
- 📖 SELECT: Veritabanından veri çekmek için kullanılır.
- ✏️ INSERT: Veritabanına yeni veri eklemek için kullanılır.
- 🔄 UPDATE: Veritabanındaki mevcut veriyi güncellemek için kullanılır.
- 🗑️ DELETE: Veritabanından veri silmek için kullanılır.
🧮 SELECT Sorgusu
SELECT sorgusu, veritabanından veri çekmek için en temel komuttur.
Örnek:
`SELECT * FROM Customers;`
Bu sorgu, "Customers" tablosundaki tüm sütunları ve satırları getirir.
Sütun Seçimi:
`SELECT CustomerID, CustomerName FROM Customers;`
Bu sorgu, sadece "CustomerID" ve "CustomerName" sütunlarını getirir.
🗄️ WHERE Koşulu
WHERE koşulu, sorguya filtre eklemek için kullanılır.
Örnek:
`SELECT * FROM Customers WHERE Country = 'USA';`
Bu sorgu, sadece "Country" sütunu "USA" olan müşterileri getirir.
📊 ORDER BY Sıralama
ORDER BY komutu, sonuçları belirli bir sütuna göre sıralamak için kullanılır.
Örnek:
`SELECT * FROM Customers ORDER BY CustomerName;`
Bu sorgu, müşterileri "CustomerName" sütununa göre alfabetik olarak sıralar.
➕ Aggregate Fonksiyonlar
Aggregate fonksiyonlar, birden fazla satır üzerinde hesaplama yapmak için kullanılır.
- 🔢 COUNT(): Satır sayısını döndürür.
- ➕ SUM(): Değerlerin toplamını döndürür.
- 📉 AVG(): Değerlerin ortalamasını döndürür.
- ⬆️ MAX(): En yüksek değeri döndürür.
- ⬇️ MIN(): En düşük değeri döndürür.
Örnek:
`SELECT COUNT(*) FROM Customers;`
Bu sorgu, "Customers" tablosundaki toplam müşteri sayısını döndürür.
🤝 JOIN İşlemleri
JOIN işlemleri, birden fazla tablodaki verileri birleştirmek için kullanılır.
- 🔗 INNER JOIN: İki tabloda da eşleşen satırları getirir.
- ⬅️ LEFT JOIN: Sol tablodaki tüm satırları ve sağ tablodaki eşleşen satırları getirir.
- ➡️ RIGHT JOIN: Sağ tablodaki tüm satırları ve sol tablodaki eşleşen satırları getirir.
- 🔀 FULL JOIN: Her iki tablodaki tüm satırları getirir.
Örnek:
`SELECT Customers.CustomerName, Orders.OrderID FROM Customers INNER JOIN Orders ON Customers.CustomerID = Orders.CustomerID;`
Bu sorgu, müşterilerin isimleri ve sipariş numaralarını birleştirerek getirir.
🧩 Alt Sorgular (Subqueries)
Alt sorgular, başka bir sorgunun içinde kullanılan sorgulardır.
Örnek:
`SELECT * FROM Products WHERE Price > (SELECT AVG(Price) FROM Products);`
Bu sorgu, ortalama fiyattan daha yüksek fiyata sahip ürünleri getirir.
🚀 Performans İpuçları
- 🔑 Index Kullanımı: Sık kullanılan sorgularda index oluşturmak, sorgu performansını artırır.
- 📝 Sorgu Optimizasyonu: Sorguları daha verimli hale getirmek için execution plan'ları inceleyin.
- 💾 Veritabanı Bakımı: Düzenli olarak veritabanı bakımı yapmak, performansı iyileştirir.