DBMS هو برنامج لإدارة قواعد البيانات بكفاءة. يعتمد MSSQL على نموذج العلائقية ويأتي ضمن نظام إدارة قواعد البيانات (DBMS). البيانات هي MSSQL المخزنة في جداول متصلة.
يتم تخزين مجموعة محددة من القيم في كل جدول. تمثل الأعمدة السمات ، بينما يمثل السجل كل صف.
عندما يخزن الجدول القيمة ، يكون لكل عمود نوع بيانات محدد. أو بكلمات بسيطة ، يتم الضغط على نوع البيانات في كل عمود.
عندما يتعلق الأمر بأنواع البيانات ، فارتشار ونفارشار اثنان منهم محيران للغاية. تسلط هذه المقالة الضوء على الاختلافات بين varchar و Nvarchar.
الوجبات السريعة الرئيسية
- يقوم VARCHAR بتخزين بيانات الأحرف متغيرة الطول باستخدام بايت واحد لكل حرف ، بينما يقوم NVARCHAR بتخزين بيانات الأحرف متغيرة الطول باستخدام وحدتي بايت لكل حرف.
- يدعم NVARCHAR نطاقًا أكبر من الأحرف ، بما في ذلك أحرف Unicode ، بينما يدعم VARCHAR الأحرف غير Unicode فقط.
- تتطلب VARCHAR مساحة تخزين أقل من NVARCHAR نظرًا لتشفيرها أحادي البايت ، مما يجعلها أكثر كفاءة لمجموعات الأحرف الأصغر.
Varchar vs Nvarchar
VARCHAR هو نوع بيانات يخزن بيانات الأحرف بتنسيق غير Unicode ، ويشغل مساحة تخزين أقل ولكنه يدعم مجموعات أحرف معينة فقط. NVARCHAR هو نوع بيانات يخزن بيانات الأحرف بتنسيق Unicode ، ويشغل مساحة تخزين أكبر ولكنه يدعم نطاقًا أوسع من مجموعات الأحرف.

Varchar هو نوع بيانات متعلق بالأحرف المتغيرة في خادم AQL. يتم تخصيص الذاكرة وفقًا للأحرف المدرجة.
أثناء استخدام varchar ، يتم تخزين أحرف غير Unicode. يمكن أن تتراوح معلمة الحجم الأقصى (م) لعمود varchar من 1 إلى 255 بايت.
Nvarchar هو أيضًا نوع بيانات يتعلق بالأحرف المتغيرة في SQL Server. في قاعدة البيانات ، يمكن تخزين لغات متعددة.
في حالة استخدام لغات أخرى ، سوف يستغرق الأمر ضعف المساحة لتخزين مجموعة ممتدة من الأحرف. أثناء استخدام Nvarchar ، يتم استخدام أحرف Unicode.
جدول المقارنة
معلمات المقارنة | فارتشار | نفارشار |
---|---|---|
التفسير | في SQL ، varchar هو نوع بيانات يخزن مجموعة بيانات أحرف من non-Unicode بطول غير محدد. | في SQL ، Nvarchar هو نوع بيانات لتخزين بيانات أحرف Unicode بطول غير محدد. |
نوع بيانات الحرف | بيانات غير Unicode | بيانات Unicode |
حجم الحرف | بايت 1 | بايت 2 |
الحد الأقصى لطول | 8,000 | 4,000 |
حجم التخزين | الطول الفعلي (بالبايت) | ضعف الطول الفعلي (بالبايت) |
ما هو Varchar؟
يخزن نوع بيانات varchar سلاسل أحرف متباينة الطول تحتوي على أحرف متعددة البايت وأحادي البايت.
في هذا ، تشير (R) إلى الحد الأدنى لعدد البايتات المحجوزة للعمود ، و m تعني الحد الأقصى لحجم العمود.
العمود الذي يتم اعتباره varchar بدون معلمات وأقواس له حجم محجوز يبلغ صفر وحجم أقصى يبلغ بايت واحد. في حالة وضع فهرس على عمود من varchar ، فإن الحجم الأقصى هو 254 بايت.
يمكن أيضًا تخزين سلاسل الأحرف التي تكون أقصر من قيمة m ولكن ليس أطول أيضًا.
إنه اختياري لتحديد معلمة الحد الأدنى للمساحة المحجوزة (R). يمكن أن تتراوح هذه القيمة من 0 إلى 255 بايت ولكن يجب أن تكون أقل من (م) من عمود varchar.
يمكن أن تكون القيمة الافتراضية 0 إذا لم يتم تحديد الحد الأدنى للقيمة. لذلك ، من الضروري تحديد هذه المعلمة عندما يقوم المستخدم في البداية بإدراج صف به سلاسل أحرف فارغة في العمود.
عندما يتم تخزين سلسلة في عمود varchar ، ثم يتم تخزين الأحرف الفعلية فقط. إذا لم يتم تحديد مسافة محجوزة أو (R) ، ولكن بعض سلاسل البيانات أقصر من بايت (R) ، فإن بعض الصفوف المحجوزة للمساحة لا يتم استخدامها.
ما هو نفارشار؟
Nvarchar هو نوع بيانات لتخزين بيانات الأحرف في حقل بطول متغير. يتم تخزين الأحرف غير الموحدة مثل ASCII، والتي تمثل الأحرف الكبيرة والرموز والأحرف الصغيرة والأرقام. من الضروري تحديد الحد الأقصى للعمود.
عندما يتم وضع فهرس على عمود Nvarchar ، فإن الحجم الأقصى هو 254 بايت. يمكن تخزين سلاسل الأحرف الأقصر ولكن ليس أطول من القيمة المحددة. إذا لم يتم تحديد أدنى قيمة للمساحة ، فإن القيمة الافتراضية هي 0 من الاحتياطي.
من الضروري تحديد المعلمة المحجوزة أثناء إدخال الصفوف في البداية بقيم بيانات لا تحتوي على أحرف أو تحتوي على أحرف قليلة في هذا العمود.
وفي وقت لاحق، فإنه يتوقع البيانات المحدثة بقيم أطول. تتراوح هذه القيمة من 0 إلى 255 بايت ولكن يجب أن تكون أقل من الحد الأقصى لحجم العمود.
يمكن أن تكون البيانات سلسلة من أحرف وأرقام وأحرف متعددة البايت أو أحادية البايت تدعمها مجموعة التعليمات البرمجية لقواعد البيانات الموجودة.
لا يؤثر استخدام Nvarchar الموفر على المساحة المستخدمة في الجدول على حجم المؤشر. الفهرس الذي يعتمد على عمود Nvarchar ، طول كل مفتاح فهرس يساوي الحد الأقصى للبايت ، الحد الأقصى لحجم العمود.
الاختلافات الرئيسية بين Varchar و Nvarchar
- يتم استخدام Varchar إذا كانت البيانات الفعلية أقل من السعة وكانت الأعمدة ذات الطول المتغير أو طول البيانات متغيرًا. ولكن يتم استخدام Nvarchar إذا كنت بحاجة إلى دعم Unicode مثل أحرف الهانغول الكورية أو أحرف كانجي اليابانية بسبب عبء التخزين الزائد.
- تُستخدم علامات الاقتباس الفردية لإحاطة varchar literals ، على سبيل المثال ، "John". من ناحية أخرى ، تسبق حروف Nvarchar الحرفية بـ N أيضًا ، مثل N'John. '
- من حيث المزايا ، يأخذ Varchar مساحة ذاكرة أقل بسبب الطول المتغير ، بينما يدعم Nvarchar تشغيل أجهزة الكمبيوتر العميلة بلغات مختلفة.
- يتم تخزين الأحرف التي لا تحتوي على Unicode مثل ASCII في varchar ، والتي تمثل الأحرف الكبيرة والرموز والأحرف الصغيرة والأرقام. لكن أحرف Unicode المخزنة في Nvarchar تمثل اليونانية والإنجليزية وما إلى ذلك.
- عندما يتعلق الأمر بالعيوب ، فإن varchar يقلل من أداء بعض استعلامات SQL ، بينما لا يتم استخدام مساحة التخزين الإضافية لمستخدمي Nvarchar بشكل صحيح.