COMPUTER ENGINEER

Örneklere git
Blog
SQL Server / T-SQL6 dk çalışma
04/ 65

Veritabanı temelleri

Tablo, şema ve satırın anlamı

Bir satır neyi temsil ediyor?

AnlaÖrneği inceleKendin uygula

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.

NERESİNDE KULLANIRSIN?

Rapor yazmadan önce ölçünün müşteri, sipariş, kalem veya gün seviyesinde olduğunu belirlemek için.

SIK YAPILAN HATA

COUNT(*) sonucunu tablonun grain’ini düşünmeden “sipariş sayısı” olarak adlandırmak.

01 / UYGULAMA

Aynı konu. Üç farklı derinlik.

T-SQL / SQL Server 2019+
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.

02 / SIRA SENDE

Önce kendin dene.

101 numaralı siparişin kalem sayısını bul.

Çözümü ve açıklamasını göster
Açıklamalı çözüm
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.