Основи проектування та реалізація баз даних
Власне база даних є ядром будь-якої інформаційної системи (ІВ), тобто. системи, в якій присутні інформаційні процеси (зберігання, передача та перетворення інформації). Залежно від предметної області сучасні ІС можуть значно відрізнятися за своїми функціями, архітектурою та реалізацією. Однак можна виділити низку властивостей, які є загальними.
- Інформаційні системи призначені для збору, зберігання та обробки інформації, тому в основі будь-якої з них лежить середовище зберігання та доступу до даних. - Інформаційні системи орієнтовані на кінцевого користувача, що не має високої кваліфікації у сфері IT. Тому клієнтські додатки ІС повинні мати простий, зручний, легко освоюваний інтерфейс, який надає кінцевому користувачеві всі необхідні для роботи функції і в той же час не дає йому можливість виконувати будь-які зайві дії.
Таким чином, при розробці ІС доводиться вирішувати два основні завдання:
- Розробка бази даних, призначеної для зберігання інформації; - Розробка графічного інтерфейсу користувача клієнтських додатків.
Зауважимо, що теорія розробки та реалізації БД має дуже багато важливих аспектів, дозволимо собі зупинитися лише на тих, які є фундаментальними, на жаль, не торкаючись ще цілого спектра важливих питань, наприклад, пов'язаних із захистом інформації.
З змістовних позицій у теоретичній частині курсу бажано розглянути особливості та класифікації ІВ, класичні та сучасні моделі даних, основи теорії реляційних БД, мову маніпулювання даними SQL, Case-засоби розробки ІВ, методології та технології проектування ІВ.
Що стосується практичноїскладовою, то бажано, щоб учні вже були знайомі з деяким об'єктно-орієнтованим візуальним середовищем програмування (наприклад, Delphi), хоча це не є обов'язковою умовою. Практичну частину найкраще побудувати на основі трьох основних компонентів:
1. Попередньо необхідно познайомити учнів із деякою системою управління базами даних (СУБД). Цю частину занять найкраще проводити у формі лабораторних робіт, вивчаючи основні компоненти та функціональні можливості конкретної СУБД (наприклад, MS Access, MS SQL Server, MySQL та ін.). Найкраще відразу розглянути основи мови маніпулювання даними – SQL, тим паче, що він вбудований у кожну СУБД і універсальним засобом доступу до даних. Слід зазначити, що ступінь деталізації матеріалу, що вивчається, педагог може варіювати в залежності від поставленої мети.
2. Дуже важливою складовою будь-якої БД є правильно створена логічна модель даних. Тому бажано звернути особливу увагу на основні засади створення логічних моделей БД. Заняття найкраще проводити у вигляді семінарів, обговорюючи у формі дискусії організацію даних для конкретних завдань деякої предметної галузі, яка добре знайома учням. Бажано показати, як здійснюється проектування БД методом «сутність-зв'язок» та подальша перевірка правильності створеної моделі з використанням методу нормальних форм. Можливо також розгляд мови візуального моделювання UML, і реалізацію візуального проектування все в тому ж MS SQL Server.
3. Далі доцільно застосувати метод проектів із поетапним формуванням необхідних знань та умінь. Найкраще розбити учнів на групи по 3-4 особи, призначивши обов'язково тим-лідера, який зможерозподілити обов'язки групи. Передбачається, що кожна група працює над створенням унікального проекту з обраної предметної галузі. Що стосується програмного забезпечення, то можлива реалізація проекту, наприклад, у зв'язці MS SQL Server+Visual Studio, MySQL+Delphi або MySQL+PHP (в останньому випадку вже спостерігається можливість інтеграції БД у Web-середовище). Для більш простої реалізації та первинного знайомства підійде і повнофункціональний настільний додаток MS Access. Система звіту про виконану роботу включає: безпосередньо БД, документацію, в якій відображені призначення та застосування БД, опис всього процесу проектування, а також тестування. Заключним акордом є презентація групових програмних продуктів на підсумковому занятті. Звісно, необхідно звернути увагу до рефлексію учнів. Спробувати створити таку атмосферу, щоб групи поділилися своїми роздумами щодо виконаної роботи.
Реалізацію практичної частини на основі трьох компонентів можна пояснити так. По-перше, поки що не запроваджено основні поняття теорії розробки та проектування ІВ, учні вивчають можливості конкретної СУБД для реалізації майбутнього проекту та знайомляться з важливим механізмом маніпулювання даними – мовою SQL. По друге, необхідно окремо приділити увагу саме створенню логічної моделі, оскільки саме правильно створена модель БД може гарантувати успішність її реалізації та функціонування засобами конкретної СУБД. І, по-третє, за допомогою методу проектів можна навчити створювати свої власні програмні продукти, оскільки саме групова спільна робота над проектом сприяє найкращому засвоєнню та розумінню основ проектування ІВ. Дозволяє підійти до розробки БД креативно та вчитьпрацювати в команді. Власне це виправдано тим, що у реальному житті, найчастіше розробка будь-якого серйозного проекту здійснюється у команді, де несе відповідальність безпосередньо за певну часть.
Під час створення групового проекту можна назвати такі основні етапи.
1. Вивчення предметної области. 2. Побудова моделі предметної области. 3. Побудова логічної моделі данных. 4. Побудова фізичної моделі даних, яка, по суті, зводиться до створення реляційної БД. 5. Розробка інтерфейсу ІС. 6. Організація введення даних та управління ними. 7. Створення звітів. 8. Формування контекстної довідки. 9. Створення інсталяційного набору та тестування програмного продукту.
Можна помітити, що моделювання предметної області – трудомістка і копітка завдання, на яку пошук рішення може тривати тривалий час. При побудові логічної моделі даних навряд чи вдасться врахувати одночасно всі особливості конкретної предметної області, тому як групи перейдуть реалізації майбутньої БД засобами конкретної СУБД найкраще здійснити проміжний контроль і переконатися у правильності побудованої моделі. Взагалі кажучи, наступні заняття найкраще проводити у формі консультацій, де педагог виступає помічником у створенні проекту.