
- •1 Проектування бази диних
- •1.1 Аналіз предметної області
- •1.2 Розробка er-моделі
- •1.3 Нормалізація
- •1.4 Реалізація бази даних в субд
- •2 Програмна реалізація субд
- •2.1 Реалізація інтерфейсу
- •2.2 Реалізація sql-запитів
- •2.3 Реалізація роботи з таблицями.
- •2.4 Реалізація обробки запитів
- •2.5 Реалізація звітів
- •2.6 Створення автоматизованого документу
- •2.7 Захист бази даних та забезпечення цілісності
- •3 Аналіз результатів і розробка інструкцій по роботі
- •3.1 Інструкція з технічного обслуговування
- •3.2 Інструкції системного програміста
- •3.3 Інструкція програміста
- •3.4 Інструкції оператору
- •Висновки
- •Список використаних джерел
- •Додаток а Лістинг програми
- •Додаток б Приклади автоматизованого документу
- •1. Предмет домовленості
- •5. Термін дії договору
- •1. Предмет домовленості
- •5. Термін дії договору
1.4 Реалізація бази даних в субд
База даних проектуватиметься в СУБД Microsoft Access 2007, що входить в пакет прикладних офісних програм MS Office 2007.
Для побудови створимо потрібні таблиці за допомогою конструктора побудови таблиць. При створенні полів потрібно визначити ключове полі. Також для зручності створюємо таблиці заміни. Для деяких полів визначимо правила перевірки для даних, що вводяться. Також записуємо повідомлення користувача у разі помилкового введення в поля таблиці.
Далі використовуючи інструмент Зв’язки через меню Знаряддя бази даних, та встановлюємо зв’язки між створеними таблицями (рис.2). СУБД автоматично встановлює типи зв’язків, але потрібно прослідкувати за правильністю їх встановлення. Кожен зв'язок потрібно відредагувати для забезпечення цілісності даних. Також потрібно встановити каскадне оновлення полів та каскадне видалення полів.
Далі заповнюємо таблиці декількома записами для демонстрації правильної роботи бази даних.
Рисунок 9 – Схема даних
Для сумісності створеної бази даних із СУБД Access 97-03, збережемо її у форматі *.mdb.
2 Програмна реалізація субд
2.1 Реалізація інтерфейсу
На єдиній (титульній) сторінці документу розміщена коротка інформація про програму та кнопка виклику, що викликає першу форму.
Форми створенні використанням технології візуального програмування, що забезпечена у VBA. Форми відповідають за певну функцію програми.
Отже були створені такі форми:
-
UserForm1 – головна форма, відповідає за режими роботи вибір функцій;
-
UserForm2 – робота з даними БД, перегляд, створення, оновлення і видалення;
-
UserForm3 – запити;
-
UserForm4 – звіти;
-
UserForm5 – про програму.
На етапі створення форм був визначений їх вигляд. Програма працює з великою кількість даних, тому вони мають зручно розміщуватися на у вікні. Для цього широко використовувалися такі елементи інтерфейсу як вкладки (або сторінки), списки, комбіновані списку, текстові поля, та ін.
Вигляд форми для формування запитів показаний на рисунку 3.
Кнопка хрестик (Х) у кожному вікні програми по замовчуванню служить для припинення його роботи і повернення на титульну сторінку документу. Тому була створена у кожній формі кнопка для повернення на основну форму. Процедура обробки такої кнопки досить проста:
Me.Hide
UserForm1.Show
Схожий фрагмент тексту використовується не одноразово для переходу між формами.
Рисунок 10 – Вигляд форми Запити
Для естетично привабливого вигляду вікон використовується фонове зображення формату *.jpeg. Було вирішено не перевантажувати вікна зображеннями щоб не втомлювати користувача при довготривалій роботі.
2.2 Реалізація sql-запитів
Кожна форма програми вибирає інформацію з бази даних за допомогою SQL-запитів. Розглянемо використовувані запити.
Програма представляє тільки приклад роботи з базою даних, що була створена в СУБД MS Access 2007, тому не завжди використовуються всі поля таблиць. Запити завжди є джерелом для заповнення локального буферу. Тобто вони створюють таблицю в буфері. Для звертання до полів запису використовується метод Fields(N), не N – номер поля запису. Перше поле локальної таблиці має номер 1. Для вибору запису служать ряд методів: MoveFirst, MoveLast, MovePrevios, MoveNext.
Для перегляду, зміни, створення чи видалення записів з таблиці використовуються SQL- запити без умови, наприклад:
rs.Source = "SELECT Орендатор.orendat, Орендатор.dogov, Орендатор.torg_pat, Місце.misce, … Місце.bydova FROM (Орендатор INNER JOIN Місце ON Орендатор.orendat = Місце.orendat) INNER JOIN Склад ON Орендатор.orendat = Склад.orendat"
Командою SELECT вибираються поля таблиць, FROM вказує на таблиці, з яких беруться поля, при чому також вказується поля, по яким зв’язані таблиці.
Розглянемо простіший запит:
rs1.Source = "SELECT * FROM Працівник"
Для цього запиту вибираються всі поля таблиці Працівник, на що вказує символ “ * ”.
Для створення запитів з умовою використовується така форма SQL-запиту:
str2 = "SELECT inv_nom, naz_obl FROM Обладнання WHERE viddil = '" + str1 + "'"
Де рядкова змінна srt1 була визначена користувачем і відповідає критерії по якій створюється запит. У VBA SQL-запит розглядається як рядок, тому йому властиві всі операції над рядковими змінними, в тому числі конкатенація, що активно використовується в програмі.