SQL Server ile bir veritabanı oluşturma işlemini gerçekleştirirken oluşturacağınız tablonun kolonların en doğru veri tipini kullanmak bir çok farklı oluşacak sorunları engellemek gibi, boş yere kaybedilecek veri kaybından da kurtulursunuz. Eğer veritabanı öğrenmeye başlamak istiyor iseniz öncelikle SQL Veri Tiplerinin ne olduğunu kavramak ve arasında ki farkı öğrenerek başlamanız gerekmektedir.

 

Oluşturduğunuz bir veri tabanı tablosunda her bir sütunun ismi ve SQL Veri Türleri ise bu sütunun tutabileceği veri türlerini örnek olarak parasal, tarih ve saat, tam sayı verileri gibi tutabilmenizi sağlar.

 

 

SQL Veri Tipleri ve Açıklamaları 

Bir veritabanı yöneticisi yada geliştiricisi bir tablo oluşturduğunda bu tablonun her birine vereceği ismi ve saklayacağı veri türünü iyi seçmesi gerekmektedir. Veri türü, her sütunun içinde hangi veri türünün beklendiğini anlamak için SQL için bir yönergedir ve ayrıca SQL’in depolanan verilerle nasıl etkileşimde bulunacağını tanımlar.

 

SQL ‘da 3 farklı veri tipleri vardır. Bunlar string yani metin, sayı ve tarih veri tipleridir.

 

  • SQL String Veri Tipleri

    Veri Tipi Açıklama Max. Boyut Kapladığı Alan
    char(n) Sabit genişlikli karakter dizesi 8,000 characters Tanımlanan genişlik
    varchar(n) Değişken genişlikli karakter dizesi 8,000 characters 2 bytes + karakter sayısı
    varchar(max) Değişken genişlikli karakter dizesi 1,073,741,824 characters 2 bytes + karakter sayısı
    text Değişken genişlikli karakter dizesi 2GB of text data 4 bytes + karakter sayısı
    nchar Sabit genişlikli Unicode dizesi 4,000 characters Tanımlanan genişlik x2
    nvarchar Değişken genişlikli Unicode dizesi 4,000 characters
    nvarchar(max) Değişken genişlikli Unicode dizesi 536,870,912 characters
    ntext Değişken genişlikli Unicode dizesi 2GB of text data
    binary(n) Sabit genişlik ikili dize 8,000 bytes
    varbinary Değişken genişlik ikili dize 8,000 bytes
    varbinary(max) Değişken genişlik ikili dize 2GB
    image Değişken genişlik ikili dize 2GB

  • SQL Sayı Veri Tipleri

    Veri Tipi Açıklama Kapladığı Alan
    bit 0, 1 veya NULL olabilecek tam sayı
    tinyint 0’dan 255’e kadar tam sayılara izin verir 1 byte
    smallint -32.768 ve 32.767 arasında tam sayılar sağlar 2 bytes
    int -2,147,483,648 ve 2,147,483,647 arası tam sayılara izin verir 4 bytes
    bigint -9,223,372,036,854,775,808 ve 9,223,372,036,854,775,807 numaralı sayıları verir. 8 bytes
    decimal(p,s) Sabit hassasiyet ve ölçek numaraları. -10 ^ 38 + 1’den 10 ^ 38 -1’e kadar sayılara izin verir. P parametresi, saklanabilen maksimum toplam basamak sayısını gösterir (hem ondalık noktanın solunda hem de sağında). p 1’den 38’e bir değer olmalıdır. Varsayılan değer 18’dir. S parametresi ondalık noktanın sağında saklanan azami basamak sayısını belirtir. s, 0’dan p’ye kadar bir değer olmalıdır. Varsayılan değer 0’dır 5-17 bytes
    numeric(p,s) Sabit hassasiyet ve ölçek numaraları. -10 ^ 38 + 1’den 10 ^ 38 -1’e kadar sayılara izin verir. P parametresi, saklanabilen maksimum toplam basamak sayısını gösterir (hem ondalık noktanın solunda hem de sağında). p 1’den 38’e bir değer olmalıdır. Varsayılan değer 18’dir. S parametresi ondalık noktanın sağında saklanan azami basamak sayısını belirtir. s, 0’dan p’ye kadar bir değer olmalıdır. Varsayılan değer 0’dır 5-17 bytes
    smallmoney Parasal veriler -214.748.3648’den 214.748.3647’ye 4 bytes
    money Parasal veriler -922.337.203.685.477.5808’den 922.337.203.685.477.5807’ye 8 bytes
    float(n) -1.79E + 308’den 1.79E + 308’e kadar olan kesirli hassas sayı verileri. N parametresi, alanın 4 veya 8 bayt tutup tutmayacağını gösterir. float (24) 4 baytlık bir alanı ve float (53) 8 baytlık bir alanı tutar. N’nin varsayılan değeri 53’tür. 4 or 8 bytes
    real -3.40E + 38’den 3.40E + 38’e kadar olan kayan hassas sayı verileri 4 bytes

  • SQL Tarih Veri Tipleri

    Veri Tipi Açıklama Kapladığı Alan
    datetime 1 Ocak 1753’den 31 Aralık 9999’a kadar 8 bytes
    datetime2 1 Ocak’tan 0001’e, 31 Aralık 9999’a kadar 6-8 bytes
    smalldatetime 1 Ocak 1900’dan 6 Haziran 2079’a kadar 4 bytes
    date Yalnızca bir tarih saklayın. 1 Ocak, 0001’den 31 Aralık 9999’a kadar 3 bytes
    time Sadece 100 nanosaniye hassasiyette bir zaman saklayın 3-5 bytes
    datetimeoffset Datetime2 ile saat diliminin ofset eklenmesiyle aynı 8-10 bytes
    timestamp Bir satır oluşturulduğunda veya değiştirildiğinde güncellenen benzersiz bir numara saklar. Zaman damgası değeri bir iç saati temel alır ve gerçek zamana karşılık gelmez. Her tabloda yalnızca bir zaman damgası değişkeni olabilir

  • SQL Diğer Veri Tipleri

    Veri Tipi Açıklama
    sql_variant Metin, ntext ve zaman damgası haricinde, çeşitli veri türlerine ait 8.000 bayta kadar veri depolar.
    uniqueidentifier Küresel olarak benzersiz bir tanımlayıcı (GUID) saklar.
    xml XML formatlı verileri depolar. Maksimum 2GB
    cursor Veritabanı işlemlerinde kullanılan imlecin referansını saklar
    table Sonradan işleme için bir sonuç kümesi saklar.

 

Yukarıda yer alan veri tipleri biliyorum ki gözünüzü korkutuyor. Evet korkutabilir bu doğaldır ama asıl önemli olan bunları kullanım sırasına göre teker teker öğrenmektir. Biz bu eğitim serimizde ise ezberleme yolu üzerinden değil yavaş yavaş öğrenerek ve deneme yanılma yolu üzerinden akılda kalıcı bir şekilde öğrenme yolunu tercih edeceğiz. Sizlerde SQL Veri Tipleri nelerdir diye bir aştırma yaptığınızda şuanda öncelikle size lazım olan, işinizi görecek olan veri tiplerini öğrenerek başlamayı tercih edin.

 

Hepsini bir anda öğrenmek isterseniz bu öğrenme işi hepsini bir birine karıştırmanız ve veri tabanı kavramından çabuk sıkılmanıza neden olacaktır. Bu yüzden geleceğin yazılımcıları biz olacağımızdan dolayı emin adımlarla bu yolda yürümek en iyi seçenek olacaktır.

Gökmen Efsun {efsungokmen}

Teknoloji dünyası sınırsız bir alandır. Bu alanda bilgi paylaştıkça çoğalır.

Bir cevap yazın

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