שווה לנסות!
העוצמה של מסד נתונים יחסי טמון בשילוב נתונים בין טבלאות. לשם כך, תחילה עליך ליצור קשרי גומלין בין הטבלאות שלך. לאחר מכן, העבר את Access לעבודה כדי לשלב נתונים בשאילתות, בטפסים ובדוחות.
כדי לראות את כל קשרי הגומלין הקיימים המוגדרים עבור מסד נתונים, פתח תבנית של Access, עבור אל הכרטיסיה כלי מסד נתונים ובחר קשרי גומלין.
הערה
אם פתחת מסד נתונים ריק או לא הגדרת קשרי גומלין בין טבלאות, Access יבקש ממך להוסיף טבלה או שאילתה. כדי שתוכל להוסיף קשר גומלין, דרושות לך שתי טבלאות לפחות. מומלץ לבנות את כל הטבלאות תחילה. לקבלת מידע נוסף, ראה יצירת קשרי גומלין באמצעות אשף בדיקת המידע וייצור קשרי גומלין באמצעות החלונית 'קשרי גומלין'.
הבנת התצוגה 'קשרי גומלין'
השורות בתצוגה 'קשרי גומלין' מציינות חיבורים בין הטבלאות. בתמונה הבאה, הטבלה מימין היא טבלת האב. הטבלה משמאל היא טבלת הצאצא. הקו ביניהם מחבר את השדות (במקרה זה, מזהה הזמנה ומזהה מוצר) המשמשים להתאמת נתונים.
קווים וסימנים מראים לך כיצד הטבלאות קשורות:
- קו חיבור עבה פירושו שאתה אוכף שלמות נתונים של הקשרים. זה טוב. הוא שומר על סינכרון הנתונים שלך.
- באיור שלנו, המספר 1 מציין שניתן להוסיף רשומה תואמת אחת בלבד בטבלה זו. בטבלה Orders המוצגת כאן, רק רשומה אחת תואמת לכל הזמנה.
- סימן ∞ מציין שרשומות רבות יכולות לכלול את אותו מזהה. בטבלה Order Details המוצגת כאן, הזמנה (הצוין על-ידי מזהה ההזמנה שלה) עשויה להופיע יותר מפעם אחת, מאחר אותה הזמנה עשויה לכלול מוצרים מרובים.
סוגי קשרי גומלין בין טבלאות
קיימים שלושה סוגים של קשרי גומלין בין טבלאות:
- אחד-על-אחד. כאשר כל פריט בכל טבלה מופיע פעם אחת בלבד. לדוגמה, לכל עובד יכול להיות רכב חברה אחד בלבד לשימוש. לקבלת מידע נוסף, ראה יצירת קשרי גומלין של אחד ליחיד.
- אחד לרבים. כאשר פריט אחד בטבלה אחת יכול לכלול קשר גומלין עם פריטים מרובים בטבלה אחרת. לדוגמה, כל הזמנת רכש יכולה לכלול מוצרים מרובים.
- רבים לרבים. כאשר פריט אחד או יותר בטבלה אחת יכול לכלול קשר גומלין עם פריט אחד או יותר בטבלה אחרת. לדוגמה, לכל הזמנה יכולים להיות מוצרים מרובים, וכל מוצר יכול להופיע בהזמנות רבות. לקבלת מידע נוסף, ראה יצירת קשרי גומלין של רבים לרבים.
קשרי גומלין של אחד לרבים
אחד קשרי הגומלין הנפוצים ביותר בין טבלאות במסדי נתונים מעוצבים היטב הוא קשר הגומלין של אחד לרבים.
קשרי גומלין בין טבלאות מסתכם בדרך כלל במפתח הראשי באחת הטבלאות. זכור כי המפתח הראשי הוא מזהה ייחודי (לרוב מספרי) עבור כל רשומה. כדי להראות שהמידע בשתי טבלאות שונות קשור, בדרך כלל עליך ליצור קשר גומלין באמצעות המפתח הראשי מתוך אחת הטבלאות.
בקשר הגומלין המוצג כאן, לדוגמה, לכל אדם בטבלת אנשי הקשר יש מזהה, שהוא המפתח הראשי (מצוין באמצעות סמל המפתח שלצדו). מזהה זה מופיע גם בשדה 'בעלים' בטבלה Assets. כדי לשלוח דואר אלקטרוני לאדם המשויך הנכס, קבל את הערך מהשדות 'כתובת דואר אלקטרוני'. לשם כך, חפש את הערך בשדה בעלים של הטבלה נכס ולאחר מכן חפש מזהה זה בטבלה אנשי קשר. המספר 1 בקצה אחד של הקו המחבר וסימן ה- ∞ בקצה השני מציינים שזהו קשר גומלין של אחד לרבים, ולכן איש קשר אחד עשוי להיות משויך הנכסים רבים.
עריכת קשר גומלין
אם אתה משנה מסד נתונים קיים או אם יצרת את מסד הנתונים מתבנית, באפשרותך לערוך את קשרי הגומלין הקיימים בהתאם לצרכיך.
הערה
אם הטבלאות שברצונך לעבוד איתם נמצאות בשימוש, תחילה עליך לסגור אותן, יחד עם אובייקטים פתוחים המשתמשים בהן.
בחר קשרי גומלין של כלי מסד>נתונים.
בחר את הקו המחבר בין שתי טבלאות קשורות.
עצה
אם אינך רואה את קשר הגומלין הרצוי, בכרטיסיה עיצוב, בקבוצה קשרי גומלין, בחר כל קשרי הגומלין.
בכרטיסיה עיצוב , בחר ערוך קשרי גומלין.
טבלה/שאילתה היא טבלת האב מימין (בדוגמה זו, Customers).
טבלה/שאילתה קשורה היא טבלת הצאצא (בדוגמה זו, Orders).
גם אם הטבלאות לא מופיעות בסדר זה בתצוגה קשרי גומלין, המיקום שלהן בתיבת הדו-שיח מציין את כיוון הקו המחבר ביניהן ואת קשר הגומלין. זה חשוב אם, לדוגמה, זהו קשר גומלין של אחד לרבים, מכיוון שהטבלה מימין היא זו (טבלת האב) והטבלה שמשמאל היא הרבים (טבלת הצאצא).כדי לשנות את השדות שמחברים את הטבלאות, בחר שדה אחר מתחת לכל טבלה המוצגת. בדוגמה זו, השדה 'מזהה' בטבלה 'לקוחות' מתחבר לשדה 'מזהה לקוח' בטבלה 'הזמנות'.
שנה את האופן שבו Access מסנכרן את הנתונים שלך בין טבלאות.
אכיפת שלמות הקשרים כדי למנוע נתונים לא חוקיים ולשמור על סינכרון ההפניות בין קשרי גומלין בין טבלאות, בחר באפשרות זו.
לדוגמה, נניח שיש לך קשר גומלין של אחד ליחיד בין הטבלאות Employees ו- Employee Benefits. אם עובד עוזב את החברה ואתה מסיר אותו מהטבלה Employees, גם רשומת העובד הקשורה בטבלה Employee Benefits תוסר.
לפעמים אכיפת שלמות הקשרים אינה הגיונית. לדוגמה, נניח שיש לך קשר גומלין של אחד לרבים בין שולחים והזמנות. אתה מוחק מוביל, ומשלוח זה ממופה להזמנות בטבלה Orders. הזמנות אלה הופכות ליתומים, כלומר הן עדיין מכילות מזהה מוביל, אך המזהה אינו חוקי עוד מאחר שההרשומות אליהן היא מפנה אינן קיימות עוד.עדכן שדות קשורים בהתאם להירארכיית הקשרים כדי לוודא שהנתונים בשדות קשורים מתעדכנים בכל הטבלאות הקשורות, בחר באפשרות זו.
לדוגמה, נניח שברצונך פשוט לשנות את המזהה של מוביל. הגדרת אפשרות זו מבטיחה שמזהה מוביל יתעדכן – לא רק בטבלה Shipper, אלא גם בכל טבלאות אחרות המחוברות אליה, הכוללות גם את מזהה מוביל זה, כגון הטבלה Orders.מחיקת רשומות קשורות בהתאם להירארכיית הקשרים ההחלטה לבחור זאת תלויה בשאלה אם עליך לשמור רשומות בטבלאות מסוימות למרות שהן עשויות להימחק מטבלאות אחרות.
לדוגמה, נניח שאתה מוחק מוביל. אם אפשרות זו נבחרת, Access מוחק את כל הרשומות בכל הטבלאות המפנה אל מזהה מוביל זה, כולל כל ההזמנות (בטבלה Orders) שנשלחו על-ידי מוביל זה. עליך לבחור באפשרות זו רק אם אתה בטוח שברצונך למחוק את היסטוריית ההזמנות שלך.כדי לשנות את קשר הגומלין בין הטבלאות מצירוף פנימי לצירוף חיצוני, בחר בלחצן סוג צירוף. לקבלת מידע נוסף, ראה יצירת שאילתות עם צירופים חיצוניים.
מחיקת קשרי גומלין בין טבלאות
הערה
אם הטבלאות שברצונך לעבוד איתם נמצאות בשימוש, תחילה עליך לסגור אותן, יחד עם אובייקטים פתוחים המשתמשים בהן.
כדי להסיר קשר גומלין בין טבלאות:
בחר קשרי גומלין של כלי מסד>נתונים.
בחר את הקו המחבר בין שתי הטבלאות הקשורות.
עצה
אם אינך רואה את קשר הגומלין הרצוי, בכרטיסיה עיצוב, בקבוצה קשרי גומלין, בחר כל קשרי הגומלין.
בחר את מקש Delete. אם תתבקש לאמת שברצונך למחוק את קשר הגומלין, בחר כן.
הערה
בעת הסרת קשר גומלין, אתה מסיר גם תמיכה בשלמות הקשרים עבור קשר גומלין זה, אם קיימת. כתוצאה מכך, Access לא ימנע עוד שינויים שהתוצאה היא רשומות מיותמות בצד הרבים של קשר גומלין של אחד לרבים.