מה ההבדל בין אילוץ יושרה לשלמות הפניה? https://en.wikipedia.org/wiki/Referential_integrity


תשובה 1:

כאשר בטבלה אחת יש נתונים ש"מתייחסים "לאחרים במסד הנתונים, הדיוק של אותם הפניות נקרא שלמות הפניה. אם יש לך טבלה בשם CLASSES המאחסנת שורות עם שיעורים שנלמדו וטבלה שנייה בשם CLASS_ROSTERS עם שורות הכוללות נתונים על התלמידים שנרשמו לשיעורים אלה, CLASS_ROSTERS מתייחס ל- CLASSES. לעולם לא אמור להיות לך רשומת סטודנטים ב- CLASS_ROSTERS שעבורה אין רשומת כיתה תואמת בטבלת CLASSES. אם זה יקרה אי פעם, אז שלמות ההפניה אבדה בין שני הטבלאות.

אחד המנגנונים לאכיפת היושרה הוא אילוץ מפתח זר. זהו מנגנון מסד נתונים שניתן להשתמש בו כדי למנוע כניסה של רשומות סטודנטים ל- CLASS_ROSTERS כאשר רשומת כיתה תואמת אינה קיימת ב- CLASSES. אילוץ מפתח זר הוא מכמה סוגים של מגבלות יושרה.

סוגים אחרים של אילוצי יושרה כוללים אילוצי מפתח ראשוניים, אילוצי מפתחות ייחודיים ולא מגבלות NULL. כל אלה הם מנגנוני מסד נתונים שנועדו לשמור על שלמות הנתונים. תפקידם למנוע הכנסה (או שינוי של נתונים) במסד הנתונים שישברו כללים המובנים במודל הנתונים.


תשובה 2:

במילים פשוטות.

אילוץ שלמות הוא ספציפי למופע אלמנט הנתונים כגון מגבלת סוג (חייב להיות מספר), או טווח ערכים וכו '.

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