Використання зв’язків

Початок роботи зі зв’язками таблиць

Фото пристрою Surface Book

Спробуйте!

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

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

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

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

Рядки в поданні "зв'язки" позначають зв'язки між таблицями. У наведеному нижче зображенні таблиця ліворуч – це батьківська таблиця. Таблиця праворуч – це дочірній стіл. Лінія між ними з'єднує поля (у цьому випадку ІДЕНТИФІКАТОР замовлення та ІДЕНТИФІКАТОР товару), який використовується для зіставлення даних.

Зв'язки відображаються лініями, накреслених між батьківськими та дочірніми полями.

У рядках і символам показано, як пов'язані таблиці:

  • Товста з'єднувальна лінія означає, що ви використовуєте цілісність посилальних даних. Це добре. Він зберігає дані, які синхронізуються.

  • У нашій ілюстрації число 1 вказує на те, що в цій таблиці може бути лише один відповідний запис. У таблиці "замовлення", що відображається, лише один запис відповідає кожному замовленню.

  • Символ ∞ вказує на те, що багато записів можуть містити однаковий ІДЕНТИФІКАТОР. У таблиці "відомості про замовлення", що відображається, замовлення (вказана за ІДЕНТИФІКАТОРОМ замовлення) може з'явитися кілька разів, тому що такий самий порядок може містити кілька продуктів.

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

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

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

  • " Один-до-багатьох". Якщо один елемент в одній таблиці може мати зв'язок із кількома елементами в іншій таблиці. Наприклад, кожне замовлення на придбання може включати кілька продуктів.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    Таблиця або запит – це батьківська таблиця ліворуч (у цьому прикладі клієнти).

    Зв'язана таблиця або запит – це дочірній таблиця (у цьому прикладі замовлення).

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

  4. Щоб змінити поля, які сполучають таблиці, виберіть інше поле нижче відображеного таблиці. У цьому прикладі поле ІДЕНТИФІКАТОРА в таблиці "клієнти" підключається до поля "ІДЕНТИФІКАТОР клієнта" в таблиці "замовлення".

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

    Застосування цілісності даних

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

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

    Інколи забезпечення цілісності даних не має сенсу. Наприклад, припустімо, що ви маєте зв'язок "один-до-багатьох" між вантажовідправників і замовленнями. Ви видаляєте службу доставки вантажу, і що карти відправника мають замовлення в таблиці "замовлення". Ці замовлення стають сиротами, а це означає, що вони все ще містять ІДЕНТИФІКАТОР відправника, але він більше не дійсний, оскільки запис, на який воно посилається, більше не існує.

    Каскадне оновлення пов'язаних полів

    Щоб переконатися, що дані в пов'язаних полях оновлено в усіх пов'язаних таблицях, виберіть цей параметр.

    Наприклад, припустімо, що ви просто хочете змінити ІДЕНТИФІКАТОР відправника. Установлення цього параметра гарантує, що ІДЕНТИФІКАТОР відправника буде оновлено, а не лише в таблиці відправника, а й у будь-яких інших таблицях, підключених до нього, які також містять цей ІДЕНТИФІКАТОР відправника, як-от таблицю "замовлення".

    Каскадне видалення пов'язаних записів

    Рішення вибрати це залежить від того, чи потрібно зберігати записи в деяких таблицях, хоча їх можна видалити з інших таблиць.

    Наприклад, припустимо, що ви видалите відправника. Якщо вибрано цей параметр, у програмі Access буде видалено всі записи в усіх таблицях, які посилаються на цей ІДЕНТИФІКАТОР відправника, включно з усіма замовленнями (у таблиці "замовлення"), що постачається за допомогою цього відправника. Виберіть цей параметр, лише якщо ви впевнені, що хочете видалити журнал замовлень.

  6. Щоб змінити зв'язок між таблицями від внутрішнього об'єднання до зовнішнього об'єднання, натисніть кнопку " приєднати тип ". Докладні відомості наведено в статті створення запитів із зовнішніми об'єднанням.

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

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

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

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

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

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

  3. Натисніть клавішу DELETE (видалити). Якщо з'явиться запит на підтвердження того, що ви хочете видалити зв'язок, натисніть кнопку так.

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

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

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

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

Потрібна додаткова довідка?

Удосконалення навичок роботи з Office
Ознайомтеся з навчальними матеріалами
Отримуйте нові функції раніше за інших
Приєднайтеся до оцінювачів Office

Ця інформація корисна?

Дякуємо за ваш відгук!

Дякуємо, що знайшли час і надіслали нам відгук! Можливо, у нас не буде часу відповісти на кожен коментар, але докладемо максимум зусиль, щоб переглянути їх усі. Вас цікавить, як ми використовуємо ваші відгуки?

×