Useful shortcuts for vi editor

Wednesday 18 May 2011

SQL Server Veri Tipleri Konu Listesi

SQL Server 2008’de yer alan veri tiplerini 7 ana kategoride inceleyebiliriz. Bunlar;
Bahsi geçen bu tipleri adım adım inceleyebilir ve birbirleri arasındaki farkları anlayabilirsiniz.

İyi çalışmalar.

T-SQL’de cursor, hierarchyid vs. gibi veri tipleri


Daha önceki yazılarımızda T-SQL’de kullanılan veri tiplerinden ayrı ayrı blog yazılarında bahsetmiştik.

Bu yazıda geriye kalan diğer veri tiplerine bakıyor olacağız.

Cursor:

Tanımı: Sorgu sonucunda çıkan değişkenleri elde edip, kullanmaya yarar.
Tanımlandırılması: Declare ornek_cursor CURSOR
FOR SELECT [tablo_sütun_ismi] FROM [tablo_ismi]

Sql_variant:

Tanımı: Sütun, parametre, değişken, UDF’dan dönen değerlerde kullanılır. Çeşitli veri tiplerine destek sağlar.
Tanımlandırılması: Declare @sql_variant datatype
Bellekte En Fazla Kapladığı Alan: 8016 byte.

Table:

Tanımı: Geçici olarak depolanır ve sorgu sonucunda dönen satırları saklamakta kullanılır.
Tanımlandırılması: Declare @table_dt TABLE (column_name column_data_type)

Hierarchyid:

Tanımı: Ağaç yardımıyla tablo içi veriler tasniflenir.
Tanımlandırılması: column_name hierarchyid

Timestamp:

Tanımı: tarih ve saat bilgisini kaydetmek için kullanılan bir veri tipidir ve ileride kullanılmayacağı belirtiliyor.
Tanımlandırılması: CREATE TABLE ExampleTable (PriKey int PRIMARY KEY, timestamp);
Bellekte Kapladığı Alan: 8 byte.
Uniqueidentifier:

Tanımı: Özgün bir kimlik tanımlamak için kullanılır. Bu kimliğe GUID denilmektedir. Diğer bilgisayarların aynı kimliği üretmesi ve böylece karışıklık çıkması mümkün değildir.
Tanımlandırılması: UniqueColumn UNIQUEIDENTIFIER DEFAULT NEWID()
Bellekteki Kapladığı Alan: 16 byte

Xml:

Tanımı: xml tipindeki verilere destek verir.

Daha fazla bilgi edinmek için buralara bakmanızı tavsiye ediyorum.


Herkese iyi çalışmalar. J

Sunday 15 May 2011

Visual Studio Temaları

Visual Studio’da kod yazarken beyaz ekran gözlerimi aşırı şekilde alıyordu. Bunun bir çözümü olmalı diye araştırırken visual studio temalarıyla karşılaşmıştım. Sizinle de paylaşmak istiyorum. 
Eminim bunu bilmeyenleriniz çok mutlu olacaklar. (Ben olmuştum J.)
 
Yapılacak işlemler;
  1. Temanı seç. 
  2. Visual Studio’nu aç ve uygula. 
  3. Gözlerin yorulmadan şevkle kod yazmaya devam et. (Kişiden kişiye değişebilir! J)

Temanı seç;

Temalara şuradan bakabilirsiniz. Temayının uygulama aşmasını bu sayfadan da inceleyebilirsiniz. 

Visual Studio’nu aç ve uygula;

Tools menüsünden Export and Import Settings ayarlarına girin.


 
Daha sonra Sihirbaz şuan kullandığınız ayarların yedeğini alayım mı diye soracak. Paşa gönlünüz bilir, ben üzerine yazdırmaya seçerek devam ediyorum. J

 
Bu aşamadan sonra, bilgisayarımıza indirdiğimiz temayı, Browse düğmesi yardımıyla seçiyoruz.
 
Uygulamak istediğimiz yerleri seçip, sihirbazı Finish düğmesini basarak kapatıyoruz.

 
Gözlerin yorulmadan şevkle kod yazmaya devam et;

Hepsi bu kadar. Herkese iyi kodlamalar… ;)

Saturday 14 May 2011

T-SQL’de Approximate Numerics İncelemesi


T-SQL’de sayısal verileri saklamak için kullanılan bir diğer veri tipi yaklaştırılmış, yuvarlanmış sayısallardır.

Decimal/Numeric ve integer veri tiplerine göre daha az kesinlik sağladıklarını ve daha az kullanıldıklarını da belirtelim.

Float:

Tanımı: Ortalama değer alınırken kullanılan bir veri tipidir. Kullanılan sayı ilgili tipte tam olarak temsil edilemeyebilir.
Tanımlandırılması: float(n) (1 <= n <= 24 ise; tam kısım 7 basamaklı, 4 byte yer kaplar. 25 <= n <= 53 ise; tam kısım 15 basamaklı, 8 byte yer kaplar.)  n değeri belirtilmezse 53 olarak kabul edilir.
Bellekteki Kapladığı Alan: 4 ila 8 byte.
Alabileceği Değerler Aralığı: - 1.79E+308 ila -2.23E-308, 0 ve 2.23E-308 ila 1.79E+308 arası değerler alır.

Real:

Tanımı: Float veri tipine benzerdir. Float (24) yani tam kısmı 7 basamaklı kesirli sayı için kullanılır.
Tanımlandırılması: real
Bellekteki Kapladığı Alan: 4 byte
Alabileceği Değerler Aralığı: - 3.40E + 38 ila -1.18E - 38, 0 ve 1.18E - 38 ila 3.40E + 38 arası değerler alır.

Bilgi: Değer aralıklarında gördüğümüz E harfinin anlamı, harfin sonrasında gelen tam sayının 10’nun üstü kadar çarpımına eşittir. Mesela, 1.18E + 2 karşılığı 118’dir.

Herkese iyi çalışmalar. J

Friday 13 May 2011

T-SQL’de Exact Numerics (Tam Sayısallar) İncelemesi

T-SQL’de sayısal verileri saklamak için kullanılan exact numerics veri tiplerine bakacağız.

Float ve real veri tiplerine göre daha fazla kesinlik sağladıklarını ve daha fazla kullanıldıklarını da söyleyelim.

Int:

Tanımı: Ondalık tabanda tamsayı değerleri saklamak için kullanılır.
Tanımlandırılması: int
Bellekteki Kapladığı Alan: 4 byte.
Alabileceği Değerler Aralığı: -2,147,483,648 ila 2,147,483,647 arası değerler alır.

Bigint:

Tanımı: Int veri tipinden farklı olarak alabileceği değer aralığı daha büyüktür.
Tanımlandırılması: bigint
Bellekteki Kapladığı Alan: 8 byte
Alabileceği Değerler Aralığı: -9,223,372,036,854,775,808 ila 9,223,372,036,854,775,807 arası değerler alır.

Smallint:

Tanımı: adından anlaşılacağı gibi integer veri tipine göre değer aralığı daha dardır.
Tanımlandırılması: smallint
Bellekteki Kapladığı Alan: 2 byte
Alabileceği Değerler Aralığı: -32768 ila 32767 arası değerler alır.

Tinyint:

Tanımı: Integer veri tipleri arasında en dar değer aralığına sahiptir.
Tanımlandırılması: tinyint
Bellekteki Kapladığı Alan: 1 byte
Alabileceği Değerler Aralığı: 0 ila 255 arası değerler alır.

Decimal ve Numeric:

Tanımı: Küsaratı olan sayılar için kullanılır.
Tanımlandırılması: decimal (p,s) ; p: precision (tam kısmı), s:scale (kesirli, noktadan sonraki kısım)
Bellekteki Kapladığı Alan: 5 - 17 byte
Alabileceği Değerler Aralığı: - 10^38 +1 ila 10^38 arası değerler alır.

Money:

Tanımı: Her türlü para birimine uyumlu bir veri tipidir.
Tanımlandırılması: money
Bellekteki Kapladığı Alan: 8 byte
Alabileceği Değerler Aralığı: -922,337,203,685,477.5808 ila 922,337,203,685,477.5807 arası değerler alır.

Smallmoney:

Tanımı: Her türlü para birimine uyumlu bir veri tipidir ve money tipine göre değer aralığı daha dardır.
Tanımlandırılması: smallmoney
Bellekteki Kapladığı Alan: 4 byte
Alabileceği Değerler Aralığı:  -214,748.3648 ila 214,748.3647 arası değerler alır.

Herkese iyi çalışmalar. J

Thursday 12 May 2011

T-SQL’de Binary Veri Tipleri İncelemesi

T-SQL’de temel olarak 4 adet binary (İkilik tabanlı) veri tipi vardır.

Sırayla bunların ne olduklarına bakalım.

Bit:

Tanımı: 2’lik tabanda tek basamaklı sayı için kullanılır. Örneğin; 0, 1 veya NULL
Tanımlandırılması: bit
Bellekteki Kapladığı Alan: 1 bit (1/8 byte).
Alabileceği Değerler: 0, 1 veya NULL

Binary:

Tanımı: Bit veri tipine göre daha kapsamlı sabit genişlikli 2’lik tabanlı sayılar için kullanılır.
Tanımlandırılması: binary (n) (n = basamak)
Bellekteki Kapladığı Alan: sabit n kadar byte. (n= 1 ila 8000 arasında byte yer kaplar.)
Bellekte Alabileceği En Fazla Yer: 8000 byte

Varbinary:

Tanımı: Binary veri tipine göre daha fazla alana sahip sabit genişlikli 2’lik tabanlı sayılar için kullanılır
Tanımlandırılması: varbinary (n | max) (n = basamak sayısı)
Bellekteki Kapladığı Alan: n kadar byte + fazladan 2 byte (n= 1 (+2) ila 8000 arasında byte yer kaplar.)
Bellekte Alabileceği En Fazla Yer: varbinary (max) - 2^31-1 byte yaklaşık 2 gigabyte

Image:

Tanımı: her tip veriyi saklamak için kullanılıyor; resim, video, vs. gibi
Tanımlandırılması: image
Bellekteki Kapladığı Alan: Yaklaşık 2 gigabyte’a kadar veri saklanabilmektedir.

Daha ayrıntılı incelemek için; buraya bakabilirsiniz.

Herkese iyi çalışmalar. J

Wednesday 11 May 2011

T-SQL’de Tarih ve Saat Veri Tiplerinin İncelenmesi

T-SQL’de 6 adet tarih verisini tutmak için tasarlanmış veri tipi bulunmaktadır. Sırayla bunların neler olduğuna bakacağız.

Smalldatetime:

Tanımı: Date tipine göre ayrıca saat bilgisini de saklar. Örneğin; 2000-01-01 12:00:00
Tanımlandırılması: smalldatetime
Bellekteki Kapladığı Alan: 4 byte tarih ve saat bilgini saklar.
Aralığı: 1900-01-01 ila 2079-06-06 arası
Hassasiyeti: 1 dakika

Datetime:

Tanımı: date ve smalldatetime veri tiplerine göre tarih bilgisi hassasiyeti daha fazladır. J
Tanımlandırılması: datetime
Bellekteki Kapladığı Alan: 8 byte tarih ve saat bilgisini saklar.
Aralığı: 1753-01-01 ila 9999-12-31 arası
Hassasiyeti: 3.33 milisaniye

Datetime2:

Tanımı: datetime tipine göre daha hassastır.
Tanımlandırılması: datetime2
Bellekteki Kapladığı Alan: 6 ila 8 byte tarih ve saat bilgisini saklar
Aralığı: 0001-01-01 00:00:00.0000000 ila 9999-12-31 23:59:59.9999999 arası
Hassasiyeti: 100 nanosaniye (kullanıcı noktadan sonraki küsuratlı saniye kısmını kendine göre ayarlayabilir.)

Date:

Tanımı: Standart gösterimdir. Örneğin; 2000-01-01
Tanımlandırılması: date
Bellekteki Kapladığı Alan: 3 byte yalnızca tarih bilgisini saklar.
Aralığı: 0001-01-01 ila 9999-12-31 arası
Hassasiyeti: 1 gün

Datetimeoffset:

Tanımı: datetime2 tipine göre farkı saat farkını (time ofset) belirlenebilmesidir.
Tanımlandırılması: datetimeoffset
Bellekteki Kapladığı Alan: 8 ila 10 byte tarih ve saat bilgisini saklar.
Aralığı: 0001-01-01 00:00:00.0000000 ila 9999-12-31 23:59:59.9999999 arası
Hassasiyeti: 100 nano saniye (kullanıcı noktadan sonraki küsuratlı saniye kısmını kendine göre ayarlayabilir.)

Time:

Tanımı: Standart gösterimdir. Örneğin; 23:59:59.9999999
Tanımlandırılması: time
Bellekteki Kapladığı Alan: 3 ila 5 byte yalnızca saat bilgisini saklar.
Aralığı: 00:00:00.0000000 ila 23:59:59.9999999 arası
Hassasiyeti: 100 nanosaniye (kullanıcı noktadan sonraki küsuratlı saniye kısmını kendine göre ayarlayabilir.)

Daha ayrıntılı incelemek için; burayı gözden geçirebilirsiniz.

Herkese iyi çalışmalar. J