Veritabanı temelleri
Tablo, şema ve satırın anlamı
Bir satır neyi temsil ediyor?
Kavramı anlayalım
Bir tablo belirli bir varlık veya olay türünü saklar. Satır tek bir kayıt, sütun bu kaydın bir özelliğidir. Schema, aynı veritabanındaki nesneleri mantıksal olarak gruplar ve yetkilendirme sınırı oluşturabilir. lab.Customer iki parçalı addır: lab şema, Customer tablo adıdır. dbo yaygın bir şemadır; tek seçenek değildir.
Grain, bir satırın iş dünyasında neyi temsil ettiğidir. SalesOrder’da bir satır sipariş; OrderItem’da bir satır o siparişteki ürün kalemidir. COUNT(*) sipariş kalemi tablosunda sipariş sayısını vermez. JOIN ve GROUP BY grain’i değiştirebilir; sorguyu yazmadan önce sonuçtaki bir satırı tek cümleyle tarif et.
Aynı sipariş iki ürün içeriyorsa iki kalem satırı vardır. Sipariş tarihini kalemlerin fiyatlarıyla birleştirmek doğrudur, fakat sipariş toplamını her kalemde tekrar edip sonra toplamak çifte saymaya yol açar. Model ile analizin tanecikliğini ayırabilmek doğru SQL’in temelidir.
Rapor yazmadan önce ölçünün müşteri, sipariş, kalem veya gün seviyesinde olduğunu belirlemek için.
COUNT(*) sonucunu tablonun grain’ini düşünmeden “sipariş sayısı” olarak adlandırmak.
Aynı konu. Üç farklı derinlik.
SELECT TOP (3) CustomerId, FullName FROM lab.Customer ORDER BY CustomerId;Bir satır bir müşteri. İki parçalı isim nesneyi açıkça belirtir.
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.
101 numaralı siparişin kalem sayısını bul.
Çözümü ve açıklamasını göster
SELECT COUNT(*) AS LineCount FROM lab.OrderItem WHERE OrderId = 101;Sonuç 2. Bu siparişin ürün adedi ise SUM(Quantity) ile 3 olur; iki ölçü farklıdır.