MSSQL Veri Tipleri: Hangi Veri Tipi Ne Zaman Kullanılır?
Veritabanı tasarımında doğru veri tipi seçimi, performans ve verinin doğru saklanması açısından büyük önem taşır. MSSQL (Microsoft SQL Server), çeşitli veri tiplerini destekler. En sık kullanılan MSSQL veri tipleri ve hangi durumlarda tercih edilmesi gerektiği:
1. Tamsayı (Integer) Veri Tipleri
Bu veri tipleri, sayısal verileri saklamak için kullanılır. Tamsayı veri tiplerinin farklı boyutları vardır.
- INT: 4 bayt uzunluğunda olup -2,147,483,648 ile 2,147,483,647 arasında değerler alabilir.
- SMALLINT: 2 bayt uzunluğunda olup -32,768 ile 32,767 arasında değerler alabilir.
- TINYINT: 1 bayt uzunluğunda olup 0 ile 255 arasında pozitif tamsayıları saklar.
- BIGINT: 8 bayt uzunluğunda olup -9,223,372,036,854,775,808 ile 9,223,372,036,854,775,807 arasında değerler alabilir.
2. Ondalık (Decimal) ve Sayısal (Numeric) Veri Tipleri
Ondalıklı sayılarla çalışırken bu veri tipleri tercih edilir.
- DECIMAL(p, s): ‘p’ toplam basamak sayısını, ‘s’ ise virgülden sonra kaç basamak olduğunu belirtir.
- NUMERIC(p, s): DECIMAL ile tamamen aynı işlevi görür. Sıklıkla finansal işlemlerde tercih edilir.
3. Kayan Noktalı (Floating Point) Veri Tipleri
Kayan noktalı sayılarla çalışmak için kullanılır, özellikle bilimsel hesaplamalar için idealdir.
- FLOAT: 4 veya 8 bayt boyutundadır, oldukça büyük veya küçük sayıları tutabilir.
- REAL: 4 bayt uzunluğunda olup daha küçük aralıktaki kayan noktalı sayıları tutar.
4. Para (Money) Veri Tipleri
Finansal verilerle çalışırken kullanılır.
- MONEY: -922,337,203,685,477.5808 ile 922,337,203,685,477.5807 arasında değerler alabilir.
- SMALLMONEY: -214,748.3648 ile 214,748.3647 arasında değerler alabilir.
5. Karakter (Character) Veri Tipleri
Metinsel verileri saklamak için kullanılır.
- CHAR(n): Sabit uzunluktaki metinleri tutar, ‘n’ karakter sayısını belirtir.
- VARCHAR(n): Değişken uzunluktaki metinleri tutar, ‘n’ maksimum karakter sayısını belirtir.
- TEXT: Çok büyük metinleri saklamak için kullanılır (2 GB’a kadar).
6. Unicode Karakter Veri Tipleri
Uluslararası karakter setlerini saklamak için kullanılır.
- NCHAR(n): Sabit uzunluktaki Unicode karakterleri tutar.
- NVARCHAR(n): Değişken uzunluktaki Unicode karakterleri tutar.
- NTEXT: Unicode metin verilerini saklamak için kullanılır (2 GB’a kadar).
7. Tarih ve Zaman Veri Tipleri
Tarih ve zaman verilerini tutmak için kullanılır.
- DATE: Yalnızca tarihi tutar (Yıl, ay, gün).
- TIME: Yalnızca zamanı tutar (Saat, dakika, saniye).
- DATETIME: Tarih ve zamanı bir arada tutar.
- SMALLDATETIME: Daha küçük bir zaman aralığını (1900-2079 yılları arasında) tutar.
- DATETIME2: Genişletilmiş bir tarih/zaman aralığını (0001-9999 yılları arasında) tutar.
- DATETIMEOFFSET: Tarih ve zamanı saat dilimi ile birlikte tutar.
8. Diğer Veri Tipleri
- BIT: 1 veya 0 (boolean) değerleri saklar. Genellikle evet/hayır ya da doğru/yanlış gibi durumlar için kullanılır.
- UNIQUEIDENTIFIER: Global Unique Identifier (GUID) değerlerini saklar. Her kayda benzersiz bir kimlik atamak için kullanılır.
- BINARY(n): Sabit uzunluktaki ikili verileri tutar.
- VARBINARY(n): Değişken uzunluktaki ikili verileri tutar.