ПРОЕКТ
Для того, щоб побачити, які зв'язку між таблицями існують, досить закрити всі таблиці, активізувати вкладку "Робота з базами даних", а потім натиснути на піктограму "Схема даних", яка показана на початку розділу зліва. Часто розробник бази даних змінює найменування ключових полів, що потребує від нього проведення операції створення зв'язку вручну або її видалення.
У деяких версіях Access 2010 система не створює зв'язків. Тому, розглянемо послідовність встановлення зв'язків в ручному режимі.
Закрийте всі таблиці в базі даних.
Виділіть одну з таблиць, наприклад, "Доплати", при цьому з'явиться вкладка "Робота зі зв'язками" (Работа со связями). Або клацніть по піктограмі "Схема даних".
Клацніть по піктограмі , буде відкрито вікно для додавання таблиць при створенні схеми даних. Натисніть на кнопку "Додати" (Добавить).
Зверніть увагу, що ще є способи додавання таблиці на поле "Схема даних". Наприклад, можна в області переходів вхопити лівою клавішею миші потрібну таблицю, а потім перетягнути її в поле "Схема даних", або на полі "Схема даних" натиснути правою кнопкою миші, а потім вибрати зі списку .
На малюнку 1 представлений приклад додавання таблиці "Особисті відомості" на полі "Схема даних" методом вибору зі списку. Як видно, зв'язки можна встановлювати не тільки з таблицями, а і з запитами, які на виході формують нові таблиці (про створення запитів буде сказано нижче).
Додайте на полі "Схема даних" таблиці, які були створені раніше.
Рис. 1. Приклад додавання таблиць на полі "Схема даних"
Додайте всі таблиці, створені раніше, на полі "Схема зв'язків". Проведіть операцію встановлення зв'язків між таблицями "Доплати" (батьківська таблиця) і "Особисті відомості" (Дочірня таблиця). Для виконання встановлення зв'язків лівою кнопкою миші виділіть в таблиці "Доплати" поле, а потім перемістіть покажчик миші на поле таблиці "Особисті відомості", коли звільніть покажчик миші, з'явиться вікно "Зміна зв'язків" (рис. 2).
Рис. 2. Вікно для встановлення параметрів зв'язків між таблицями
У вікні "Зміна зв'язків" зазначено звідки і куди прокладено зв'язок, якщо типи даних з'єднуються полів збігаються (виконуються правила створення зв'язків), то в полі "Тип ставлення" з'явиться повідомлення: Один-до-багатьох.
Обов'язково встановіть відмітку в полі , тоді у вікні "Схема даних" з'явиться зв'язок. На одному кінці буде стояти 1 (одиниця) (ці дані є унікальними), а на іншому кінці зв'язку стоятиме знак − ∞ нескінченність).
Бажано зробити позначки і в інших полях, тоді при внесенні корекцій у вихідну таблицю в записі або їх видалення, у запитах відбудеться автоматичне зміна результатів. Натисніть на кнопку "Створити" (Создать).
Чому при настанов зв'язків між таблицями не обов'язково ставити позначки в полях "Каскадне оновлення пов'язаних полів" і "Каскадне видалення пов'язаних полів"?
Це природне запитання, проте, слід зверніть увагу, якщо використовувати як пов'язуються полів поле "Лічильник", то це поле неможливо видозмінити користувачем, отже, немає сенсу ставити в цьому випадку позначку (нагадаємо, що при встановленні ключового поля "Текстове", користувач має можливість видозмінювати дані в цьому полі, наприклад замінити прізвище).
"Каскадне видалення пов'язаних записів" використовується для того, щоб при видаленні запису з однієї таблиці, в запитах або інших пов'язаних таблицях, дані позначеного поля так само будуть видалятися.
При спробі створити зв'язок між таблицями "Надбавки за стаж" і "Особисті відомості" нічого не вийде.
Відповідь ясна, у таблиці "Особисті відомості" відсутнє поле, яке можна пов'язати з таблицею "Надбавки за стаж".
Виходів з цього положення два;
Перший спосіб − створити поле в таблиці "Особисті відомості", наприклад, використовуючи прийом пов'язаних таблиць, а потім зі списку вибрати необхідні дані для заповнення новоствореного поля.
Другий спосіб − скористатися проміжної таблицею, наприклад, яка буде створена в запиті, цей прийом досить трудомісткий, але дозволяє нарощувати базу даних новими таблицями, а потім використовувати їх для виконання обчислень у запитах (цей спосіб буде розглянуто нижче).
Створіть в таблиці "Особисті відомості" нове поле, наприклад, "Стаж".
Нагадаємо, що спочатку необхідно визначити місце нового поля в таблиці, потім вибрати режим "Інші поля" (Другие поля), далі − "Підстановка та відношення" (Подстановка и отношения), а потім виконати кроки по підстановці необхідного поля у вигляді списку з іншої таблиці.
В результаті виконуваних дій буде отримана зв'язок між таблицями "Надбавка за стаж" (батьківська) і "Особисті відомості" (дочірня). На малюнку 1 показаний приклад автоматичного встановлення зв'язків між таблицями, коли використовується метод вкладення таблиць.
Коли буде розкрита таблиця "Надбавки за стаж", то в ній з'являється символ . Якщо клацнути по символу, то будуть відображені рядки (записи) з дочірньою таблиці (у даному прикладі показані записи з відомостями про співробітників, які мають стаж роботи від 1 року до 3- х років).
Рис. 1. Приклад встановлення зв'язків між таблицями методом вкладених таблиць
Автоматично створений зв'язок відображає ставлення "Один до багатьох", дійсно, у таблиці "Надбавки за стаж" кожен рядок є унікальним, в той час як у таблиці "Особисті відомості" дані про стаж роботи співробітника можуть відноситися до декількох рядків. Для того, щоб побачити, які зв'язку між таблицями існують, досить закрити всі таблиці, активізувати вкладку "Робота з базами даних", а потім натиснути на піктограму "Схема даних".
Часто розробник бази даних змінює найменування ключових полів, що потребує від нього проведення операції створення зв'язку вручну або її видалення. На малюнку 2 показана схема зв'язків для розглянутого прикладу.
Рис. 2. Варіант сформованих зв'язків між таблицями в базі даних
Домашнє завдання: Робота над проєктом