Легкість розробки і супроводу бази даних - студопедія

Адекватність бази даних предметної області

Критерії оцінки якості логічної моделі даних

Мета даного розділу - описати деякі принципи побудови хороших логічних моделей даних. Хороших в тому сенсі, що рішення, прийняті в процесі логічного проектування приводили б до хорошим фізичним моделям і в кінцевому підсумку до хорошої роботи бази даних.

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

Звичайно, таких критеріїв може бути дуже багато і вибір їх в достатній мірі довільний. Ми розглянемо деякі з таких критеріїв, які є безумовно важливими з точки зору отримання якісної бази даних:

  • Адекватність бази даних предметної області
  • Легкість розробки і супроводу бази даних
  • Швидкість виконання операцій оновлення даних (вставка, оновлення, видалення кортежів)
  • Швидкість виконання операцій вибірки даних

База даних повинна адекватно відображати предметну область. Це означає, що повинні бути виконані такі умови:

  1. Стан бази даних в кожен момент часу має відповідати стану предметної області.
  2. Зміна стану предметної області має приводити до відповідної зміни стану бази даних
  3. Обмеження предметної області, відображені в моделі предметної області, повинні деяким чином відбиватися і враховуватися базі даних.

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

Збережені процедури - це процедури і функції, що зберігаються безпосередньо в базі даних в відкомпілювався вигляді і які можуть запускатися користувачами або додатками, що працюють з базою даних. Збережені процедури зазвичай пишуться або на спеціальному процедурному розширенні мови SQL (наприклад, PL / SQL для ORACLE або Transact-SQL для MS SQL Server), або на деякому універсальному мові програмування, наприклад, C ++, з включенням в код операторів SQL у відповідності зі спеціальними правилами такого включення. Основне призначення процедур - реалізація бізнес-процесів предметної області.

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

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

Схожі статті