- •Лекція 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.1. Огляд життєвого циклу інформаційних систем Інформаційна система - ресурси, що дозволяють виконувати збір, коректування, поширення інформації усередині організації.
Починаючи з 70-х років системи баз даних стали поступово заміняти файлові системи, що використовувалися як частина інфраструктури інформаційних систем (Information System - IS) організацій. Паралельно з цим зростало визнання того факту, що дані є важливим корпоративним ресурсом, до якого потрібно відноситися так само шанобливо, як і до інших ресурсів організації. Це привело до того, що в багатьох організаціях з'явилися цілі відділи чи функціональні підрозділи, що займалися адмініструванням даних (АД) і адмініструванням баз даних (АБД). Вони відповідали за обробку і керування корпоративними даними і корпоративними базами даних відповідно.
Типова комп'ютеризована інформаційна система включає такі компоненти, як:
база даних;
програмне забезпечення бази даних;
прикладне програмне забезпечення;
апаратне забезпечення, у тому числі пристрої збереження;
персонал, що використовує і розробляє цю систему.
База даних є фундаментальним компонентом інформаційної системи, а її розробку і використання варто розглядати з погляду самих широких вимог організації. Отже, життєвий цикл інформаційної системи організації невід'ємним образом зв'язаний з життєвим циклом системи бази даних, яка підтримує його. Життєвий цикл інформаційної системи звичайно складається з декількох етапів: планування, збір і аналіз вимог, проектування (включаючи проектування бази даних), створення прототипу, реалізація, тестування, перетворення даних і супровід. У цій главі всі етапи життєвого циклу інформаційної системи розглядаються з погляду розробки програми баз даних. Однак слід зазначити, що розробку будь-якої програми бази даних завжди корисно розглядати з більш широкої точки зору - як розробку визначеного компонента всієї інформаційної системи організації в цілому.
У тексті даної лекції терміни "функціональна сфера" і "область застосування програми" відносяться до окремих напрямків ділової активності усередині організації - наприклад, до маркетингу, роботі з персоналом чи до керування товарними запасами.
4.2. Життєвий цикл програми баз даних
Як уже згадувалося вище, система бази даних є фундаментальним компонентом більш широкого поняття - інформаційної системи організації. Отже, життєвий цикл програм баз даних нерозривно зв'язаний з життєвим циклом інформаційної системи. Етапи життєвого циклу програми бази даних показані на мал. 4.1. Варто визнати, що ці етапи не є строго послідовними, а включають деяку кількість повторів попередніх кроків у виді циклів зворотного зв'язку (feedback loop). Наприклад, при проектуванні бази даних можуть виникнути проблеми для вирішення яких буде потрібно повернутися до етапу збору й аналізу вимог. Цикли зворотного зв'язку можуть виникати майже між всіма етапами, але тут показані тільки найбільш очевидні з них.
Нижче перераховані основні дії, які виконуються на кожнім етапі життєвого циклу бази даних.
Планування розробки бази даних. Планування найефективнішого способу реалізації етапів життєвого циклу системи.
Визначення вимог до системи. Визначення діапазону дії і границь програми бази даних, складу її користувачів і областей застосування.
Збір і аналіз вимог користувачів. На цьому етапі виконується збір і аналіз вимог користувачів із усіх можливих областей застосування.
Проектування бази даних. Повний цикл розробки включає концептуальне, логічне і фізичне проектування бази даних.
Вибір цільової СКБД (необов'язково). На цьому етапі виконується вибір найбільш придатної СКБД для програми бази даних.
Розробка Програм. Визначення користувальницького інтерфейсу і прикладних програм, що використовують і обробляють базу даних.
Створення прототипів (необов'язково). На цьому етапі створюється робоча модель програми бази даних, що дозволяє розроблювачам чи користувачам представити й оцінити остаточний вид і способи функціонування системи.
Реалізація. Цей етап включає створення зовнішнього, концептуального і внутрішнього визначень бази даних і прикладних програм.
К
онвертування
і завантаження даних
На цьому етапі виконується перетворення
і завантаження даних (і прикладних
програм) зі старої системи в нову.Тестування. Програма бази даних тестується з метою виявлення помилок, а також його перевірки на відповідність усім вимогам, висунутим користувачами.
Експлуатація і супровід. На цьому етапі програма бази даних вважається цілком розробленою і реалізованою. Надалі вся система буде знаходитися під постійним спостереженням і відповідним чином підтримуватися. У разі потреби у функціонуючу програму можуть вноситися зміни, що відповідають новим вимогам. Реалізація цих змін проводиться за допомогою повторного виконання деяких з перерахованих вище етапів життєвого циклу.
У наступних розділах більш докладно описуються основні дії, які виконуються на кожнім етапі життєвого циклу програми баз даних. Для малих програм з невеликою кількістю користувачів життєвий цикл може виявитися не дуже складним. Однак він може стати надзвичайно складним при проектуванні середовища великої програми баз даних, з десятками і навіть тисячами користувачів, сотнями запитів і прикладних програм. Далі в цій лекції основна увага приділяється тим діям, що зв'язані з розробкою середовища великих програм баз даних.
