-- Veri Bilimi, Veri Tabanı

TSQL Fonksiyonları

Merhabalar, MS SQL Server 2012 üzerinde kullanmış olduğum 3 güzel 🙂 fonksiyondan bahsedeceğim. Bunlar Kümülatif Toplam için ‘Sum Over(Order By)’, Metrik Bilgiler için ‘sp_spaceusage’ ve açıklayıcı bilgiler için ‘sp_help’. Öncelikle sample database olarak AdventureWorks2012 kullanıyorum. Sample database’e buradan ulaşabilirsiniz.

1-Kümülatif Toplam

Tablo üzerinde istediğiniz bir alanın kümülatif toplamını,

“Sum(ColumnName1) Over(Order By ColumName2) as KumulatifToplam” olarak hesaplayabiliriz. Burada ColumName1 Toplanacak Alan, ColumnName2 ise hangi sıralamaya göre toplama işleminin yapılacağını belirtiyor. Aşağdaki örneğimizde ListPrice değerlerini ProductId sıralama değerine göre Kümülatif olarak (ListPrice değerleri 0 dan farklı olan ve ProductId değerlerinin 600 ile 700 arasında olması koşulu altında) topluyor.

use AdventureWorks2012

--Kümülatif Toplam
select p.ProductID, p.Name, p.ProductNumber, p.ReorderPoint, p.StandardCost, p.ListPrice,
Sum(ListPrice) Over(Order By ProductID) AS KumulatifToplam
from Production.Product p
where p.ListPrice<>0 and p.ProductID between '600' and '750'

mssql1

Hakkında detaylı bilgiye buradan https://msdn.microsoft.com/en-us/library/ms187810.aspx ulaşabilirsiniz.

2-Tablo Hakkında Metrik Bilgiler

Tablonun disk üzerindeki metrik bilgileri sp_spaceused fonksiyonunu kullanarak öğrenebiliriz. Fonksiyonun kullanımı sp_spaceused ‘DatabaseName.Owner.TableName’ bu şekildedir. Bu fonksiyon tablo hakkında;

  •  satır sayısı(rows),
  •  verinin boyutu (data),
  • indeksin boyutu(indexsize)

gibi metrik bilgileri vermektedir. Bazen tablonuzun içerisinde yer alan verinin boyutunu öğrenmek isteyebilirsiniz. Bu tablonun diskte kapladığı alanın 30512(KB)/1024=29,796875 MB olduğu görülmektedir.

--Metrik Bilgiler
sp_spaceused 'AdventureWorks2012.Person.Person'

mssql2

Hakkında detaylı bilgiye buradan https://msdn.microsoft.com/en-us/library/ms188776.aspx ulaşabilirsiniz.

3-Tablo Hakkında Açıklayıcı Bilgiler

Tabloya ait açıklayıcı bilgileri sp_help fonksiyonu ile elde edilmektedir. Fonksiyonun kullanımı sp_help ‘DatabaseName.SchemaName.TableName’ bu şekildedir. Açıklayıcı bilgiler içerisinde;

  • Tablonun oluşturulma tarihi ve sahiplik bilgisi,
  • Tablodaki columnname ait detaylı bilgi (Type, Computed, Lenght, Collaction vb.),
  • Tablodaki indeksler ve açıklayıcı bilgiler,

gibi oldukça detaylı açıklayıcı bilgiler vermektedir.

--Açıklayıcı bilgiler
sp_help 'AdventureWorks2012.Person.Person'

Not: isp_help ‘DatabaseName.Owner.TableName’ olarak elde ettiğimiz açıklayıcı bilgileri ilgili tablo üzerinde ALT+F1 kombinasyonu ile elde edebiliriz.

mssql3

Hakkında detaylı bilgiye buradan https://msdn.microsoft.com/en-us/library/ms187335.aspx ulaşabilirsiniz.

Görüş, öneri ve katkıda bulunmak isterseniz uslumetin@gmail.com ‘dan bana ulaşabilirsiniz. Bir sonraki yazıda yeniden görüşmek üzere, selamlar 🙂