מפתח ראשי

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

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

דוגמאות למפתחות ראשיים

[עריכת קוד מקור | עריכה]

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

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