הגדרת קשרי גומלין בין טבלאות במסד נתונים Microsoft Access

תרגומי מאמרים תרגומי מאמרים
Article ID: 304466 - View products that this article applies to.
אם אתה לקוח לעסקים קטנים, למצוא פתרון בעיות נוספות ואת משאבי למידה בבית תמיכה עבור עסקים קטנים אתר.
המשתמש המתחיל: דורשת ידע של ממשק המשתמש על משתמש יחיד מחשבים.

מאמר זה חל רק על מסד נתונים Microsoft Access (. mdb או. accdb).
לקבלת גירסה של מאמר זה, Microsoft Access 2000 ראה 304467.
לקבלת גירסה של מאמר זה, Microsoft Access 97 ראה 304468.
הרחב הכל | כווץ הכל

On This Page

תקציר

מאמר זה מתאר כיצד להגדיר את קשרי הגומלין מסד נתונים של Microsoft Access. הוא כולל את הנושאים הבאים:
  • מהם 'קשרי גומלין' טבלה
  • סוגי 'קשרי גומלין' טבלה
    • 'קשרי גומלין' יחיד-לרבים
    • 'קשרי גומלין' רבים-לרבים
    • 'קשרי גומלין' יחיד ליחיד

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

  • שלמות הקשרים
  • עדכונים ומחיקות
  • להצטרף סוגים

מידע נוסף

מהם 'קשרי גומלין' טבלה

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

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

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

סוגי 'קשרי גומלין' טבלה

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

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

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

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

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

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

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

בקשר גומלין של רבים-לרבים, שורה בטבלה א' יש רבים התאמת שורות בטבלה ב', ולהפך. באפשרותך ליצור קשרי גומלין אלה על-ידי הגדרת טבלה שלישית, הנקראת טבלת צומת, המפתח הראשי שלה מורכב המפתחות הזרים הן A טבלה וטבלה ב'. לדוגמה, בין טבלת Authors הטבלה Titles יש קשר גומלין של רבים לרבים המוגדר על-ידי אחד-לרבים מכל אחת מטבלאות אלה לטבלת TitleAuthors. המפתח הראשי של הטבלה TitleAuthors הוא השילוב של au_id מזהה עמודה (המפתח הראשי של טבלת authors) ועמודה title_id (כותרות המפתח הראשי של הטבלה).

'קשרי גומלין' יחיד ליחיד

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

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

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

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

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

כדי ליצור של יחיד-לרבים או קשר גומלין יחיד ליחיד, בצע את השלבים הבאים:
  1. סגור את כל הטבלאות הפתוחות. אין אפשרות ליצור או לשנות קשרי גומלין בין טבלאות פתוחות.
  2. ב- Access 2002 או ב- Access 2003, בצע את הפעולות הבאות:
    1. הקש F11 כדי לעבור לחלון מסד הנתונים.
    2. ב- כלים תפריט, לחץ על 'קשרי גומלין'.
    ב- Access 2007, לחץ 'קשרי גומלין' ב- הצג/הסתר הקבוצה על כלי מסד נתונים הכרטיסיה.
  3. אם לא הגדרת עדיין קשרי גומלין ב שלך מסד הנתונים, תיבת הדו-שיח הצגת טבלה מוצג באופן אוטומטי. אם ברצונך להוסיף הטבלאות שברצונך לקשר, אך לא מוצגת תיבת הדו-שיח הצגת טבלה , לחץ על הצגת טבלה בתפריט 'קשרי גומלין' .
  4. לחץ פעמיים על שמות הטבלאות שברצונך לקשר, ולאחר מכן סגור את תיבת הדו-שיח הצגת טבלה . כדי ליצור קשר גומלין בין טבלה לבין עצמה, הוסף טבלה זו פעמיים.
  5. גרור את השדה שברצונך לשייך מטבלה אחת כדי השדה קשורות בטבלה אחרת. כדי לגרור שדות מרובים, החזק את מקש CTRL, לחץ על כל שדה ולאחר מכן גרור אותם.

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

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

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

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

כיצד להגדיר את 'קשרי גומלין' של רבים-לרבים

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

    הערה: כדי ליצור מפתח ראשי, בצע את הפעולות הבאות:
    1. פתיחת טבלה בתצוגת עיצוב.
    2. בחר את השדה או השדות שברצונך להגדיר כ המפתח הראשי. כדי לבחור שדה אחד, לחץ על בורר השורות עבור הרצויות שדה.

      כדי לבחור שדות מרובים, החזק את מקש CTRL לחוץ ולאחר מכן לחץ על בורר השורות עבור כל שדה.
    3. ב- Access 2002 או ב- Access 2003, לחץ מפתח ראשי בסרגל הכלים.

      ב- Access 2007, לחץ מפתח ראשי ב- כלים הקבוצה על עיצוב הכרטיסיה.

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

שלמות הקשרים

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

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

עדכונים ומחיקות

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

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

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

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

להצטרף סוגים

קיימים שלושה סוגים של צירוף, כדלקמן:

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

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

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

מאפיינים

Article ID: 304466 - Last Review: יום שישי 07 יוני 2013 - Revision: 3.0
המידע במאמר זה חל על:
  • Microsoft Office Access 2007
  • Microsoft Office Access 2003
  • Microsoft Access 2002 Standard Edition
מילות מפתח 
kbdesign kbdatabase kbhowto kbmt KB304466 KbMthe
תרגום מכונה
חשוב: מאמר זה תורגם באמצעות תוכנת תרגום מכונה של Microsoft וייתכן שנערך לאחר מכן על-ידי קהילת Microsoftבאמצעות טכנולוגייתCommunity Translation Framework (CTF) או באמצעות תרגום אנושי. Microsoft מציעה לך גם מאמרים בתרגום אנושי, מאמרים בתרגום מכונה ומאמרים שנערכו על ידי הקהילה כדי לאפשר גישה למאמרים הקיימים במאגר הידע (Knowledge Base) שלMicrosoft בשפות שונות. מאמרים מתורגמים יכולים להכיל שגיאות באוצר המילים, בתחביר או בדקדוק. Microsoft אינה אחראית לחוסר דיוק, שגיאות או נזקים שייגרמו כתוצאה מטעויות בתכנים או משימוש בתכנים על ידי לקוחותיה.
כותרת מאמר זה באנגלית: 304466

ספק משוב

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com