ההבדל בין מפתח ראשי לבין מפתח ייחודי

Anonim

מפתח ראשי לעומת מפתח ייחודי

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

-> ->

מהו מפתח ייחודי?

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

-> ->

מהו מפתח ראשי?

המפתח הראשי הוא גם עמודה או שילוב של עמודות המגדירות באופן ייחודי שורה בטבלה של מסד נתונים יחסיים. טבלה יכולה להכיל מפתח ראשי אחד לכל היותר. המפתח הראשי אוכף את האילם המובהק לא NULL. לכן, עמודה המוגדרת כמפתח הראשי אינה יכולה לכלול ערכים NULL. המפתח הראשי יכול להיות תכונה רגילה בטבלה המובטחת להיות ייחודי כמו מספר תעודת זהות או שזה יכול להיות ערך ייחודי שנוצר על ידי מערכת ניהול מסדי נתונים כגון מזהה ייחודי גלובלי (GUID) ב- Microsoft SQL Server. מפתחות ראשיים מוגדרים באמצעות אילוצי מפתח ראשוני ב- ANSI SQL Standard. ניתן להגדיר מפתח ראשי גם בעת יצירת הטבלה. SQL מאפשר המפתח הראשי להיות מורכב של עמודה אחת או יותר וכל עמודה הכלולה המפתח הראשי מוגדר במרומז להיות לא NULL. אבל כמה מערכות ניהול מסד נתונים דורשים להפוך את עמודות המפתח הראשי במפורש לא NULL.

ההבדל בין מפתח ראשי מפתח ייחודי

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