Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
N1498_ua.doc
Скачиваний:
1
Добавлен:
10.11.2019
Размер:
174.59 Кб
Скачать

Фундаментальні (базові) властивості відносин

Відсутність кортежів-дублікатів. З цієї властивості випливає наявність у кожного відносини первинного ключа (ПК) - набору атрибутів, значення яких однозначно визначають кортеж відносини. Поняття ПК є виключно важливим у контексті з поняттям цілісності БД.

Цілісність бази даних - властивість, що визначається здатністю СУБД захищати компоненти й зв'язку БД від спотворень в результаті некоректних операцій або збоїв та відмов технічних засобів.

Відсутність упорядкованості кортежів. Відсутність вимоги до підтримання порядку на множині кортежів відносини дає додаткову гнучкість СУБД при зберіганні БД у зовнішній пам'яті і при виконанні запитів до неї.

Атомарність значень атрибутів. Значення всіх атрибутів є атомарними. Це випливає з визначення домену як потенційного безлічі значень одного простого типу даних, тобто серед значень домену не можуть міститися безлічі (тобто одна клітинка таблиці - одне значення).

Реляційна модель даних (РМД) - сукупність пов'язаних таблиць. Реляційну модель можна умовно розділити на три частини, що описують різні аспекти реляційного підходу: структурну, маніпуляційну і цілісну.

У структурній частині моделі фіксується, що єдиною структурою даних, що використовується в реляційних БД, є нормалізоване N-арне відношення (таблиця).

У маніпуляційній частині моделі затверджуються два фундаментальних механізми маніпулювання реляційної БД - реляційна алгебра і реляційне числення. Основною функцією маніпуляційної частини реляційної моделі є забезпечення заходів реляційної будь-якої конкретної мови БД.

У цілісної частини РМД фіксуються дві базових вимоги цілісності, які повинні підтримуватися в будь-якій реляційній СУБД: цілісність сутностей та цілісність по посиланнях.

Вимога цілісності сутностей означає, що будь-який кортеж будь-якого відношення можна відрізнити від будь-якого іншого кортежу цього відношення, іншими словами, будь-яке відношення повинно мати первинний ключ. Ця вимога автоматично задовольняється, якщо в системі не порушуються базові властивості відносин.

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

Для дотримання цілісності сутностей досить гарантувати відсутність в будь-якому відношенні кортежів з одним і тим же значенням первинного ключа.

У забезпеченні цілісності по посиланнях існують три підходи.

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

При другому підході при видаленні кортежу, на який є посилання, у всіх посилаються кортежу значення зовнішнього ключа автоматично стає невизначеним.

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

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]