Відео. Початок роботи зі зв'язками таблиць

Застосовується до
Access для Microsoft 365 Access 2024 Access 2021 Access 2019 Access 2016

Спробуйте!

Реляційна база даних полягає в об'єднанні даних у різних таблицях. Для цього спочатку потрібно встановити зв'язки між таблицями. Потім помістіть Access на роботу, щоб об'єднати дані в запитах, формах і звітах.

Щоб переглянути всі наявні зв'язки, визначені для бази даних, відкрийте шаблон Access, перейдіть на вкладку Знаряддя бази даних і виберіть пункт Зв'язки.

Примітка.

Якщо відкрити пусту базу даних або не визначено зв'язки між таблицями, Access запропонує додати таблицю або запит. Щоб додати зв'язок, потрібно мати принаймні дві таблиці. Найкраще спочатку створіть усі свої таблиці. Докладні відомості див. в статті Створення зв'язків за допомогою майстра підстановок і Створення зв'язків за допомогою області зв'язків.

Загальні відомості про подання "Зв'язки"

Лінії в поданні "Зв'язки" вказують на зв'язки між таблицями. На зображенні нижче таблиця ліворуч – це батьківська таблиця. Таблиця праворуч – це дочірня таблиця. Лінія між ними з'єднує поля (у цьому випадку ідентифікатор замовлення та ідентифікатор товару), які використовуються для зіставлення даних.

Зв'язки відображаються за допомогою ліній, накреслених між батьківським і дочірнім полями. Лінії та символи показують, як таблиці пов'язані між собою:

  • Товста сполучна лінія означає, що ви забезпечуєте цілісність даних. Це добре. Дані синхронізуються.
  • На нашому зображенні число 1 вказує на те, що в цій таблиці може бути лише один відповідний запис. У наведеній тут таблиці "Замовлення" лише один запис відповідає кожному замовленні.
  • Символ ∞ означає, що багато записів можуть містити однаковий ідентифікатор. У наведеній тут таблиці "Відомості про замовлення" замовлення (позначене ідентифікатором замовлення) може відображатися кілька разів, оскільки в одному замовленні може бути кілька товарів.

Типи зв'язків між таблицями

Існують три типи зв'язків між таблицями:

  • "Один-до-одного". Коли кожен елемент у кожній таблиці відображається лише один раз. Наприклад, кожен працівник може мати лише один автомобіль компанії. Докладні відомості див. в статті Створення зв'язків "один-до-одного".
  • "Один-до-багатьох". Якщо один елемент в одній таблиці може мати зв'язок із кількома елементами в іншій таблиці. Наприклад, кожне замовлення на придбання може містити кілька продуктів.
  • "Багато-до-багатьох". Якщо один або кілька елементів в одній таблиці можуть мати зв'язок з одним або кількома елементами в іншій таблиці. Наприклад, кожне замовлення може мати кілька товарів, і кожен товар може відображатися в багатьох замовленнях. Докладні відомості див. в статті Створення зв'язків "багато-до-багатьох".

Зв'язки "один-до-багатьох"

Один із найпоширеніших зв'язків між таблицями в добре розроблених базах даних – це зв'язок "один-до-багатьох".

Зв'язки між таблицями зазвичай залежать від первинного ключа в одній із таблиць. Нагадаємо, що первинний ключ – це унікальний ідентифікатор (часто числовий) для кожного запису. Щоб показати, що відомості в двох різних таблицях пов'язані між собою, зазвичай потрібно створити зв'язок за допомогою первинного ключа з однієї з таблиць.

У зв'язку, показаному тут, наприклад, кожен користувач у таблиці "Контакти" має ідентифікатор , тобто первинний ключ (позначений символом ключа поруч із ним). Цей ідентифікатор також відображається в полі Власник таблиці Активи. Щоб надіслати повідомлення електронної пошти користувачу, пов'язаному з активом, отримайте значення з поля Адреса електронної пошти. Для цього знайдіть значення в полі "Власник" таблиці "Актив" і знайдіть його в таблиці "Контакти". Номер 1 на одному кінці сполучної лінії та символ ∞ на іншому кінці вказують на те, що це зв'язок "один-до-багатьох", тому один контакт може бути пов'язаний з багатьма активами.

Зв’язок

Редагування зв’язку

Якщо ви змінюєте наявну базу даних або створили базу даних на основі шаблону, ви можете змінити наявні зв'язки відповідно до своїх потреб.

Примітка.

Якщо потрібні таблиці вже використовуються, їх слід спочатку закрити разом із відкритими об'єктами, які їх використовують.

  1. ВиберітьЗв'язкиз знаряддями> бази даних.

  2. Виберіть лінію, що з'єднує дві пов'язані таблиці.

    Порада.

    Якщо потрібний зв'язок не відображається, на вкладці Конструктор у групі Зв'язки натисніть кнопку Усі зв'язки.

  3. На вкладці Конструктор натисніть кнопку Редагувати зв'язки.

    Редагування наявного зв'язку між таблицями

    Таблиця або запит – це батьківська таблиця ліворуч (у цьому прикладі – Клієнти).
    Пов'язана таблиця або запит – це дочірня таблиця (у цьому прикладі –Замовлення).
    Навіть якщо таблиці не відображаються в такому порядку в поданні Зв'язки, їх розташування в діалоговому вікні вказує напрямок лінії, що з'єднує їх і зв'язок. Це важливо, якщо, наприклад, це зв'язок "один-до-багатьох", оскільки вона вказує на те, що таблиця ліворуч – це таблиця (батьківська таблиця), а таблиця праворуч – багато (дочірня таблиця).

  4. Щоб змінити поля, які з'єднують таблиці, виберіть інше поле під кожною відображеною таблицею. У цьому прикладі поле "Ідентифікатор" у таблиці "Клієнти" підключається до поля "Ідентифікатор клієнта" в таблиці "Замовлення".

  5. Змініть спосіб синхронізації даних між таблицями в Access.

    Забезпечення цілісності даних Щоб запобігти недійсним даним і синхронізувати посилання між зв'язками таблиць, виберіть цей параметр.
    Припустімо, наприклад, що між таблицями "Працівники" та "Переваги працівників" існує зв'язок "один-до-одного". Якщо працівник залишає компанію, а ви видалите його з таблиці "Працівники", пов'язаний запис про працівника також буде видалено з таблиці "Переваги працівників".
    Іноді забезпечення цілісності даних не має сенсу. Припустімо, наприклад, що між "Перевізниками" та "Замовлення" існує зв'язок "один-до-багатьох". Ви видаляєте перевізника, який відповідає замовленням у таблиці "Замовлення". Ці замовлення стають відірваними, тобто вони все ще містять ідентифікатор перевізника, але ідентифікатор більше не дійсний, оскільки запис, на який він посилається, більше не існує.
    Каскадне оновлення пов'язаних полів Щоб переконатися, що дані в пов'язаних полях оновлюються в усіх пов'язаних таблицях, виберіть цей параметр.
    Припустімо, наприклад, що потрібно просто змінити ідентифікатор перевізника. Установлення цього параметра гарантує, що ідентифікатор перевізника оновлюється не тільки в таблиці "Перевізник", але й у будь-яких інших таблицях, підключених до нього, які також включають цей ідентифікатор перевізника, наприклад таблицю "Замовлення".
    Каскадне видалення пов'язаних записів Рішення вибрати це залежить від того, чи потрібно зберігати записи в деяких таблицях, навіть якщо їх можна видалити з інших таблиць.
    Припустімо, наприклад, що ви видаляєте перевізника. Якщо вибрано цей параметр, access видалить усі записи в усіх таблицях, які посилаються на ідентифікатор перевізника, зокрема всі замовлення (у таблиці "Замовлення"), доставлені цим перевізником. Цей параметр можна вибрати, лише якщо ви дійсно бажаєте видалити журнал замовлень.
  6. Щоб змінити зв'язок між таблицями з внутрішнього об'єднання на зовнішнє об'єднання, натисніть кнопку Тип об'єднання . Докладні відомості див. в статті Створення запитів із зовнішнього об'єднання.

Видалення зв’язку між таблицями

Примітка.

Якщо потрібні таблиці вже використовуються, їх слід спочатку закрити разом із відкритими об'єктами, які їх використовують.

Щоб видалити зв'язок між таблицями, виконайте наведені нижче дії.

  1. ВиберітьЗв'язкиз знаряддями> бази даних.

  2. Виберіть лінію, що з'єднує дві пов'язані таблиці.

    Порада.

    Якщо потрібний зв'язок не відображається, на вкладці Конструктор у групі Зв'язки натисніть кнопку Усі зв'язки.

  3. Натисніть клавішу Delete. Якщо буде запропоновано перевірити, чи потрібно видалити зв'язок, натисніть кнопку Так.

Примітка.

Якщо видалити зв'язок, ви також вилучите підтримку цілісності даних для цього зв'язку (якщо він є). Тому програма Access більше не перешкоджатиме змінам, які призводять до відірваних записів на стороні "багато" зв'язку "один-до-багатьох".

Бажаєте отримати додаткову інформацію?

Створення, редагування та видалення зв’язків