Логічне проектування

У якості логічній моделі бази даних була обрана реляційна модель, оскільки саме реляційна модель використовується у більшості розвинених СКБД.

Для перетворення концептуальної моделі, представленої у вигляді мови ER–моделювання, у реляційну модель, був використаний наступний алгоритм.

· Крок 1. Перетворення сутностей у таблиці. Кожна сутність перетворюється у таблицю. Ім’я сутності представляється у вигляді семантично осмисленого імені у латинському алфавіті.

· Крок 2. Перетворення атрибутів у стовпці. Кожний атрибут перетвориться в стовпець. Ім’я атрибуту представляється у вигляді семантично осмисленого імені у латинському алфавіті. У цей момент уточнюється формат представлення значень стовпця. Факультативні атрибути стають NULL-стовпцями. Обов'язкові атрибути стають NOT NULL-стовпцями.

· Крок 3. Подання унікальних ідентифікаторів ключами таблиць. Складові унікального ідентифікатора сутності стають первинним ключем таблиці. Нагадаємо, що сутність може мати більш ніж один унікальний ідентифікатор Тому вибирається той, котрий використовується найбільше часто. Всі інші унікальні ідентифікатори приймають обмеження цілісності UNIQUE NOT та NOT NULL.

 

Рис. Концептуальна ER-модель проходження практики студентами

Сутність може унікально ідентифікуватися комбінацією атрибутів і/або зв'язків. При використанні в ідентифікаторі сутності зв'язку до складу первинного ключа включається зовнішній ключ, який посилається на ту таблицю, з якою пов’язаний той або інший зв’язок.

· Крок 4. Перетворення зв'язків багато-до-одного й один-до-одного в зовнішні ключі. Зв'язки типу багато-до-одного й один-до-одного породжують зовнішні ключі. Інакше кажучи, необхідно взяти унікальні ідентифікатори кожної сутності, розташованої в закінчення зв'язку зі ступенем один, і ввести його у відношення, розташоване з боку зв'язку "багато" як стовпці. Факультативним зв'язкам відповідають NULL-стовпці. Обов'язковим зв'язкам відповідають NOT NULL-стовпці.

· Крок 5. Введення спеціальних первинних ключів. Для більш адекватного відображення логічного проекту бази даних у фізичний, вводимо у всі таблиці один спеціальний стовпець з обмеженням цілісності первинного ключа. Всі ті стовпці, які мають властивість первинного ключа згідно з концептуальною моделлю, набувають обмеження цілісності UNIQUE та NOT NULL.

Повна логічна база даних на основі концептуальної моделі з урахуванням обмежень цілісності та наведеного вище алгоритму детально представлена в наступних таблицях.

Таблиця 1. Відношення сутностіНАВЧАЛЬНИЙ ПЛАН

EDU_PLAN

Ім’я стовпця Тип Дов­жина Призначення Обмеження цілісності стовпців
EPID ціле число Унікальний ID Первинний ключ
Num строка Номер навч. плану Унікальний, обов’язковий
Ass_date дата   Дата затвердження Обов’язковий
Prs строка Особа, що затвердила Обов’язковий
SPID ціле число Зв’язок зі спеціальністю Зовнішній ключ, що посилається на первин­ний ключ відношення SPECIALITY. Обов’язковий

 

Таблиця 2. Відношення сутностіЗАПЛАНОВАНА ПРАКТИКА

PLAN_PRACTICE

Ім’я стовпця Тип Дов­жина Призначення Обмеження цілісності стовпців
PPID ціле число Унікальний ID Первинний ключ
Dur_type строка Одиниці виміру термі­ну проходження прак­ти­ки. Приймає значен­ня „Д”–дні, „Т”–тижні Обов’язковий
Duration ціле число Термін проходження пра­к­тики Обов’язковий
QLID ціле число Зв’язок з кваліфікацій­ним рівнем Зовнішній ключ, що посилається на первин­ний ключ відношення QUALI_LEVEL. Обов’язковий
CUID ціле число Зв’язок з курсом Зовнішній ключ, що посилається на первин­ний ключ відношення COURSE. Обов’язковий
PTID ціле число Зв’язок з видом практи­ки Зовнішній ключ, що посилається на первин­ний ключ відношення PRAC_TYPE. Обов’язковий
EPID ціле число Зв’язок з навчальним пла­ном Зовнішній ключ, що посилається на первин­ний ключ відношення EDU_PLAN. Обов’язковий
Обмеження цілісності таблиці Сукупність стовпців (CUID, EPID) має обмеження унікальності та обов’язковості.

Таблиця 3. Відношення сутностіВИД ПРАКТИКИ

PRAC_TYPE

Ім’я стовпця Тип Дов­жина Призначення Обмеження цілісності стовпців
PTID ціле число Унікальний ID Первинний ключ
Name строка Назва практики Унікальний, обов’язковий. Прий­має значення: схемотехнічна; ком­п’ютерна; тех­но­ло­гічна; експ­лу­ата­ційна (для спеціалістів нау­ково-дослідна (для магістрів).
Descr строка Змістовний опис Факультативний

 

Таблиця 4. Відношення сутностіКВАЛІФІКАЦІЙНИЙ РІВЕНЬ

QUALI_LEVEL

Ім’я стовпця Тип Дов­жина Призначення Обмеження цілісності стовпців
QLID ціле число Унікальний ID Первинний ключ
Name строка Назва кваліфікаційного рівня Унікальний, обов’язковий. Прий­має значення: бакалавр; спеціа­ліст; магістр.
Descr строка Змістовний опис Факультативний
CUID ціле число Зв’язок з курсом Зовнішній ключ, що посилається на первин­ний ключ відношення COURSE. Обов’язковий

 

Таблиця 5. Відношення сутностіСПЕЦІАЛЬНІСТЬ

SPECIALITY

Ім’я стовпця Тип Дов­жина Призначення Обмеження цілісності стовпців
SPID ціле число Унікальний ID Первинний ключ
Num строка Номер спеціальності Унікальний, обов’язковий.
Name строка Назва спеціальності Обов’язковий

 

Таблиця 6. Відношення сутностіКУРС

COURSE

Ім’я стовпця Тип Дов­жина Призначення Обмеження цілісності стовпців
CUID ціле число Унікальний ID Первинний ключ
Num ціле число Номер курсу Унікальний, обов’язковий. Прий­має значення: 1-6.
Descr строка Змістовний опис Факультативний

 

Таблиця 7. Відношення сутностіВУЗ

UNIVERSITY

Ім’я стовпця Тип Дов­жина Призначення Обмеження цілісності стовпців
UNID ціле число Унікальний ID Первинний ключ
Short_Name строка Скорочена назва ВУЗу Факультативний.
Long_Name строка Повна назва ВУЗу Обов’язковий, унікальний
Address строка Адреса ВУЗу Факультативний
Rector строка ПІБ ректора Обов’язковий, унікальний

Таблиця 8. Відношення сутностіІНСТИТУТ

INSTITUTE

Ім’я стовпця Тип Дов­жина Призначення Обмеження цілісності стовпців
INID ціле число Унікальний ID Первинний ключ
Short_Name строка Скорочена назва Факультативний.
Long_Name строка Повна назва Обов’язковий, унікальний
Director строка ПІБ директора Обов’язковий, унікальний
UNID ціле число Зв’язок з ВУЗом Зовнішній ключ, що посилається на первин­ний ключ відношення UNIVERSITY. Обов’язковий

 

return false">ссылка скрыта

Таблиця 9. Відношення сутностіФАКУЛЬТЕТ

FACULTY

Ім’я стовпця Тип Дов­жина Призначення Обмеження цілісності стовпців
FAID ціле число Унікальний ID Первинний ключ
Short_Name строка Скорочена назва Факультативний.
Long_Name строка Повна назва Обов’язковий, унікальний
Dean строка ПІБ декана Обов’язковий, унікальний
UNID ціле число Зв’язок з ВУЗом Зовнішній ключ, що посилається на первин­ний ключ відношення UNIVERSITY. Факультативний
INID ціле число Зв’язок з інститутом Зовнішній ключ, що посилається на первин­ний ключ відношення INSTITUTE,. Факультативний
FKType строка   Признак, кому належить факультет, ВУЗу або інституту Приймає значення: „У”, якщо факультет належить UNIVERSI­TY, або “І”, якщо факультет належить INSTITUTE

 

Таблиця 10. Відношення сутностіКАФЕДРА

DEPARTMENT

Ім’я стовпця Тип Дов­жина Призначення Обмеження цілісності стовпців
DEID ціле число Унікальний ID Первинний ключ
Short_Name строка Скорочена назва Факультативний.
Long_Name строка Повна назва Обов’язковий, унікальний
Head строка ПІБ завідувача Обов’язковий, факультативний
FAID ціле число Зв’язок з факультетом Зовнішній ключ, що посилається на первин­ний ключ відношення FACILTY. Обов’язковий

Таблиця 11. Відношення сутностіГРУПА

STGROUP

Ім’я стовпця Тип Дов­жина Призначення Обмеження цілісності стовпців
GRID ціле число Унікальний ID Первинний ключ
Num строка Номер групи Обов’язковий, унікальний у межах факультету
Descr строка Змістовний опис групи Факультативний
DEID ціле число Зв’язок з кафедрою Зовнішній ключ, що посилається на первин­ний ключ відношення DEPARTMENT. Обов’язковий
CUID ціле число Зв’язок з курсом Зовнішній ключ, що посилається на первин­ний ключ відношення COURSE. Обов’язковий

 

Таблиця 12. Відношення сутностіСТУДЕНТ

STUDENT

Ім’я стовпця Тип Дов­жина Призначення Обмеження цілісності стовпців
STID ціле число Унікальний ID Первинний ключ
Last_name строка Прізвище Обов’язковий
Name строка Ім’я Обов’язковий
Patro_name строка По батькові Обов’язковий
Num строка Номер студентського квитка Обов’язковий, унікальний
Birthday дата   Дата народження Обов’язковий
Year ціле число Рік вступу у ВУЗ Обов’язковий
Country строка Країна мешкання Обов’язковий
Contract строка Навчання за контрактом Обов’язковий. „T” – навчання за контрактом, „H” - ні
External строка Навчання екстерном Обов’язковий. „T” – навчання екстерном, „H” - ні
GRID ціле число Зв’язок з групою Зовнішній ключ, що посилається на первин­ний ключ відношення STGROUP. Обов’язковий

 

Таблиця 13. Відношення сутностіБАЗА ПРАКТИКИ

COMPANY

Ім’я стовпця Тип Дов­жина Призначення Обмеження цілісності стовпців
COID ціле число Унікальний ID Первинний ключ
Num строка Реєстровий номер Обов’язковий, унікальний
Name строка Назва Обов’язковий
Head строка ПІБ керівника Обов’язковий
Post строка Посада керівника Обов’язковий
Address строка Адреса Факультативний

 

Таблиця 14. Відношення сутностіДОГОВІР

AGREEMENT

Ім’я стовпця Тип Дов­жина Призначення Обмеження цілісності стовпців
AGID ціле число Унікальний ID Первинний ключ
Num строка Номер договору Обов’язковий, унікальний
AssDate дата   Дата підписання Обов’язковий
St_num ціле число Кількість студентів Обов’язковий
From_date дата   Дата початку практики Обов’язковий
To_date дата   Дата закінчення практики Обов’язковий
COID ціле число Зв’язок з базою практики Зовнішній ключ, що посилається на первин­ний ключ відношення COMPANY. Обов’язковий
FAID ціле число Зв’язок з кафедрою Зовнішній ключ, що посилається на первин­ний ключ відношення FACULTY. Обов’язковий

Таблиця 15. Відношення сутностіКЕРІВНИК

TUTOR

Ім’я стовпця Тип Дов­жина Призначення Обмеження цілісності стовпців
TUID ціле число Унікальний ID Первинний ключ
Name строка ПІБ керівника Обов’язковий
Post строка Посада Факультативний
Address строка Адреса Факультативний
Pas_ser строка Серія паспорту Обов’язковий
Pas_ num строка Номер паспорту Обов’язковий
Обмеження цілісності таблиці Сукупність стовпців (PasSer, PasNum) має обмеження унікальності.

Таблиця 16. Відношення сутностіПРАКТИКА СТУДЕНТА

STUD_PRACTICE

Ім’я стовпця Тип Дов­жина Призначення Обмеження цілісності стовпців
SPID ціле число Унікальний ID Первинний ключ
Duration ціле число Термін проходження практики у днях Обов’язковий
In_date дата   Дата початку практики Обов’язковий
Out_date дата   Дата закінчен. практики Обов’язковий
Mark ціле число Оцінка Факультативний, Приймає значен­ня у інтервалі 1 — 5
STID ціле число Зв’язок з студентом Зовнішній ключ, що посилається на первин­ний ключ відношення STUDENT. Обов’язковий
TUFID ціле число Зв’язок з керівником від факультету Зовнішній ключ, що посилається на первин­ний ключ відношення TUTOR. Обов’язковий
TUCID ціле число Зв’язок з керівником від бази практики Зовнішній ключ, що посилається на первин­ний ключ відношення TUTOR. Обов’язковий
AGID ціле число Зв’язок з договором, згідно з яким проходила практика Зовнішній ключ, що посилається на первин­ний ключ відношення AGREEMENT. Факультативний
PPID ціле число Зв’язок з запланованою практикою Зовнішній ключ, що посилається на первин­ний ключ відношення PLAN_PRACTICE. Обов’язковий  
Обмеження цілісності таблиці Сукупність стовпців (STID, PPID) має обмеження унікальності та обов’язковості.

 

Таблиця 17. Відношення сутностіЗВІТ

REPORT

Ім’я стовпця Тип Дов­жина Призначення Обмеження цілісності стовпців
REID ціле число Унікальний ID Первинний ключ
Text строка 30КБ Текст звіту Обов’язковий
SPID ціле число Зв’язок з практикою студента Зовнішній ключ, що посилається на первин­ний ключ відношення STUD_PRACTICE. Обов’язковий та унікальний