מפתח ראשי לעומת מפתח מועמד
למרות שהמפתח הראשי נבחר ממפתחות המועמדים, קיים הבדל מסוים בין המפתח הראשי למפתחות המועמדים האחרים, אשר יידונו בפירוט במאמר זה. תכנון מסדי נתונים הוא אחת הפעילויות החשובות ביותר שיש לעשות בעת שמירה ואחסון נתונים. במהלך תהליך העיצוב הזה, יש ליצור טבלאות שונות עם מערכות יחסים רבות. על מנת לגשת לטבלאות אלו במסד נתונים, משתמשים בסוגים שונים של מפתחות בשפות עיצוב מסד נתונים מודרניות כגון MYSQL, MSAccess, SQLite וכו'. מתוך מפתחות אלו, מפתחות מועמדים ומפתחות ראשיים הפכו חיוניים בפרקטיקות של עיצוב מסד נתונים.
מהו מפתח מועמד?
מפתח מועמד הוא עמודה בודדת או קבוצה של עמודות בטבלה של מסד נתונים שניתן להשתמש בהם כדי לזהות באופן ייחודי כל רשומת מסד נתונים מבלי להתייחס לנתונים אחרים. כל טבלה של מסד נתונים יכולה לכלול מפתח מועמד אחד או יותר. ניתן ליצור קבוצה של מפתחות מועמדים באמצעות תלות פונקציונלית. יש כמה תכונות חשובות במפתח מועמד. הם;
• מפתחות מועמדים צריכים להיות ייחודיים בתוך הדומיין והם לא צריכים להכיל ערכי NULL.
• מפתח המועמד לעולם לא צריך להשתנות, והוא חייב להחזיק את אותו ערך עבור מופע ספציפי של ישות.
המטרה העיקרית של מפתח מועמד היא לעזור לזהות שורה אחת מתוך מיליוני שורות בטבלה גדולה. כל מפתח מועמד כשיר להפוך למפתח ראשי. עם זאת, מבין כל מפתחות המועמדים, מפתח המועמד החשוב והמיוחד ביותר יהפוך למפתח הראשי של טבלה והוא הטוב ביותר מבין מפתחות המועמדים.
מהו מפתח ראשי?
מפתח ראשי הוא המפתח המועמד הטוב ביותר של טבלה המשמש לזיהוי ייחודי של רשומות המאוחסנות בטבלה. בעת יצירת טבלה חדשה במסד נתונים אנו מתבקשים לבחור מפתח ראשי. לכן, בחירת מפתח ראשי לטבלה היא ההחלטה הקריטית ביותר שצריך לקחת על ידי מעצב מסד נתונים. האילוץ החשוב ביותר, שיש לקחת בחשבון בעת החלטה על מפתח ראשי, הוא שהעמודה הנבחרת בטבלה צריכה להכיל רק ערכים ייחודיים, והיא לא צריכה להכיל ערכי NULL כלשהם. חלק מהמפתחות הראשיים המשמשים בדרך כלל בעת עיצוב טבלאות הם מספר תעודת זהות (SSN), תעודת זהות ומספר תעודת זהות לאומית (NIC).
המתכנת צריך לזכור לבחור מפתח ראשי בקפידה כי קשה לשנות אותו. לכן, על פי המתכנתים, השיטה הטובה ביותר ליצירת מפתח ראשי היא להשתמש במפתח ראשי שנוצר באופן פנימי כגון Record ID שנוצר על ידי סוג הנתונים AutoNumber של MS Access.אם ננסה להכניס רשומה לטבלה עם מפתח ראשי שמשכפל רשומה קיימת, ההוספה תיכשל. ערך המפתח הראשי לא אמור להמשיך להשתנות, לכן חשוב יותר לשמור על מפתח ראשי סטטי.
מפתח ראשי הוא המפתח המועמד הטוב ביותר.
מה ההבדל בין מפתח ראשי למפתח מועמד?
• מפתח מועמד הוא העמודה שמתאימה כייחודית ואילו מפתח ראשי הוא העמודה המזהה באופן ייחודי רשומה.
• טבלה ללא מפתחות מועמדים אינה מייצגת שום קשר.
• יכולים להיות מפתחות מועמדים רבים לטבלה במסד נתונים, אבל צריך להיות מפתח ראשי אחד בלבד לטבלה.
• למרות שהמפתח הראשי הוא אחד ממפתחות המועמדים, לפעמים הוא המפתח המועמד היחיד.
• ברגע שנבחר מפתח ראשי, המפתחות המועמדים האחרים הופכים למפתחות ייחודיים.
• למעשה מפתח מועמד יכול להכיל ערכי NULL למרות שכרגע הוא אינו מכיל ערך כלשהו. לכן, מפתח המועמד אינו כשיר למפתח ראשי מכיוון שהמפתח הראשי לא אמור להכיל ערכי NULL כלשהם.
• ייתכן גם שמפתחות מועמדים, שהם ייחודיים כרגע, עשויים להכיל ערכים כפולים הפוסלים מפתח מועמד מלהפוך למפתח ראשי.
סיכום:
מפתח ראשי לעומת מפתח מועמד
מפתח מועמד ומפתח ראשי הם מפתחות חיוניים המשמשים בעיצוב מסדי נתונים על מנת לזהות באופן ייחודי נתונים ברשומה וליצור קשרים בין טבלאות של מסד נתונים. טבלה צריכה להכיל מפתח ראשי אחד בלבד ועשויה להכיל יותר ממפתח מועמד אחד. כיום, רוב מסדי הנתונים מסוגלים ליצור אוטומטית מפתח ראשי משלהם. לכן, המפתח הראשי והמפתחות המועמדים מספקים תמיכה רבה למערכות ניהול מסד הנתונים.