Забезпечення цілісності даних - студопедія

Схема даних в Access

Лекція 12 (Бази даних)

Теми: схема даних в Access, модифікація структури бази даних.

Структура реляційної бази даних в Access задається схемою даних, яка має ієрархічну структуру і називається канонічної реляційної моделлю предметної області.

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

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

Крім зазначених типів зв'язків в Access існують зв'язку-об'єднання, що забезпечують об'єднання записів таблиць не по ключовому полю, а в наступних випадках:

• зв'язуються записи в обох таблицях збігаються (зв'язку встановлюються за замовчуванням);

• для всіх записів першої таблиці, для яких відсутні зв'язку з другої, встановлюють зв'язку з порожньою записом другої таблиці;

• для всіх записів другої таблиці, для яких відсутні зв'язку з першою, встановлюють зв'язку з порожньою записом першої таблиці.

При створенні схеми даних користувач включає в неї таблиці і встановлює зв'язки між таблицями. Причому для зв'язків типу «один до одного» і «один до багатьох» можна задати параметр забезпечення цілісності даних, а також автоматичне каскадне оновлення та видалення пов'язаних записів. Забезпечення цілісності даних означає виконання для взаємопов'язаних таблиць наступних умов коригування бази даних:

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

• в головній таблиці не можна видалити запис, якщо не видалені пов'язані з нею записи в підлеглій таблиці,

• значення ключа зв'язку головної таблиці повинно приводити до зміни відповідних значень в записах підпорядкованої таблиці,

У разі порушення цих умов в операціях поновлення або видалення даних в зв'язаних таблицях, Access виводить відповідне повідомлення і не допускає виконання операції. Access автоматично відстежує цілісність даних, якщо між таблицями в схемі даних встановлено зв'язок з параметрами Забезпечення цілісності. При введенні некоректних даних в пов'язані таблиці виводиться повідомлення. Access не дозволяє створювати зв'язку з параметрами цілісності в схемі даних, якщо раніше введені в таблиці дані не відповідають вимогам цілісності.

Відзначимо, що встановлення між двома таблицями зв'язку типу «один до одного» або «один до багатьох» і завдання параметрів цілісності даних можливо тільки за таких умов:

• зв'язуються поля мають однаковий тип даних, причому імена полів можуть бути різними;

• обидві таблиці зберігаються в одній базі даних Access;

• головна таблиця зв'язується з підлеглою по первинному простому або складеному ключу (унікальному індексу) глав ної таблиці.

Якщо вибрана зв'язку забезпечується підтримку цілісності, то можна задати режим каскадного оновлення та видалення пов'язаних записів. У режимі каскадного оновлення пов'язаних записів при зміні значення в поле зв'язку головної таблиці Access автоматично змінить значення у відповідному полі в підлеглих записах.

У режимі каскадного видалення пов'язаних записів при видаленні запису з головної таблиці Access виконує каскадне видалення підлеглих записів на всіх рівнях.