Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ОБЩИЙ_файл_ПОСОБИЕ.doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
22.69 Mб
Скачать

Створення зв'язків між таблицями бази даних Основні поняття

Схема даних є структурою бази даних, елементами якої є таблиці і зв'язки між ними. Скріплення кожної пари таблиць бази даних здійснюється через поля зв'язку. Одна із зв'язуваних таблиць є головною, а друга – підпорядкованою. У головній таблиці поле зв'язку є первинним ключем, а в підпорядкованій – або ключовим полем складеного первинного ключа, або не ключовим полем (зовнішній ключ). Поля зв'язку в первинній і підлеглій таблицях можуть мати різні імена, але типи даних і значення характеристик (особливо розміру) повинні в них збігатися. Крім того, поля зв'язку мають бути індексованими, щоб скоротити час на пошук даних.

Створення схеми даних

Створення схеми даних виконується у вікні Схема данных. Щоб відкрити вікно, натисніть кнопку на панелі Отношения вкладинки Работа с базами данных. Разом з порожнім вікном Схема данных відкривається і діалогове вікно Добавление таблицы (рис. 10. 30).

Схема даних будується в три етапи.

Етап 1. Розміщення таблиць у вікні Схема даних

У діалоговому вікні Добавление таблицы відкрийте вкладку Таблицы, в якій знаходиться список таблиць бази даних. Для додавання у вікно Схема данных таблиці виділіть її в списку таблиць і натисніть кнопку Добавить. Після додавання всіх таблиць натисніть кнопку Закрыть у вікні Добавление таблицы.

У вікні Схема данных таблиці розміщуються в порядку їх додавання. За допомогою миші можна розмістити їх так, щоб наочно відображалася підлеглість таблиць і зв'язку (див рис. 10. 19). Це дозволить правильно вибрати порядок заповнення таблиць даними.

Рис. 10.30 Діалогові вікна Схема данных і Добавление таблицы

Етап 2. Установка зв'язків між таблицями

Для зв’язування таблиць перенесіть за допомогою миші поле зв'язку однієї таблиці у відповідне поле іншої таблиці. Наприклад, поле Код_товару таблиці Товари перенесіть в поле Код_товару таблиці Товари чеків. Відкривається вікно Изменение связей для визначення параметрів зв'язку (рис. 10. 31).

По вибраних полях автоматично визначається тип зв'язку між таблицями. Якщо поля зв'язку головної і підлеглої таблиць є простими первинними ключами, то визначається зв'язок типу «один-к-одному». Якщо ж поле зв'язку в головній таблиці є простим первинним ключем, а в підлеглій таблиці використовується ключове поле складеного первинного ключа або зовнішній ключ, то визначається зв'язок «один-ко-многим». На рис. 10. 31 показано, що між полями Код_Товару таблиць Товари і Товари чеків автоматично визначений зв'язок типу «один-ко-многим». Тобто одному запису головної таблиці Товари відповідають декілька записів підлеглої таблиці Товари чеків.

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

Рис. 10.31 Вікно Изменение связей

Етап 3. Забезпечення цілісності даних

Щоб подолати обмеження на видалення або зміну зв'язаних записів, зберігаючи при цьому цілісність даних, слід встановити прапорці Каскадное обновление связанных полей і Каскадное удаление связанных записей (див. рис. 10. 31). Якщо встановлений прапорець Каскадное обновление связанных полей, то при зміні первинного ключа головної таблиці автоматично змінюються і відповідні значення в полі зв'язку записів підлеглої таблиці. Якщо встановлений прапорець Каскадное удаление связанных записей, то при видаленні запису в головній таблиці видаляються і всі зв'язані записи в підлеглій таблиці. Наприклад, при видаленні даних про конкретний товар в головній таблиці Товари, в підлеглій таблиці Товари чеків автоматично будуть видалені всі дані, що відносяться до цього товару. Завершується установка зв'язку натисненням кнопки ОК (див. рис. 10. 31).

Примітка. Якщо в головній таблиці вибрано не ключове поле зв'язку, MS Access не може визначити тип відношень. В цьому випадку треба встановити тип відношення самостійно. Натисніть кнопку Объединение (див. рис. 10. 31) і в діалоговому вікні Параметры объединения виберіть один з трьох запропонованих способів зв'язку.