logo

מפתחות

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

לדוגמה, ID משמש כמפתח בטבלת הסטודנטים מכיוון שהוא ייחודי לכל תלמיד. בטבלת PERSON, passport_number, license_number, SSN הם מפתחות מכיוון שהם ייחודיים לכל אדם.

מפתחות DBMS

סוגי מפתחות:

מפתחות DBMS

1. מפתח ראשי

  • זהו המפתח הראשון המשמש לזיהוי מופע אחד ויחיד של ישות באופן ייחודי. ישות יכולה להכיל מספר מפתחות, כפי שראינו בטבלת PERSON. המפתח המתאים ביותר מרשימות אלו הופך למפתח ראשי.
  • בטבלת EMPLOYEE, ID יכול להיות המפתח הראשי מכיוון שהוא ייחודי לכל עובד. בטבלת ה-EMPLOYEE, אנו אפילו יכולים לבחור License_Number ו- Passport_Number כמפתחות ראשיים מכיוון שהם גם ייחודיים.
  • עבור כל ישות, בחירת המפתח העיקרי מבוססת על דרישות ומפתחים.
מפתחות DBMS

2. מפתח מועמד

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

לדוגמה: בטבלת EMPLOYEE, המזהה המתאים ביותר למפתח הראשי. שאר המאפיינים, כמו SSN, Passport_Number, License_Number וכו', נחשבים כמפתח מועמד.

מפתחות DBMS

3. מפתח סופר

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

מפתחות DBMS

לדוגמה: בטבלת EMPLOYEE לעיל, עבור (EMPLOEE_ID, EMPLOYEE_NAME), שמם של שני עובדים יכול להיות זהה, אבל ה-EMPLYEE_ID שלהם לא יכול להיות זהה. לפיכך, שילוב זה יכול להיות גם מפתח.

מפתח העל יהיה EMPLOYEE-ID (EMPLOYEE_ID, EMPLOYEE-NAME) וכו'.

4. מפתח זר

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

5. מפתח חלופי

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

לדוגמה, ליחסי עובד יש שתי תכונות, Employee_Id ו-PAN_No, הפועלות כמפתחות מועמדים. ביחס זה, Employee_Id נבחר כמפתח הראשי, כך שמפתח המועמד האחר, PAN_No, פועל כמפתח האלטרנטיבי.

מה אומר xd
מפתחות DBMS

6. מפתח מורכב

בכל פעם שמפתח ראשי מורכב מיותר מתכונה אחת, הוא ידוע כמפתח מורכב. מפתח זה ידוע גם כ-Concatenated Key.

מפתחות DBMS

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

מפתחות DBMS

7. מפתח מלאכותי

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

לדוגמה, המפתח הראשי, המורכב מ-Emp_ID, Emp_role ו-Proj_ID, גדול ביחסי עובדים. אז עדיף להוסיף תכונה וירטואלית חדשה כדי לזהות כל tuple בקשר באופן ייחודי.