- •Стратегія автоматизації предметної області Загальні положення
- •Мета, цілі та задачі створення бази даних
- •Вимоги до інформаційного забезпечення
- •Аналіз предметної області Загальні положення системного аналізу пз
- •Загальні положення вступу до вуЗу (Національного авіаційного університету)
- •Системний аналіз предметної області
- •Сутність вуз
- •Сутність Інститут
- •Сутність Кафедра
- •Сутність Спеціальність
- •Сутність Факультет
- •Сутність Заява
- •Сутність Член комісії
- •Сутність Вступник
- •Сутність Сертифікат зно
- •Сутність Атестат
- •Сутність Дисципліна
- •Сутність Вид фінансування
- •Сутність Співбесіда
- •Інформаційно-довідкові задачі
- •Концептуальне моделювання предметної області Теоретичні положення концептуального моделювання
- •Мова er—моделювання по
- •Побудова концептуальної моделі приймальної комісії в вуЗі
- •Логічне та фізичне проектування бази даних
- •Логічне проектування
- •Фізичне проектування
- •Скрипти створення бази даних
- •Інформаційно–пошукові запити
- •Інформаційні запити, що пов’язані зі вступом до вуЗу (вступниками)
- •Інформація організаційного характеру
- •Інформація про членів приймальної комісії
- •Висновки
Побудова концептуальної моделі приймальної комісії в вуЗі
На основі проведеного аналізу предметної області була побудована концептуальна модель з використанням мови ER–моделювання. Концептуальна модель наведена на рис.6. Дамо декілька зауважень:
По–перше, ця модель не містить опису атрибутів сутностей у зв’язку з відсутністю місця для їх зображення. Передбачається, що атрибути сутностей разом з їх властивостями (бізнес–правилами) детально описані на етапі аналізу.
По–друге, мова ER–моделювання не передбачає детального представлення інформаційно–довідкових задач. Ми припускаємо, що вони мають звичайний текстовий опис, який представлений на етапі аналізу.
І, по-третє, наша концептуальна модель не містить інших складових, а саме, докладний і строгий опис сховищ даних, та детальний опис потоків даних. Це не було зроблено, так як опис цих складових концептуальної моделі виходить за рамки курсової роботи.
Логічне та фізичне проектування бази даних
Завдання цього етапу полягає у проведенні логічного та фізичного проектування бази даних.
Логічне проектування — це розробка логічної структури системи баз даних без прив'язки до конкретної СУБД, структур збереження, методам доступу і т.д..
Фізичне проектування – це проект системи бази даних для конкретної СКБД. Під час виконання даного етапу модель сутностей і зв'язків перетворюється в схему бази даних і специфікації позамашинного збереження.
Логічне проектування
У якості логічній моделі бази даних була обрана реляційна модель, оскільки саме реляційна модель використовується у більшості розвинених СУБД.
Для перетворення концептуальної моделі, представленої у вигляді мови
ER–моделювання, у реляційну модель, був використаний наступний алгоритм.
Перетворення сутностей у таблиці. Кожна сутність перетворюється у таблицю. Ім’я сутності представляється у вигляді семантично осмисленого імені у латинському алфавіті.
Перетворення атрибутів у стовпці. Кожний атрибут перетвориться в стовпець. Ім’я атрибуту представляється у вигляді семантично осмисленого імені у латинському алфавіті. У цей момент уточнюється формат представлення значень стовпця. Факультативні атрибути стають NULL-стовпцями. Обов'язкові атрибути стають NOT NULL-стовпцями.
Подання унікальних ідентифікаторів ключами таблиць. Складові унікального ідентифікатора сутності стають первинним ключем таблиці. Нагадаємо, що сутність може мати більш ніж один унікальний ідентифікатор Тому вибирається той, котрий використовується найбільше часто. Всі інші унікальні ідентифікатори приймають обмеження цілісності UNIQUE NOT та NOT NULL.
Рисунок 6 Концептуальна ER-модель вступу до ВУЗу
Сутність може унікально ідентифікуватися комбінацією атрибутів і/або зв'язків. При використанні в ідентифікаторі сутності зв'язку до складу первинного ключа включається зовнішній ключ, який посилається на ту таблицю, з якою пов’язаний той або інший зв’язок.
Перетворення зв'язків багато-до-одного й один-до-одного в зовнішні ключі. Зв'язки типу багато-до-одного й один-до-одного породжують зовнішні ключі. Інакше кажучи, необхідно взяти унікальні ідентифікатори кожної сутності, розташованої в закінчення зв'язку зі ступенем один, і ввести його у відношення, розташоване з боку зв'язку "багато" як стовпці. Факультативним зв'язкам відповідають NULL-стовпці. Обов'язковим зв'язкам відповідають NOT NULL-стовпці.
Введення спеціальних первинних ключів. Для більш адекватного відображення логічного проекту бази даних у фізичний, вводимо у всі таблиці один спеціальний стовпець з обмеженням цілісності первинного ключа. Всі ті стовпці, які мають властивість первинного ключа згідно з концептуальною моделлю, набувають обмеження цілісності UNIQUE та NOT NULL.
Повна логічна база даних на основі концептуальної моделі з урахуванням обмежень цілісності та наведеного вище алгоритму детально представлена в наступних таблицях.
Таблиця 1 Відношення сутності ВУЗ(UNIVERSITY)
Ім’я стовпця |
Тип |
Довжина |
Призначення |
Обмеження цілісності стовпців |
Uniq |
ціле число |
10 |
Унікальний ID |
Первинний ключ |
ShName |
строка |
10 |
Скорочена назва ВУЗу |
Факультативний |
LName |
строка |
50 |
Повна назва ВУЗу |
Обов’язковий, унікальний |
Addr |
строка |
50 |
Адреса ВУЗу |
Факультативний |
Rector |
строка |
30 |
П.І.Б. ректора |
Обов’язковий, унікальний |
Таблиця 2 Відношення сутності ІНСТИТУТ (INSTITUTE)
Ім’я стовпця |
Тип |
Довжина |
Призначення |
Обмеження цілісності стовпців |
Iniq |
ціле число |
10 |
Унікальний ID |
Первинний ключ |
ShName |
строка |
10 |
Скорочена назва |
Факультативний. |
LName |
строка |
50 |
Повна назва |
Обов’язковий, унікальний |
Director |
строка |
30 |
П.І.Б. директора |
Обов’язковий, унікальний |
Uniq |
ціле число |
10 |
Зв’язок з ВУЗом |
Зовнішній ключ, що посилається на первинний ключ відношення UNIVERSITY. Обов’язковий |
Таблиця 3 Відношення сутності ФАКУЛЬТЕТ (FACULTY)
Ім’я стовпця |
Тип |
Довжина |
Призначення |
Обмеження цілісності стовпців |
Funiq |
ціле число |
10 |
Унікальний ID |
Первинний ключ |
ShName |
строка |
10 |
Скорочена назва |
Факультативний. |
LName |
строка |
50 |
Повна назва |
Обов’язковий, унікальний |
Dekan |
строка |
30 |
П.І.Б. декана |
Обов’язковий, унікальний |
Uniq |
ціле число |
10 |
Зв’язок з ВУЗом |
Зовнішній ключ, що посилається на первинний ключ відношення UNIVERSITY. Факультативний |
Iniq |
ціле число |
10 |
Зв’язок з інститутом |
Зовнішній ключ, що посилається на первинний ключ відношення INSTITUTE,. Факультативний |
FKType |
строка |
1 |
Ознака, кому належить факультет: ВУЗу або інституту |
Приймає значення: „U”, якщо факультет належить UNIVERSITY, або “I”, якщо факультет належить INSTITUTE |
Таблиця 4 Відношення сутності КАФЕДРА (DEPARTMENT)
Ім’я стовпця |
Тип |
Довжина |
Призначення |
Обмеження цілісності стовпців |
Duniq |
ціле число |
10 |
Унікальний ID |
Первинний ключ |
ShName |
строка |
10 |
Скорочена назва |
Факультативний. |
LName |
строка |
50 |
Повна назва |
Обов’язковий, унікальний |
Mgr |
строка |
30 |
П.І.Б завідувача |
Обов’язковий, факультативний |
Funiq |
ціле число |
10 |
Зв’язок з факультетом |
Зовнішній ключ, що посилається на первинний ключ відношення FACULTY. Обов’язковий |
Таблиця 5 Відношення сутності СПЕЦІАЛЬНІСТЬ (specialty)
Ім’я стовпця |
Тип |
Довжина |
Призначення |
Обмеження цілісності стовпців |
SpecUniq |
строка |
10 |
Унікальний ID. Скорочена назва СПЕЦІАЛЬНОСТІ в числовому вигляді (наприклад: 6.050101) |
Первинний ключ |
LName |
строка |
50 |
Повна назва СПЕЦІАЛЬНОСТІ (наприклад: Програмна інженерія) |
Обов’язковий, унікальний |
LangLearn |
строка |
50 |
Мова навчання (наприклад, українська, російська, англійська) |
Факультативний |
NumStud |
ціле число |
10 |
Кількість студентів на спеціальності |
Факультативний |
Duniq |
ціле число |
10 |
Зв’язок з кафедрою |
Зовнішній ключ, що посилається на первинний ключ відношення DEPARTMENT.Обов’язковий |
Таблиця 6 Відношення сутності ЗАЯВА (statement)
Ім’я стовпця |
Тип |
Довжина |
Призначення |
Обмеження цілісності стовпців |
StatUniq
|
строка |
10 |
Унікальний ID. Номер заяви в числовому вигляді |
Первинний ключ |
DataStat |
дата |
|
Дата подання заяви |
Обов’язковий |
FormStudy |
строка |
50 |
Форма навчання |
Обов’язковий(денна – “D”, заочна – “Z”, дистанційна – “DYST”) |
SpecUniq |
строка |
10 |
Зв’язок зі спеціальністю |
Зовнішній ключ, що посилається на первинний ключ відношення specialty.Обов’язковий |
MemUniq |
ціле число |
10 |
Зв’язок з членом комісії |
Зовнішній ключ, що посилається на первинний ключ відношення mEMBER_COMMISSION.Обов’язковий |
MatrUniq |
ціле число |
10 |
Зв’язок зі вступником |
Зовнішній ключ, що посилається на первинний ключ відношення matriculant.Обов’язковий |
Таблиця 7 Відношення сутності ЧЛЕН КОМІСІЇ (mEMBER_COMMISSION)
Ім’я стовпця |
Тип |
Довжина |
Призначення |
Обмеження цілісності стовпців |
MemUniq |
ціле число |
10 |
Унікальний ID. Ідентифікаційний код |
Первинний ключ |
LName |
Строка |
30 |
Прізвище |
Обов’язковий |
Name |
строка |
20 |
Ім’я |
Обов’язковий |
PatroName |
строка |
20 |
По батькові |
Обов’язковий |
Addr |
строка |
70 |
Адреса проживання |
Обов’язковий |
Birthday |
дата |
|
Дата народження |
Обов’язковий |
Year |
ціле число |
4 |
Рік вступу у ВУЗ |
Обов’язковий |
Sex |
строка |
1 |
Стать |
Обов’язковий. „M” – чоловіча, „W” – жіноча. |
Passport |
строка |
10 |
Серія та номер паспорту |
Обов’язковий, унікальний |
Tel |
строка |
15 |
Контактний телефон |
Обов’язковий, унікальний |
PostMem |
строка |
10 |
Посада у ВУЗі |
Обов’язковий. „Assistant” – асистент, „ docent” – доцент, „Dr” – доктор наук, „director” – директор інституту, „dekan” – декан факультету. |
StatUniq
|
строка |
10 |
Зв’язок із заявою |
Зовнішній ключ, що посилається на первинний ключ відношення statement. Обов’язковий |
InterUniq |
ціле число |
10 |
Зв’язок зі співбесідою |
Зовнішній ключ, що посилається на первинний ключ відношення INTERVIEW. Обов’язковий |
Таблиця 8 Відношення сутності ВСТУПНИК (matriculant)
Ім’я стовпця |
Тип |
Довжина |
Призначення |
Обмеження цілісності стовпців |
MatrUniq |
ціле число |
10 |
Унікальний ID. Ідентифікаційний код |
Первинний ключ |
LName |
Строка |
30 |
Прізвище |
Обов’язковий |
Name |
Строка |
20 |
Ім’я |
Обов’язковий |
PatroName |
Строка |
20 |
По батькові |
Обов’язковий |
Addr |
Строка |
70 |
Адреса проживання |
Обов’язковий |
Birthday |
Дата |
|
Дата народження |
Обов’язковий |
Year |
ціле число |
4 |
Рік вступу у ВУЗ |
Обов’язковий |
Sex |
Строка |
1 |
Стать |
Обов’язковий. „M” – чоловіча, „W” – жіноча. |
Passport |
Строка |
10 |
Серія та номер паспорту |
Обов’язковий, унікальний |
Tel |
Строка |
15 |
Контактний телефон |
Обов’язковий, унікальний |
Hostel |
Строка |
3 |
Потреба в гуртожитку |
Обов’язковий. „Yes” – так, „No” – ні. |
StatUniq
|
Строка |
10 |
Зв’язок із заявою |
Зовнішній ключ, що посилається на первинний ключ відношення statement. Обов’язковий |
NumbSchCert |
ціле число |
10 |
Зв'язок із атестатом |
Зовнішній ключ, що посилається на первинний ключ відношення SCHOOL_CERTIFICATE. Обов’язковий |
CertNum |
ціле число |
10 |
Зв’язок з сертифікатом ЗНО |
Зовнішній ключ, що посилається на первинний ключ відношення certificate.Обов’язковий |
FinUniq |
ціле число |
10 |
Зв’язок з видом фінансування |
Зовнішній ключ, що посилається на первинний ключ відношення FINANCE_TYPE. Обов’язковий |
InterUniq |
ціле число |
10 |
Зв’язок зі співбесідою |
Зовнішній ключ, що посилається на первинний ключ відношення INTERVIEW. Обов’язковий |
Таблиця 9 Відношення сутності СЕРТИФІКАТ ЗНО (certificate)
Ім’я стовпця |
Тип |
Довжина |
Призначення |
Обмеження цілісності стовпців |
CertNum |
ціле число |
10 |
Унікальний ID. Номер сертифікатa |
Первинний ключ |
Year |
ціле число |
4 |
Рік видання |
Обов’язковий |
ValidYear |
Ціле число |
6 |
Рік закінчення дії |
Обов’язковий |
MatrUniq |
ціле число |
10 |
Зв’язок з вступником |
Зовнішній ключ, що посилається на первинний ключ відношення MATRICULANT. Обов’язковий |
Subject |
ціле число |
10 |
Зв’язок з дисципліною |
Зовнішній ключ, що посилається на первинний ключ відношення SUBJECT. Обов’язковий |
Таблиця 10 Відношення сутності АТЕСТАТ (SCHOOL _CERTIFICATE)
Ім’я стовпця |
Тип |
Довжина |
Призначення |
Обмеження цілісності стовпців |
NumbSchCert |
ціле число |
10 |
Унікальний ID. Номер атестата |
Первинний ключ |
Year |
ціле число |
4 |
Рік закінчення навчання |
Обов’язковий |
SchName |
строка |
40 |
Повна назва закладу освіти |
Обов’язковий |
Director |
строка |
30 |
Директор закладу освіти |
Обов’язковий |
DataIssue |
дата |
|
Дата видання |
Обов’язковий |
Medal |
строка |
1 |
Наявність відзнаки |
Обов’язковий. „Y” – є, „N” – немає. |
MatrUniq |
ціле число |
10 |
Зв’язок з вступником |
Зовнішній ключ, що посилається на первинний ключ відношення MATRICULANT. Обов’язковий |
Subject |
строка |
10 |
Зв’язок з дисципліною |
Зовнішній ключ, що посилається на первинний ключ відношення SUBJECTS. Обов’язковий |
Таблиця 11 Відношення сутності ДИСЦИПЛІНА (SUBJECT)
Ім’я стовпця |
Тип |
Довжина |
Призначення |
Обмеження цілісності стовпців |
|
Subject |
строка |
10 |
Назва предмету |
Обов’язковий. Унікальний |
|
ValueNum |
ціле число |
5 |
Бал предмету цифрами |
Обов’язковий. ValueNum від 0 до 200 |
|
ValueStr |
строка |
100 |
Бал предмету літерами |
Обов’язковий |
|
CertNum |
ціле число |
10 |
Зв’язок з сертифікатом |
Зовнішній ключ, що посилається на первинний ключ відношення CERTIFICATE. Обов’язковий |
|
NumbSchCert |
ціле число |
10 |
Зв'язок з атестатом |
Зовнішній ключ, що посилається на первинний ключ відношення SCHOOL _CERTIFICATE. Обов’язковий |
|
Обмеження цілісності таблиці: |
Сукупність стовпців (Subject, CertNum) має обмеження унікальності та обов’язковості оскільки в одному сертифікаті не може бути двох і більше предметів з однаковою назвою. |
||||
Таблиця 12 Відношення сутності ВИД ФІНАНСУВАННЯ (FINANCE_TYPE)
Ім’я стовпця |
Тип |
Довжина |
Призначення |
Обмеження цілісності стовпців |
FinUniq |
ціле число |
10 |
Унікальний ID. Номер фінансування |
Первинний ключ |
FinType |
строка |
10 |
Вид фінансування |
Обов’язковий. „Budget” – бюджет, „Contract” – контракт. |
MatrUniq |
ціле число |
10 |
Зв’язок з вступником |
Зовнішній ключ, що посилається на первинний ключ відношення MATRICULANT. Обов’язковий |
Таблиця 13 Відношення сутності СПІВБЕСІДА (INTERVIEW)
Ім’я стовпця |
Тип |
Довжина |
Призначення |
Обмеження цілісності стовпців |
InterUniq |
ціле число |
10 |
Унікальний ID. Номер співбесіди |
Первинний ключ |
InterData |
дата |
|
Дата проведення |
Обов’язковий. |
ResultInter |
строка |
1 |
Результат співбесіди |
Обов’язковий. „Y” – пройшов, „N” – не пройшов. |
MatrUniq |
ціле число |
10 |
Зв’язок з вступником |
Зовнішній ключ, що посилається на первинний ключ відношення MATRICULANT. Обов’язковий |
MemUniq |
ціле число |
10 |
Зв'язок з членом комісії |
Зовнішній ключ, що посилається на первинний ключ відношення mEMBER_COMMISSION. Обов’язковий |
