Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 30

НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ "КИЄВО-МОГИЛЯНСЬКА АКАДЕМІЯ"

ФАКУЛЬТЕТ ІНФОРМАТИКИ
Кафедра інформатики

Самостійна робота з дисципліни:

«Організація баз даних і знань»


Система інформаційної підтримки діяльності мовної школи

студентки
групи № 3
3-курсу
Програмна Інженерія
Удалової Марії Сергіївни

Викладач:
к.ф.-м.н. Ющенко Ю.О.

Київ – 2017
Зміст
РОЗДІЛ 1. ТЕХНІЧНЕ ЗАВДАННЯ............................................................................................5
1.1. Призначення автоматизованої інформаційної системи......................................................5
1.1.1. Опис організації...................................................................................................................5
1.1.2. Опис задач організації.........................................................................................................7
1.1.3. Основні функції системи.....................................................................................................8
1.1.4. Призначення АІС.................................................................................................................8
1.2. Опис даних предметної області.............................................................................................9
1.2.1. Загальна інформація (опис, наданий генеральним директором організації).................9
1.2.2. Збір фактів..........................................................................................................................10
1.2.2.1. Вивчення документації...................................................................................................10
1.2.2.2. Дослідження....................................................................................................................11
1.2.2.3. Спостереження................................................................................................................12
1.2.2.4. Співбесіди........................................................................................................................12
1.2.2.5. Анкетування....................................................................................................................13
РОЗДІЛ 2. ТЕХНІЧНИЙ ПРОЕКТ.............................................................................................14
2.1. Інфологічне та датологічне проектування..........................................................................14
2.1.1. Концептуальна модель даних...........................................................................................14
2.1.1.1. Схема ER – моделі..........................................................................................................14
2.1.1.2. Опис сутностей...............................................................................................................15
2.1.1.3. Опис зв’язків...................................................................................................................16
2.1.1.3.1. Зв’язок Клієнти – Замовлення....................................................................................16
2.1.1.3.1.1. Позначення................................................................................................................16
2.1.1.3.1.2. Призначення..............................................................................................................16
2.1.1.3.1.3. Назва в АІС................................................................................................................16
2.1.1.3.1.4. Потужність................................................................................................................16
2.1.1.3.1.5. Типи відповідності....................................................................................................16
2.1.1.3.2. Зв’язок Замовлення – Цільові електронні перепустки.............................................16
2.1.1.3.2.1. Позначення................................................................................................................16
2.1.1.3.2.2. Призначення..............................................................................................................16
2.1.1.3.2.3. Назва в АІС................................................................................................................16
2.1.1.3.2.4. Потужність................................................................................................................17
2.1.1.3.2.5. Типи відповідності....................................................................................................17
2.1.1.3.3. Зв’язок Цільові електронні перепустки – Заняття....................................................17
2.1.1.3.3.1. Позначення................................................................................................................17
2.1.1.3.3.2. Призначення..............................................................................................................17
2.1.1.3.3.3. Назва в АІС................................................................................................................17
2.1.1.3.3.4. Потужність................................................................................................................17
2.1.1.3.3.5. Типи відповідності....................................................................................................17
2
2.1.1.3.4. Зв’язок Заняття – Мови...............................................................................................17
2.1.1.3.4.1. Позначення................................................................................................................17
2.1.1.3.4.2. Призначення..............................................................................................................17
2.1.1.3.4.3. Назва в АІС................................................................................................................17
2.1.1.3.4.4. Потужність................................................................................................................18
2.1.1.3.4.5. Типи відповідності....................................................................................................18
2.1.1.3.5. Зв’язок Заняття – Вчителі...........................................................................................18
2.1.1.3.5.1. Позначення................................................................................................................18
2.1.1.3.5.2. Призначення..............................................................................................................18
2.1.1.3.5.3. Назва в АІС................................................................................................................18
2.1.1.3.5.4. Потужність................................................................................................................18
2.1.1.3.5.5. Типи відповідності....................................................................................................18
2.1.1.3.6. Зв’язок Вчителі – Оголошення...................................................................................18
2.1.1.3.6.1. Позначення................................................................................................................18
2.1.1.3.6.2. Призначення..............................................................................................................18
2.1.1.3.6.3. Назва в АІС................................................................................................................18
2.1.1.3.6.4. Потужність................................................................................................................18
2.1.1.3.6.5. Типи відповідності....................................................................................................19
2.1.1.3.7. Зв’язок Заняття – Категорії.........................................................................................19
2.1.1.3.7.1. Позначення................................................................................................................19
2.1.1.3.7.2. Призначення..............................................................................................................19
2.1.1.3.7.3. Назва в АІС................................................................................................................19
2.1.1.3.7.4. Потужність................................................................................................................19
2.1.1.3.7.5. Типи відповідності....................................................................................................19
2.1.1.3.8. Зв’язок Вчителі – Телефони........................................................................................19
2.1.1.3.8.1. Позначення................................................................................................................19
2.1.1.3.8.2. Призначення..............................................................................................................19
2.1.1.3.8.3. Назва в АІС................................................................................................................19
2.1.1.3.8.4. Потужність................................................................................................................19
2.1.1.3.8.5. Типи відповідності....................................................................................................19
2.1.1.4. Перелік корпоративних обмежень цілісності........................................................20
2.1.2. Реляційна модель даних....................................................................................................20
2.1.2.1. Таблиця № 1 «BUYERS»+«Клієнти»......................................................................20
2.1.2.2. Таблиця № 2 «ORDERS»+«Замовлення»................................................................20
2.1.2.3. Таблиця № 3 «EPASS»+«Цільові електронні перепустки»...................................21
2.1.2.4. Таблиця № 4 «LESSONS»+«Заняття».....................................................................22
2.1.2.5. Таблиця № 5 «LANGUAGES»+«Мови».................................................................23
2.1.2.6. Таблиця № 6 «TEACHERS»+«Вчителі».................................................................24
2.1.2.7. Таблиця № 7 «TEACH_USE_WORKPHONE»+ ««Вчителі» - «Телефони»»......24
3
2.1.2.8. Таблиця № 8 «АNNOUNCEMENTS»+«Оголошення»..........................................25
2.1.2.9. Таблиця № 9 «CATEGORIES»+«Категорії»...........................................................25
2.1.2.10. Таблиця № 10 «PHONE_NUMBERS»+«Teлефони»..............................................26
2.1.2.3. Обмеження цілісності...............................................................................................26
2.1.2.3.1. Обмеження домену................................................................................................26
2.1.2.3.2. Цілісність посилань...............................................................................................26
2.1.2.3.3. Корпоративні (семантичні) обмеження цілісності.............................................27
РОЗДІЛ 3. ВИСНОВКИ..............................................................................................................28
РОЗДІЛ 4. ДОДАТКИ.................................................................................................................29
РОЗДІЛ 5. ПЕРЕЛІК ВИКОРИСТАНИХ ДЖЕРЕЛ.................................................................30

4
РОЗДІЛ 1. ТЕХНІЧНЕ ЗАВДАННЯ
1.1. Призначення автоматизованої інформаційної системи

1.1.1. Опис організації


«JUST.Go Languages» – приватна школа, яка була заснована у Києві наприкінці 2016
року з метою надати можливість клієнтам вивчати англійську мову.
За дуже короткий час організація набула великої популярності. У вересні 2016 року
розпочались заняття з першими 84 учнями, і вже за перші півроку кількість учнів зросла
до 318 (детальніше показано на рис.1).

Витяг зі звіту організації за період


вересень 2016 – лютий 2017
400
300
200
100
0
) ) ) ) ) )
0 16 0 16 0 16 0 16 0 17 0 17
(2 (2 (2 (2 (2 (2
ень ень п ад ень ень тий
с т о уд ч
ре ов ст Гр
Сі Лю
Ве Ж Ли
Рис.1. Кількість клієнтів за перші 6 місяців роботи школи

Бізнес-аналітики школи пояснюють це тим, що у сучасному світі гостро відчувається


потреба у володінні іноземними мовами, зокрема англійською, як у професійній
діяльності, так і у повсякденному житті. Але більшість людей не здатна опанувати
іноземну мову самостійно, тому відвідувати групові заняття є чи не єдиним можливим
способом вирішення цієї проблеми. У школі «JUST.Go Languages» заняття проводять
тільки професіонали з міжнародними дипломами викладача англійської мови CELTA;
використовуються найкращі технології викладання, які дають можливість опанувати мову
за короткий відрізок часу та застосовувати ці знання на практиці. Згідно звіту, наданим
генеральним директором з розвитку, за період функціонування мовної школи 100%
клієнтів були віком від 22 років, кожний погоджувався надати такі персональні дані як
номер телефону та ініціали.
До того ж організації вдалось частково впровадити концепцію «лоукост» (low-cost),
через що вартість занять є доволі низькою, а якість знань не поступається якості дорогих
мовних курсів (порівняльний аналіз цін на заняття з популярними мовними школами
м. Києва згідно рейтингу ресурсу https://enguide.ua показано на рис.2). .

300
Вартість одного заняття

250
200
150
100
(грн)

50
0
Green Speak up American English Буде Talk JUST.Go Flash
Forest English Prime Languages
Center

5
Рис.2. Середня ціна за одне заняття у різних мовних школах м. Києва згідно
рейтингу https://enguide.ua
Отже, через швидкий ріст кількості клієнтів було схвалено пропозицію відділу
інформаційних технологій щодо впровадження автоматизованої інформаційної системи
(далі АІС).
До того ж, із введенням АІС планується одночасне розширення послуг, а саме:
додати можливість вивчення німецької та французької мов. Згідно з бізнес-планом
співвідношення кількості занять з кожної мови на наступні півроку продемонстроване на
рис.3:

60

Англійська
Німецька
180
Французька
90

Рис.3. Запланована кількість занять з кожної мови на період січень-липень 2018 після
введення АІС

Станом на 10.11.2017 школа «JUST.Go Languages» налічує 277 співробітників:

Посада Кількість
Голова ради директорів, Президент школи 1
Генеральний директор, Фінансовий директор 1
Бухгалтер 1
Директор з кадрових питань, відповідальний за навчальний
1
процес
Генеральний директор з розвитку 2
Бізнес-аналітики 4
Начальник відділу інформаційних технологій 1
Співробітники відділу інформаційних технологій 3
Адміністратор з наповнення груп 1
Касир 1
Молодший обслуговуючий персонал 37
Охоронці 2
Навчально-допоміжний персонал 18
Вчителі 204
Таблиця 1. Співробітники мовної школи «JUST.Go Languages»

Система організації реєстрації клієнтів, формування розкладу їх занять та контролю


відвідуваності, що впроваджена до введення АІС, має дуже багато проблем із
синхронізацією роботи співробітників, а також є дуже незручною для клієнтів. Тому
клієнти залишали позитивні відгуки про заняття, вчителів, але протилежні про
організацію навчання. До того ж, коли клієнтів було не так багато, то навантаженість
співробітників не була такою великою. З швидким ростом клієнтів нестача спеціалістів
стала гостро відчуватись. Автоматизована інформаційна система має значно спростити
процес організації навчального процесу у мовній школі. Таким чином, дирекція школи

6
планує повністю відмовитись від паперових підтверджень та провести реструктуризацію.
Також з введенням АІС фінансовий директор для прискорення процесу оплати утвердив
порядок укладання угод з банками щодо проводження транзакцій оплати саме у
банківських відділеннях, а також безпосередньо через веб-застосунок.

1.1.2. Опис задач організації


Основною задачею мовної школи «JUST.Go Languages» є надання клієнтам
можливості вивчити англійську мову у групових заняттях, що проходять у школі.
Для організації навчального процесу адміністратор з наповнення груп виконує
наступні підзадачі:
1) надає потрібну інформацію клієнту;
2) реєструє клієнта;
3) узгоджує з клієнтом заняття, яке(і) йому зручно відвідати;
4) записує клієнта на обране(і) заняття за наявності вільних місць;
5) видає клієнту список обраних занять з детальною інформацією у паперовому
вигляді;
Обов’язками касира є:
1) ведення касових операцій (прийняття від клієнтів коштів за заняття, видача
відповідного документу про оплату);
2) надає список клієнтів перед кожним заняттям, що заплатили за нього для
контролю відвідуваності;
3) передає зібрані кошти бухгалтеру.
Директор з кадрових питань за сумісництвом відповідальний за навчальний процес,
виконує такі функції:
1) наймає співробітника за необхідністю;
2) звільняє співробітника за необхідністю;
3) контролює роботу співробітників;
4) заповнює дипломи (ініціали клієнта, кількість відвіданих занять на надрукований
диплом з печаттю школи);
5) інформує усіх клієнтів щодо нових занять, заходів у школі, пропонує записатись
на хоча б одне заняття, якщо клієнт не відвідував жодного, але зареєструвався;
6) визначає розклад занять у школі, їх спрямованість (мається на увазі категорію
кожного заняття), та назначає вчителів на заняття.
Вчитель має наступні обов’язки:
1) проводити заняття за розкладом;
2) контролювати відвідуваність клієнтів (шляхом відмічання присутніх на занятті);
3) висвітлювати власні корисні нотатки на дошці оголошень.
Навчально-допоміжний персонал (асистенти вчителів):
1) перевіряють наявність усієї потрібної канцелярії;
2) за необхідністю здійснюють закупівлю усіх потрібних матеріалів;
3) перевіряють стан готовності аудиторій до заняття;
Бухгалтер фірми:
1) надає звіти до податкової інспекції;
2) сплачує зарплатню;
3) надає звіти керівництву щодо прибутків;
4) розподіляє кошти на придбання необхідних товарів;
5) отримує від касира виручку.
Охоронці мають:
1) слідкувати за порядком під час занять;
2) здійснювати функції охорони і нагляду за школою.
Співробітники відділу інформаційних технологій контролюють забезпеченість
клієнтами матеріалами до заняття, справність обладнання для проведення занять.
7
Начальник відділу інформаційних технологій контролює роботу своїх співробітників
та відповідає за звітність відділу.
Бізнес-аналітики визначають потреби клієнтів з метою визначення проблем
організації навчання, пропонують способи їх вирішення.
Генеральний директор за сумісництвом фінансовий директор контролює роботу
бухгалтера та бізнес-аналітиків, виконує розпорядження голови ради директорів.
Голова ради директорів:
1) представляє звітність, бюджет і бухгалтерський баланс організації;
2) аналізує фінансовий стан організації;
3) визначає порядок денний та дату наступних чергових зборів директорів школи.

1.1.3. Основні функції системи


Кількість категорій користувачів АІС – 3: клієнт, вчитель, директор з кадрових
питань (за сумісництвом відповідальний за навчальний процес).
Функції, доступні клієнту:
1) оформлення замовлення шляхом вибору місця(ь) на занятті/заняттях з
запропонованих;
2) пошук занять за мовою;
3) пошук занять за категорією заняття;
4) пошук занять за ініціалами вчителя;
5) доступ до детальної інформації про вчителів;
6) доступ до детальної інформації про заняття;
7) редагування деякої інформації профілю.
Функції, доступні вчителю:
1) переглянути список клієнтів, записаних на заняття, які має провести;
2) доступ до детальної інформації про клієнтів, записаних на заняття, які має
провести;
3) доступ до детальної інформації про заняття;
4) додати текстовий матеріал (оголошення);
5) видалити власний текстовий матеріал (оголошення);
6) можливість позначити присутність клієнта на занятті.
Функції, які має директор з кадрових питань, за сумісництвом відповідальний за
навчальний процес:
1) додавати інформацію про нового вчителя;
2) редагувати інформацію про вчителя;
3) видаляти інформацію про звільненого вчителя;
4) доступ до детальної інформації про вчителя;
5) доступ до інформації усіх зареєстрованих клієнтів;
6) додавати заняття.

1.1.4. Призначення АІС


Автоматизована інформаційна система призначена для полегшення персоналу
процесів збору, зберігання та обробки даних, що використовуються при реєстрації
клієнтів до мовної школи, вибору ними занять, а також контролю відвідуваності.
Система забезпечує достовірну та актуальну інформацію співробітникам для виконання
своїх функцій, а також клієнтам для зручного навчання у мовній школі
«JUST.Go Languages».
АІС надасть можливість клієнтам самостійно реєструватись та обирати заняття із
запропонованих варіантів в особистому кабінеті дистанційно, або на вільних комп’ютерах
у школі. Таким чином задача адмінстратора по заповненню груп повністю перекладається
на функціії АІС. Це вирішує одразу декілька проблем, по-перше, клієнтам надається
зручність отримання послуг школи, а також вирішується проблема великих черг до
8
адміністратора (була спроба зробити декілька адміністраторів, але виникала проблема
синхронізації їх роботи). Загалом, дуже полегшуються процеси реєстрації клієнтів та
вибору ними занять.
Функція пошуку занять за ініціалами вчителя, мовою, категорією надасть зручності
у користуванні послугами школи для клієнта, а також прискорить процес отримання
потрібної інформації клієнтом.
До того ж, функція АІС контролю відвідуваності клієнтів не тільки прискорить
процес організації навчального процесу, оскільки до введення АІС велику роль відігравав
людський фактор (список групи надавав перед кожним заняттям касир (виключається
затримка клієнтів після заняття для «відмітки» у списку, якщо його вчасно не приніс
касир)), а й надасть надійність цих даних (до цього не існувало єдиної бази клієнтів,
відповідно оплата та замовлення були незалежними процесами). Тепер вчитель матиме
список клієнтів даного заняття на своєму комп’ютері у власному кабінеті. Це полегшить
його обов’язок контролювати відвідуваність; він не буде залежати від касира.
Функція додавання оголошень вчителями надасть зручності мовній школі у
інформуванні клієнтів, до того ж безпосередньо вчителі не будуть власноруч розміщувати
паперові оголошення на спеціальній дошці (замість цього вчителі зможуть розташовувати
оголошення на веб-сторінці незалежно від місця знаходження). А клієнтам за допомогою
веб-застосунку вистачить просто оновити сторінку для того, щоб дізнатись останні
новини від вчителів. До того ж, для тих клієнтів, що зазначили свою електронну пошту
планується введення розсилки оголошень на пошту.
Отже, корисність автоматизованої інформаційної системи для мовної школи
«JUST.Go Languages» є беззаперечною. Завдяки АІС мовна школа зможе надавати
клієнтам зручне середовище для вивчення іноземних мов, а також полегшити та
синхронізувати роботу персоналу. Це гарантовано збільшить кількість клієнтів, тому і
прибуток мовної школи (збільшення доходів школи у свою чергу сприятиме подальшому
її розвитку).

1.2. Опис даних предметної області

1.2.1. Загальна інформація (опис, наданий генеральним директором організації)


Необхідні дані про клієнта для реєстрації його до мовної школи (див. Таблиця 2):
Форма реєстрації клієнта
Номер телефону 0635891257
ПІБ Іванова Марія Сергіївна
Електронна пошта (якщо є) clientdfmailth@gmail.com

Таблиця 2. Шаблон анкети для реєстрації клієнта

Під час співбесіди з директором з кадрових питань претендент на посаду «вчитель»


має заповнити анкету (див. Таблиця 3):

Форма реєстрації вчителя


Персональний телефон 0998459823
ПІБ (name & surname) Петренко Петро Петрович
Освіта (education) Національний університет «Києво-Могилянська
академія», факультет гуманітарних наук, англійська
філологія, бакалавр, диплом викладача англійської мови

9
CELTA № 1556484 (від 10.10.2016)
Банківські реквізити (bank
1234-4321-5678-8765
card number)
Електронна пошта (якщо є teachdfmail@gmail.com
декілька – вказати 2 основні) sectecghmail@gmail.com
Таблиця 3. Шаблон анкети для заповнення претендентів на посаду «вчитель»

Інформація про заняття, яку може побачити зареєстрований клієнт (див. Таблиця 4):

Детальна інформація про заняття


Тема Let's plan the trip to England
Дата проведення 18.11.2017
Початок 17:00
Кінець 18:30
Категорія Розмовне
Вчитель Симеренко Наталя Володимирівна
Таблиця 4. Детальна інформація про заняття

Зараз діяльність школи побудована наступним чином: клієнт підходить до


адміністратора, робоче місце якого знаходиться у школі. Клієнт може отримати
інформацію щодо школи, процесу навчання, вчителів, вартості занять, деталі щодо
оплати, отримати безкоштовно приклади матеріалів до одного з занять. Також клієнт
може зареєструватись до школи (це гарантує клієнту інформування щодо нових занять,
заходів у школі). Якщо клієнт хоче прийти хоча б на одне заняття, тоді адміністратор
пропонує йому виписку з розкладом, у якому вказаний список занять, до яких вказуються
дата та час, викладачі на занятті, кількість вільних місць. Клієнт обирає для себе одне чи
більше занять, що підходять йому, та повідомляє про це адміністратора. Останній записує
у журнал отримані дані, та видає йому надрукований розклад. Далі клієнт може підійти до
касира та оплатити замовлення. Кожне заняття має різний напрям (категорію), а кожна
категорія занять має свою вартість та тривалість (таким чином вартість заняття
визначається категорією). Поки у школі впроваджено такі категорії занять: розмовне,
граматика, ділова мова, комбіноване. Процес оплати відбувається наступним чином:
клієнт надає касиру замовлення, обирає спосіб оплати, після оплати клієнт отримує
відповідний документ. Це дуже подобається клієнтам, оскільки абсолютно усі школи
потребують оплати одразу за курс навчання, до того ж з функцією «згорання занять». У
«JUST.Go Languages» головне, щоб клієнт прийшов на оплачене заняття. Касир перед
кожним заняттям має друкувати список клієнтів, у кого дане заняття є оплаченим та
надавати його вчителю для подальшого контролю відвідуваності. Ця система організації
навчального процесу є дуже незручною для клієнтів, а також зі зростанням їх кількості
контролювати ситуацію стає майже неможливим.

1.2.2. Збір фактів

1.2.2.1. Вивчення документації


Було проаналізовано акт про інвентаризацію технічного обладнання (рис.4):

ЗАТВЕРДЖУЮ:
10
А. О.Рябченко
Голова ради директорів
«10» жовтня 2017 р.
Акт № 9

Про інвентаризацію технічного обладнання школи «JUST.Go Languages»


Комісія, призначена наказом по установі від 05.08.2017 № 118 «Про проведення
моніторингу забезпеченості організаційного процесу», у складі:
голови комісії: Рябченка А.О. – голови ради директорів,
членів комісії: Віткалової Н.М. – генерального директора з розвитку,
Ремез Н.П. – директора з кадрових питань, відповідальний за навчальний процес,
Чамухи Л.А. – бухгалтера.

склала цей акт про те, що нею в період з 01.10.2017 по 09.10.2017 була здійснена
інвентаризація шляхом звірки фактичної наявності із записами документів з обліку.
Перевірені наступні документи:
1. Акт попередньої інвентаризації фонду технічного обладнання №8 від
10.08.2016
2. Обладнання сумарного обліку.
3. Супровідні документи (накладні,акти, описи тощо на приймання-передавання
технічного обладнання).
4. Акти на вилучення обладнання між попередньою та цією інвентаризаціями: акт
№18п від 25.10.2017; №19п від 08.10.2011; №19п(вн) від 08.08.2017.
У ході інвентаризації встановлено:
1.За обліковими документами налічується 452 одиниці технічного обладнання на
суму 264 280 грн. (Двісті шістдесят чотири тисячі двісті вісімдесят грн.)
2.В наявності 452 примірників книг на суму 264 280 грн. (Двісті шістдесят чотири
тисячі двісті вісімдесят грн.)
3.Висновки комісії з інвентаризації: записи в облікових документах ведуться
своєчасно та охайно, було перевірено та проаналізовано якісний та кількісний стан
обладнання, замінено деталі, де це було необхідно.
Голова комісії:
Голова ради директорів А.О. Рябченко

Рис.4 Акт про інвентаризацію технічного обладнання у електронному вигляді

Проаналізувавши даний акт було визначено, що школа повністю забезпечена


потрібним обладнанням для використання АІС кожною категорією користувачів. Наявні:
1) у кожному кабінеті є комп’ютер/ноутбук, а також один стаціонарний телефон
для вчителя;
2) директор з кадрових питань, відповідальний за навчальний процес має особистий
комп’ютер у кабінеті;
3) для клієнтів, що не мають вдома комп’ютер або доступ до Інтернету, у
комп’ютерному залі встановлені моноблоки.
На усій території школи є доступ до Інтернету.

1.2.2.2. Дослідження
Оскільки кількість організацій, що проводять навчальні курси/тренінги
найрізноманітніших напрямків, лише зростають, тому аналогічні АІС існують.
Було проаналізовані такі АІС:
А) https://greenforest.com.ua/
11
Б) https://my.p12.com.ua/auth
В) https://englishprime.ua/
Але вони суттєво відрізняються від розробленої АІС, оскільки більшість таких
установ реєструє клієнтів лише після повної оплати за курс. Тобто, дані установи
автоматично позбавляють клієнта платити зручним для нього способом (одразу перед
заняттям або за декілька).

1.2.2.3. Спостереження
В процесі спостереження за роботою організації було виявлено, що робота
підприємства була достатньо точно відображена у наданому керівництвом описі. В
автоматизованій інформаційній системі відчувається гостра потреба, оскільки зростає
масштаб роботи школи і людських ресурсів просто не вистачає для комфортного
обслуговування великої кількості клієнтів.

1.2.2.4. Співбесіди
Було проведено співбесіди з представниками таких категорій користувачів:
- Співбесіда 1. Вчитель
Я: Доброго дня!
Вчитель: Добридень.
Я: Мені дуже сподобалися Ваші заняття англійської і я хочу взяти коротке інтерв'ю
про вашу роботу, якщо Ви не проти.
Вчитель: Будь ласка, починайте.
Я: Як давно Ви працюєте вчителем англійської мови?
Вчитель: Вже 5 років.
Я: Вам подобається Ваша робота, організація праці?
Вчитель: Робота подобається, адже мені завжди подобалося вчити людей, а от
організація праці не дуже.
Я: А що саме вам не подобається в вашій роботі? У чому проблеми, на Ваш погляд,
організації?
Вчитель: Багато паперової волокіти, до того ж часто виникають непорозуміння зі
списками груп (клієнта або записали в іншу групу, або взагалі не записали). До того ж
інформування клієнтів – це просто жах, ці оголошення на дошці як в моєму дитинстві…
Я: Не хвилюйтеся, я впевнена у найближчий час вам облегшать роботу за паперами,
і нададуть програмний застосунок зі зручним та легко засвоюваним інтерфейсом.
Вчитель: Було б дуже "в тему".
Я: Дякую за інтерв'ю, всього вам найкращого!
Вчитель: Нема за що.
Я: До побачення.

- Співбесіда 2. Директор з кадрових питань, відповідальний за навчальний процес


Я: Вітаю! Нарешті, Ви змогли знайти час, щоб поспілкуватись зі мною.
Директор: Добрий день! Так, дійсно, просто так багато роботи, що зовсім не
вистачає часу навіть для чашки кави.
Я: Так. Я спостерігала за роботою школи приблизно тиждень і можу зробити
висновок, що Ваша робота дуже важка. Дивуюсь, як Ви все встигаєте. Можна задати Вам
декілька запитань щодо роботи?
Директор: Звісно, на жаль, я не зможу приділити Вам багато часу.
Я: Ви суміщаєте дві посади. Чи вистачає Вам робочих годин?
Директор: Ні, також я веду телефоні розмови з претендентами у неробочий час.
Я: Мабуть, Ви дуже втомлюєтесь?
Директор: Так, звісно. Я дійсно був щасливий, коли на зібранні було вирішено
впровадити АІС.
12
Я: Ви вважаєте доцільним ввести її?
Директор: Так, це дуже полегшить роботу усіх співробітників школи!
Я: Чудово, як я розумію, для Вас розроблятиметься найбільше функцій АІС…
Директор: Так, голова ради директорів повідомляв мені (сміється).
Я: У вас є якісь побажання до інтерфейсу? Чи якісь особливості, які б Ви хотіли
включити?
Директор: Та.. особливо, ні. Я буду вдячна Вам за хоч якесь спрощення моєї роботи.
Я: Буду рада допомогти Вам!
Директор: До побачення.

- Співбесіда 3. Клієнт
Я: Доброго вечора, ви чи не перший клієнт школи. Що привело Вас до «JUST.Go
Languages»?
Клієнт: Добрий! Я мала підтягнути знання з англійської для презентації продукту
для іноземних партнерів, але мені дуже сподобалось на заняттях. Тепер я ходжу при будь-
якій зручній нагоді. Навіть чоловік двічі на тиждень ходить зі мною.
Я: Це показує школу як ту, що дає дійсно цікаві та потрібні знання. Можна задати
Вам декілька запитань щодо школи?
Клієнт: Звісно. Я буду рада відповісти на запитання.
Я: Чи подобається Вам як проходить реєстрація на заняття?
Клієнт: Коли вперше я прийшла до школи, я була дуже здивована, що подібним
чином десь у світі проходить запис на заняття (у світі розвитку нейромереж і загалом IT)..
Я: Так, повністю з Вами згодна. А що щодо оплати?
Клієнт: Мене приваблює, що можна платити за деякі заняття, адже не завжди є гроші
хоча б на 2 заняття (оскільки і у мене, і у чоловіка робота з нефіксованою заробітною
платою). Але звісно, такі великі черги наштовхують на думку заплатити одразу за якомога
більше завдань.
Я: Кхмм.. Дійсно, але із реструктуризацією школи кількість касирів збільшиться.
Клієнт: Так, буде чудово!
Я: А ви будете користуватись особистим кабінетом та чи хотіли б Ви його?
Клієнт: Так, звісно. Я постійно з ноутбуком. Тому, для мене це було б дуже зручно.
Я: Дякую вам за відповіді. Хорошого вам дня! До побачення.
Клієнт: Рада була поспілкуватись. Бажаю Вам натхнення у Вашій роботі! На все
добре!

1.2.2.5. Анкетування
Було розроблено анкету для клієнтів:

Чи задоволені ви організацією занять та Так, мені дуже подобається якість отриманих


знаннями, що отримуєте під час занять? знань
Як часто Ви відвідуєте заняття? Зазвичай, тричі на тиждень
Чи легко Вам було зареєструватись? Ні, я чекав дуже довго
Вам подобається технологія викладання у Дуже, вона дійсно унікальна серед інших
школі? мовних шкіл
Ви задоволенні обслуговуванням? В цілому, так. Але іноді дратують великі черги
Чи хотіли б Ви пришвидшити процес
Звісно, це було б дуже доречно
реєстрації та формування розкладу?
Чи користувались Ви б особистим кабінетом, Очевидно, що так, я завжди з телефоном, і
де могли б самостійно формувати розклад? доступ до Інтернету маю 24/7
Як Ви дізналися про школу? За допомогою флаєру
Вам подобається те, що можна сплачувати за
Звісно, це дуже приваблює
заняття тоді, коли Вам зручно
Таблиця 5. Шаблон анкети для клієнтів
13
РОЗДІЛ 2. ТЕХНІЧНИЙ ПРОЕКТ
2.1. Інфологічне та датологічне проектування

2.1.1. Концептуальна модель даних

2.1.1.1. Схема ER – моделі

Рис.4 ER-модель даних

14
2.1.1.2. Опис сутностей
У моделі визначено наступні сутності:
Оголошення:
 код (первинний ключ, автонумерація);
 текст (обов’язковий, текст);
 дата публікації (обов’язковий, дата);
 час публікації (обов’язковий, час).
Вчителі:
 код (первинний ключ, автонумерація);
 персональний телефон (обов’язковий, текст) – потенційний ключ;
 ПІБ (складений):
o прізвище (обов’язковий, текст);
o ім’я (обов’язковий, текст);
o по-батькові (обов’язковий, текст);
 освіта (обов’язковий, текст (зазначаються усі ступені навчання (середня, вища
+ курси/дипломи/відзнаки) – приклад значення атрибуту наведено у
Таблиці 3);
 електронна пошта (обов’язковий, багатозначний). Пошта є потенційним
ключем;
 банківські реквізити (обов’язковий, текст).
Телефони:
 код (первинний ключ, автонумерація);
 номер (обов’язковий, текст);
Заняття:
 код (первинний ключ, автонумерація);
 тема (обов’язковий, текст) – оскільки заняття може проводитись декілька
разів, атрибут «тема» не може бути потенційним ключем;
 загальна кількість місць (обов’язковий, точні числа);
 дата проведення (обов’язковий, дата);
 початок (обов’язковий, час);
 кінець (обов’язковий, час, похідний, рахується шляхом додавання початку
заняття (значення атрибуту «початок») та тривалості заняття (значення
атрибуту «тривалість» сутності «Категорії», до екземпляру якої належить
заняття));
 кількість вільних місць (обов’язковий, точні числа, похідний, рахується як
різниця між загальною кількістю місць на занятті (атрибут у сутності
«Заняття») та кількості цільових електронних перепусток на це заняття).
Мови:
 код (первинний ключ, автонумерація);
 назва (обов’язковий, текст).
Категорії:
 код (первинний ключ, автонумерація);
 найменування (обов’язковий, текст).
 ціна (обов’язковий, грошова одиниця);
 тривалість (обов’язковий, час).
Цільові електронні перепустки:
 код (первинний ключ, автонумерація);
 посадочний номер (обов’язковий, точні числа);
 номер аудиторії (обов’язковий, точні числа);
 присутність (обов’язковий, логічне значення).
Замовлення:

15
 код (первинний ключ, автонумерація);
 дата оформлення (обов’язковий, дата);
 час оформлення(обов’язковий, час);
 стан (обов’язковий, текст, приймає одне з трьох значень: зарезервований,
знятий (стан встановлюється, коли пройшло 2 години та замовлення не
придбали) та сплачено);
 сума до сплати (обов’язковий, похідний, рахується як сума цін за усі заняття
у замовленні).
Клієнти:
 код (первинний ключ, автонумерація);
 номер телефону (обов’язковий, текст);
 ПІБ (обов’язковий, складений):
o Прізвище (обов’язковий, текст);
o Ім’я (обов’язковий, текст);
o По батькові (обов’язковий, текст);
 електрона пошта (необов’язковий, текст).

2.1.1.3. Опис зв’язків

2.1.1.3.1. Зв’язок Клієнти – Замовлення

2.1.1.3.1.1. Позначення
Мнемонічне подання зі стислим визначенням: |Клієнти|-О-1---------n-|-|Замовлення|

2.1.1.3.1.2. Призначення
Клієнт може зробити замовлення, до якого будуть входити обрані ним заняття, які
він хоче відвідати.

2.1.1.3.1.3. Назва в АІС


Пряме відношення «… формує …», а зворотнє «… формує … ».

2.1.1.3.1.4. Потужність
Потужність один до багатьох, адже одне замовлення належить одному клієнту, але
одному клієнту належить багато різних замовлень.

2.1.1.3.1.5. Типи відповідності


a. прямий напрям: необов’язковий від «Клієнти» до «Замовлення», оскільки
клієнт міг ще не зробити замовлення.
b. Зворотній напрям: обов’язковий від «Замовлення» до «Клієнти», оскільки
кожне зроблене замовлення має клієнта, який його зробив.

2.1.1.3.2. Зв’язок Замовлення – Цільові електронні перепустки

2.1.1.3.2.1. Позначення
Мнемонічне подання зі стислим визначенням: |Замовлення |-О-1---------m-О-| Цільові
електронні перепустки|

2.1.1.3.2.2. Призначення
До замовлення можуть входити цільові електронні перепустки, кожна з яких
визначає місце в аудиторії.

2.1.1.3.2.3. Назва в АІС


Пряме відношення «в … входить …», а зворотнє «… входить до … ».
16
2.1.1.3.2.4. Потужність
Потужність один до багатьох, адже одна цільова електронна перепустка належить
одному замовленні, але в одному замовленні є багато різних цільових електронних
перепусток.

2.1.1.3.2.5. Типи відповідності


a. прямий напрям: необов’язковий від «Замовлення» до «Цільові електронні
перепустки», оскільки замовлення має цільові електронні перепустки лише
за наявності сплати за нього;
b. зворотній напрям: необов’язковий від «Цільові електронні перепустки» до
«Замовлення», оскільки може статись так, що цільову електронну
перепустку ніхто не додасть у своє замовлення.

2.1.1.3.3. Зв’язок Цільові електронні перепустки – Заняття

2.1.1.3.3.1. Позначення
Мнемонічне подання зі стислим визначенням: | Цільові електронні перепустки |-|-
n-------1-|-| Заняття|

2.1.1.3.3.2. Призначення
Одне заняття може відвідати скінчена кількість клієнтів, оскільки кількість місць в
аудиторії обмежена. Сутність «Цільові електронні перепустки» також дозволяє зручним
способом контролювати відвідуваність клієнтів на занятті.

2.1.1.3.3.3. Назва в АІС


Пряме відношення «… пропускає на …», а зворотнє «на … пропуск за … ».

2.1.1.3.3.4. Потужність
Потужність один до багатьох, адже одна цільова електронна перепустка дає дозвіл
пройти лише на одне заняття на конкретний посадочний номер, але на одне заняття
можуть пройти багато клієнтів за цільовими електронними перепустками.

2.1.1.3.3.5. Типи відповідності


a. прямий напрям: обов’язковий від «Цільові електронні перепустки» до
«Заняття», оскільки якщо існує перепустка, то у неї обов’язково існує
заняття, на яке вона дає пропуск;
b. Зворотній напрям: обов’язковий від «Заняття» до «Цільові електронні
перепустки», оскільки до кожного заняття є фіксована ненульова кількість
цільових електронних перепусток.

2.1.1.3.4. Зв’язок Заняття – Мови

2.1.1.3.4.1. Позначення
Мнемонічне подання зі стислим визначенням: | Заняття |-|-n---------1-|-| Мови|

2.1.1.3.4.2. Призначення
Кожне заняття проходить з якоїсь мови.

2.1.1.3.4.3. Назва в АІС


Пряме відношення «… викладається з …», а зворотнє «… викладається на … ».

17
2.1.1.3.4.4. Потужність
Потужність один до багатьох, адже одна мова викладається на багатьох заняттях, у
той час як одне заняття викладається з однієї мови (одне заняття присвячено одній мові).

2.1.1.3.4.5. Типи відповідності


a. прямий напрям: обов’язковий від «Заняття» до «Мови», оскільки якщо існує
заняття, воно обов’язково викладається з якоїсь мови;
b. зворотній напрям: обов’язковий від «Мови» до «Заняття», оскільки якщо
існує екземпляр типу сутності «Мови», то існують заняття, що ведуться з
нього (немає потреби зберігати мову, яка не викладається, тобто жодного
заняття з якої не проводиться).

2.1.1.3.5. Зв’язок Заняття – Вчителі

2.1.1.3.5.1. Позначення
Мнемонічне подання зі стислим визначенням: | Заняття |-|-k---------O-|-| Вчителі|

2.1.1.3.5.2. Призначення
Інформацію про вчителя додає директор з кадрових питань, за сумісництвом
відповідальний за навчальний процес. Він і назначає проводити заняття вчителів. Заняття
проводить один вчитель.

2.1.1.3.5.3. Назва в АІС


Пряме відношення «… проводить …», а зворотнє « … проводить… ».

2.1.1.3.5.4. Потужність
Потужність один до багатьох, адже одне заняття проводить один вчитель, але один
вчитель проводить багато занять.

2.1.1.3.5.5. Типи відповідності


a. прямий напрям: обов’язковий від «Заняття» до «Вчителі», оскільки до
кожного заняття закріплений вчитель, що його буде проводити.
b. зворотній напрям: необов’язковий від «Вчителі» до «Заняття», оскільки
вчитель міг тільки влаштуватись до школи, або його ще не закріпили до
жодного заняття.

2.1.1.3.6. Зв’язок Вчителі – Оголошення

2.1.1.3.6.1. Позначення
Мнемонічне подання зі стислим визначенням: | Вчителі |-О-1---------n-|-|Оголошення |

2.1.1.3.6.2. Призначення
Вчитель може розміщувати оголошення на головній сторінці за стосунку.

2.1.1.3.6.3. Назва в АІС


Пряме відношення «… публікує …», а зворотнє « … публікує… ».

2.1.1.3.6.4. Потужність
Потужність один до багатьох, адже один вчитель може опублікувати багато
оголошень, але конкретне оголошення публікує один вчитель.

18
2.1.1.3.6.5. Типи відповідності
a. прямий напрям: необов’язковий від «Вчителі» до «Оголошення», оскільки
вчитель може ще не розмістити оголошення;
b. зворотній напрям: обов’язковий від «Оголошення» до «Вчителі», оскільки
оголошення обов’язково має свого автора (вчителя, який опублікував дане
оголошення).

2.1.1.3.7. Зв’язок Заняття – Категорії

2.1.1.3.7.1. Позначення
Мнемонічне подання зі стислим визначенням: | Заняття |-|-m---------1-|-|Категорії |

2.1.1.3.7.2. Призначення
Заняття класифікуються за категоріями, що визначають ціну та тривалість заняття.

2.1.1.3.7.3. Назва в АІС


Пряме відношення «… належить до …», а зворотнє «до … належить… ».

2.1.1.3.7.4. Потужність
Потужність один до багатьох, адже одне заняття належить одній категорії, але до
однієї категорії належать багато занять.

2.1.1.3.7.5. Типи відповідності


a. прямий напрям: обов’язковий від «Заняття» до «Категорії», оскільки заняття
обов’язково належить до якоїсь категорії;
b. зворотній напрям: обов’язковий від «Категорії» до «Заняття», оскільки
немає потреби зберігати категорії, якщо заняття з даної категорії не
проводяться (до категорії обов’язково належать заняття, що проводяться);

2.1.1.3.8. Зв’язок Вчителі – Телефони

2.1.1.3.8.1. Позначення
Мнемонічне подання зі стислим визначенням: | Вчителі |-О-m---------n-О-| Телефони |

2.1.1.3.8.2. Призначення
У кожній аудиторії є стаціонарний телефон, яким може при необхідності
користуватись вчитель.

2.1.1.3.8.3. Назва в АІС


Пряме відношення «… користується …», а зворотнє «… користується… ».

2.1.1.3.8.4. Потужність
Потужність багато до багатьох, адже одним телефоном може користуватись багато
вчителів, і кожен вчитель може користуватись багатьма телефонами у аудиторіях.

2.1.1.3.8.5. Типи відповідності


a. прямий напрям: необов’язковий від «Вчителі» до «Телефони», оскільки
вчитель, що не провів жодного заняття не мав змоги користуватись
телефоном;
b. зворотній напрям: необов’язковий від «Телефони» до «Вчителі»,тому що:
1) покупка (додавання) нового телефону не вимагає миттєвого закріплення
за ним вчителів;

19
2) зберігається цілісність посилань (має бути наявна можливість видалити
вчителя, навіть якщо він був єдиним, хто користувався певним телефоном, у
якого після цього не буде прив'язаних до нього вчителів).

2.1.1.4. Перелік корпоративних обмежень цілісності


1. Кількість людей на одному занятті не може перевищувати 50 (оскільки найбільша
аудиторія у школі містить 50 місць).
2. Школа має 24 аудиторії, отже максимальний номер аудиторії становить 24.
3. Вчитель обов’язково має мати 1 номер телефону, 2 електронні пошти та активовану
банківську картку.
4. Кожне заняття проводить рівно 1 вчитель.
5. Ціна заняття у копійках завжди "00".
6. Тривалість заняття може приймати значення: 60 хв, 90 хв або 120 хв.
7. Один клієнт на одне заняття може замовити лише одну цільову перепустку (на своє
ім’я).
8. Мови, що викладаються у школі: англійська, німецька, французька.
9. Клієнт має мати один номер телефону.
10. Дата оформлення замовлення не може бути більшою за дату проведення кожного
заняття, що входить до нього.
11. Текст оголошення, що розміщує вчитель не може бути пустим, та складатись з
більш ніж 300 символів.

2.1.2. Реляційна модель даних


2.1.2.1. Таблиця № 1 «BUYERS»+«Клієнти»
BUYERS <-> сутність «Клієнти»
NULL / ON Пояснення (перехід
№ Ключ Ім’я атрибуту Тип ON UPDATE
NOT NULL DELETE від ER-моделі)
Autoinc
1 PK Buyer_id NOT NULL «Код»
rement
Varchar
2 Buyer_surname NOT NULL «Прізвище» з «ПІБ»
(20)
Varchar
3 Buyer_name NOT NULL «Ім’я» з «ПІБ»
(20)
Varchar «По-батькові» з
4 Buyer_fathname NOT NULL
(20) «ПІБ»
Varchar
5 Buyer_e_mail NULL «Електронна пошта»
(20)
Char
6 Buyer_phone NOT NULL «Номер телефону»
(10)
Сутність «Клієнт» є базовою для «Замовлення», тому первинний ключ стане
зовнішнім ключем для «Замовлення».

2.1.2.2. Таблиця № 2 «ORDERS»+«Замовлення»


ORDERS <-> сутність «Замовлення»
Ключ NULL / Пояснення (перехід
№ Ім’я атрибуту Тип ON DELETE ON UPDATE
NOT NULL від ER-моделі)
Autoinc
1 PK Order_id NOT NULL «Код»
rement
2 Order_date Date NOT NULL «Дата оформлення»
3 Order_time Time NOT NULL «Час оформлення»
4 Order_status Varchar NOT NULL «Стан»
20
(10)
Зв’язок між
сутностями
«Клієнти» та
«Замовлення». Не
видаляти
інформацію про
клієнта, якщо є
NO ACTION
5 FK Buyer_id Integer NOT NULL CASCADE замовлення, які до
нього відносяться.
Автоматично
оновлювати номер
телефону клієнта для
замовлення, якщо
змінився номер
телефону у клієнта.
Базова сутність для сутності «Цільові електронні перепустки» та підпорядкована для
сутності «Клієнт», тому має один зовнішній ключ.
Похідний атрибут
NULL/
№ Ім’я Тип Алгоритм/формула визначення значення атрибуту
NOT NULL
1 Summurry_price Currency NOT NULL Cума цін за усі заняття у замовленні

2.1.2.3. Таблиця № 3 «EPASS»+«Цільові електронні перепустки»


EPASS <-> сутність «Цільові електронні перепустки»
NULL / Пояснення (перехід
№ Ключ Ім’я атрибуту Тип ON DELETE ON UPDATE
NOT NULL від ER-моделі)
Autoinc
1 PK Epass_id NOT NULL «Код»
rement
2 Num_audit Integer NOT NULL «Номер аудиторії»
3 Num_sit Integer NOT NULL «Посадочний номер»
BOOL
4 Presence NOT NULL «Присутність»
EAN
5 FK Lesson_id Integer NOT NULL NO ACTION CASCADE Зв’язок між
сутностями «Цільові
електронні
перепустки» та
«Заняття».
Не видаляти
інформацію про
заняття, якщо є хоча
б одна цільова
електронна
перепустка на нього.
Автоматично
оновлювати номер
заняття для цільової
електронної
перепустки, якщо
змінився номер
21
заняття.
6 Зв’язок між
сутностями «Цільові
електронні
перепустки» та
«Замовлення».
Не видаляти
інформацію про
замовлення, якщо є
NO ACTION хоча б одна цільова
FK Order_id Integer NOT NULL CASCADE
електронна
перепустка у ньому.
Автоматично
оновлювати номер
замовлення для
цільової електронної
перепустки, якщо
змінився номер
замовлення.
Підпорядкована сутність для «Заняття» та «Замовлення», тому має два зовнішніх
ключі.
2.1.2.4. Таблиця № 4 «LESSONS»+«Заняття»
LESSONS <-> сутність «Заняття»
Тип
NULL / Пояснення (перехід
№ Ключ Ім’я атрибуту атрибу ON DELETE ON UPDATE
NOT NULL від ER-моделі)
ту
Autoinc
1 PK Lesson_id NOT NULL «Код»
rement
Varchar
2 Lesson_name NOT NULL «Тема»
(20)
3 Lesson_date Date NOT NULL «Дата проведення»
4 Lesson_time Time NOT NULL «Початок»
«Загальна кількість
5 Summary_num Integer NOT NULL
місць»
Зв’язок між
сутностями «Мови»
та «Заняття».
Не видаляти
інформацію про
NO ACTION мову, якщо є
6 FK Language_id Integer NOT NULL CASCADE
заняття, які
проводяться з цієї
мови. Автоматично
оновлювати код
мови у занятті, якщо
змінився код у мови.
7 FK Category_id Integer NOT NULL NO ACTION CASCADE Зв’язок між
сутностями
«Категорії» та
«Заняття».
Не видаляти
22
інформацію про
категорію, якщо є
заняття, що належать
до неї. Автоматично
оновлювати назву
категорії для даного
заняття, якщо
змінилось
найменування
категорії.
Зв’язок між
сутностями
«Вчителі» та
«Заняття».
Заборонити видаляти
інформацію про
вчителя, якщо є
8 FK Teach_id Integer NOT NULL NO ACTION CASCADE
заняття, що
закріплені за ним.
Автоматично
оновлювати запис
про вчителя у занятті
при оновленні коду
вчителя.
Ця сутність є базовою для сутності «Цільові електронні перепустки».
Підпорядкована сутність для сутностей «Мови», «Категорії», «Вчителі».
Похідні атрибути
NULL/
№ Ім’я Тип Алгоритм/формула визначення значення атрибуту
NOT NULL
Різниця між загальною кількістю місць на занятті
(атрибут у сутності «Заняття») та кількості
1 Current_num_seats Integer NOT NULL
цільових електронних перепусток на дане заняття,
що входять до замовлень (сплачених у замовленні)

додавання початку заняття (значення атрибуту


«початок») та тривалості заняття (значення
2 End_lesson Time NOT NULL
атрибуту «тривалість» сутності «Категорії», до
екземпляру якої належить заняття))

2.1.2.5. Таблиця № 5 «LANGUAGES»+«Мови»


LANGUAGES <-> сутність «Мови»
NULL / Пояснення (перехід
№ Ключ Ім’я атрибуту Тип ON DELETE ON UPDATE
NOT NULL від ER-моделі)
Autoinc
1 PK Language_id NOT NULL «Код»
rement
Varchar
2 Language_name NOT NULL «Назва»
(20)
Ця сутність є базовою для сутності «Заняття». Тому первинний ключ стане
зовнішнім ключем для «Заняття».

23
2.1.2.6. Таблиця № 6 «TEACHERS»+«Вчителі»
TEACHERS <-> сутність «Вчителі»
NULL / Пояснення (перехід
№ Ключ Ім’я атрибуту Тип ON DELETE ON UPDATE
NOT NULL від ER-моделі)
Autoinc
1 PK Teach_id NOT NULL «Код»
rement
Varchar
2 Teacher_name NOT NULL «Ім’я» з «ПІБ»
(20)
Teacher_surnam Varchar
3 NOT NULL «Прізвище» з «ПІБ»
e (20)
Teacher_fathna Varchar «По-батькові» з
4 NULL
me (20) «ПІБ»
Varchar
5 Education NOT NULL «Освіта»
(20)
Varchar «Банківські
6 Card_Number NOT NULL
(16) реквізити»
Компонент
Varchar
7 E_mail_one NOT NULL багатозначного
(20)
атрибуту «E-mail»
Компонент
Varchar
8 E_mail_sec NOT NULL багатозначного
(20)
атрибуту «E-mail»
Teach_pers_nu Char «Персональний
9 NOT NULL
mber (10) телефон»
Багатозначний атрибут «E_mail» розклався у два обов’язкових атрибути:
«E_mail_one» та «E_mail_sec». Є базовою сутністю для «Оголошення» та «Заняття», тому
первинний ключ стане зовнішнім ключем для «Оголошення» та «Заняття».

2.1.2.7. Таблиця № 7 «TEACH_USE_WORKPHONE»+ ««Вчителі» -


«Телефони»»

TEACH_USE_WORKPHONE
Допоміжна сутність
NULL /
№ Ключ Ім’я атрибуту Тип ON DELETE ON UPDATE Пояснення
NOT NULL
1 FK Phone_id Integer NOT NULL CASCADE CASCADE При видаленні
телефону видаляти
відповідні записи
про стаціонарний
телефон, що ним
можуть
користуються.
Автоматично
оновлювати номер
телефону у записах
PK вчителів, що ним
користуються.
24
При видаленні
вчителя, видаляти і
всі його зв'язки з
телефонами, до яких
він був раніше
прив'язаний
FK Teach_id Integer NOT NULL CASCADE CASCADE
Автоматично
оновлювати код
вчителя в записі
телефону, якщо
змінився код
вчителя.
Зв’язок сутностей «Вчитель» та «Заняття»

2.1.2.8. Таблиця № 8 «АNNOUNCEMENTS»+«Оголошення»


АNNOUNCEMENTS <-> сутність «Оголошення»

NULL / Пояснення (перехід


№ Ключ Ім’я атрибуту Тип ON DELETE ON UPDATE
NOT NULL від ER-моделі)

Autoinc
1 PK Announ_id NOT NULL «Код»
rement
Varchar
2 Announ_text NOT NULL «Текст»
(300)
3 Announ_data Date NOT NULL «Дата публікації»
4 Announ_time Time NOT NULL «Час публікації»
Зв’язок між
сутностями
«Вчителі» та
«Оголошення».
При видаленні
вчителя вказувати
SET
значення автора за
5 FK Teach_id Integer NOT NULL DEFAULT CASCADE
замовчуванням.
Автоматично
оновлювати номер
вчителя для даного
оголошення, якщо
змінився номер
вчителя.

2.1.2.9. Таблиця № 9 «CATEGORIES»+«Категорії»


СATEGORIES <-> сутність «Категорії»
NULL /
Ім’я ON ON Пояснення (перехід від
№ Ключ Тип NOT
атрибуту DELETE UPDATE ER-моделі)
NULL
Autoincre NOT
1 PK Category_id «Код»
ment NULL

25
Category Varchar NOT
2 «Найменування»
_name (20) NULL
Category NOT
3 Currency «Ціна»
_price NULL
NOT
4 Durability Time «Тривалість»
NULL
Ця сутність є базовою для сутності «Заняття». Тому первинний ключ стане
зовнішнім ключем для «Заняття».

2.1.2.10. Таблиця № 10 «PHONE_NUMBERS»+«Teлефони»


LANGUAGES <-> сутність «Мови»
NULL / Пояснення (перехід
№ Ключ Ім’я атрибуту Тип ON DELETE ON UPDATE
NOT NULL від ER-моделі)
Autoinc
1 PK Phone_id NOT NULL «Код»
rement
Varchar
2 Phone_number NOT NULL «Номер»
(10)

2.1.2.3. Обмеження цілісності.


2.1.2.3.1. Обмеження домену
Поняття цілісності домену у термінах реляційної теорії розуміється як те, що в
атрибуті містяться тільки допустимі дані. Допустимість знаходження в атрибуті порожніх
значень також входить в поняття цілісності домену.
Обмеження домену:
1. Телефонний номер має складатися з 10 цифр (атрибути: Buyer_phone,
Phone_number, Teach_pers_number).
2. Номер банківської картки має 16 цифр (атрибут: Card_Number).
3. Всі атрибути, що мають значення Integer повинні бути більше нуля.
4. Загальна кількість місць (атрибут Summary_num) не може бути більшою за
поточну кількість місць (атрибут Current_num_seats).
2.1.2.3.2. Цілісність посилань
Згідно з концепцією, запропонованою Дейтом, реляційна модель складається з трьох
частин: структурної, маніпуляційної та цілісної.
Вимога цілісності посилань. Атрибут називається зовнішнім ключем, якщо його
значення однозначно характеризують сутності, представлені кортежами деякого іншого
відношення, тобто описують їх первинного ключа. Вимога про цілісність посилань, яку
ще називають вимогою цілісності ключа: для кожного значення зовнішнього ключа, що
з'являється в відношенні, на яку веде посилання, повинен знайтися кортеж з таким же
значенням первинного ключа або значення зовнішнього ключа повинно бути
невизначеним. При видаленні кортежу з відносини існують три підходи підтримки
цілісності посилань:
1) Не дозволяється проводити видалення ключа, на який існують посилання, тобто
спочатку потрібно або видалити посилаються кортежу, або відповідним чином змінити
значення їх зовнішнього ключа.
2) При видаленні кортежу, на який використовуються посилання у всіх посилаються
кортежу, значення зовнішнього ключа автоматично стає невизначеним.
3) Каскадне видалення. При видаленні кортежу з відносини, на яку веде посилання і
посилається відношення, автоматично видаляються всі посилання картежу.
Для зовнішніх ключів вказано ON UPDATE(оновлення), ON DELETE(видалення).
26
2.1.2.3.3. Корпоративні (семантичні) обмеження цілісності.
1. Загальна кількість місць на занятті (атрибут Summary_num) менша або дорівнює
50.
2. Атрибут Num_sit (Посадочний номер) приймає значення від 1 до 50.
3. Номер аудиторії приймає значення від 0 до 24 (атрибут Num_audit).
4. Ціна заняття у копійках завжди "00" (ХХ.00₴).
5. Тривалість заняття (атрибут Durability) приймає одне зі значень: 60 хв, 90 хв або
120 хв.
6. Назва мови (атрибут Language_name) приймає одне зі значень: англійська,
німецька, французька.
7. Стан замовлення автоматично має змінюватись на "знятий", якщо через 2 години з
моменту замовлення стан не рівний "сплачено".

27
РОЗДІЛ 3. ВИСНОВКИ

На даному етапі роботи:


1) вивчено предметну область;
2) вивчені задачі мовної школи «JUST.Go Languages»;
3) проведені дослідження, спостереження, співбесіди та анкетування щодо роботи,
потреб мовної школи;
4) розроблено концептуальну модель даних;
5) розроблено реляційну модель даних;
6) визначено корпоративні обмеження даних.
Планується подальша розробка проекту цієї системи (розробка працездатного
продукту для мовної школи «JUST.Go Languages»).

28
РОЗДІЛ 4. ДОДАТКИ

29
РОЗДІЛ 5. ПЕРЕЛІК ВИКОРИСТАНИХ ДЖЕРЕЛ

1. К. Дж. Дейт. Введення у системи баз даних = An Introduction to Database


System, 7th Edition. — 7-е изд. — М.: Вільямс, 2001. — С. 1072. — ISBN 5-8459-0138-3.
2. Організація баз даних: практичний курс : Навч. посіб. для студ. / А. Ю. Берко,
О. М. Верес; Нац. ун-т "Львів. політехніка". - Л., 2003. - 149 c. - Бібліогр.: 8 назв.
3. http://posibnyky.vntu.edu.ua/database/gl_42.html [Інтернет-Ресурс]
4. Codd EF Relational Completeness of Data Base Sublanguages / Randall J. Rustin
(ed.). Data Base Systems, Courant Computer Science Symposia Series 6. Englewood Cliffs, NJ:
Prentice-Mali, 1972.

30

You might also like