Anasayfa / Veritabanı / SQL / SQL Server Veri Tipleri

SQL Server Veri Tipleri

SQL VERİ TİPLERİ NE İŞE YARAR ?

Veritabanı içerisinde tablolar tasarlanırken, saklanacak her veri alanı için ihtiyacı karşılayan en uygun veri tipinin belirlenmesi gerekir. Özellikle çok fazla verinin tutulduğu veritabanlarında performans kaybını azaltmak, veritabanı ve yedeklerin kapladığı disk alanını en aza indirmek için veri tipleri dikkatle seçilmelidir.

*Metinsel(String) Veri Tipleri: 

Sabit uzunluk veya değişken uzunluk veri tiplerine karar vermek: Bir sütuna girilecek verilerin tamamı benzer uzunlukta ise (telefon numarası, tc kimlik no, telefon kodu v.b) char, nchar gibi sabit uzunluktaki veri tipleri kullanılmalıdır. Fakat girilecek verinin uzunluğu önceden belli değilse (isim, soyisim, adres  v.b) değişken uzunlukta olan varchar, nvarchar veri tipleri tercih edilmelidir.

Char: Sabit uzunluklu veri kümesi saklayan veri tipidir.Bu veri tipini kullanan bir sütunda,girilecek her veri aynı uzunlukta olmalıdır.Telefon numaraları,buna bir örnek olarak verilebilir.

Varchar: Değişken uzunluklu veri kümesi saklayan veri tipidir.Bu veri tipini kullanan bir sütunda,çeşitli uzunluklara sahip veriler bulunabilir.Örnek olarak isim ve soy isimler,mail adresleri verilebilir

    Not: nvarchar ve nchar veri tiplerinin görevleri,char ve varchar ile aynıdır.Tek farkı kullanılan karakter formatıdır. Unicode’nin avantajı,uluslararası karakter setini kullanmasından dolayı,dünyada tanımlı olan her alfabeyi içermesidir.Bu verilerin bozulmadan taşınabilirliğini sağlar.Dezavantajı ise,max 8000 byte ile 4000 karakter saklayabilmesidir. Yani ASCII’ye göre yarım miktarda veri kapasitesine sahiptir. 

*Tarihsel(Date) Veri Tipleri: 

 Sql Server tarih ve zaman tipli verileri desteklemek adına tarih ve zamanı içine alan datetime ve sadece tarihi içine alan smalldatetime veri tiplerini sunmaktadır.

Datetime: 1 Ocak 1753 ve 31 Aralık 9999 arası tarihleri saklayabilen veri tipidir.

Smalldatetime: 1 Ocak 1900 ve 6 Haziran 2079 arası tarihleri saklayabilen veri tipidir.

Örnek:  

*Parasal(Money) Veri Tipleri:

 Sql Server parasal türde veri saklamak için money ve smallmoney tiplerini sunmaktadır.Bu veriler,virgülden sonra 4 basamağa kadar duyarlı ondalık tipli verilerdir.

Money: 99999999999999,9999,yaklaşık 99 Trilyon ile ,-99999999999999,9999 arası veriler için kullanılır.

smallmoney: 214,748.3648,yaklaşık 214 bin ile ,-214,748.3648 arası veriler için kullanılır.

*Sayısal Veri Tipleri: 

Sql Server sayısal veri anlamında,tamsayılar,kayan noktalı sayılar,numerik sayılar ve binary sayılar için destek sağlamaktadır.

İkili(Binary) veri tipleri: 1 ve 0’ları temsil eden,ikili tabandaki veri tipleridir.Sabit uzunluklu kullanılan binary ve değişken uzunluklu kullanılan varbinary sunulmaktadır.

  • binary,sabit uzunluklu ikili verileri,8000 byte’a kadar alabilen veri tipidir.
  • varbinary,değişken uzunluklu ikili verileri 8000 byte’a kadar alabilen veri tipidir.

Çeşitli tanımlama örnekleri

   Tamsayı(Integer) veri tipleri: Tamsayı formatındaki verileri desteklemek adına Sql Server büyüklüklerine göre 4 farklı tamsayı formatı sunmaktadır.

  • tinyint: 1 byte büyüklüğüne sahip,0-255 arasındaki tam sayı veriler için kullanılır.
  • smallint: 2 byte büyüklüğüne sahip,+- 32 bin arasındaki tam sayı veriler için kullanılır.
  • int: 4 byte büyüklüğüne sahip,+- 2 milyar arasındaki tam sayı veriler için kullanılır.
  • bigint: 8 byte büyüklüğüne sahip,+ 2u63 ile -2u63 arasındaki tam sayı veriler için kullanılır.
Kayan noktalı(Float) veri tipleri: Sql server kayan nokta aritmetiği(floating point aritmetical) için float ve onun maksimum uzunluk değeri ile tanımlanan real veri tipleridir.

  • float,4 byte bilgi saklayan float,+-3.4E38 arasında veri saklar.Uzunluk bilgisi 1 ile 24 arasında olup,7 anlamlı basamağa kadar çıkmaktadır.
  • real,8 byte bilgi saklayan real,–3.40E + 38 ile -1.18E – 38,arasında olup 15 anlamlı basamağa kadar çıkmaktadır.Float(24)‘e tekabül etmektedir.
  • Decimal(precision,scale),precision ile anlamlı basamak sayısı ve scale ile de virgülden sonraki kaç basamağın dikkate alınacağını belirten bir veri tipidir.Anlamlı basamak sayısı 1 ile 38 arasında tanımlanabilir.Scale faktörü ise
    ile ilişkiye sahiptir.Precision faktörü bilginin kapasitesi ile alakalı olduğundan aşağıdaki ilişki modeline sahiptir.

Çeşitli tanımlama örnekleri

*Diğer Veri Tipleri: 

Sql Server özel amaçlı,herhangi bir kategoriye girmeyen,dil destekli veri tiplerinide sunmaktadır.Bunlar,bit,sql_variant,timestamp ve uniqueidentifier veri tipleridir.Herbirinin görevi aşağıda açıklanmaktadır.

  • bit: adı üzerinde 1 bitlik veri hücresidir.Bir takım verilerin işaret bilgisini,programcılıktaki bayrak kullanım yaklaşımlarında kullanılabilecek bir veri türüdür.
  • sql_variant: text,ntext,image,timestamp ve kendi türünden(sql_variant) veriler haricindeki farklı tüm tipleri saklayabilen değişken yapılı bir veri türüdür.
  • timestamp: bir tablo güncellendikçe değeri otomatik olarak 1 artan veri türüdür.Hex formatında yazılır,başlangıç değeri 0x00000000000007D1 gibi rasgele olarak verilir.
  • uniqueidentifier: benzersiz 16 byte hex değerindeki bir veri türüdür.Genellikle kayıt sayısının 4 milyarı geçeceği durumlarda veya çeşitli güvenlik sebeblerinden ötürü kullanılmaktadır

 

 

 

 

About Melisa Çubukcu

Bunu da incele

Sql Server Having İfadesi

Toplam fonksiyonları ile ilgili bir şart yazılacak ise bu şart where ifadesinden sonra yazılamaz. Having …

Bir Cevap Yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

%d blogcu bunu beğendi: