Char, varchar, nchar və nvarchar arasındakı fərqlər nələrdir?

Senan Mehdiyev
2 min readSep 4, 2021

--

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 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!

Char, varchar, nchar və nvarchar-da dəyərin saxlanma ölçüləri
Datatype-lara görə dəyərin saxlanma olçüləri

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!

--

--

Senan Mehdiyev

Self-motivated, ambitious to work, research, and develop in Data Science/ML/DL, have communicative skills, highly inspired to run with a competitive team