Char, varchar, nchar və nvarchar arasındakı fərqlər nələrdir?
Bilindiyi üzrə günümüzdə data-dan informasiya alınması, həmin informasiyanın biznesə və problemlərinin həll yollarının tapılmasında istifadəsi gündən-günə artır. Lakin eyni zamanda data-nın həcmi də artdığına görə data-nı qorumaq, effektiv şəkildə saxlamaq və data alış-verişində sürətin yüksəkliyini təmin etmək çox mühümdür. Buna görə məlumatlar da əsasən verilənlər bazasında saxlanılır. MS SQL geniş şəkildə istifadə olunan VBİS(Verilənlər Bazası İdarəetmə Sistemləri)-lərindən biridir və məlumatları table-larda, onu əmələ gətirən sütunlarda saxlaya bilir. Həmin sütunlar yaradılarkən mütləq ki, vəziyyətə və saxlayacağı məlumata uyğun olan datatype-lar seçilir. Bunların arasında tez-tez çaşdırılan və fərqləri soruşulan char, varchar, nchar və nvarchar haqqında danışacam.
Bu datatype-ların bir-birindən fərqli özəllikləri var. varchar-la char-ın əsas fərqi varchar daxil etdiyimiz dəyərdən asılı olur, yəni həmin dəyərin simvol ölçüsü üstəgəl 2 byte(dəyərin ölçüsünün neçə olduğunu saxlamaq üçün) yer tutur. Char da isə dəyərdən asılı olmayaraq təyin etdiyimiz limit qədər yer tutur. Məsələn; “Salam”-ı varchar(10) olan sütuna daxil etsək 7 byte(5 byte-simvol ölçüsünə görə, 2 byte-dəyərin ölçüsünün neçə olduğunu saxlamaq üçün), char(10) olan sütunda isə simvol ölçüsü neçə də olsa 10 byte yer tutur. Bunu da qeyd etmək lazımdır ki, varchar char-dan yer saxlamada daha əlverişli olsa da, performans cəhətdən daha ləng işləyir. Bu səbəblə vəziyyətə uyğun qərar vermək lazımdır yermi?, sürətmi?. nchar ilə char arasındakı fərq n(National Language Character Set)-dir. Char sadəcə Unicodun içərisində yerləşməyən müəyyən simvolları, character-ləri saxlaya bilir, amma nchar Unicode simvol tipinə uyğun gələn içərisində geniş həcmdə Çin, Yapon, Koreya, Yunan və başqa hərfləri, simvolları saxlaya bilir. Ancaq nchar-da simvola görə təyin olunan olçünün 2 misli yer tutur. Ona görə də ehtiyac yarandıqda istifadə etmək və yerə qənaət etmək lazımdır!
Məqaləni bəyəndinizsə və ya hər hansı fikriniz varsa postu bəyənməyiniz və rəy bildirməyinizdən məmnun olarıq. Təşəkkürlər!