מדריך לקשרי גומלין בין טבלאות

מדריך לקשרי גומלין בין טבלאות

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

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

במאמר זה

מבוא

סוגים של קשרי גומלין בין טבלאות

מדוע ליצור קשרי גומלין בין טבלאות?

הכרת שלמות ההקשרים

הצגת קשרי גומלין בין טבלאות

יצירת קשר גומלין בין טבלאות

מחיקת קשרי גומלין בין טבלאות

שינוי קשר גומלין בין טבלאות

אכיפת שלמות הקשרים

מבוא

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

טופס Orders המציג מידע מקושר מחמש טבלאות בעת ובעונה אחת

1. המידע בטופס זה מגיע מהטבלה Customers...

2. ...הטבלה Orders...

3. ...הטבלה Products...

4. ...והטבלה Order Details.

שם הלקוח בתיבה Bill To מאוחזר מהטבלה Customers, הערכים Order ID ו- Order Date מגיעים מהטבלה Orders, שם המוצר מגיע מהטבלה Products, והערכים Unit Price ו- Quantity מגיעים מהטבלה Order Details. טבלאות אלה מקושרות זו לזו במגוון דרכים להבאת מידע מכל אחת מהן אל הטופס.

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

EmployeeID משמש כמפתח ראשי בטבלת Employees וכמפתח זר בטבלת Order.

1. EmployeeID מופיע בשתי הטבלאות — כמפתח ראשי ...

2. ... וכמפתח זר.

לראש הדף

סוגים של קשרי גומלין בין טבלאות

קיימים שלושה סוגים של קשרי גומלין בין טבלאות ב- Access.

  • קשר גומלין של יחיד-לרבים

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

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

  • קשר גומלין של רבים-לרבים

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

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

  • קשר גומלין של יחיד-ליחיד

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

לראש הדף

מדוע ליצור קשרי גומלין בין טבלאות?

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

  • קשרי גומלין בין טבלאות משפרים את עיצובי השאילתות שלך

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

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

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

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

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

לראש הדף

הכרת שלמות ההקשרים

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

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

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

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

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

לראש הדף

הצגת קשרי גומלין בין טבלאות

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

פתיחת החלון 'קשרי גומלין'

  1. לחץ על קובץ ולאחר מכן לחץ על פתח.

  2. בחר ופתח את מסד הנתונים.

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

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

  4. בכרטיסיה עיצוב, בקבוצה קשרי גומלין, לחץ על כל קשרי הגומלין.

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

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

כאשר החלון 'קשרי גומלין' פעיל, באפשרותך לבחור מתוך הפקודות הבאות ברצועת הכלים:

בכרטיסיה עיצוב, בקבוצה כלים:

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

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

  • דוח קשרי גומלין    יצירת דוח המציג את הטבלאות וקשרי הגומלין במסד הנתונים שלך. הדוח מציג רק את הטבלאות וקשרי הגומלין שאינם מוסתרים בחלון 'קשרי גומלין'.

בכרטיסיה עיצוב, בקבוצה קשרי גומלין:

  • הצגת טבלה    פתיחת תיבת הדו-שיח הצגת טבלה כדי שתוכל לבחור טבלאות ושאילתות להצגה בחלון 'קשרי גומלין'.

  • הסתר טבלה    הסתרת הטבלה שנבחרה בחלון 'קשרי גומלין'.

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

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

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

לראש הדף

יצירת קשר גומלין בין טבלאות

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

יצירת קשר גומלין בין טבלאות באמצעות החלון 'קשרי גומלין'

  1. לחץ על קובץ ולאחר מכן לחץ על פתח.

  2. בחר ופתח את מסד הנתונים.

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

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

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

  5. בחר טבלה או שאילתה אחת או יותר ולאחר מכן לחץ על הוסף. לאחר סיום הוספת טבלאות ושאילתות לחלון 'קשרי גומלין', לחץ על סגור.

  6. גרור שדה (בדרך כלל המפתח הראשי) מטבלה אחת לשדה המשותף (המפתח הזר) בטבלה האחרת. כדי לגרור שדות מרובים, הקש על מקש CTRL, לחץ על כל שדה ולאחר מכן גרור אותם.

    תיבת הדו-שיח עריכת קשרי גומלין מופיעה.

  7. ודא ששמות השדות המוצגים הם השדות המשותפים עבור קשר הגומלין. אם שם של שדה שגוי, לחץ על שם השדה ובחר שדה חדש מהרשימה.

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

  8. לחץ על צור.

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

    הערות: 

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

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

יצירת קשר גומלין של טבלה באמצעות החלונית 'רשימת שדות'

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

פתיחת טבלה בתצוגה 'גליון נתונים'

  1. בכרטיסיה קובץ, לחץ על פתח.

  2. בתיבת הדו-שיח פתיחה, בחר את מסד הנתונים ופתח אותו.

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

פתיחת החלונית רשימת שדות

  • הקש ALT+F8.

    מופיעה החלונית רשימת שדות.

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

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

הוספת שדה ויצירת קשר גומלין מהחלונית 'רשימת שדות'

  1. בחלונית רשימת שדות, תחת שדות זמינים בטבלאות אחרות, לחץ על סימן החיבור (+‏) לצד שם טבלה כדי להציג את רשימת השדות בטבלה זו.

  2. גרור את השדה הרצוי מהחלונית רשימת שדות לטבלה הפתוחה בתצוגת גליון נתונים.

  3. כאשר מופיע קו ההוספה, שחרר את השדה במיקום הרצוי.

    אשף בדיקת המידע מופעל.

  4. עקוב אחר ההוראות כדי להשלים את אשף בדיקת המידע.

    השדה יופיע בטבלה בתצוגת גליון נתונים.

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

לראש הדף

מחיקת קשרי גומלין בין טבלאות

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

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

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

  2. בכרטיסיה עיצוב, בקבוצה קשרי גומלין, לחץ על כל קשרי הגומלין.

    כל הטבלאות הכוללות קשרי גומלין מוצגות עם קווים של קשרי גומלין.

  3. לחץ על קו קשר הגומלין עבור קשר הגומלין שברצונך למחוק. בעת בחירה בקו של קשר הגומלין, הוא נעשה עבה יותר.

  4. הקש על מקש DELETE.

    -לחלופין-

לחץ באמצעות לחצן העכבר הימני ולאחר מכן לחץ על מחק.

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

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

לראש הדף

שינוי קשר גומלין בין טבלאות

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

ביצוע השינויים שלך בתיבת הדו-שיח 'עריכת קשרי גומלין'

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

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

  2. בכרטיסיה עיצוב, בקבוצה קשרי גומלין, לחץ על כל קשרי הגומלין.

    כל הטבלאות הכוללות קשרי גומלין מוצגות עם קווים של קשרי גומלין.

  3. לחץ על הקו של קשר הגומלין עבור קשר הגומלין שברצונך לשנות. בעת בחירה בקו של קשר הגומלין, הוא נעשה עבה יותר.

  4. לחץ פעמיים על הקו של קשר הגומלין.

  5. ערוך את השינויים ולאחר מכן לחץ על אישור.

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

הגדרת סוג הצירוף

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

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

אחד מהערכים שתוכל לציין עבור כל קשר גומלין הוא סוג הצירוף. סוג הצירוף מורה ל- Access אילו רשומות לכלול בתוצאת שאילתה. לדוגמה, חשוב שוב על שאילתה המצרפת את הטבלה Customers ואת הטבלה Orders בשדות המשותפים המייצגים את השדה Customer ID. באמצעות סוג הצירוף המהווה ברירת מחדל (הנקרא צירוף פנימי), השאילתה תחזיר רק את השורות בטבלה 'לקוחות' ואת השורות בטבלה 'הזמנות' שבהן השדות המשותפים (הנקראים גם שדות מצורפים) הם שווים.

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

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

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

הגדרת סוג הצירוף

  1. בתיבת הדו-שיח עריכת קשרי גומלין , לחץ על סוג צירוף.

    תיבת הדו-שיח מאפייני הצירוף תופיע.

  2. לחץ על האפשרות הרצויה ולאחר מכן לחץ על אישור.

הטבלה הבאה (המשתמשת בטבלאות Customers ו- Orders) מציגה את שלוש אפשרויות הבחירה המוצגות בתיבת הדו-שיח מאפייני צירוף, את סוג הצירוף שבו הן משתמשות ואם כל השורות או השורות התואמות כלולות עבור כל טבלה.

הבחירה

צירוף יחסי

טבלה שמאלית

טבלה ימנית

1. נכללות רק שורות שבהן השדות המצורפים משתי הטבלאות הם שווים.

צירוף פנימי

שורות תואמות

שורות תואמות

2. נכללות כל הרשומות מ'לקוחות' ורק הרשומות מ'הזמנות' שבהן השדות המצורפים שווים.

צירוף חיצוני שמאלי

כל השורות

שורות תואמות

3. נכללות כל הרשומות מ'הזמנות' ורק הרשומות מ'לקוחות' שבהן השדות המצורפים הם שווים.

צירוף חיצוני ימני

שורות תואמות

כל השורות

כאשר תבחר באפשרות 2 או באפשרות 3, יוצג חץ על קו קשר הגומלין. חץ זה מצביע לצד בקשר הגומלין שמראה שורות תואמות בלבד.

עריכת שינויים בתיבת הדו-שיח 'מאפייני צירוף'

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

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

  2. בכרטיסיה עיצוב, בקבוצה קשרי גומלין, לחץ על כל קשרי הגומלין.

    כל הטבלאות הכוללות קשרי גומלין מוצגות, ומציגות קווים של קשרי גומלין.

  3. לחץ על הקו של קשר הגומלין עבור קשר הגומלין שברצונך לשנות. בעת בחירה בקו של קשר הגומלין, הוא נעשה עבה יותר.

  4. לחץ פעמיים על הקו של קשר הגומלין.

    מופיעה תיבת הדו-שיח עריכת קשרי גומלין.

  5. לחץ על סוג צירוף.

  6. בתיבת הדו-שיח מאפייני הצירוף, לחץ על אפשרות ולאחר מכן לחץ על אישור.

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

לראש הדף

אכיפת שלמות הקשרים

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

הפעלה או ביטול של שלמות הקשרים

  1. בחלון 'קשרי גומלין', לחץ על קו קשר הגומלין עבור קשר הגומלין שברצונך לשנות. בעת בחירה בקו של קשר הגומלין, הוא נעשה עבה יותר.

  2. לחץ פעמיים על הקו של קשר הגומלין.

מופיעה תיבת הדו-שיח עריכת קשרי גומלין.

  1. בחר בתיבת הסימון אכוף שלמות הקשרים בין הטבלאות.

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

לאחר אכיפת שלמות הקשרים, יחולו הכללים הבאים:

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

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

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

    הערות: אם אתה מתקשה בהפיכת שלמות הקשרים לזמינה, שים לב שהתנאים הבאים דרושים לאכיפת שלמות הקשרים:

    • על השדה המשותף מהטבלה הראשית להיות מפתח ראשי או בעל אינדקס ייחודי.

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

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

הגדרת אפשרויות הדירוג

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

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

הפעלה וביטול של עדכון ו/או מחיקה בהתאם להירארכיית הקשרים

  1. בחלון 'קשרי גומלין', לחץ על קו קשר הגומלין עבור קשר הגומלין שברצונך לשנות. בעת בחירה בקו של קשר הגומלין, הוא נעשה עבה יותר.

  2. לחץ פעמיים על הקו של קשר הגומלין.

מופיעה תיבת הדו-שיח עריכת קשרי גומלין.

  1. בחר בתיבת הסימון אכוף שלמות הקשרים בין הטבלאות.

  2. בחר את תיבת הסימון עדכן שדות קשורים בהתאם להירארכיית הקשרים או את תיבת הסימון מחק רשומות קשורות בהתאם להירארכיית הקשרים או בחר את שתיהן.

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

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

לראש הדף

שפר את הכישורים שלך ב- Office
סייר בהדרכה
קבל תכונות חדשות לפני כולם
הצטרף למשתתפי Office Insider

האם מידע זה היה שימושי?

תודה על המשוב!

תודה על המשוב! נראה שכדאי לקשר אותך לאחד מנציגי התמיכה של Office.

×