Varchar נגד Nvarchar
ההבדל בין varchar ל-nvarchar מציין כיצד נתונים מאוחסנים במסד נתונים. מערכת מסד נתונים מורכבת מנתונים ונתונים מוגדרים לפי סוגי נתונים. סוג נתונים אומר איזה סוג ערך עשויה עמודה להכיל. לכל עמודה בטבלת מסד נתונים חייב להיות שם וסוג נתונים. כיום, ישנם סוגי נתונים רבים הזמינים בעיצוב מסדי נתונים. מתוך סוגי נתונים אלה, varchar ו-nvarchar משמשים לאחסון תווי מחרוזת. נראה כי Varchar ו-Nvarchar ניתנים להחלפה. אבל לשני הסוגים האלה יש יתרונות שונים, והם משמשים למטרות שונות.
מה זה Varchar?
כפי שהשם מרמז, varchar הוא תו משתנה או char משתנה. תחביר של varchar הוא VARCHAR [(n|max)]. Varchar מאחסן נתוני ASCII שאינם נתונים של Unicode, וזהו סוג הנתונים המשמשים בשימוש רגיל. Varchar משתמש בבת אחד לכל תו. זה גם מאחסן את האורך של כל מחרוזת במסד הנתונים. ל- Varchar יש אורך נתונים משתנה ויכול לאחסן עד 8000 תווים שאינם Unicode. סוג נתונים זה גמיש מאוד ויקבל את רוב סוגי הנתונים השונים. Varchar אינו מאפשר לאחסן תווים ריקים עבור החלקים שאינם בשימוש של המחרוזת. גודל האחסון המרבי של varchar הוא 2 ג'יגה-בייט, וגודל האחסון האמיתי של הנתונים הוא אורך הנתונים בפועל בתוספת שני בתים. למרות ש-varchar איטי יותר מ-char, הוא משתמש בהקצאת זיכרון דינמית. לא רק מחרוזות, אלא גם סוגים שאינם מחרוזים כגון סוגי תאריכים, "14 בפברואר", "2014-11-12" גם ניתן לאחסן בסוג נתונים varchar.
מה זה Nvarchar?
Nvarchar מציע אופי משתנה לאומי או דמות לאומית משתנה. תחביר של nvarchar הוא NVARCHAR [(n|max)]. Nvarchar יכול לאחסן סוגים שונים של נתונים באורך משתנה. מדובר בנתוני Unicode ונתונים ושפות רב לשוניים עם תווים דומים בסינית. Nvarchar משתמש ב-2 בתים לכל תו, והוא יכול לאחסן מגבלה מקסימלית של 4000 תווים ואורך מקסימלי של 2 GB. Nvarchar מתייחס ל- " " כמחרוזת ריקה ואורך תו אפס. גודל האחסון הוא כפול ממספר התווים בתוספת שני בתים. ב-nvarchar, הרווחים העוקבים אינם מוסרים כאשר הערך מאוחסן ומתקבל.
מה ההבדל בין Varchar ל-Nvarchar?
ההבדל העיקרי בין varchar ל-nvarchar מציין כיצד נתונים מאוחסנים במסד נתונים.
• Varchar מאחסן ערכי ASCII ו-nvarchar מאחסן תווי Unicode.
• Varchar משתמש בבת אחד לכל תו בעוד ש-nvarchar משתמש בשני בתים לכל תו.
• Varchar [(n)] מאחסן תווים שאינם Unicode באורך משתנה ו-Nvarchar [(n)] מאחסן תווי Unicode באורך משתנה.
• Varchar יכול לאחסן מקסימום 8000 תווים שאינם Unicode ו-nvarchar מאחסן לכל היותר 4000 תווים Unicode או שאינם Unicode.
• עדיף להשתמש ב- Varchar במקומות שבהם נמצאים משתנים עם תווים שאינם Unicode. נעשה שימוש ב-Nvarchar במקומות שבהם נמצאים משתנים עם תווי Unicode.
• גודל האחסון של varchar הוא מספר בתים השווה למספר התווים בתוספת שני בתים ששמורים להיסט. Nvarchar משתמש במספר בתים השווה למספר התווים כפול בתוספת שני בתים ששמורים להיסט.
• כל מערכות ההפעלה המודרניות ופלטפורמות הפיתוח משתמשות ב-Unicode באופן פנימי. לכן, נעשה שימוש רב ב-nvarchar ולא ב-varchar על מנת להימנע מהמרת סוגי נתונים.
סיכום:
Nvarchar נגד Varchar
Varchar ו-nvarchar הם סוגי נתונים באורך משתנה שבהם אנו משתמשים כדי לאחסן סוגים שונים של מחרוזות. סוגי נתונים אלה מועילים במערכות הפעלה מודרניות. זנים אלו של סוגי נתונים נמנעים מהמרת נתונים מסוג אחד לאחר בהתאם למערכות ההפעלה. לכן, varchar ו-nvarchar עוזרים למתכנת לזהות מחרוזות Unicode ושאינן Unicode ללא קושי רב. שני סוגי הנתונים הללו שימושיים מאוד בתכנות.