כוחם של מפתחות זרים במסדי נתונים יחסיים

מפתח זר פותח את הדלת לעולם שלם של נתונים

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

כמה יסודות של מסדי נתונים יחסיים

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

קוד ב IBM בשנת 1970), אבל זה לא הנושא של מאמר זה.

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

באמצעות מפתחות זרים

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

כדי להשתמש במסד הנתונים Northwinds המצוטט בדרך כלל, הנה קטע מתוך טבלת מוצרים:

טבלת הנתונים של Northwind של המוצר קטע
מזהה מוצר שם מוצר קטגוריה מזהה כמות מחיר ליחידה
1 חי 1 10 קופסאות x 20 שקיות 18.00
2 צ'אנג 1 24 - 12 בקבוקי עוז 19.00
3 סירופ אניסיד 2 12 - 550 מ"ל בקבוקים 10.00
4 השף של אנטון Cajun תיבול 2 48 - 6 קנקנים 22.00
5 השף של אנטון Gumbo לערבב 2 36 תיבות 21.35
6 התפשטות סבתא 2 12 - 8 קנקנים 25.00
7 האגסים היבשים של הדוד בוב 7 12 - 1 ק"ג pkgs. 30.00

העמודה ProductID היא המפתח הראשי בטבלה זו. הוא מקצה מזהה ייחודי לכל מוצר.

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

שים לב לקטע זה מתוך טבלת הקטגוריות של מסד הנתונים:

הקטגוריות של מסד הנתונים של Northwind טבלה
קטגוריה מזהה שם קטגוריה תיאור
1 מַשׁקָאוֹת משקאות קלים, קפה, תה, בירות, ואלס
2 התבלינים רטבים מתוקים ומלוחים, מתענגים, מתפשטים ותבלינים
3 קונפקציות קינוחים, סוכריות, וממתקים
5 מוצרי חלב גבינות

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

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