משתמשים חדשים בעולם של מסדי נתונים מבולבלים לעתים קרובות על ידי ערך מיוחד מסוים לשדה - הערך NULL. ערך זה ניתן למצוא בשדה המכיל כל סוג של נתונים ויש לו משמעות מיוחדת מאוד בהקשר של מסד נתונים יחסיים. זה כנראה הכי טוב להתחיל את הדיון שלנו NULL עם כמה מילים על מה NULL לא :
- NULL אינו המספר אפס.
- NULL אינו ערך מחרוזת ריקה ("").
במקום זאת, NULL הוא הערך המשמש לייצוג פיסת נתונים לא ידועה. לעתים קרובות, מתכנני מסדי נתונים ישתמשו בביטוי "NULL value", אבל זה לא נכון. זכור: NULL הוא ערך לא ידוע שבו השדה נראה ריק.
NULL בעולם האמיתי
בואו נסתכל על דוגמה פשוטה: טבלה המכילה את המלאי עבור דוכן פרי. נניח כי המלאי שלנו מכיל 10 תפוחים ושלושה תפוזים. אנחנו גם שזיפים, אבל מידע המלאי שלנו אינו שלם ואנחנו לא יודעים כמה (אם בכלל) שזיפים נמצאים במלאי. באמצעות הערך NULL, יהיה לנו את טבלת המלאי המוצגת בטבלה שלהלן.
פירות לעמוד המלאי
מלאי | פריט | כמות |
1 | תפוחים | 10 |
2 | תפוזים | 3 |
3 | שזיפים | ריק |
זה יהיה ברור לא נכון לכלול כמות של 0 עבור שיא שזיפים, כי זה היה מרמז כי היה לנו לא שזיפים במלאי. להיפך, אולי יש לנו שזיפים, אבל אנחנו פשוט לא בטוחים. טבלה יכולה להיות מתוכננת כדי לאפשר ערכי NULL או לא. הנה דוגמה SQL שיוצרת טבלת מלאי המאפשרת כמה NULLs: SQL ליצור מלאי טבלה (InventoryID INT לא NULL, פריט VARCHAR (20) לא NULL, כמות INT); טבלת המלאי כאן אינה מאפשרת ערכי NULL עבור מלאי וה פריט עמודות, אבל האם לאפשר להם את כמות טור. תוך כדי מתן ערך NULL הוא בסדר גמור, ערכי NULL יכולים לגרום לבעיות משום שכל השוואה של ערכים שבהם אחד הוא NULL תמיד תוצאות NULL. כדי לבדוק אם הטבלה שלך מכילה ערכים NULL, השתמש במפעיל IS NULL או IS NOT NULL. הנה דוגמה של IS NULL: SQL> בחר מלאי, פריט, כמות ממלאי שבו כמות אינו null; בהתחשב בדוגמה שלנו כאן, זה יחזור: עבודה עם ערכי NULL מפיקה לעתים קרובות תוצאות NULL, בהתאם לפעולת SQL. לדוגמה, בהנחה ש- A הוא NULL: מפעילי אריתמטיקה מפעילי השוואה אלה הן רק כמה דוגמאות של אופרטורים כי יהיה תמיד החזרה NULL אם משתמש אחד הוא NULL. הרבה שאילתות מורכבות יותר קיימות, והכול מסובך על ידי ערכי NULL. הנקודה הביתה לקחת את זה, אם אתה מאפשר ערכי NULL במסד הנתונים שלך, להבין את ההשלכות ולתכנן עבורם. זה NULL בקצור נמרץ!אל NULL או לא NULL?
מלאי פריט כמות 3 שזיפים
פעולה על NULLs