SQL: Sql Veri Tipleri

      Kaynak:www.flickr.com/photos/stefanb/33774887152/in/feed


          Merhaba arkadaşlar. Sql veritabanı üzerinde veri saklamak için tablolardan faydalanırız. tabloları oluştururken de yapmamız gereken en uygun veri tiplerini seçebilmektir. En çok kullanılan veri tipleri şunlardır.


Metinsel Veri Tipi (Character Strings)
Veri Tipi Türü Boyutu Özellikleri
char string Değişken 8000 karaktere kadar veri saklayabilir. Belirlenen veri uzunluğu kadar yer kaplar. Değişkenliği yoktur.
nchar string Değişken 4000 karaktere kadar veri saklayabilir. Unicode karakter kabul eder. Değişkenliği yoktur. Sabit uzunlukta değer alır.
varchar string Değişken 8000 karaktere kadar veri saklayabilir. Değişken uzunlukta veri saklayabilir.
nvarchar string Değişken 4000 karaktere kadar veri saklayabilir. Unicode karakter kabul eder.
text string Değişken eski bir veri tipidir. artık bunun yerine  varchar(max) kullanmanız daha doğru bir seçim olacaktır.
ntext string Değişken Bu da eski versiyon sistemleri desteklemek amacıyla hala bulundurulmaktadır. text'den farkı unicode desteğinin olmasıdır.

          nchar ve nvarchar veri tiplerinin char ve varchar'dan farkları unicode desteği olmasıdır. bunun için yerel bir şeyler yapıyorsanız char ve varchar işinizi görecektir. daha geniş veya uluslararası iş yaptığınızda  nchar ve nvarchar tercih etmeniz daha doğru olacaktır. 

Sayılsal Veri Tipi (Numeric)
Veri Tipi Türü Boyutu Özellikleri
bit boolean  1 byte Özellikleri
tinyint number  1 byte 0 - 255 arası tam sayı değerlerini alır.
smallint number  2 byte -32768 (-2^15) ve 32768 (-2^15-1) arası tam sayı değerlerini alır
int number  4 byte -2,147,483,648 (-2^31) ve -2,147,483,648 (2^31-1) arası tam sayı değerlerini alır.
bigint number  8 byte -9,223,372,036,854,775,808 (-2^63) ile 9,223,372,036,854,775,808 (2^63-1) arası tam sayı değerlerini alır
decimal Türü Değişken (-10^38) ile (-10^38-1) arasında bulunan ondalıklı ve tam sayı değerlerini alır. Numeric ile aynı özelliklere sahiptir.
numeric Türü Değişken (-10^38) ile (-10^38-1) arasında bulunan ondalıklı ve tam sayı değerlerini alır. Decimal ile aynı özelliklere sahiptir.
float Türü Değişken -1.79E+308 ile 1.79E+308 arası değer alır. Ondalıklı ve tam sayı değeri alabilir.
real Türü  4 byte float veri tipinin 24 değerini almış halidir. float(24) değeri -3.40E+38  ile 3.40E+38 arası değer alır. Ondalıklı ve tam sayı değeri alabilr.
money Türü  8 byte -922,337,203,685,477.5808 ile 922,337,203,685,477.5807 arasında ki parasal değerleri tutmak için oluşturulmuştur. ondalık hassasiyeti 4 basamaktır.
smallmoney Türü  4 byte - 214,748.3648 to 214,748.3647 arasındaki parasal değerleri alabilir. Ondalık hassasiyeti 4 basamaktır.



Tarih & Zaman Veri Tipi (Date and Time)
Veri Tipi Türü Boyutu Özellikleri
date Türü  3 byte Tarih bilgisini tutar. Aldığı değer YYYY-MM-DD şeklindedir.
smalldatetime Türü  4 byte Tarih ve saat bilgilerini tutar. Aldığı değer YYYY-MM-DD hh:mm:ss şeklindedir. Maksimum alacağı tarih : 2079-06-06 23:59:59
datetime Türü  8 byte tarih ve saat verisini birlikte tutar. Aldığı değer YYYY-MM-DD hh:mm:ss:mmm şeklindedir.
datetime2 Türü  8 byte
Değişken
Datetime ile aynı özelliğe sahiptir. Kaç salise gösterileceği ayarı yapılabilir. 3 basamaklı salise öncesi için 6 byte, 3 ve 4 basamaklı salise için 7 byte, sonrası için 8 byte. Maksimum 7 basamaklı salise hassasiyeti uygulayabilir.
time Türü  5 byte
Değişken
Saat verilerini tutar. salise hassasiyeti 7 basamaktır. Kullanıcı bu hassasiyeti kendisi belirleyebilir. Maksimum 5 byte yer tutar.
datetimeoffset Türü  10 byte Zaman gösterimin yanında ülkelere göre değişen saat dilimlerini de gösterir.



Diğer Veri Tipi (Other Data Types)
Veri Tipi Türü Boyutu Özellikleri
binary Türü Değişken En fazla 8000 byte binary değer saklayabilir. Sakladığı değer sabit uzunluktadır.
varbinary Türü Değişken En fazla 8000 byte binary değer saklayabilir. Normal binary den farkı, boyutunun ve uzunluğunun değişken olmasıdır.
image Türü Değişken Eski versiyonları desteklemek amacıyla kullanılmaya devam etmektedir. Yeni bir tasarım yapıyorsanız bunun yerine varbinary(max) tercih etmeniz daha doğru olacaktır.
timestamp Türü  8 byte Tabloda bir hareket olduğunda (güncelleme veya ekleme) binary türünde değer alır. Kullanıcı bağımsız çalışır. Bu veri tipinde bir sütun varsa sistem kendisi otomatik olarak bu değeri verecektir. Kullanıcı değer atayamaz.
rowversiyon Türü  8 byte Tabloda bir hareket olduğunda (güncelleme veya ekleme) binary türünde değer alır. Kullanıcı bağımsız çalışır. Bu veri tipinde bir sütun varsa sistem kendisi otomatik olarak bu değeri verecektir. Kullanıcı değer atayamaz.
uniqueidentifier Türü  16 byte Eşsiz  Globally Unique Identifier (GUID) değeri tutar.
xml Türü Değişken Xml veri alanını tanımlar. Xml'in boyunu ne kadarsa o kadar yer kaplar. Xml fonksiyonlarının kullanılabilir olmasını sağlar.


          Konuyla ilgili daha detaylıu bilgi elde etmek için microsoft'un docs.microsoft.com/en-us/sql/t-sql/data-types/data-types-transact-sql adresine bakabilirsiniz.

Yorumlar