מבוא ליחסי מסדי נתונים

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

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

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

סוגי מערכות יחסים

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

התייחסות עצמית מערכות יחסים: מקרה מיוחד

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

יצירת קשרים עם מפתחות זרים

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

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

מורים
מדריך שם המורה קוּרס
001 פלוני אלמוני אנגלית
002 ג 'יין שמו מתמטיקה

הטבלה 'תלמידים' כוללת מזהה, שם ועמודת מפתח זר:

סטודנטים
תעודת סטודנט שם תלמיד מורה
0200 לואל סמית ' 001
0201 בריאן קצר 001
0202 קורקי מנדז 002
0203 מוניקה ג 'ונס 001

הטור Teacher_FK בטבלה 'תלמידים' מציין את ערך המפתח הראשי של מדריך בטבלה 'מורים'.

לעתים קרובות, מעצבי מסדי נתונים ישתמשו ב- "PK" או "FK" בשם העמודה כדי לזהות בקלות מפתח ראשי או עמודה של מפתח זר.

שים לב ששני טבלאות אלה ממחישים קשר של אחד לרבים בין המורים לתלמידים.

יחסים ויושרה

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

יישום מערכות יחסים

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

אם אתה כותב SQL ישירות, היית הראשון ליצור את הטבלה מורים, להצהיר על טור מזהה להיות המפתח הראשי:

יצירת מורים לוח (

מדריך INTID AUTO_INCREMENT מפתח ראשי,
Teacher_Name VARCHAR (100),
קורס VARCHAR (100)
);

בעת יצירת הטבלה 'תלמידים', אתה מצהיר על העמודה Teacher_FK כמפתח זר המתייחס לעמודה InstructorID בטבלת המורים:

צור תלמידי טבלה (
STIDID INT AUTO_INCREMENT מפתח ראשוני,
Student_Name VARCHAR (100), Teacher_FK INT,
מורים זרים (מורים) (מורים)
);

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

לאחר שיצרתם מערכת יחסים אחת או יותר במסד הנתונים שלכם, תוכלו למנף את כוחם באמצעות שאילתות SQL JOIN כדי לשלב מידע מטבלאות מרובות. הסוג השכיח ביותר של הצטרפות הוא JOIN INNER JOIN, או פשוט להצטרף. סוג זה של הצטרפות מחזיר את כל הרשומות העומדות בתנאי הצטרפות מטבלאות מרובות. לדוגמה, תנאי JOIN זה יחזיר את Student_Name, את Teacher_Name ואת הקורס שבו המפתח הזמני בטבלה 'תלמידים' תואם את המפתח הראשי בטבלה 'מורים':

בחר סטודנטים. סטודנט, מורה,
סטודנטים
INNER JOIN מורים
On Students.Teacher_FK = Teachers.InstructorID;

הצהרה זו מייצרת שולחן משהו כזה:

חזרה טבלה מתוך הצהרת SQL להצטרף

Student_NameTeacher_NameCourseLowell SmithJohn DoeEnglishBrian ShortJohn DoeEnglishCorky MendezJane SchmoeMathMonica JonesJohn DoeEnglish