Son Haberler
Anasayfa / MSSQL / Sql Server Tüm Veri Tipleri

Sql Server Tüm Veri Tipleri

Veritabanı içersinde tablolar oluşturulurken, depolanacak her veri için, en ideal veri tipinin belirlenmesi gerekir.Sebebi performansı etkilediği içindir.Küçük uygulamalarda göze çarpmasada büyük uygulamalarda veri tiplerini doğru şekilde belirlemiş olmak, verilerin disk alanında daha az yer kaplamasını,verileri daha seri çekmesini sağlar yani performansa olumlu yönde katkıda bulunur.

 

Metinsel Veri Tipleri

char(boyut) : Belirtilen değerden az veri girilse bile boyut kadar yer kaplar.Unicode’u desteklemez.En fazla 8.000 karaktere kadar depolama yapar.

nchar(boyut) : Belirtilen değerden az veri girilse bile boyut kadar yer kaplar.cEn fazla 4.000 karaktere kadar depolama yapar.

varchar(boyut) : Chardan farkı, verinin boyutu kadar yer kaplamasıdır.Unicode’u desteklemez.En fazla 8.000 karaktere kadar depolama yapar.Boyut değeri Max olursa, depolama boyutu 2^31 – 2 (2 GB) olur.

nvarchar(boyut) : Verinin boyutu kadar yer kaplar.Unicode’u destekler.En fazla 4.000 karaktere kadar depolama yapar.Boyut değeri Max olursa, depolama boyutu 2^31 – 2 (2 GB) olur.

text : Belirtilen değerden az veri girilse bile boyutu kadar yer kaplar.Unicode’u desteklemez.En fazla 2GB’ye kadar metinsel veri depolama yapar.

ntext : Girilen karakter kadar yer kaplar.Unicode’u destekler.En fazla 2GB’ye kadar metinsel veri depolama yapar.

 

Binary (İkilik) Veri Tipleri

binary(boyut) : İkili bilgi saklar.Belirtilen değerden az veri girilse bile boyut kadar yer kaplar.En fazla 8.000 karakter depolama yapar.

varbinary(boyut) : İkili bilgi saklar.Girilen karakter kadar yer kaplar.En fazla 8.000 karakter depolama yapar.Boyut değeri Max olursa, depolama boyutu 2^31 – 1 (2 GB) olur.

image : Resim dosyalarını saklamak için kullanılır.En fazla 2GB’ye kadar ikili veri depolar.

 

Sayısal Veri Tipleri

bit : Bir byte uzunluğunda tamsayı veri tipidir.

int : 4 byte büyüklüğünde yaklaşık -2 milyar ile +2 milyar arasında değer alabilen tamsayı veri tipidir.

tinyint : 1 byte büyüklüğünde 0 ile 255 arasında değer alabilen tamsayı veri tipidir.

smallint : 2 byte büyüklüğünde -32768 ile 32767 arasında değer alabilen tamsayı veri tipidir.

bigint : 8 byte yüyüklüğünde -2^63 ile +2^63 arasında değer alabilen tamsayı veri tipidir.

decimal ve numeric : Decimal ve nümeric veri tipleri adları farklı olmasına rağmen kullanımları aynıdır. Boyutu değişken olmakla birlikte -10^38 ile +10^38 arasında ondalık ve tamsayı türünde verileri saklayabilir.

float : Boyutu ve doğruluğu (ondalık kısım duyarlılığı) aldığı parametreye göre değişen kayan noktalı sayılar için kullanılır.

real : Float veri tipinin parametre olarak 24 değerini aldığında ortaya çıkan halidir. -3.40E+38 ile 3.40E+38 arasında değer alır.

 

Parasal Veri Tipleri

money : 8 byte boyutunda yaklaşık -922,337,203,685,477.5808 ila 922,337,203,685,477.5807 arasındaki parasal değerleri tutmak için kullanılır.4 basamağa kadar duyarlı ondalık tipli verilerdir.

smallmoney : 4 byte uzunluğunda yaklaşık – 214.748.3648 ila 214.748.3647 arasındaki parasal değerleri tutmak için kullanılır.4 basamağa kadar duyarlı ondalık tipli verilerdir.

 

Tarih-Zaman Veri Tipleri

date : Tarihleri YYYY-MM-DD şeklinde saklayan 3 byte uzunluğunda veri tipidir. 0001-01-01 ile 9999-12-31 tarihleri arasındaki tüm değerleri tutabilir.

smalldatetime : Tarih ve zaman verilerini  YYYY-MM-DD hh:mm:ss şeklinde saklayan 4 byte uzunluğunda veri tipidir. 1900-01-01 00:00:00 ile 2079-06-06 23:59:59 arasındaki tarih ve zaman değerlerini saklar.

datetime : YYYY-MM-DD hh:mm:ss:mmm şeklinde tarih ve zaman verilerini tutan 8 byte uzunluğunda veri tipidir. 1753-01-01 00:00:00.000 ile 9999-12-31 23:59:59.999 arası değerlerini saklar.

datetime2 : datetime ile arasındaki fark salise hassasiyetinin daha yüksek olmasıdır.  7 basamağa kadar salise hassasiyeti kullanıcı tarafından belirlenebilir. Kapladığı alan salise hassasiyetine göre değişir. (6-8 byte)

time : Sadece saat verilerini hh:mm:ss:nnnnnnn şeklinde saklayan veri tipidir. Dateteime2 gibi salise hassasiyeti maksimum 7 basamaktır ve kullanıcı tarafından değiştirilebilir. (3-5 byte)

datetimeoffset : Ülkelere göre değişen zaman farkını tutmak için kullanılır.

 

Diğer Veri Tipleri

sql_variant : Sayı,metin,binary gibi farklı veri tipli değerleri depolamak için kullanılır.Bir nevi harmanlanmış veri tipidir.

timestamp : Tabloya kayıt eklendiğinde ve güncellendiğinde binary türünde özel bir değer alan veri tipidir. Tarih veri tipleriyle alakası yoktur. Kullanıcı bu alanı değiştiremez veya kendisi değer atayamaz.

uniqueidentifier : 16 byte uzunluğunda 6F9619FF-8B86-D011-B42D-00C04FC964FF gibi GUID tipindeki verileri tutar.Guid, harf ve sayılardan oluşan eşsiz bir datadır.İki Guid’in birbiri ile eşit olması imkansızdır.

xml : XML türünde hiyerarşik verileri saklamak için kullanılır. Bellekteki boyutu saklanan xml verisine göre değişir.

geography : Coğrafi koordinatları ve gps verilerini tutmak için kullanılır.

geometry : Öklid koordinat sistemine ait verileri tutmak için kullanılır. Geometrik şekillerin en, boy, yükseklik verilerini saklar.

hierarchyid : Ağaç veri modeli veya hiyerarşik olarak sınıflandırılmış verileri saklamak için kullanılır.

 

KAYNAK :

https://docs.microsoft.com/en-us/sql/t-sql/data-types/data-types-transact-sql