Проектування бази даних. Нормалізація відношень. Формалізація зв’язків.
Навчитись проектувати базу даних. Здійснювати аналіз задач. Проводити нормалізацію відношень, формалізацію зв’язків.
Предметна область: облік відвідування занять студентами в навчальному закладі
Проектування БД складається з наступних етапів:
1. Постановка задачі.
Необхідно розробити БД, що забезпечує ведення обліку пропусків занять студентами. Пропуски занять можуть бути з поважних причин (при наявності довідки медичного закладу, заяви студента, пояснювальної записки чи наказу по навчальному закладу (для проходження медоглядів військкоматі, тощо)) або без поважних причин. Про студентів відомо ПІП, домашню адресу, телефони (домашній, мобільний (і)), контактна інформація про батьків, дата народження, вік, група, спеціальність, відділення, дата вступу, курс, куратор, зав відділення, в який день, яку пару пропустив. При розгляді даної предметної області допустимо що замін занять нема.
2. Аналіз основних задач.
БД повинна вирішувати такі задачі:
Введення даних про студента
Введення інформації про пропуски занять студентами
Перегляд інформації про пропуски занять
Підрахунок кількості пропущених годин студентом з поважної причини і без поважної причини (за тиждень, місяць, атестацію, семестр)
Підрахунок кількості пропущених годин студентами кожної групи з поважних причин і без поважних причин (за тиждень, місяць, атестацію, семестр)
Підрахунок кількості пропущених годин студентами кожного відділення з поважних причин і без поважних причин (за тиждень, місяць, атестацію, семестр)
Підрахунок пропусків на одного студента з поважних причин і без поважних причин (за тиждень, місяць, атестацію, семестр)
Підрахунок пропусків студентів по коледжу з поважних причин і без поважних причин (за тиждень, місяць, атестацію, семестр)
Вивід інформації про рейтинг груп за показниками відвідування занять
Передбачити можливість створення нових відділень, груп, спеціальностей
3. Послідовність виконання задач.
4. Аналіз структури даних.
Аналіз структури даних починається з переведення даних з формату джерела (наприклад, первинного документа) у формат двовимірної таблиці, що містить певну кількість рядків і стовпців.
Відділення |
Заввіділення |
Спеціальність |
група |
Дата вступу |
курс |
куратор |
№ студенського |
ПІП |
Дата |
вік |
Адреса |
телефон |
Батько |
телефон |
Дата |
день |
пара |
предмет |
пропуск |
документ |
Діагноз |
ПР |
Гуменна В.В. |
ПР |
ПР51 |
2005 |
4 |
Миколюк О.В. |
12547 |
Петров Іван Романович |
12.01.1990 |
19 |
Тернопільська обл., м.Тернопіль, вул.Озерна, 54,47 |
256984 0982564780 |
Петров Роман Васильович |
096 214 85 95 |
12.01.2009 |
понеділок |
1 |
Фізкультура |
поваж |
довідка |
ОРЗ |
ПР |
Гуменна В.В. |
ПР |
ПР51 |
2005 |
4 |
Миколюк О.В. |
12547 |
Петров Іван Романович |
12.01.1990 |
19 |
Тернопільська обл., м.Тернопіль, вул.Озерна, 54,47 |
256984 0982564780 |
Петров Роман Васильович |
096 214 85 95 |
12.01.2009 |
понеділок |
2 |
Політологія |
поваж |
довідка |
ОРЗ |
ПР |
Гуменна В.В. |
ПР |
ПР51 |
2005 |
4 |
Миколюк О.В. |
12547 |
Петров Іван Романович |
12.01.1990 |
19 |
Тернопільська обл., м.Тернопіль, вул.Озерна, 54,47 |
256984 0982564780 |
Петров Роман Васильович |
096 214 85 95 |
12.01.2009 |
понеділок |
3 |
ПАІС |
поваж |
довідка |
ОРЗ |
ПР |
Гуменна В.В. |
ПР |
ПР51 |
2005 |
4 |
Миколюк О.В. |
12556 |
Бах Роман Дмитрович |
25.04.1990 |
18 |
м. Хмельницький, Пр. Миру, 125,4 |
958471 09514587963 |
Бах Дмитро Олегович |
098 126 98 79 |
12.01.2009 |
понеділок |
1 |
Фізкультура |
поваж |
довідка |
ангіна |
ПР |
Гуменна В.В. |
ПР |
ПР51 |
2005 |
4 |
Миколюк О.В. |
12556 |
Бах Роман Дмитрович |
25.04.1990 |
18 |
м. Хмельницький, Пр. Миру, 125,4 |
958471 09514587963 |
Бах Дмитро Олегович |
098 126 98 79 |
12.01.2009 |
понеділок |
2 |
Політологія |
поваж |
довідка |
ангіна |
ПР |
Гуменна В.В. |
ПР |
ПР51 |
2005 |
4 |
Миколюк О.В. |
12556 |
Бах Роман Дмитрович |
25.04.1990 |
18 |
м. Хмельницький, Пр. Миру, 125,4 |
958471 09514587963 |
Бах Дмитро Олегович |
098 126 98 79 |
12.01.2009 |
понеділок |
3 |
ПАІС |
поваж |
довідка |
ангіна |
ПР |
Гуменна В.В. |
ПР |
ПР61 |
2006 |
3 |
Верхола С.О. |
13654 |
Гах Ольга Денисівна |
01.02.1991 |
17 |
Вінницька обл., м. Хмельник, вул. Садовая, 29 |
658984 0974584556 |
Гах Денис Сергійович |
068 598 54 24 |
13.01.2009 |
вівторок |
1 |
Числові методи |
неповажна |
|
|
ПР |
Гуменна В.В. |
ПР |
ПР61 |
2006 |
3 |
Верхола С.О. |
13654 |
Гах Ольга Денисівна |
02.02.1991 |
18 |
Вінницька обл., м. Хмельник, вул. Садовая, 30 |
658984 0974584557 |
Гах Денис Сергійович |
068 598 54 24 |
13.01.2009 |
вівторок |
2 |
ОС |
неповажна |
|
|
ПР |
Гуменна В.В. |
ПР |
ПР61 |
2006 |
3 |
Верхола С.О. |
13654 |
Гах Ольга Денисівна |
03.02.1991 |
19 |
Вінницька обл., м. Хмельник, вул. Садовая, 31 |
658984 0974584558 |
Гах Денис Сергійович |
068 598 54 24 |
13.01.2009 |
вівторок |
3 |
Політологія |
неповажна |
|
|
ПР |
Гуменна В.В. |
ПР |
ПР51 |
2005 |
4 |
Миколюк О.В. |
12547 |
Петров Іван Романович |
12.01.1990 |
19 |
Тернопільська обл., м.Тернопіль, вул.Озерна, 54,47 |
256984 0982564780 |
Петров Роман Васильович |
096 214 85 95 |
13.01.2009 |
вівторок |
1 |
Web програмування |
поваж |
довідка |
ОРЗ |
ПР |
Гуменна В.В. |
ПР |
ПР51 |
2005 |
4 |
Миколюк О.В. |
12547 |
Петров Іван Романович |
12.01.1990 |
19 |
Тернопільська обл., м.Тернопіль, вул.Озерна, 54,47 |
256984 0982564780 |
Петров Роман Васильович |
096 214 85 95 |
13.01.2009 |
вівторок |
2 |
Ліцензування |
поваж |
довідка |
ОРЗ |
ПР |
Гуменна В.В. |
ПР |
ПР51 |
2005 |
4 |
Миколюк О.В. |
12547 |
Петров Іван Романович |
12.01.1990 |
19 |
Тернопільська обл., м.Тернопіль, вул.Озерна, 54,47 |
256984 0982564780 |
Петров Роман Васильович |
096 214 85 95 |
13.01.2009 |
вівторок |
3 |
ПАІС |
поваж |
довідка |
ОРЗ |
КС |
Сівко А.Ф. |
КІСМ |
КС51 |
2005 |
4 |
Паракуда Г.В. |
12789 |
Куц Микола Андрійович |
31.12.1989 |
19 |
м. Хмельницький, вул. Театральна, 78,6 |
874595 0682874550 |
Куц Андрій Миколайович |
092 478 65 14 |
13.01.2009 |
вівторок |
1 |
Фізкультура |
поваж |
заява |
|
КС |
Сівко А.Ф. |
КІСМ |
КС51 |
2005 |
4 |
Паракуда Г.В. |
12789 |
Куц Микола Андрійович |
31.12.1989 |
19 |
м. Хмельницький, вул. Театральна, 78,6 |
874595 0682874550 |
Куц Андрій Миколайович |
092 478 65 14 |
13.01.2009 |
вівторок |
2 |
Психологія |
поваж |
заява |
|
КС |
Сівко А.Ф. |
КІСМ |
КС51 |
2005 |
4 |
Паракуда Г.В. |
12789 |
Куц Микола Андрійович |
31.12.1989 |
19 |
м. Хмельницький, вул. Театральна, 78,6 |
874595 0682874550 |
Куц Андрій Миколайович |
092 478 65 14 |
13.01.2009 |
вівторок |
3 |
Охорона праці |
поваж |
заява |
|
КС |
Сівко А.Ф. |
КІСМ |
КС61 |
2006 |
4 |
Багас Л.М. |
13987 |
Жук Наталя Андріївна |
21.12.1991 |
18 |
м. Хмельницький, вул. Трудова, 18,69 |
587994 068 547444 |
Жук Андрій Федорович |
094 258 91 36 |
14.01.2009 |
середа |
1 |
Архітектура |
поваж |
довідка |
стомат |
КС |
Сівко А.Ф. |
КІСМ |
КС61 |
2006 |
4 |
Багас Л.М. |
13987 |
Жук Наталя Андріївна |
22.12.1991 |
18 |
м. Хмельницький, вул. Трудова, 18,70 |
587994 068 547445 |
Жук Андрій Федорович |
094 258 91 37 |
15.01.2009 |
четвер |
2 |
Економічна теорія |
поваж |
довідка |
стомат |
КС |
Сівко А.Ф. |
КІСМ |
КС61 |
2006 |
4 |
Багас Л.М. |
13987 |
Жук Наталя Андріївна |
23.12.1991 |
18 |
м. Хмельницький, вул. Трудова, 18,71 |
587994 068 547446 |
Жук Андрій Федорович |
094 258 91 38 |
16.01.2009 |
п'ятниця |
3 |
Соціологія |
поваж |
довідка |
стомат |
Структура реляційних відношень має бути оптимальною, тобто такою, яка є найбільш стійкою при внесенні змін у дані. У нашому відношенні можуть виникнути аномалії пов’язані з:
поновленням, так зміна заввідділення призведе до необхідності внесення змін по кожному студенту.
поповненням, при вступі нового студента, необхідно вносити в БД відомості не лише про нього, а й про відділення, спеціальність, групу, куратора і т.д.
вилученням даних, при спробі вилучення даних про студентку Жук Наталію, яка в групі поки що одна, зникне інформація про групу КС61.
надлишковістю, відомості про відділення, спеціальність, групу, куратора і т. д. Повторюються в ряді кортежів
Виконання нормалізації цього відношення дозволяє позбутися вище означених аномалій.