Перевірка відповідності відношень вимогам транзакцій користувачів
Перевірка полягає в нанесенні безпосередньо на ER-діаграму всіх шляхів, які потрібні для виконання кожної з транзакцій. Якщо таким чином вдається виконати всі транзакції, то перевірка на цьому завершується. У протилежному випадку необхідно повернутися до попередніх етапів і перевірити, а у разі потреби і змінити ті фрагменти моделі, які не відповідають необхідній роботі транзакцій.
Якщо в результаті перевірки будуть виявлені області, які не беруть безпосередньої участі у роботі транзакцій, то можливо їх вилучення з моделі.
Перевірка підтримки цілісності
Обмеження цілісності запобігають появі в БД суперечливих даних. Вирішення цієї проблеми на стадії проектування полягає у такому:
· наявність обов'язкових і необов'язкових значень даних для атрибутів (NULL, NOT NULL);
· наявність обмежень для доменів атрибутів (визначення області значень або діапазону значень);
· цілісність сутностей (обов'язкова наявність Primary Key кожному відношенні);
· посилкова цілісність (зв'язування таблиць за допомогою Foreign Key);
· обмеження предметної області (бізнес правила), які реалізуються як засобами БД, так і на рівні застосувань. У табл. 6.1 наведені правила зовнішнього ключа для відношення "один до багатьох" для сильної сутності.
Таблиця 6.1
Підтримка посилкової цілісності для сильної сутності
Тип зв'язку | Вимоги до зовнішнього | |||
ключа | ||||
Обов'язкова | наявність | NOT NULL | ||
значень | відповідних | ON DELETE RESTRICT | ||
екземплярів у батьківській | ON UPDATE CASCADE | |||
і залежній таблицях | ||||
Необов'язкова наявність | NULL ALLOWED | |||
значень | відповідних | ON DELETE SET NULL | ||
екземплярів у батьківській | ON UPDATE CASCADE | |||
і залежній таблицях | ||||
Обов'язкова | наявність | NULL ALLOWED | ||
значень відповідних екзем- | ON DELETE SET NULL | |||
плярів у залежній таблиці і | ON DELETE RESTRICT | |||
необов'язкова | наявність | ON UPDATE CASCADE | ||
значень в | батьківській | |||
таблиці | ||||
Обов'язкова | наявність | NOT NULL | ||
значень | відповідних | ON DELETE RESTRICT | ||
екземплярів у батьківській | ON UPDATE CASCADE | |||
таблиці і необов'язкова | ||||
наявність | значень в | |||
залежній таблиці | ||||
Для слабкої сутності використовуються ті ж самі правила за винятком обмежень на зовнішній ключ: NOT NULL, ON DELETE CASCADE, ON UPDATE CASCADE.
Дата добавления: 2016-03-22; просмотров: 785;