כיצד ליצור מפתחות זרים ב - Microsoft

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

טבלאות מסד נתונים ומערכות יחסים

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

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

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

מסד הנתונים עשוי להכיל גם טבלה בשם מיקומים עם המידע הנוסף הבא על כל מיקום:

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

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

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

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

בחר שם פרטי, שם משפחה, כותרת מתוך העובדים INN JOIN תפקידים על Employees.PositionID = Positions.PositionID

יצירת מפתחות זרים ב - SQL Server

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

כך תיצור את המפתח הזר ב- SQL Server:

ALTER TABLE עובדים ADD מפתח זר (PositionID) מיקומים תפקידים (PositionID)

ניתן גם ליצור מפתח זר בעת יצירת טבלה על ידי הוספת הפסקה:

תפקידים ראשיים עיקריים תפקידים (PositionID)

לסוף הגדרת העמודה עבור העמודה מפתח זר.