PracticU

שמירת טקסט בתוך מסד נתונים
נתונים מסוג char ב-SQL

בלי כתוביותעם כתוביות
PracticU › קורס DBA אפליקטיבי - שפת SQL למתחילים › שמירת טקסט בתוך מסד נתונים נתונים מסוג char ב-SQL
מילון מושגים:
מסד נתונים - אוסף מאורגן של נתונים המאוחסן כך שאפשר לשמור, לחפש, לעדכן ולשלוף אותו ביעילות, לרוב באמצעות שפת שאילתות.
סוג נתונים - הגדרה של סוג הערך שמשתנה או עמודה יכולים להחזיק, למשל מספר שלם, טקסט או תאריך.
ASCII - תקן לקידוד תווים שמייצג אותיות, ספרות וסימנים כמספרים, ומשמש בסיס לייצוג טקסט במחשב.
Unicode - תקן קידוד תווים אוניברסלי שמכסה את כתבי השפות בעולם, ומאפשר לייצג כמעט כל תו.
עמודה - שדה בטבלת מסד נתונים שמחזיק ערך מסוג מסוים עבור כל שורה, למשל שם או תאריך.

שמירת טקסט בתוך מסד נתונים נתונים מסוג char ב-SQL
איזה טיפוס נתונים בוחרים לטקסט, כשיש בין char ל-nvarchar כמה הבדלים חשובים? הנה הסקירה.
טיפוסי הטקסט
1. char: תווי ASCII, כלומר מה שיש במקלדת אנגלית. אורך קבוע: char(20) שומר תמיד 20 תווים, ואם מכניסים A נוספים לו 19 רווחים. מתאים רק כשהאורך תמיד זהה, למשל קוד של 7 תווים.
2. nchar: כמו char אבל Unicode, וה-n מציין national. שומר גם עברית, אבל האורך קבוע ולכן כמעט לא משתמשים בו.
3. varchar ו-nvarchar: אורך משתנה. המספר בסוגריים הוא המקסימום, ומעבר אליו הדאטאבייס מקצץ. nvarchar הוא הנפוץ ביותר, כי האורך תלוי במה שהוכנס וכי נדרשות לרוב שפות נוספות.
4. מספרי טלפון ותעודת זהות: מגדירים כ-varchar ולא כמספר, כי הם יכולים להתחיל ב-0 ועם int הוא נעלם.
5. max: varchar(max) ו-nvarchar(max) ללא הגבלת גודל, עד יותר מ-2 מיליארד תווים. לא מומלץ, כי האקר שפרץ יכול להציף את הדאטאבייס בזבל.
שימו לב
הטיפוסים text ו-ntext הם deprecated, כלומר מיושנים. את מקומם תופסים varchar(max) ו-nvarchar(max).
אחרי ההרצאה תוכלו לבחור טיפוס טקסט מתאים לכל עמודה.
השיעור הבא בקורס: שמירת זמנים ותאריכים ב-SQL

פרקי ההרצאה: שמירת טקסט בתוך מסד נתונים נתונים מסוג char ב-SQL

  1. 00:00

    טיפוס char ו-ASCII

  2. 00:40

    גודל קבוע ו-nchar

  3. 01:36

    varchar ו-nvarchar באורך משתנה

  4. 02:26

    מתי לבחור varchar

  5. 03:03

    טיפוס varchar max

תמלול ההרצאה: שמירת טקסט בתוך מסד נתונים נתונים מסוג char ב-SQL

הטקסט המלא של הדקות הראשונות בהרצאה «שמירת טקסט בתוך מסד נתונים נתונים מסוג char ב-SQL» בקורס הווידאו של PracticU – כתוביות בעברית עם זמן התחלה לכל פסקה. כך תוכלו לקרוא ולחפש את הנושאים לפני שמתחילים ללמוד.

  1. 00:02

    אם אנחנו רוצים לשמור טקסטים, טקסטואל טייפס, יש לנו char, אסקי. אסקי זה בעצם תווים סטנדרטיים שיש במקלדת אנגלית.

  2. 00:13

    כל האותיות באנגלית, קטנות-גדולות, ספרות, תווים מיוחדים כמו סימן שאלה, נקודה-פסיק, מקף, שטרודל, דולר, כל התווים המיוחדים שיש במקלדת סטנדרטית, אלה תווים אסקים.

  3. 00:27

    אז אם אני רוצה מידע שהוא לא בעברית, זה יכול להתאים לי, אבל זה Fixed Length. זה אומר שאם אני מגדיר 20, אז תמיד המחרובת תהיה בגודל 20 תווים.

  4. 00:40

    כאשר אם אני מכניס לדוגמה את התו A, אז הוא ישמור לי A ו-19 רווחים. זה כמעט אף פעם לא מתאים לי. מתי טוב להשתמש בזה? אם אני יודע שהמחרובת שלי תמיד צריכה להיות בגודל קבוע. בוא נניח שקוד עובד בחברה שלנו הוא תמיד 7 תווים.

  5. 00:57

    אז אולי כדאי לקחת char 7, כי הוא תמיד שבע תווים. כמובן, אם המחוזת היא תמיד גבוהה, אז מבחינת פרפורמנס זה קצת יותר מהיר. אם אני רוצה לשמור תווים בשפות אחרות, עברית, צרפתית וכדומה, אז יש לנו n char.

  6. 01:13

    זה בדיוק אותו דבר כמו char, אבל הוא יוניקוד ולא אסקי. זה אומר שהוא יכול לשמור גם תווים בשפות אחרות. ה-n מציין national, כלומר לאום הוא יכול לשמור בהמון שפות אחרות, אני רוצה לשמור מכרוזת בעברית, שום בעיה, nchar במקום char.

  7. 01:34

    אבל היא עדיין גודל קבוע ולכן גם כן כמעט אף פעם זה לא בשימוש. כן נמצאים בשימוש varchar ו-nvarchar שזה המקבילים שלהם אבל var זה variable length זאת אומרת אורך משתנה.

  8. 01:49

    אם אנחנו נשמור varchar ונכניס a אז הוא ישמור רק את המכרוזת a ולא או A עם 19 רווחים. אז ה-20 כאן זה באמת מקסימום, אי אפשר לעבור את ה-20.

  9. 02:03

    דאטאבייס יקצץ לנו את המידע. אנחנו כמובן יכולים להחליף את ה-20 בכל אלה במספר אחר, char 50 או nvarchar 70, זה כמובן כמה שבא לנו.

  10. 02:14

    nvarchar שומר national זה Unicode, אפשר לשמור עברית, אנגלית, וזה בעצם המחרוזת, סליחה, הטיפוס נתונים הכי נפוץ שיש, כי אני גם רוצה שהגודל יהיה תלוי בכמה שהכנסתי ולא קבוע, וגם ברוב המקרים אני לא רוצה לשמור רק באנגלית, אני רוצה לשמור גם בשפות אחרות.

  11. 02:33

    אז או שאנחנו בוחרים ב-N-Char, הנפוץ הבא זה VAR-Char, כי לפעמים אני רוצה דינמי, אבל לא רוצה עברית, לדוגמה מספר טלפון, אין שם התווים בעברית, אז זה יכול להיות VAR-Char, למרות שמספר טלפון נשמע כמו אינטג'ר, אבל זה לא נכון להגדיר אותו כאינטג'ר, מפני שיש לנו 0 בהתחלה, ואם נגדיר עם אינטג'ר

  12. 02:54

    אנחנו נאבד את ה-0. אז ברגע שמספר מגיע עם, יכול להגיע עם 0 בהתחלה, כמו תעודת זהות לדוגמה, אנחנו נרצה מכרוזות ולא אינטג'רים.

  13. 03:03

    הדבר הבא זה varchar max, וזה בעצם אומר, תשמע, אני לא רוצה להגדיר גודל, אני לא יודע כמה הגודל, שחרר אותי מהגודל, לא משנה כמה אנחנו, יכניסו לי, תן לי את המידע הזה.

  14. 03:19

    אז יש לנו את varchar ואת nvarchar, varchar זה כמובן אסקי ו-nvarchar זה יוניקוד, לא מומלץ להשתמש בהם מפני שאז אם האקר מצליח לפרוץ לנו ולהכניס מידע טיפשי לדאטאבייס, הוא יכול מה שנקרא לזבל לנו את הדאטאבייס

לקורס המלא: קורס SQL ו‑DBA אפליקטיבי

ההרצאה הקודמת: מספרים שלמים ועשרוניים ב-SQL

ההרצאה הבאה: שמירת זמנים ותאריכים ב-SQL

הרצאות קשורות מקורסים אחרים

  • מסד נתונים SQL ב-AZURE - חלק 1
  • מה זה מסד נתונים ?
  • שמירת נתונים בתוך קובץ QVD
  • מסד נתונים של Metasploit

קורסים נוספים במסלול

  • קורס NoSQL - MongoDB
  • קורס SSIS
  • קורס BI - ניתוח מסדי נתונים - Qlik Sense
  • קורס Power BI