Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Глава 11. Робота в СУБД MS Access.doc
Скачиваний:
4
Добавлен:
19.09.2019
Размер:
3 Mб
Скачать

11.6. Підтримка цілісності даних

Для настроювання властивостей міжтабличного зв’язку необхідно у вікні „Схема даних” виділити лінію, що поєднує поля двох таблиць, клацнути на ній правою кнопкою миші й відкрити контекстне меню зв’язку, після чого вибрати в ньому пункт „Змінити зв’язки”. При цьому, відкриється діалогове вікно „Зміна зв'язків” (рис. 11.19), де будуть показані назви пов’язаних таблиць та імена полів, що беруть участь у зв’язку (тут їх можна змінювати), а також наведені елементи управління для забезпечення умов цілісності даних.

Під час побудови схеми даних, МS Ассеss автоматично визначає за обраним полем тип зв'язку між таблицями. Якщо поля для зв'язку головної та підпорядкованої таблиць є унікальними ключами, то встановлюється зв'язок „один-до-одного”. Якщо ж поле зв'язку в головній таблиці є унікальним ключем, а в підпорядкованій – неключовим, то встановлюється зв'язок „один-до-багатьох”. При виборі поля зв'язку як неключового, встановлюються зв’язки – поєднання.

В Microsoft Access передбачена можливість перевірки цілісності даних у пов’язаних полях.

Цілісність даних – система правил, яка використовується для підтримки зв’язків між записами в пов’язаних таблицях і забезпечення захисту від випадкового видалення, або зміни пов’язаних даних.

Встановити перевірку цілісності даних можна, якщо виконані наступні умови:

 Зв’язане поле головної таблиці є ключовим полем або має унікальний індекс.

 Пов’язані поля мають один тип даних. Тут існують два винятки. Поле лічильника може бути пов’язано з числовим полем, якщо в останньому у властивості „Розмір поля” вказано значення „Довге поле”, або в обох полях властивість „Розмір поля” має значення „Код реплікації (ID) ”.

Встановивши цілісність даних, необхідно додержуватись наступних правил:

 Не можна вводити у пов’язане поле підпорядкованої таблиці значення, що відсутнє у пов’язаному полі головної таблиці. Однак можна ввести пусте значення, яке показує, що для даного запису відсутній зв’язок.

 Недопустимо видалення записів із головної таблиці при наявності пов’язаних із нею записів у підпорядкованій таблиці.

 Неприпустиме виконання змін значення ключового поля у головній таблиці при наявності записів пов’язаних із даною таблицею.

Щоб ці правила застосувати до конкретного міжтабличного зв’язку, при його створенні, необхідно встановити прапорець „Забезпечення цілісності даних”. Якщо даний прапорець встановлений, то будь-яка спроба здійснити дію, що порушує одне з перерахованих вище правил, призведе до виведення на екран попередження а сама дія виконуватись не буде.

Щоб здолати обмеження на видалення або зміну пов’язаних записів, зберігаючи при цьому цілісність даних, необхідно встановити прапорці „каскадне відновлення пов'язаних полів” і „каскадне видалення пов'язаних полів”. Якщо встановлений прапорець „каскадне видалення пов'язаних полів”, то при зміні ключового поля головної таблиці автоматично змінюються й відповідні значення пов’язаних записів. Якщо встановлений прапорець ”каскадне видалення пов'язаних полів”, то при видаленні запису в головній таблиці видаляються й усі пов’язані записи в підпорядкованій таблиці.

Для зв'язків типу 1:1 та 1:М можна задати параметр забезпечення цілісності даних. Тоді:

 у підпорядковану таблицю не може бути введеним запис з неіснуючим у головній таблиці значенням ключа зв'язку;

 не можна вилучати записи з головної таблиці, якщо не вилучено пов'язані з ними записи підпорядкованої таблиці;

 значення ключа зв'язку головної таблиці треба змі­нювати відповідно до змін підпорядкованої таблиці.