Спробуйте!
Сила реляційної бази даних полягає в поєднанні даних з різних таблиць. Для цього спочатку потрібно встановити зв'язки між таблицями. Потім застосуйте Access, щоб об'єднати дані в запитах, формах і звітах.
Щоб переглянути всі наявні зв'язки, визначені для бази даних, відкрийте шаблон Access, перейдіть на вкладку «Знаряддя бази даних » і виберіть «Зв'язки».
Примітка.
Якщо відкрито пусту базу даних або не визначено зв'язки між таблицями, Access запропонує додати таблицю або запит. Щоб додати зв'язок, потрібно мати принаймні дві таблиці. В ідеалі спочатку потрібно створити всі таблиці. Докладні відомості див. в статтях "Створення зв'язків за допомогою майстра підстановок " і " Створення зв'язків з областю".
Основні відомості про подання "Зв'язки"
Лінії в поданні "Зв'язки" позначають підключення між таблицями. На зображенні нижче таблиця ліворуч – батьківська. Таблиця праворуч – дочірня. Лінія між ними з'єднує поля (у цьому випадку "Ідентифікатор замовлення" та "Ідентифікатор товару"), що використовуються для зіставлення даних.
Лінії та символи показують, як ваші таблиці пов'язані між собою.
- Товста сполучна лінія означає, що забезпечується цілісність даних для зв'язків. Це добре. Він забезпечує синхронізацію даних.
- На наведеній нижче ілюстрації число 1 вказує на те, що в цій таблиці може бути лише один відповідний запис. У наведеній таблиці "Замовлення" кожному замовленню відповідає лише один запис.
- Символ ∞ вказує на те, що багато записів можуть мати однаковий ідентифікатор. У наведеній таблиці "Відомості про замовлення" замовлення (вказано його ідентифікатором) може зустрічатися кілька разів, тому що одне замовлення може містити кілька товарів.
Типи зв'язків між таблицями
Між таблицями є три типи зв'язків:
- Один-до-одного. Коли кожен елемент у кожній таблиці відображається лише один раз. Наприклад, кожен працівник може мати у своєму розпорядженні лише один службовий автомобіль. Докладні відомості див. в статті "Створення зв'язків "один-до-одного".
- Один-до-багатьох. Якщо один елемент в одній таблиці може мати зв'язок із кількома елементами в іншій таблиці. Наприклад, кожне замовлення на придбання може містити кілька товарів.
- Багато-до-багатьох. Коли один або кілька елементів в одній таблиці можуть мати зв'язок з одним або кількома елементами в іншій таблиці. Наприклад, у кожному замовленні може зустрічатися кілька товарів, і кожний товар може зустрічатися в багатьох замовленнях. Докладні відомості див. в статті Створення зв'язків "багато-до-багатьох".
Зв'язки "один-до-багатьох"
Один із найпоширеніших зв'язків між таблицями у правильно побудованих базах даних – це зв'язок "один-до-багатьох".
Зв'язки між таблицями зазвичай ґрунтуються на первинному ключі однієї з таблиць. Пам'ятайте, що первинний ключ – це унікальний ідентифікатор (часто числовий) для кожного запису. Щоб показати, що дані у двох різних таблицях пов'язані між собою, зазвичай створюють зв'язок за допомогою первинного ключа однієї з таблиць.
Наприклад, у показаному тут зв'язку кожен користувач у таблиці "Контакти" має ідентифікатор – первинний ключ (на це вказує символ ключа поруч). Цей ідентифікатор також відображається в полі "Власник" таблиці "Активи". Щоб надіслати повідомлення електронної пошти особі, пов'язаній з об'єктом, отримайте значення з поля "Адреса електронної пошти". Для цього знайдіть значення в полі "Власник" таблиці "Активи", а потім знайдіть цей ідентифікатор у таблиці "Контакти". Цифра 1 на одному кінці сполучної лінії та символ ∞ на іншому кінці вказують на те, що це зв'язок "один-до-багатьох", тому один контакт може бути пов'язано з багатьма активами.
Редагування зв’язку
Якщо ви змінюєте наявну базу даних або створюєте базу даних на основі шаблону, наявні зв'язки можна змінювати відповідно до власних потреб.
Примітка.
Якщо таблиці, з якими потрібно працювати, використовуються, спочатку слід закрити їх разом із відкритими об'єктами, що використовують їх.
Виберіть "Знаряддя> бази даних" "Зв'язки".
Виберіть лінію, яка з'єднує дві пов'язані таблиці.
Порада.
Якщо потрібний зв'язок не відображено, на вкладці "Конструктор " у групі "Зв'язки " натисніть кнопку "Усі зв'язки".
On the Design tab, select Edit Relationships.
Таблиця або запит – це батьківська таблиця ліворуч (у цьому прикладі – "Клієнти").
Пов'язана таблиця або запит – дочірня таблиця (у цьому прикладі – "Замовлення").
Навіть якщо таблиці в поданні зв'язків розташовано не в такому порядку, напрямок лінії, що з'єднує їх і зв'язок, указує напрямок лінії, що з'єднує їх і зв'язок. Це важливо, якщо, наприклад, існує зв'язок "один-до-багатьох", оскільки він вказує, що таблиця ліворуч – це одне (батьківська таблиця), а таблиця праворуч – "багато" (дочірня таблиця).Щоб змінити поля, які з'єднують таблиці, виберіть інше поле під кожною показаною таблицею. У цьому прикладі поле ідентифікатора в таблиці "Клієнти" з'єднується з полем ідентифікатора клієнта в таблиці "Замовлення".
Змініть спосіб синхронізації даних між таблицями у програмі Access.
Забезпечення цілісності даних Установіть цей прапорець, щоб запобігти неприпустимим даним і забезпечити синхронізацію посилань між різними зв'язками між таблицями.
Наприклад, маємо зв'язок "один-до-одного" між таблицями "Працівники" та "Виплати працівникам". Якщо працівник залишає компанію, а ви видаляєте його з таблиці «Працівники», відповідний запис про працівника в таблиці «Виплати працівникам» також видаляється.
Іноді немає сенсу вимагати цілісності даних . Наприклад, припустімо, що існує зв'язок "один-до-багатьох" між таблицями "Служби доставки" та "Замовлення". Службу доставки буде зіставлено із замовленнями в таблиці "Замовлення". Ці замовлення стають відірваними, тобто вони все ще містять ідентифікатор служби доставки, але ідентифікатор стає недійсним, оскільки запису, на який він посилається, більше не існує.Пов'язані поля каскадного оновлення Щоб переконатися, що дані в пов'язаних полях оновлено в усіх пов'язаних таблицях, виберіть цей параметр.
Наприклад, припустімо, що вам просто потрібно змінити ідентифікатор служби доставки. Цей параметр забезпечує оновлення ідентифікатора служби доставки – не лише в таблиці «Служба доставки», але й у всіх інших підключених до неї таблицях, які також містять цей ідентифікатор, наприклад у таблиці «Замовлення».Каскадне видалення пов'язаних записів Рішення про вибір цього параметра залежить від того, чи потрібно зберігати записи в одних таблицях, навіть якщо їх може бути видалено з інших.
Наприклад, припустімо, що ви видаляєте службу доставки. Якщо вибрано цей параметр, програма Access видаляє всі записи в усіх таблицях, які посилаються на цей ідентифікатор служби доставки, включно з усіма замовленнями (у таблиці "Замовлення"), доставленими цим службою доставки. Виберіть цей параметр, лише якщо ви впевнені, що хочете видалити журнал замовлень.Щоб змінити зв'язок між таблицями із внутрішнього об'єднання на зовнішнє, натисніть кнопку Тип об'єднання . Докладні відомості див. в статті "Створення запитів із зовнішніми з'єднаннями".
Видалення зв’язку між таблицями
Примітка.
Якщо таблиці, з якими потрібно працювати, використовуються, спочатку слід закрити їх разом із відкритими об'єктами, що використовують їх.
Щоб видалити зв'язок між таблицями, виконайте наведені нижче дії.
Виберіть "Знаряддя> бази даних" "Зв'язки".
Виберіть лінію, яка з'єднує дві пов'язані таблиці.
Порада.
Якщо потрібний зв'язок не відображено, на вкладці "Конструктор " у групі "Зв'язки " натисніть кнопку "Усі зв'язки".
Виберіть клавішу Delete. Якщо буде запропоновано підтвердити, що потрібно видалити зв'язок, натисніть кнопку "Так".
Примітка.
Якщо вилучити зв'язок, вимикається також і функція забезпечення цілісності даних, якщо вона є. Внаслідок цього Access більше не запобігатиме змінам, які призводять до появи відірваних записів на стороні "багато" зв'язку "один-до-багатьох".