- •Лекція 4. Проектування бази даних
- •4.1. Огляд життєвого циклу інформаційних систем Інформаційна система - ресурси, що дозволяють виконувати збір, коректування, поширення інформації усередині організації.
- •4.2. Життєвий цикл програми баз даних
- •4.2.1. Планування розробки бази даних Планування розробки бази даних - підготовчі дії, що дозволяють з максимально можливою ефективністю реалізувати етапи життєвого циклу програми бази даних.
- •4.2.2. Визначення вимог до системи Визначення вимог до системи - визначення діапазону дій і границь програми бази даних, складу її користувачів і областей застосування.
- •Вимога - деяка функція, що повинна бути включена в створювану систему.
- •4.2.4. Проектування бази даних Проектування бази даних - процес створення проекту бази даних, призначений для підтримки функціонування підприємства і сприятливий досягненню його цілей.
- •4.2.7. Створення прототипів
- •Створення прототипу - cтворення робочої моделі програми бази даних.
- •4.2.5. Вибір цільової скбд Вибір цільової скбд - вибір скбд придатного типу, призначеної для підтримки створюваного програми бази даних.
- •4.2.6. Розробка програм Розробка програм - проектування інтерфейсу користувача і прикладних програм, призначених для роботи з базою даних.
- •4.2.8. Реалізація Реалізація - фізична реалізація бази даних і розроблених програм.
- •4.2.10. Тестування Тестування - процес виконання прикладних програм з метою пошуку помилок.
- •Стратегії тестування
- •4.2.11. Експлуатація і супровід Експлуатація і супровід - спостереження за системою і підтримка її нормального функціонування по закінченні розгортання.
- •4.3. Загальний огляд процедури проектування бази даних
- •4.3.1. Моделювання даних
- •Критерії оцінки моделі даних
- •Концептуальне і логічне проектування
- •Злиття представлень окремих користувачів
- •Метод інтеграції представлень - злиття окремих локальних логічних моделей даних, що відбивають представлення різних груп користувачів, у єдину глобальну логічну модель даних.
- •4.4. Проектування програми
- •4.4.1. Проектування транзакцій Транзакція - одна дія чи послідовність дій, виконуваних тим самим користувачем (чи прикладною програмою), що здійснює доступ до бази даних чи зміну її вмісту.
- •4.4.2. Рекомендації з проектування користувальницького інтерфейсу
- •Легко пізнавані назви полів
- •Погоджена термінологія і скорочення
- •Погоджене використання кольорів
- •Переваги використання case-інструментів
- •4.6. Вибір скбд
- •4.6.1. Вибір оптимальної системи
- •Визначення області компетенції проведеного вивчення
- •Скорочення списку претендентів до двох-трьох продуктів
- •Оцінка продуктів
- •Проведення обґрунтованого вибору і підготовка звіту
- •4.7. Адміністрування даних і адміністрування бази даних
- •4.7.2. Задачі адміністрування даних
- •4.7.4. Задачі адміністрування бази даних
- •4.7.5. Порівняння задач адміністрування даних і бази даних
- •Питання
4.4. Проектування програми
У розділі 4.2.6 вже описувалися мети проектування програми. У цьому розділі ми коротко розглянемо два аспекти процедури проектування програм, а саме проектування користувальницького інтерфейсу і транзакцій.
4.4.1. Проектування транзакцій Транзакція - одна дія чи послідовність дій, виконуваних тим самим користувачем (чи прикладною програмою), що здійснює доступ до бази даних чи зміну її вмісту.
Транзакції представляють такі події реального світу, як, наприклад, реєстрація пропонованого для здачі в оренду об'єкта нерухомості, призначення зустрічі з потенційним орендарем з метою огляду деякого об'єкта, прийом на роботу нового співробітника чи реєстрація нового клієнта. Усі ці транзакції повинні звертатися до бази даних з тією метою, щоб збережені в ній дані завжди гарантовано відповідали поточній ситуації в реальному світі, а також для задоволення інформаційних потреб користувачів.
Транзакція може складатися з декількох операцій, подібних, наприклад, перекладу грошей з одного рахунка на іншій. Однак з погляду користувача ці операції являють собою єдине завдання. З погляду СКБД, кожна транзакція переводить базу даних з одного несуперечливого стану в інше. СКБД забезпечує несуперечність бази даних навіть у випадку виникнення збою. Крім того, СКБД гарантує, що після завершення транзакції усі внесені нею зміни будуть надійно збережені в базі даних цілком і цілком (без необхідності виконання інший транзакції для усунення недоліків, що виникли при виконанні першої транзакції). Якщо з якої-небудь причини транзакція не буде довершена, СКБД гарантує, що усі внесені нею зміни будуть скасовані. У прикладі з банківським переведенням грошей це значить, що якщо гроші зняті (дебетовані) з одного рахунка і збій транзакції відбувся під час їх приміщення (кредитування) на інший рахунок, те СКБД скасує дебет першого рахунка. Якщо операції дебету і кредиту помістити в окремі транзакції, то відразу після дебетування першого рахунка і завершення транзакції ця зміна скасувати буде не можна, хіба що тільки за допомогою запуску інший транзакції з кредитуванням цього рахунка на зняту суму.
Ціль проектування транзакції полягає у визначенні і документуванні високорівневих характеристик усіх транзакцій, що повинні будуть виконуватися в розроблювальній базі даних. Цю роботу варто виконати ще на початковій стадії проектування, що дозволить забезпечити підтримку всіх необхідних транзакцій з боку логічної моделі даних. При цьому дуже важливо, щоб характеристики всіх транзакцій були зафіксовані в документації. Існує кілька методів опису високорівневих характеристик транзакцій. Нижче перераховані найбільш важливі з них.
Дані, що використовуються транзакцієй.
Функціональні характеристики транзакції.
Вихідні дані, формовані транзакцієй.
Ступінь важливості транзакції для користувачів.
Передбачувана інтенсивність використання.
Існує три основних типи транзакції: транзакції витягу, транзакції відновлення і змішані транзакції.
Транзакції витягу використовуються для вибірки деяких даних з метою відображення їх на екрані приміщення в звіт. Прикладом транзакції витягу є пошук і відображення докладних зведень про об'єкт нерухомості (по заданому номері об'єкта).
Транзакції відновлення використовуються для вставки нових, видалення старих чи ж зміни вже існуючих записів бази даних. Прикладом транзакції відновлення є внесення в базу докладних зведень про новий об'єкт нерухомості.
Змішані транзакції включають як операції витягу, так і операції відновлення даних. Прикладом змішаної транзакції є пошук і відображення докладних зведень про об'єкт нерухомості (по заданому номері об'єкта), з наступною зміною місячної орендної плати.
Структура кожної транзакції будується на підставі наявної специфікації вимог користувачів. Для створення цієї специфікації розроблена безліч методів, що включають спеціальну систему позначень для визначення потрібних користувачам транзакції. Подібні транзакції можуть являти собою складні операцій, що у результаті аналізу розкладаються на трохи більш простих операцій, кожна з який являє собою окрему транзакцію.
