SQL Veri Tipleri ve Özellikleri Nelerdir?
SQL Veri Tipleri ve Özellikleri Nelerdir?
SQL veri tipleri, veri tabanı tasarlanırken kullanılan türlerdir. Bunlar metinsel, tarihsel, sayısal, parasal, görüntü, XML tabanlı ve kullanıcı tarafından oluşturulan veri türleridir. Bu yazımda sizlere Microsoft SQL veri tipleri ve özellikleri nelerdir? bunlardan bahsedeceğim.
Konumuza başlamadan önce kısa bir bilgilendirme yapmak istiyorum. SQL Selver, Microsoft tarafından geliştirilen, bilgi yönetimi ve depolama amacıyla kullanılan ilişkisel veri tabanı sistemidir. SQL Server içinde depolanan veri birbirleri ile ilişkili veri tabanları ortamında gizli tutulur.
SQL Veri Tipleri ve Özellikleri
Metinsel SQL Veri Tipleri
char: Unicode olmayan sabit uzunlukta karakter setlerini saklamak için kullanılmaktadır. Maksimum 8000 karakter veri saklayabilir ve her karakter 1 byte’lık alan kaplar. Ayrıca kaydetmek istediğiniz verinin sonuna boşluk ekler.
nchar: Boyutu değişken uzunlukta ve Unicode veriler için kullanılır. Sabit uzunlukta maximum 4000 karakter yani (8000 byte) tutabilir.
varchar: Değişken uzunluktaki karakter veri tiplerini saklamak için kullanılır. Maximum veri kapasitesi 8000 karakterdir. Her karakter için 1 byte yer ayırır. Char veri tipinden farklıdır. Çünkü verinin sonuna boşluk eklemez.
text: varchar(max) ile aynı özelliğe sahiptir. SQL Selver 2012 içerisinde, SQL sürümlerini desteklemek için bulunmaktadır. Eğer isterseniz bu veri tipi yerine varchar(max) kullanabilirsiniz. Tabi benim önerim varchar(max) kullanmanızdan yana olacaktır.
nvarchar: Sabit uzunlukta en fazla 4000 karakter olmakla birlikte Unicode veri saklamaktadır. Maximum boyut ile 2 gigabayta kadar veri depolayabilir
ntext: Unicode desteği bulunmaktadır. Maksimum 2 gigabayta kadar Unicode veri depolamak için kullanılabilir.
Sayısal SQL Veri Tipleri
float: Kullanılmak istenen boyuta göre SQL Selver ondalık sayı değeri almasıyla birlikte değişen kayan noktalı sayılar için kullanılmaktadır.
bit: Tam sayı veri tipidir. 0 ile 1 arasındaki değerini alır ve durum bilgisini saklamakta kullanılır. Tabloda bulunan 1 bit, 1 byte’lık alan kaplar.
bilgint: 8 byte alan kaplar. – (-9223372036854775808) ile -1 (9223372036854775807) arasındaki tamsayı veri tiplerini tutar.
numeric ve decimal: ikisi de isim olarak farklıdır ama aynı kullanıma sahiptir ve boyutu değişkendir. ile arasındaki tam sayı ve ondalık veri tiplerini tutar.
tinyint: 1 byte alan kaplar. 0 ile 255 arasındaki tam sayı veri tiplerini tutar.
smallint: 2 byte alan kaplar. -32768 ile 32767 arasındaki tam sayı veri tiplerini tutar.
int: 4 byte alan kaplar. -2 milyar ile +2 milyar arasındaki tam sayı veri tiplerini tutar ve en çok kullanılan sayısal veri tipidir.
real: float 24 değeri ile aynı özelliğe sahiptir. 3.40E+38 ile -1.18E-38, 0 ve 1.18E-38 ile 3.40E+38 arası ondalık sayıları tutar.
Parasal SQL Veri Tipleri
money: 8 byte alan kaplar. -922 milyar ile 922 milyar arasındaki ondalık değerleri tutmak için kullanılır ve virgülden sonra 4 basamak alır.
smallmoney: 4 byte alan kaplar. -214 000 ile 214 000 arasındaki ondalık değerleri tutar ve virgülden sonra 4 basamak alır. Parasal verileri smallmoney veri tipinden tutabilirsiniz.
Tarih ve Zaman SQL Veri Tipleri
time: Saat verilerini hh:mm:ss:(nnnnnnn) biçiminde saklayan veri tipidir. Ayrıca dateteime2 gibi time(n) biçimindeki n değeri kullanıcı tarafından belirlenebilir. Mesela n değeri 4 byte; 5 ile 7 arası ise 5 byte alan kaplar.
date: Tarihleri YYYY-MM-DD biçiminde tutar. 3 byte alan kaplar. 0001-01-01 ile 9999-12-31 arası tarih değerlerini tutar.
datetime: YYYY-MM-DD hh:mm:ss(mmm) biçimindeki tarih ve zaman verilerini tutar.8 byte alan kaplar. 1753-01-01 00:00:00.000 ile 9999-12-31 23:59:59.999 arası tarih değerlerini tutar.
smalldatetime: 4 byte alan kaplar. Tarih ve zaman verilerini YYYY-MM-DD hh:mm:ss biçiminde tutar. 900-01-01 00:00:00 ile 2079-06-06 23:59:59 arası tarih değerlerini tutar.
datetimeoffset: SQL veri tipleri arasında ülkelere göre değişen zaman farkını tutmak için kullanılmaktadır.
datetime2: datetime arasındaki hassasiyete göre YYYY-MM-DD hh:mm:ss[.nnnnnnn] tarih verilerini tutar. 0001’den başlar ve 7 basamağa kadar değer tutabilir. Tabi bu değeri datetime2 olarak değerlendirirsek varsayılan 7 basamak olarak belirlenir.
Binary SQL Veri Tipleri
binary: En fazla 8000 byte alan kaplar ve binary date dosyalarını tutmak için kullanılır.
İmage: Daha önceki SQL sürümlerini deteklemek için kullanılmıştır. Ayrıca grafik nesneler için de kullanılır. Genellikle bu veri tipi yerine varbinary (max) veri tipi kullanılmaktadır.
varbinary (max): En fazla 2 gigabyte uzunluğunda dosya kaydedilebilir.
Diğer SQL Veri Tipleri
geography: Coğrafi bölgelerin koordinatlarını ve dünya genelindeki tüm bilgileri tutmak için kullanılmaktadır.
hierarchyid: Ağaç veri modellerini ya da hiyerarşi verileri tutmak için kullanılır.
geometry: Geometrik şekillerinde x, y ve z eksenlerini tutar.
xml: 111 biçimindeki xml verilerini tutar. Bellekteki boyutu tutulan xml datalarına göre farklılık gösterebilir.
timestamp: Depolama şekli datetime ile aynıdır. Fakat yazdığınız program için bu alandan data gönderimi yapamazsınız. Çünkü tarih ve saat o an otomatik olarak girilir. Eğer siz tarih ve saati el ile girmek istiyorsanız o zaman veri tipini datetime olarak ayarlamanız gerek.
uniqueidentifier: 16 byte alan kaplar ve GUID biçimindeki veri tiplerini saklar. GUID harf ve sayılardan eşsiz bir veri tipidir. İki GUID birbirine eşit olamaz.
Bu yazımda Microsoft SQL veri tipleri ve özellikleri nelerdir? sizlere açıkladım. Buradaki en uygun veri tipini seçmek sizin bilgi ve tecrübenize kalmıştır. Herhangi bir sorunda yorum kısmında sorularınızı sorabilirsiniz. Faydası olması dileğiyle hoşça kalın.
SQL veri tipleri konusunda internette türkçe kaynak çok az. Sizinde böyle bir konunya değinmeniz beni gerçekten çok sevindirdi. Öncelikle bundan dolayı size çok teşekkür ederim Ali bey. Ayrıca yeni yazılarınızı heyecanla bekliyorum.
Değerli yorumunuz için ben teşekkür ederim Yaren hanım.