- •Анотація
- •1 Аналіз сучасного розвитку баз даних
- •2 Аналіз предметної області
- •3 Розробка структури бази даних
- •3.1 Розробка універсального відношення
- •3.2 Розробка er-моделі предметної області
- •3.3 Проєктування нормалізованих відношень
- •3.4 Отримання попередніх відношень за методом «Суть – зв’язок»
- •3.5 Нормалізація відношень методом декомпозиції
- •3.6 Оцінка спроектованих нфбк відношень
- •4 Розробка форм
- •5 Розробка запитів
- •6 Розробка звітів
- •7 Тестування роботи бази даних
- •Висновки
- •Перелік посилань
- •Додаток г.Звіти
- •Додаток д. Схема даних
4 Розробка форм
Форма – це спеціальні елементи бази даних призначені, в основному, для введення і відображення даних на екрані. У форми можна розміщати поля з текстом або зображеннями, командні кнопки для відкриття інших форм, виконання запитів або команд меню, організації виведення повідомлень або друку інформації [13].
Правильно спроектований інтерфейс, а особливо форми, допоможуть користувачу ефективніше працювати у додатку та уникнути неприпустимих значень під час заповнення полів, які нерідко призводять до помилок.
Для програмного додатку «Готель» розроблені такі форми:
Кнопкова форма;
Форма додання нового відвідувача;
Форма додання нового працівника;
Форма додання нового готелю;
Форма додання інформації про оплату;
Форма додання нової скарги;
Форма вибору готелю для відвідувача.
Головна форма (рисунок 4.1) є початковою точкою входу для програмного додатку. Вона створена з метою навігації по базі даних.
Рисунок 4.1 – Кнопкова форма
Форма додавання відвідувача дозволяє користувачу занести до системи інформацію про нового відвідувача: ПІБ, ID_Відвідувача, номер телефону, електронну пошту, місто проживання та ID_Оплати (рисунок 4.2).
Рисунок 4.2 – Форма додання нового відвідувача
Форма додання інформації про оплату дозволяє внести інформацію про ID_Оплати, її вид, суму, та відсоток знижки для відвідувача (рисунок 4.3).
Рисунок 4.3 – Форма додання інформації про оплату
Форма додання нового готелю дозволяє користувачу внести інформацію про ID_Готелю, його назву, кількість зірок, кількість вільних мість та адресу готелю. Крім того на формі містяться кнопки для навігації по формі, її закриття, а також кнопка для додання нового запису (рисунок 4.4).
Рисунок 4.4 – Форма додання нового готелю
Форма додання нового працівника дозволяє внести/видалити інформацію про працівника Готелю, за такими полями: ID_Працівника, його ПІБ, робочий час та номер телефону (рисунок 4.5).
Рисунок 4.5 – Форма додання нового працівника
Форма додання нової скарги дозволяє користувачу додавати нові скарги у систему за такою інформацією: ID_Скарги, зміст скарги, ID_Відвідувача (рисунок 4.6).
Рисунок 4.6 – Форма додання нової скарги
Форма вибору готелю для відвідувача містить інформацію лише про ID_Готелю та ID_Відвідувача і дозволяє як додати запис у систему, так і видалити (рисунок 4.7).
Рисунок 4.7 – Форма вибору готелю для відвідувача
Решту форм наведено в додатку Б.
В результаті, було розроблено набір форм, які дозволяють працювати з інформацією в базі даних «Готель» з використанням зручного інтерфейсу.
5 Розробка запитів
Запит – це спеціально підготовлене питання про інформацію в базі даних. Запитом може бути як найпростіший пошук інформації зі значення в якій-небудь одній таблиці, так і складний процес перетворення та представлення в певному виді взаємозалежних між собою даних з декількох таблиць. При цьому СКБД видає тільки ту інформацію, яку запитували [14].
Для програмного додатку бази даних «Готель» були розроблені такі запити:
Запит «Відвідувачі з Вінниці та Києва» робить вибірку з таблиць Готель та Відвідувач-Готель, тих відвідувачів, які проживають у Києві чи Вінниці (рисунок 5.1)
Рисунок 5.1 – Запит «Відвідувачі з Вінниці чи Києва»
Запит «Кількість працівників готелю» дозволяє користувачу за назвою готелю порахувати скільки працівників працює у ньому на сьогоднішній день (рисунок 5.2).
Рисунок 5.2 – Запит «Кількість працівників готелю»
Запит «Відсоток знижки» рахує ціну із індивідуальною знижкою клієнта (рисунок 5.3).
Рисунок 5.3 – Запит «Відсоток знижки»
Запит «Гості з різних міст» був створений на основі допоміжного запиту та є перехресним. Запит створює таблицю з інформацією про кількість гостей у кожному готелі з того чи іншого міста (рисунок 5.4).
Рисунок 5.4 – Запит «Гості з різних міст»
Запит «Місця у готелі» виводить інформацію про всі готелі, кількість зайнятих та вільних місць, а також їх загальну кількість. Кількість відвідувачів рахується функцією COUNT, інші обрахунки відбуваються математичними обчисленнями (рисунок 5.5).
Рисунок 5.5 – Запит «Місця у готелі»
Запит «Найбільші скарги» - це вкладений запит, який знаходить скарги більші за розміром написаного ніж скарга відвідувача з ID_Відвідувача = 2. Порівняння змісту скарг відбувається за допомогою функції LEN, яка повертає кількість символів у тексті (рисунок 5.6).
Рисунок 5.6 – Запит «Найбільші скарги»
Запит «ТОП-3 відвідувача по оплаті» за допомогою оператора TOP знаходить трьох відвідувачів, які витратили найбільше грошей (рисунок 5.7).
Рисунок 5.7 – Запит «ТОП-3 відвідувача по оплаті»
Допоміжний запит, для створення перехресного запиту (рисунок 5.8).
Рисунок 5.8 – Допоміжний запит, для перехресного запиту
Запит «Програма знижок» показує знижку на наступне замовлення. Оскільки знижку більшу ніж 5% можуть отримувати лише клієнти з картою накопичення, то за допомогою оператора BETWEEN ми їх знаходимо. Верхньою межею є 10%, адже це максимальна можлива знижка у готелі.
Оскільки клієнт не може мати знижку більшу ніж 10%, тоді за допомогою оператора IIF додаємо знижку лише клієнтам, у яких відсоток знижки менший десяти.
Якщо клієнт не має карти накопичення, знижку він отримує лише у випадку, якщо його оплата перевищує 700 гривень (рисунок 5.9).
Рисунок 5.9 – Запит «Програма знижок»
В результаті, для бази даних «Пекарня» було створено 8 основних запитів на мові SQL, приклади їх роботи та допоміжного запиту подано в додатку В.