Veritabanı temelleri
SQL, SQL Server ve SSMS
Dil, motor ve istemciyi birbirinden ayır.
Kavramı anlayalım
SQL, ilişkisel veriler üzerinde sonuç istediğin bir sorgu dilidir. Çoğunlukla motorun hangi döngüyü hangi sırada çalıştıracağını değil, hangi sonuç kümesini istediğini tarif edersin. Buna deklaratif yaklaşım denir. Aynı mantıksal sorgu farklı fiziksel planlarla çalıştırılabilir.
SQL Server bu dili çalıştıran Microsoft veritabanı motorudur. T-SQL, standart SQL üzerine değişkenler, prosedürler ve hata yönetimi ekleyen SQL Server lehçesidir. SSMS ise motora bağlanıp sorgu yazdığın ve yönetim işlemleri yaptığın istemcidir; SSMS kurulmuş olması tek başına çalışan bir SQL Server bulunduğu anlamına gelmez.
Komutları işlevlerine göre ayır: SELECT veri okur; INSERT, UPDATE ve DELETE satırları değiştirir; CREATE ve ALTER nesne yapısını değiştirir; COMMIT ve ROLLBACK işlemi yönetir; GRANT ve REVOKE erişimi yönetir. Bu sınıflar zihinsel bir rehberdir, bütün ürünlerin resmî sınıflandırması aynı değildir.
Bağlantı, sözdizimi veya ortam hatasının hangi katmanda olduğunu anlamak için.
GO bir T-SQL komutu değildir; SSMS/sqlcmd gibi araçların batch ayırıcısıdır. API sorgusuna GO gönderme.
Aynı konu. Üç farklı derinlik.
SELECT @@VERSION AS EngineVersion;Gerçek motor sürümünü verir; istemcinin sürümünü değil.
Bu sayfa SQL çalıştırmaz. Örnekleri indirilebilir SqlStudioLab veritabanında, SSMS’de uygula. Geçici tablo örneklerini yeniden çalıştırırken yalnız ilgili #tabloyu temizle. VIEW, procedure ve function örnekleri lab’da kalıcı nesne oluşturur; üretim bağlantısı kullanma.
Önce kendin dene.
Geçerli veritabanını ve sunucu adını tek sorguda göster.
Çözümü ve açıklamasını göster
SELECT DB_NAME() AS DatabaseName, @@SERVERNAME AS ServerName;SQL Server Express, LocalDB ve uzak sunucu farklı instance bağlantıları gerektirebilir.