מפתחות DBMS: מועמד, סופר, ראשוני, זר (דוגמה)

מה הם מפתחות ב- DBMS?

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

דוגמא:

כרטיס עובדשם פרטישם משפחה
אחת עשרהאנדרוג'ונסון
22טוםעץ
33אלכסבָּרִיא

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

במדריך זה תלמד:

למה אנחנו צריכים מפתח?

להלן מספר סיבות לשימוש במפתח sql במערכת DBMS.

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

סוגי מפתחות במערכת ניהול מסדי נתונים

ישנם בעיקר שבעה סוגים שונים של מפתחות ב- DBMS ולכל מפתח יש פונקציונליות שונה:

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

מהו מפתח הסופר?

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

דוגמא:

EmpSSN EmpNum שם משפחה
9812345098AB05מוצג
9876512345AB06רוזלין
199937890AB07ג'יימס

בדוגמה שניתנה לעיל, שם EmpSSN ו- EmpNum הם מפתחות על.

מהו מפתח ראשי?

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

כללים להגדרת מפתח ראשי:

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

דוגמא:

בדוגמה הבאה, | _+_ | הוא מפתח ראשי.

StudID גליל לאשם פרטישם משפחהאימייל
1אחת עשרהטוםמחירכתובת דוא'ל זו מוגנת מפני ספאם. עליך להפעיל את JavaScript כדי לצפות בו.
212ניקרייטכתובת דוא'ל זו מוגנת מפני ספאם. עליך להפעיל את JavaScript כדי לצפות בו.
313ימיםנתןכתובת דוא'ל זו מוגנת מפני ספאם. עליך להפעיל את JavaScript כדי לצפות בו.

מהו המפתח החלופי?

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

דוגמא:

בטבלה זו, StudID, Roll No, Email מוסמכים להפוך למפתח ראשי. אך מכיוון ש- StudID הוא המפתח העיקרי, Roll No, Email הופך למפתח האלטרנטיבי.

StudID גליל לאשם פרטישם משפחהאימייל
1אחת עשרהטוםמחירכתובת דוא'ל זו מוגנת מפני ספאם. עליך להפעיל את JavaScript כדי לצפות בו.
212ניקרייטכתובת דוא'ל זו מוגנת מפני ספאם. עליך להפעיל את JavaScript כדי לצפות בו.
313ימיםנתןכתובת דוא'ל זו מוגנת מפני ספאם. עליך להפעיל את JavaScript כדי לצפות בו.

מהו מפתח מועמד?

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

מאפייני מפתח המועמד:

  • הוא חייב להכיל ערכים ייחודיים
  • מפתח המועמד עשוי להכיל מספר תכונות
  • אסור להכיל ערכי null
  • הוא צריך להכיל שדות מינימליים כדי להבטיח ייחודיות
  • זיהוי ייחודי של כל רשומה בטבלה

דוגמה: בטבלה הנתונה מזהה Stud, Roll No ודוא'ל הם מפתחות מועמדים שעוזרים לנו לזהות באופן ייחודי את שיא התלמידים בטבלה.

StudID גליל לאשם פרטישם משפחהאימייל
1אחת עשרהטוםמחירכתובת דוא'ל זו מוגנת מפני ספאם. עליך להפעיל את JavaScript כדי לצפות בו.
212ניקרייטכתובת דוא'ל זו מוגנת מפני ספאם. עליך להפעיל את JavaScript כדי לצפות בו.
313ימיםנתןכתובת דוא'ל זו מוגנת מפני ספאם. עליך להפעיל את JavaScript כדי לצפות בו.

מהו המפתח הזר?

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

דוגמא:

קוד DeptCode שם מחלקה
001מַדָע
002אנגלית
005מַחשֵׁב
תעודת מורה שם F שם
B002דודוורנר
B017שרהיוסף
B009מִיקרוֹפוֹןברונטון

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

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

תעודת מורה קוד DeptCode שם F שם
B002002דודוורנר
B017002שרהיוסף
B009001מִיקרוֹפוֹןברונטון

מושג זה ידוע גם בשם יושרה הפניה.

מהו המפתח המורכב?

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

דוגמא:

הזמנה לא PorductID שם מוצר כַּמוּת
B005JAP102459עכבר5
B005DKT321573יו אס בי10
B005OMG446789צג LCDעשרים
B004DKT321573יו אס ביחֲמֵשׁ עֶשׂרֵה
B002OMG446789מדפסת לייזר3

בדוגמה זו, OrderNo ו- ProductID אינם יכולים להיות מפתח ראשי מכיוון שהם אינם מזהים רשומה באופן ייחודי. עם זאת, ניתן להשתמש במפתח מורכב של מזהה הזמנה ומזהה מוצר מכיוון שהוא זיהה באופן ייחודי כל רשומה.

מהו המפתח המורכב?

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

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

מהו מפתח פונדקאי?

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

שם F שם משפחה שעת התחלה שעת סיום
אןנַפָּח09:0018:00
ג'ֵקפרנסיס08:00חמש אחר הצהריים
אנהמקלין11:0020:00
מוצגוילאם14:0023:00

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

מפתחות פונדקאי ב- sql מותרים כאשר

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

ההבדל בין מפתח ראשי למפתח זר

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

סיכום

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