Merhabalar, MS SQL Server 2012 üzerinde kullanmış olduğum 3 güzel 🙂 fonksiyondan bahsedeceğim. Ö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ı,
1 |
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.
1 2 3 4 5 6 7 |
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' |
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.
1 2 |
--Metrik Bilgiler sp_spaceused 'AdventureWorks2012.Person.Person' |
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.
1 2 |
--Açıklayıcı bilgiler sp_help 'AdventureWorks2012.Person.Person' |
Hakkında detaylı bilgiye buradan https://msdn.microsoft.com/en-us/library/ms187335.aspx ulaşabilirsiniz.
Görüş, öneri ve katkıda bulunmak isterseniz [email protected] ‘dan bana ulaşabilirsiniz. Bir sonraki yazıda yeniden görüşmek üzere, selamlar 🙂