Ağustos 16, 2023
Okuma süresi: 4 dakika
Programlama dillerinde kullandığımız değişkenlerin veri tipi belirlendiği gibi SQL veri tabanı tasarımı yapılırken de her kolon (alan) için veri tipi tanımlanır. Bu tanımlamalar yapılırken dikkat edilmesi gereken noktalardan biri, mümkün olduğunca en uygun ve hafızada en az yer kaplayacak veri tipini seçmektir.
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. En 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(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.
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.
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.
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.
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.