תוכן עניינים:
הגדרה - מה המשמעות של מפתח ראשי?
מפתח ראשי הוא עמודת טבלת מסד נתונים יחסי מיוחדת (או שילוב של עמודות) המיועדת לזהות באופן ייחודי את כל רשומות הטבלה.
התכונות העיקריות של מפתח עיקרי הן:
- עליו להכיל ערך ייחודי לכל שורת נתונים.
- זה לא יכול להכיל ערכי null.
מפתח ראשי הוא עמודת טבלה קיימת או עמודה שנוצרת באופן ספציפי על ידי מסד הנתונים לפי רצף מוגדר.
Techopedia מסביר את המפתח הראשי
תפיסת המפתח העיקרית היא קריטית למאגר מידע יעיל. ללא המפתח העיקרי ומושגי המפתח הזרים הקשורים זה לזה, מסדי נתונים יחסיים לא היו עובדים.
כמעט כל האנשים מתמודדים עם מפתחות ראשוניים לעיתים קרובות אך בלי לדעת בחיי היומיום. לדוגמה, לסטודנטים מוקצים באופן שגרתי מספרי זיהוי ייחודיים (תעודת זהות), ולכל אזרחי ארה"ב יש מספרי ביטוח לאומי המוקצים על ידי הממשלה ומזהים באופן ייחודי.
לדוגמה, מסד נתונים חייב להחזיק את כל הנתונים המאוחסנים על ידי בנק מסחרי. שתי טבלאות בסיס הנתונים כוללות את CUSTOMER_MASTER, המאחסנת נתוני לקוחות בסיסיים וסטטיים (שם, תאריך לידה, כתובת, מספר תעודת זהות וכו ') ואת ACCOUNTS_MASTER, המאחסנת נתוני חשבון בנק שונים (תאריך יצירת חשבון, סוג חשבון, מגבלות משיכה או פרטי חשבון תואמים וכו ').
כדי לזהות לקוחות באופן ייחודי, נבחר טור או שילוב של עמודות כדי להבטיח שלשני לקוחות לעולם אין את אותו ערך ייחודי. לפיכך, עמודות מסוימות מבוטלות מייד, למשל שם משפחה ותאריך לידה. מועמד מפתח ראשי טוב הוא העמודה המיועדת להחזיק מספרי ביטוח לאומי. עם זאת, ייתכן שלחלק מהבעלי חשבונות אין מספרי ביטוח לאומי, ולכן מועמדותו של טור זה מבוטלת. האפשרות ההגיונית הבאה היא להשתמש בשילוב של עמודות, כמו הוספת שם המשפחה לתאריך הלידה לכתובת הדוא"ל, וכתוצאה מכך מפתח ראשי ארוך ומסורבל.
האפשרות הטובה ביותר היא ליצור מפתח ראשי נפרד בעמודה חדשה בשם CUSTOMER_ID. לאחר מכן, מסד הנתונים מייצר אוטומטית מספר ייחודי בכל פעם שמוסיפים לקוח, ומבטיח זיהוי ייחודי. כאשר נוצר מפתח זה, העמודה מוגדרת כמפתח הראשי בתוך סקריפט ה- SQL היוצר את הטבלה, וכל ערכי ה- null נדחים אוטומטית.
מספר החשבון המשויך לכל CUSTOMER_ID מאפשר טיפול מאובטח בשאילתות לקוחות ומדגים גם מדוע מפתחות ראשוניים מציעים את השיטה המהירה ביותר לחיפוש נתונים בטבלאות. לדוגמה, לקוח עשוי להתבקש למסור את שם משפחתו בעת עריכת שאילתת בנק. שאילתת שם משפחה נפוצה (כמו סמית ') עשויה להחזיר תוצאות מרובות. בעת שאילתת נתונים, השימוש בתכונה הייחודית העיקרית של המפתח מבטיח תוצאה אחת.