תשובה קצרה: כן, זה יכול להיות NULL או כפול אני רוצה להסביר מדוע מפתח זר עשוי להיות ריק או עשוי להיות ייחודי או לא ייחודי. תחילה זכור מפתח זר פשוט דורש שהערך בשדה זה חייב להתקיים תחילה בטבלה אחרת (טבלת האב). זה כל מה ש-FK הוא בהגדרה.
האם מפתח זר מקבל ערך ריק?
למפתח הזר ניתן להקצות שם אילוץ. … מפתח זר המכיל ערכי null אינו יכול להתאים לערכי מפתח אב, מכיוון שלמפתח אב בהגדרה לא יכולים להיות ערכי null. עם זאת, ערך מפתח זר null הוא תמיד חוקי, ללא קשר לערך של כל אחד מהחלקים הלא-ריקים שלו.
למה מותרים ערכי אפס במפתח זר?
הגדרת קשרים בין טבלאות הורה וילד
ללא אילוצים על המפתח הזר כאשר לא מוגדרים אילוצים אחרים על המפתח הזר, כל מספר שורות בטבלת הצאצא יכול להתייחס ל- אותו ערך מפתח אב מודל זה מאפשר nulls במפתח הזר.
איך אני מאפשר ריק במפתח זר?
מכיוון שהמגבלה של המפתח הזר מחייב את המפתח אליו מתייחסים להיות ייחודי, הדבר הטוב ביותר שאתה יכול לעשות הוא לאפשר שורה אחת עם מפתח שהוא NULL. במקרה כזה, תצטרך להחליף את אילוץ המפתח הראשי באילוץ ייחודי (או אינדקס), ולאפשר את העמודה מדינות. country_id יהיה NULL.
האם נוכל להוסיף ערכים אפסים בעמודת מפתח זר?
כן, אתה יכול ערך null בעמודת מפתח זר.