א מפתח המועמד הוא חלק ממפתח המכונה מפתח סופר ( נדון בסעיף הקודם ), כאשר מפתח העל הוא ערכת העל של כל אותן תכונות שיכולות לזהות טבלה באופן ייחודי.
כאן, נדון במפתח המועמד, תפקידו, כמו גם השימוש בו. כמו כן, נבחן כמה דוגמאות שיגרמו לנו להבין טוב יותר את המושג מפתח מועמד.
c++ gui
מהו מפתח מועמד
מפתח מועמד הוא קבוצת משנה של קבוצת מפתחות על כאשר המפתח שאינו מכיל תכונה מיותרת אינו אלא מפתח המועמד . על מנת לבחור את המפתחות המועמדים מקבוצת מפתחות העל, עלינו להסתכל על ערכת המפתחות העל.
תפקיד מפתח מועמד
תפקידו של מפתח מועמד הוא לזהות שורה או עמודה בטבלה באופן ייחודי. כמו כן, הערך של מפתח מועמד אינו יכול להיות Null. התיאור של מפתח מועמד הוא 'ללא תכונות מיותרות' והיותו 'ייצוג מינימלי של tuple', לפי המומחים.
כיצד מפתח מועמד שונה ממפתח ראשי
למרות שהמטרה של המועמד וגם של המפתח העיקרי זהה, כלומר לזהות באופן ייחודי את הטפולים, ואז גם הם שונים זה מזה. הסיבה לכך היא שבטבלה, אנחנו יכולים לקבל מפתח מועמד אחד או יותר, אבל אנחנו יכולים ליצור רק מפתח ראשי אחד לטבלה. לפיכך, ממספר מפתחות המועמדים שהושגו, נוכל לזהות את המפתח הראשי המתאים. עם זאת, אם יש רק מפתח מועמד אחד בטבלה, ניתן לשקול אותו עבור שני אילוצי המפתח.
דוגמה למפתח מועמד
הבה נסתכל על אותה דוגמה שנלקחה תוך כדי דיון בסופר מפתח כדי להבין את פעולתו של מפתח מועמד.
להחליף ממחרוזת ב-java
יש לנו EMPLOYEE_DETAIL טבלה שבה יש לנו את התכונות הבאות:
Emp_SSN: מספר ה-SSN מאוחסן בשדה זה.
Emp_Id: תכונה המאחסנת את הערך של מספר זיהוי העובד.
מחרוזת ל-int java
Emp_name: תכונה המאחסנת את שם העובד המחזיק במזהה העובד שצוין.
Emp_email: תכונה המאחסנת את מזהה האימייל של העובדים שצוינו.
ה EMPLOYEE_DETAIL להלן טבלה שתעזור לך להבין טוב יותר:
אז, מהטבלה שלעיל, השגנו את מפתחות העל שניתנו להלן (שנדונו בסעיף הקודם):
כעת, מקבוצות מפתחות העל הללו, אנו יכולים להסיק את מפתחות המועמדים. על מנת לאסוף את מפתחות המועמדים, הדרך הטובה ביותר היא לנתח וליצור את המפתחות הראשיים ככל שנוכל. אז, אנחנו צריכים לזהות את הקבוצות האלה מתוך קבוצות המפתחות העל שיכולות לבדן לזהות את כל הטבלה, או שנוכל לומר את התכונות האחרות של הטבלה. לפיכך, התוצאה היא:
אז אלו הן שלוש התכונות שהושגו שיכולות לזהות את התכונות הלא ראשוניות האחרות של הטבלה. כל אלה הם מפתחות המועמדים ומהם נוכל לבחור את התכונה המתאימה ביותר שיכולה לזהות בקלות את כל הרשומות של הטבלה, אשר יתוארו כמפתח הראשי.
ההבדל בין מפתח מועמד לסופר מפתח
מהדיונים לעיל, אנו יכולים לקבל את נקודות ההבדל הבאות:
java ו-swing
מפתח סופר | מפתח המועמד |
---|---|
זוהי קבוצת העל של כל התכונות הללו שיכולה לזהות את הטבלה באופן ייחודי. | זוהי תת-הקבוצה או החלק של מפתח העל. |
זה בכלל לא חובה שכל מפתחות העל הם מפתחות מועמדים. | מצד שני, כל מפתחות המועמדים הם מפתחות על. |
תכונת המפתח העל יכולה להיות NULL, כלומר הערכים שלה יכולים להיות null. | תכונה שמחזיקה מפתח מועמד לעולם לא יכולה להיות NULL, מה שאומר שהערכים שלה לא יכולים להיות null. |
כל מפתחות העל נוצרו יחד כדי להביא את מפתחות המועמדים. | באופן דומה, מפתחות מועמדים מורכבים ליצירת מפתחות ראשיים. |
מספר מפתחות העל שנוצרו תמיד נראה יותר. | כאן, מפתחות מועמדים הם פחות ממפתחות על. |
לפיכך, מפתח העל הוא ערכת העל, המפתח המועמד הוא תת-הקבוצה, והמפתח הראשי הוא תת-הקבוצה של מפתח העל.