Зв'язування таблиць на схемі даних Для того щоб було зручно переглядати, створювати, видаляти і модифікувати зв'язки між таблицями, у Microsoft Access використовується Схема даних (мал.2).  Мал.2. Приклад Схемы данных Щоб відкрити схему даних, необхідно виконати команду Сервис, Схема данных.За замовчуванням схема буде містити всі таблиці зі зв'язками. Щоб забрати яку-небудь таблицю зі схеми даних, необхідно клацнути правою кнопкою миші на будь-якім місці цієї таблиці і з контекстного меню вибрати команду Скрыть таблицу. Видалення таблиці зі схеми даних не означає видалення її з бази даних, просто вона не присутня в схемі. Щоб знову додати в цю схему згорнуту таблицю, у якої зв'язки ще не встановлені, необхідно: 1. Клацнути правою кнопкою миші на вільному місці Схемы данных і з контекстного меню вибрати команду Добавить таблицу. 2. У діалоговому вікні Добавление таблицырозкрити вкладку Таблицы, вибрати зі списку необхідну таблицю, і натиснути кнопку Добавить (мал.3). Якщо потрібно додати до схеми кілька таблиць, прийдеться повторити цю операцію для кожної таблиці. 3. Натиснути кнопку Закрыть, щоб закрити діалогове вікноДобавление таблицы. У даному випадку зв'язок між таблицями Access будує автоматично. Це відбувається тоді, коли дві таблиці мають однакові назви зв'язаних полів і погоджені типи даних, причому хоча б в одній з таблиць зв'язане поле є ключовим. Погоджені типи даних означають наступне: якщо ключове поле має тип даних Счетчик, то відповідне йому поле в іншій таблиці повинне мати тип Длинное целое. В інших випадках типи даних повинні просто збігатися.   Мал.3. Діалогове вікно Добавление таблицы Якщо потрібний зв'язок автоматично не створений, його можна створити двома шляхами. Перший шлях — графічний. Варто вибрати в головній таблиці поле для зв'язку, натиснути ліву кнопку миші і перетягнути поле в другу таблицю. Відпустити ліву кнопку миші над тим полем підлеглої таблиці, з яким установлюється зв'язок. Після цього з'явиться діалогове вікно Изменение связей(мал.4). Альтернативний варіант — вибрати команду Связи, Изменить связь з головного меню Access. Ця команда з'являється в меню, коли відкрите вікно Схема данных. 1. У діалоговому вікні Изменение связей можна вибрати зі списків назви зв'язаних таблиць і полів для зв'язування. Якщо відношення між таблицями «один-до-багатьох», то ліворуч зі списку Таблиця, Запрос вибирається головна таблиця і поле в цій таблиці, а праворуч зі списку Связанная таблица, Запрос — підлегла і відповідне поле в ній. Якщо відношення «один-до-одного», то порядок таблиць значення не має. Якщо ви встановлювали зв'язок графічно, то всі поля в списках вже обрані, і потрібно тільки визначити правила посилальної цілісності. У Microsoft Access забезпечується можливість автоматичної перевірки цілісності даниху зв'язаних полях. Цілісність данихозначає систему правил, що використовуються для підтримки зв'язків між записами в зв'язаних таблицях, а також для забезпечення захисту від випадкового видалення чи зміни зв'язаних даних. Установити перевірку цілісності даних можна, якщо виконані наступні умови: · зв'язане поле головної таблиці є ключовим полем чи має унікальний індекс; · зв'язані поля мають один тип даних. Тут існує два виключення. Поле счетчика може бути зв'язане з числовим полем, якщо в останнім полі у властивості Размер поля зазначене значення Длинное целое, чи в обох полях властивість Размер полямає значення Код репликации; · обидві таблиці належать одній базі даних Microsoft Access. Таблиці одного додатка можуть міститися й у декількох файлах бази даних. Щоб забезпечити цілісність, робота з даними повинна проводитися з урахуванням нижчеперелічених правил. · Неможливо ввести в зв'язане поле підлеглої таблиці значення, відсутнє в зв'язаному полі головної таблиці. Однак можна ввести порожнє значення, яке показує, що для даного запису зв'язок відсутній. · Не допускається видалення запису з головної таблиці, якщо існують зв'язані з нею записи в підлеглій таблиці. · Неможливо змінити значення ключового поля в головній таблиці, якщо існують запису, зв'язані з даною таблицею.  Мал. 4. Вікно Изменение связей Для установки правил посилальної цілісності встановлюють прапорець Обеспечение целостности данных і один чи обидва прапорці: каскадное обновление связанных полей і каскадное удаление связанных записей. При установці прапорця Обеспечение целостности данных, будь-яка спроба виконати дію, що порушує одне з перерахованих вище правил, приведе до виводу на екран попередження, а сама дія виконана не буде. Щоб перебороти обмеження на видалення чи зміну зв'язаних записів, зберігаючи при цьому цілісність даних, варто установити прапорці каскадное обновление связанных полей і каскадное удаление связанных записей. Якщо встановлений прапорець каскадное обновление связанных полей, то при зміні ключового поля головної таблиці автоматично будуть змінені і відповідні значення поля зв'язаних записів. Якщо встановлений прапорець каскадное удаление связанных записей, то при видаленні запису в головній таблиці видаляються і всі зв'язані записи в підлеглій таблиці. 2. При необхідності можна змінити параметри об'єднання, для чого потрібно натиснути кнопку Объединение і вибрати один з перемикачів (мал.5): а) Об'єднання тільки тих записів, у яких зв'язані поля обох таблиць збігаються; б) Об'єднання ВСІХ записів з <ім'я першої таблиці> і тільки тих записів з <ім'я другої таблиці>, у яких зв'язані поля збігаються; в) Об'єднання ВСІХ записів з <ім'я другої таблиці> і тільки тих записів з <ім'я першої таблиці >, у яких зв'язані поля збігаються. За замовчуванням установлюється перший перемикач. Натиснути кнопку ОК.  Мал. 5. Діалогове вікно Параметры объединения 3. Коли створюється новий зв'язок, можна також скористатися кнопкою Нове й у вікні Створення ввести імена таблиць, що зв'язуються, і імена полів, що використовуються для зв'язку. Натиснути кнопку ОК. 4. Після установки всіх параметрів зв'язку необхідно натиснути кнопку ОК у вікні Параметры объединения і закрити вікно Схема данных, натиснувши на кнопку Закрыть в правому верхньому куті вікна. Зміст створення реляційних зв'язків між таблицями складається, з одного боку, у захисті даних, а з іншого боку — в автоматизації внесення змін відразу в кілька таблиць при змінах в одній таблиці. ЗАВДАННЯ 1 |