Varchar vs Nvarchar
varchar ve nvarchar arasındaki fark, verilerin bir veritabanında nasıl depolandığını gösterir. Bir veritabanı sistemi verilerden oluşur ve veriler, veri türleri tarafından tanımlanır. Bir veri türü, bir sütunun ne tür bir değer içerebileceğini söyler. Bir veritabanı tablosundaki her sütunun bir adı ve bir veri türü olmalıdır. Günümüzde veri tabanı tasarımında pek çok veri tipi mevcuttur. Bu veri türlerinden varchar ve nvarchar, dize karakterlerini depolamak için kullanılır. Varchar ve Nvarchar birbirinin yerine kullanılabilir gibi görünüyor. Ancak bu iki türün farklı avantajları vardır ve farklı amaçlar için kullanılırlar.
Varchar nedir?
Adından da anlaşılacağı gibi, varchar değişken bir karakter veya değişken bir karakterdir. varchar'ın sözdizimi VARCHAR [(n|max)] şeklindedir. Varchar, Unicode olmayan ASCII verilerini depolar ve normal kullanımda kullanılan veri türüdür. Varchar, karakter başına bir bayt kullanır. Ayrıca, her bir dizenin uzunluğunu veritabanında saklar. Varchar değişken bir veri uzunluğuna sahiptir ve en fazla 8000 Unicode olmayan karakter saklayabilir. Bu veri türü çok esnektir ve çoğu farklı veri türünü kabul eder. Varchar, dizenin kullanılmayan kısımları için boş karakterler saklamanıza izin vermez. Varchar'ın maksimum depolama boyutu 2 GB'dir ve verilerin gerçek depolama boyutu, gerçek veri uzunluğu artı iki bayttır. varchar, char'dan daha yavaş olmasına rağmen, dinamik bellek ayırmayı kullanır. Sadece stringler değil, tarih tipleri, “14 Şubat”, “2014-11-12” gibi string olmayan türler de varchar veri tipinde saklanabilir.
Nvarchar nedir?
Nvarchar, ulusal bir değişken karakter veya ulusal bir değişken karakter önerir. nvarchar'ın sözdizimi NVARCHAR [(n|max)] şeklindedir. Nvarchar, değişen uzunluklarda farklı veri türlerini depolayabilir. Bunlar Unicode verileri ve çok dilli veriler ve Çince'de çift bayt benzeri karakterlere sahip dillerdir. Nvarchar karakter başına 2 bayt kullanır ve maksimum 4000 karakter sınırını ve maksimum 2 GB uzunluğunu depolayabilir. Nvarchar, “” öğesini boş dize ve sıfır karakter uzunluğu olarak değerlendirir. Depolama boyutu, karakter boyutunun iki katı artı iki bayttır. nvarchar'da, değer depolandığında ve alındığında sondaki boşluklar kaldırılmaz.
Varchar ve Nvarchar arasındaki fark nedir?
Varchar ve nvarchar arasındaki temel fark, verilerin bir veritabanında nasıl depolandığını gösterir.
• Varchar, ASCII değerlerini depolar ve nvarchar, Unicode karakterlerini depolar.
• Varchar karakter başına bir bayt kullanırken nvarchar karakter başına iki bayt kullanır.
• Varchar [(n)], değişken uzunlukta Unicode olmayan karakterleri depolar ve Nvarchar [(n)], değişken uzunlukta Unicode karakterleri depolar.
• Varchar maksimum 8000 Unicode olmayan karakter saklayabilir ve nvarchar maksimum 4000 Unicode veya Unicode olmayan karakter saklayabilir.
• Varchar'ı Unicode olmayan karakterlere sahip değişkenlerin olduğu yerlerde kullanmak daha iyidir. Nvarchar, Unicode karakterli değişkenlerin olduğu yerlerde kullanılır.
• Varchar'ın depolama boyutu, karakter sayısına eşit bayt sayısı artı ofset için ayrılmış iki bayttır. Nvarchar, karakter sayısının iki katına eşit bayt sayısı artı ofset için ayrılmış iki bayt kullanır.
• Tüm modern işletim sistemleri ve geliştirme platformları dahili olarak Unicode kullanır. Bu nedenle, veri türlerinin dönüştürülmesini önlemek için varchar yerine nvarchar sıklıkla kullanılır.
Özet:
Nvarchar vs Varchar
Varchar ve nvarchar, farklı türde dizeleri depolamak için kullandığımız değişken uzunluklu veri türleridir. Bu veri türleri, modern işletim sistemlerinde yardımcı olur. Bu tür veri türleri, işletim sistemlerine göre verilerin bir türden diğerine dönüştürülmesini önler. Bu nedenle, varchar ve nvarchar, programcının Unicode ve Unicode olmayan dizeleri çok fazla zorluk çekmeden tanımlamasına yardımcı olur. Bu iki veri türü programlamada çok kullanışlıdır.