SQL Veri Tipleri Nelerdir ?

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.

 

 

[infobox color=”#dd3333″]SQL Veri Tipleri ve Açıklamaları [/infobox]

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.

 

[accordion] [accordion_content title=”SQL String Veri Tipleri” icon=”” active=”active”]

Veri TipiAçıklamaMax. BoyutKapladığı Alan
char(n)Sabit genişlikli karakter dizesi8,000 charactersTanımlanan genişlik
varchar(n)Değişken genişlikli karakter dizesi8,000 characters2 bytes + karakter sayısı
varchar(max)Değişken genişlikli karakter dizesi1,073,741,824 characters2 bytes + karakter sayısı
textDeğişken genişlikli karakter dizesi2GB of text data4 bytes + karakter sayısı
ncharSabit genişlikli Unicode dizesi4,000 charactersTanımlanan genişlik x2
nvarcharDeğişken genişlikli Unicode dizesi4,000 characters
nvarchar(max)Değişken genişlikli Unicode dizesi536,870,912 characters
ntextDeğişken genişlikli Unicode dizesi2GB of text data
binary(n)Sabit genişlik ikili dize8,000 bytes
varbinaryDeğişken genişlik ikili dize8,000 bytes
varbinary(max)Değişken genişlik ikili dize2GB
imageDeğişken genişlik ikili dize2GB

[/accordion_content][accordion_content title=”SQL Sayı Veri Tipleri” icon=”” active=”active”]

Veri TipiAçıklamaKapladığı Alan
bit0, 1 veya NULL olabilecek tam sayı
tinyint0’dan 255’e kadar tam sayılara izin verir1 byte
smallint-32.768 ve 32.767 arasında tam sayılar sağlar2 bytes
int-2,147,483,648 ve 2,147,483,647 arası tam sayılara izin verir4 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ır5-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ır5-17 bytes
smallmoneyParasal veriler -214.748.3648’den 214.748.3647’ye4 bytes
moneyParasal veriler -922.337.203.685.477.5808’den 922.337.203.685.477.5807’ye8 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ı verileri4 bytes

[/accordion_content][accordion_content title=”SQL Tarih Veri Tipleri” icon=”” active=”active”]

Veri TipiAçıklamaKapladığı Alan
datetime1 Ocak 1753’den 31 Aralık 9999’a kadar8 bytes
datetime21 Ocak’tan 0001’e, 31 Aralık 9999’a kadar6-8 bytes
smalldatetime1 Ocak 1900’dan 6 Haziran 2079’a kadar4 bytes
dateYalnızca bir tarih saklayın. 1 Ocak, 0001’den 31 Aralık 9999’a kadar3 bytes
timeSadece 100 nanosaniye hassasiyette bir zaman saklayın3-5 bytes
datetimeoffsetDatetime2 ile saat diliminin ofset eklenmesiyle aynı8-10 bytes
timestampBir 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

[/accordion_content][accordion_content title=”SQL Diğer Veri Tipleri” icon=”” active=”active”]

Veri TipiAçıklama
sql_variantMetin, ntext ve zaman damgası haricinde, çeşitli veri türlerine ait 8.000 bayta kadar veri depolar.
uniqueidentifierKüresel olarak benzersiz bir tanımlayıcı (GUID) saklar.
xmlXML formatlı verileri depolar. Maksimum 2GB
cursorVeritabanı işlemlerinde kullanılan imlecin referansını saklar
tableSonradan işleme için bir sonuç kümesi saklar.

[/accordion_content] [/accordion]

 

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.


] }

Yorum yapın