- •2. База даних комплексу лабораторних робіт практикуму
- •2.1 Опис предметної сфери на концептуальному рівні
- •2.2 Опис бази даних лабораторного практикуму
- •2.3. Лабораторна робота №2. Створення таблиць бази даних. Типи, формати виведення та шаблони уведення даних”
- •2.3.1 Типи полів
- •Увага!!! Поля типу Memo, Hyperlink, ole Object не індексуються і не можуть бути ключем. Визначення властивостей атрибутів (полів)
- •2.3.2 Формати даних
- •Для створення форматів використовуються наступні символи (табл. 2.22).
- •2.3.3 Маски для уведення даних
- •2.3.4 Завдання лабораторної роботи
2.2 Опис бази даних лабораторного практикуму
Як було видно із процесу розширення бази даних (див. табл. 2.1), остання БД „План-4” включає в себе бази даних „План-1”, „План-2” і „План-3”. В таких випадках кажуть, що останні є підсхемами БД „План-4”. Тоді бази даних „План-1”, „План-2” є підсхемами БД „План-3”, а база даних „План-1” є підсхемою БД „План-2” (рис. 2.2).
Рис.2.2 Співвідношення між базами даних різних планів
У таблиці 2.3 наведено назви таблиць баз даних.
Таблиця 2.3 Бази даних та їх реляційні таблиці
№ пор. |
Ідентифікатори таблиць |
Назва таблиць баз даних |
База даних „План-1” |
||
1 |
CYCL |
Цикли дисциплін |
2 |
DYSCYPL |
Дисципліни |
3 |
KURS |
Курси (роки) навчання |
4 |
BLOKDYSC |
Блоки дисциплін циклу вибору студентом |
5 |
TRYMESTR |
Триместри |
6 |
DYS_TRYM |
Аудиторні години дисциплін по триместрах та види триместрового контролю знань |
База даних „План-2” (додаткові таблиці) |
||
7 |
TYPZAN |
Типи (види) занять |
8 |
ZAN_TRYM |
Аудиторні години типів занять дисциплін по триместрах |
База даних „План-3” (додаткові таблиці) |
||
9 |
UGRUP |
Угруповання студентів, з якими проводяться дані види занять |
10 |
GRUP_TRYM |
Аудиторні години угруповань по дисциплінах, триместрах та видах занять |
База даних „План-4” (додаткові таблиці) |
||
11 |
KAFEDRA |
Кафедри |
12 |
VYKLADACH |
Викладачі |
13 |
POSADA |
Посади |
14 |
VYKL_TRYM |
Навантаження викладачів за видами занять по дисциплінах, триместрах та угрупованнях |
На фізичному рівні база даних створюється у відповідності до особливостей обраної СКБД та із врахуванням логічної моделі.
В таблицях 2.4-2.17 наведено атрибути реляційних таблиць, представлених у таблиці 2.3, на логічному рівні, їх тип та деякі вимоги до даних, в т.ч. й формати представлення даних. Типи ключових атрибутів задані властивостями шрифту таким чином:
жирний – первинний ключ (може бути декілька атрибутів, які представляють складений ключ);
підкреслений – потенційний (альтернативний) ключовий атрибут;
похилений – зовнішній ключ;
жирний похилений – кожний окремий атрибут є зовнішнім ключем, а разом представляють складений первинний ключ.
Таблиця 2.4 Цикли дисциплін - CYCL
Позначення атрибута |
Назва або опис атрибута |
Тип |
Довжина в цілому |
Дробова частина |
Особливості даних (значень атрибутів) |
Перевірка при введенні |
KodCycl |
Код циклу дисциплін |
Число |
1 |
|
Ціле |
Цифри від 1 до 8. Значення обов’язкове. |
NazvCycl |
Назва циклу дисциплін |
Текст |
100 |
|
Усі літери великі |
Значення обов’язкове. |
Таблиця 2.5 Дисципліни - DYSCYPL
Позначення атрибута
|
Назва або опис атрибута |
Тип |
Довжина в цілому |
Дробова частина |
Особливості даних (значень атрибутів) |
Перевірка при введенні |
KodDysc |
Код дисципліни |
Текст |
4 |
|
Тільки цифри і крапка |
Обов’язково починається з цифри, після якої обов’язкова точка, після якої обов’язкові дві цифри. Наприклад: 2.15 Значення обов’язкове. |
NazvDysc |
Назва дисципліни |
Текст |
80 |
|
Тільки літери, цифри, „-„. Усі літери, крім першої, малі |
Обов’язково починається з літери. Значення обов’язкове. |
ObsDysCred |
Обсяг дисципліни, кредитів |
Число |
4 |
1 |
|
<12. Значення обов’язкове. |
KodCycl |
Код циклу дисциплін |
Число |
1 |
|
Див. у табл. 2.4 |
|
KodBlok |
Код блоку дисциплін |
Число |
2 |
|
0 - для усіх блоків (коди циклу 1-4) ; 1- 5 або 11-13 – для блоків вибору студентом (коди циклу 5 або 6) |
За замовчуванням має значення "0". Значення обов’язкове. |
NomKaf |
Номер кафедри |
Число |
2 |
|
Ціле |
<40. Значення обов’язкове. |
Примітка. Атрибут KodBlok входить до складеного ключа, коли таблиця DYSCYPL містить дисципліни усіх блоків вибору. У тому разі, коли обрані конкретні блоки (звичайний та платні послуги), то цей атрибут можна не включати до складеного ключа, тому що дублювання дисциплін не буде. Вище наведено структуру таблиці DYSCYPL для останнього випадку.
Таблиця 2.6 Курси (роки навчання) – KURS
Позначення атрибута
|
Назва або опис атрибута |
Тип |
Довжина в цілому |
Дробова частина |
Особливості даних (значень атрибутів) |
Перевірка при введенні |
NomKurs |
Номер курсу |
Число |
1 |
|
Ціле |
< 5. Значення обов’язкове. |
NazvKurs |
Назва курсу |
Текст |
10 |
|
Тільки літери. Усі літери малі |
Значення обов’язкове. |
Таблиця 2.7 Блоки дисциплін циклу вибору студентом – BLOKDYSC
Позначення атрибута
|
Назва або опис атрибута |
Тип |
Довжина в цілому |
Дробова частина |
Особливості даних (значень атрибутів) |
Перевірка при введенні |
KodBlok |
Код блоку дисциплін |
Число |
2 |
|
|
Значення вибираються із списку {0,1,2,3,4,5,11,12,13}. Значення обов’язкове. Значення по замовченню “0”. |
NazvBlok |
Назва блоків циклу дисциплін вибору студентом |
Текст |
120 |
|
Літери, цифри, апострофи, „№”, „-„, |
Значення обов’язкове. |
Таблиця 2.8 Триместри - TRYMESTR
Позначення атрибута
|
Назва або опис атрибута |
Тип |
Довжина в цілому |
Дробова частина |
Особливості даних (значень атрибутів) |
Перевірка при введенні |
NomTrym |
Номер триместру |
Число |
2 |
|
Ціле |
<13. Значення обов’язкове. |
NazvTypTr |
Назва типу триместру |
Текст |
10 |
|
Значення із списку {"осінній";"зимовий";"весінній"} |
|
ResTrym |
Ресурс триместру (загальна кількість тижнів у триместрі), кредитів |
Число |
2 |
0 |
|
<16. Значення обов’язкове. |
BegTr |
Початок триместру |
Дата |
|
|
Medium Date |
Значення обов’язкове |
EndTr |
Кінець триместру |
Дата |
|
|
Medium Date |
|
EndExm |
Закінчення іспитів |
Дата |
|
|
Medium Date |
Значення обов’язкове |
SamRob |
Наявність тижня самостійної роботи |
Логічне |
1 |
|
є або немає Формат ;”є”;"немає" |
Значення обов’язкове |
BegSam |
Початок тижня самостійної роботи |
Дата |
|
|
Medium Date |
|
NomKurs |
Номер курсу |
Число |
1 |
|
Див. у табл. 2.6 |
Див. у табл. 2.6 |
Таблиця 2.9 Аудиторні години дисциплін по триместрах - DYS_TRYM
Позначення атрибута
|
Назва або опис атрибута |
Тип |
Довжина в цілому |
Дробова частина |
Особливості даних (значень атрибутів) |
Перевірка при введенні |
NomTrym |
Номер триместру |
Число |
2 |
|
Див. у табл. 2.8 |
|
KodDysc |
Код дисципліни |
Текст |
4 |
|
Див. у табл. 2.5 |
|
AudDysTr |
Обсяг аудиторних занять дисципліни за триместр, кредитів
|
Число |
4 |
1 |
|
<12
|
KodContr |
Код підсумкового контролю у триместрі |
Текст |
1 |
|
Усі літери великі |
Значення із списку {‘C’,’E’,’R’,’K’ }. Зробити перевірку за допомогою функції InStr("перелік символів";[код поля])>0 Значення обов’язкове |
Таблиця 2.10 Типи занять – TYPZAN
Позначення атрибута
|
Назва або опис атрибута |
Тип |
Довжина в цілому |
Дробова частина |
Особливості даних (значень атрибутів) |
Перевірка при введенні |
KodTypZan |
Код типу занять |
Текст |
1 |
|
Приймає наступні значення{B,C,E,J,K,L,N,P,R }. Значення обов’язкове |
Зробити перевірку за допомогою функції InStr("перелік символів";[код поля])>0 Наприклад: InStr("LPB";[KodTypZan])>0 Увага!!! Розподільник аргументів у функції може бути ; або , в залежності від формату десяткової коми в Regional Option |
NazvTypZan |
Назва типу занять |
Текст |
40 |
|
Усі літери малі |
Значення обов’язкове |
Таблиця 2.11 Аудиторні години типів занять дисциплін по триместрах – ZAN_TRYM
Позначення атрибута
|
Назва або опис атрибута |
Тип |
Довжина в цілому |
Дробова частина |
Особливості даних (значень атрибутів) |
Перевірка при введенні |
NomTrym |
Номер триместру |
Число |
2 |
|
Див. у табл. 2.8 |
|
KodDysc |
Код дисципліни |
Текст |
4 |
|
Див. у табл. 2.5 |
|
KodTypZan |
Код типу занять |
Текст |
1 |
|
Див. у табл. 2.10 |
|
AudTypZanTr |
Аудиторних годин типу занять за триместр |
Число |
4 |
1 |
|
<100 |
Таблиця 2.12 Угруповання студентів – UGRUP
Позначення атрибута
|
Назва або опис атрибута |
Тип |
Довжина в цілому |
Дробова частина |
Особливості даних (значень атрибутів) |
Перевірка при введенні |
KodUgr |
Код угруповання |
Текст |
7 |
|
Перші 3 цифри обовязково, літери, цифри, "-" ,"/" |
Обов’язково починається з цифри |
NomKurs |
Номер курсу |
Число |
1 |
|
Див. табл. 2.6 |
|
Таблиця 2.13 Аудиторні години угруповань по дисциплінах, триместрах та видах занять – GRUP_TRYM
Позначення атрибута
|
Назва або опис атрибута |
Тип |
Довжина в цілому |
Дробова частина |
Особливості даних (значень атрибутів) |
Перевірка при введенні |
NomTrym |
Номер триместру |
Число |
2 |
|
Див. у табл. 2.8 |
|
KodDysc |
Код дисципліни |
Текст |
4 |
|
Див. у табл. 2.5 |
|
KodTypZan |
Код типу занять |
Текст |
1 |
|
Див. у табл. 2.10 |
|
KodUgr |
Код угруповання |
Текст |
7 |
|
Див. у табл. 2.12 |
|
AudUgrTr |
Аудиторних годин угруповання за триместр |
Число |
4 |
1 |
|
<100. Значення обов’язкове |
Таблиця 2.14 Кафедри - CAFEDRA
По значення атрибута
|
Назва або опис атрибута |
Тип |
Довжина в цілому |
Дробова частина |
Особливості даних (значень атрибутів) |
Перевірка при введенні |
NomKaf |
Номер кафедри |
Число |
2 |
|
Ціле |
<40. Значення обов’язкове |
NazvKaf |
Назва кафедри |
Текст |
80 |
|
Тільки літери та „ „ . Усі літери малі |
Значення обов’язкове |
KodZavKf |
Код викладача – зав. кафедри |
Текст |
4 |
|
Див. опис KodVykl в табл. 2.15 |
|
Telefone |
Телефон |
Текст |
6 |
|
Телефон вводити як 24-18-30 |
В базі зберегати лише цифри |
Таблиця 2.15 Викладачі - VYKLADACH
Позначення атрибута
|
Назва або опис атрибута |
Тип |
Довжина в цілому |
Дробова частина |
Особливості даних (значень атрибутів) |
Перевірка при введенні |
KodVykl |
Код викладача |
Текст |
4 |
|
Обов’язково 4 цифри |
Значення обов’язкове |
PrizvVykl |
Прізвище викладача |
Текст |
30 |
|
Тільки, крім першої, малі літери |
Починається з великої літери. Значення обов’язкове |
ImiaVykl |
Ім’я викладача |
Текст |
30 |
|
Тільки, крім першої, малі літери |
Починається з великої літери |
PoBaVykl |
По-батькові викладача |
Текст |
30 |
|
Тільки, крім першої, малі літери |
Починається з великої літери |
PIBVykl |
Прізвище та ініціали викладача |
Текст |
30 |
|
Тільки літери та “.“ |
Починається з великої літери |
|
|
|
|
|
|
|
KodPost |
Код посади |
Текст |
2 |
|
Тільки цифри |
Обов’язково 2 цифри |
NomKaf |
Код кафедри |
Ціле |
2 |
|
Див. табл. 2.14 |
|
Таблиця 2.16 Посади (викладачів) - POSADA
Позначення атрибута
|
Назва або опис атрибута |
Тип |
Довжина в цілому |
Дробова частина |
Особливості даних (значень атрибутів) |
Перевірка при введенні |
KodPost |
Код посади |
Текст |
2 |
|
Тільки цифри |
Обов’язково 2 цифри |
PostVykl |
Назва посади |
Текст |
80 |
|
Тільки літери, “,” та “-“ . Усі літери малі |
Обов’язково починається з літери. Значення обов’язкове |
NormPost |
Норма навантаження |
Число |
5 |
1 |
|
<900 |
Таблиця 2.17 Аудиторні години викладачів по дисциплінах, триместрах, видах занять та угрупованнях – VYKL_TRYM
Позначення атрибута
|
Назва або опис атрибута |
Тип |
Довжина в цілому |
Дробова частина |
Особливості даних (значень атрибутів) |
Перевірка при введенні |
NomTrym |
Номер триместру |
Число |
2 |
|
Див. табл. 2.8 |
|
KodDysc |
Код дисципліни |
Текст |
4 |
|
Див. табл. 2.5 |
|
KodTypZan |
Код типу занять |
Текст |
1 |
|
Див. табл. 2.10 |
|
KodUgr |
Код угруповання |
Текст |
9 |
|
Див. табл. 2.12 |
|
KodVykl |
Код викладача |
Текст |
4 |
|
Див. табл. 2.15 |
|
AudVyklTr |
Аудиторні години викладача у триместрі |
Число |
4 |
1 |
|
<100 |
Оскільки СКБД Access, яка обрана для виконання завдань практикуму, підтримує реляційні бази даних, то на фізичному рівні база даних має бути задана таблицями з описом їх структури і властивостей полів та взаємозв’язками між таблицями. Усі таблиці логічної моделі реалізуються таблицями (tables) СКБД Access, а усі атрибути реалізуються полями (fields) таблиць. Необхідно тільки встановити відповідність між властивостями атрибутів та полів. Так наприклад, тип атрибуту „число” може бути одним із 5 типів полів в СКБД Access : просте ціле (integer), довге ціле (long integer), байтове (byte), просте дійсне (single) або дійсне з подвійною точністю (double). Вони відрізняються формою представлення та обсягом пам’яті, що виділяється для збереження значення поля. Типи полів та їх форми представлення в СКБД Access буде наведено у відповідних поясненнях до виконання завдань лабораторної роботи № 2 (п.2.3).
Що стосується зв’язків між таблицями фізичної моделі, то вони можуть задаватися динамічно під час програмування запиту, форми або звіту, а побудова статичної схеми зв’язків таблиць (relationship) в СКБД Access буде представлено у лабораторній роботі № 6.
Ще однією важливою складовою фізичної моделі є індексація полів, яка виконується з метою прискорення пошуку інформації в базі даних, але при цьому потрібні додаткові обсяги зовнішньої пам’яті. Ці питання розглядаються також у лабораторній роботі №6.
Власно кажучи, створення фізичної моделі баз даних „План-1”, „План-2”, „План-3” і „План-4”, програмування запитів, форм, звітів, макросів і модулів складають сутність завдань даного лабораторного практикуму.
