You are on page 1of 159

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

Лабораторний практикум та курсове проектування

для студентів всіх форм навчання за напрямом підготовки


„Комп’ютерні науки”
Міністерство освіти і науки України
Вінницький національний технічний університет

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


Лабораторний практикум та курсове проектування

для студентів всіх форм навчання за напрямом підготовки


„Комп’ютерні науки”

Затверджено Вченою радою Вінницького національного технічного


університету як навчальний посібник. Протокол № 11 від 2 липня 2007 р.

Вінниця ВНТУ 2009

1
УДК 681.3.01(075)
С 13

Р е ц е н з е н т и:

В.О. Поджаренко, доктор технічних наук, професор


І. І. Хаймзон, доктор технічних наук, професор
Н. О. Біліченко, кандидат технічних наук, доцент

Рекомендовано до видання Вченою радою Вінницького


національного технічного університету Міністерства освіти і науки
України

Савчук Т. О.
С13 Організація баз даних і знань. Лабораторний практикум та
курсове проектування для студентів всіх форм навчання за
напрямом підготовки „Комп’ютерні науки”. Навчальний
посібник. - Вінниця: ВНТУ, 2009.- 159 с.

У лабораторному практикумі наведено порядок виконання


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

УДК 681.3.01(075)

 Т. О. Савчук, 2009

2
ЗМІСТ
Вступ…………………………………………………………………….… 4
1 Зміст дисципліни…………………………………….……………….… 6
2 Задачі для самостійної роботи………………….………....................... 8
3 Типові рішення ........................................................................................ 22
4 Завдання до лабораторних робіт ............................................................ 32
Лабораторна робота №1...................................................................... 32
Лабораторна робота №2...................................................................... 50
Лабораторна робота 3.......................................................................... 59
Лабораторна робота №4...................................................................... 89
Лабораторна робота №5...................................................................... 107
5 Курсове проектування.............................................................................. 130
5.1 Зміст та оформлення курсової роботи......................................... 130
5.2 Методика виконання роздiлiв курсової роботи.......................... 131
5.3 Визначення тематики та розробка технічного завдання на
курсову роботу………………………………………………..…. 146
5.4 Терміни виконання курсової роботи............................................ 147
5.5 Порядок захисту курсової роботи................................................ 147
6 Питання до іспиту .................................................................................... 148
Список літератури ....................................................................................... 151
Додаток А…....................................................................................... 153
Додаток Б…........................................................................................ 154
Додаток В…........................................................................................ 155

3
ВСТУП

Єдність законів опрацювання інформації в системах pізної природи


(фізичних, економічних, біологічних і т.п.) є фундаментальною основою
теоpії інфоpмаційних пpоцесів, що визначають її значимість і
специфічність. Об'єктом вивчення цієї теоpії є інфоpмація - поняття, що
існує "саме по собі" поза зв'язком із конкpетною областю знань, у якій
воно використовується.
Ця обставина накладає значний відбиток на всю інфоpматику як
науку про оpганізацію комп’ютеpних інфоpмаційних систем. Такі системи
можуть використовуватися в найpізноманітніших пpедметних областях,
додаючи до них "власні пpавила гpи", свої закономіpності, обмеження та
водночас нові можливості оpганізації бізнесу. У цьому плані неможливо
пеpеоцінити такі властивості інфоpмації як доступність, своєчасність,
комеpційну цінність, захищеність від несанкціонованих втручань,
надійність.
Інфоpмаційні pесуpси в сучасному суспільстві відіграють не меншу,
а неpідко і більшу pоль, ніж pесуpси матеpіальні. Знання "кому", "коли" і
"де" пpодати товаp, може цінуватися не менше, ніж власне товаp, і в цьому
плані динаміка розвитку суспільства свідчить про те, що на "вагах"
матеpіальних і інфоpмаційних pесуpсів, саме останні починають
домінувати, пpичому тим сильніше, чим відкритішою є організація, чим
розвинутішими є засоби комунікації, чим потужнішими є самі
інфоpмаційні потоки та обмін ними.
З позицій pинку інфоpмація давно вже стала товаpом. Ця обставина
потребує інтенсивного pозвитку пpактики і теоpії комп’ютеpизації
суспільства. Комп’ютеp як інфоpмаційне середовище не тільки дозволив
здійснити якісний стрибок в оpганізації пpомисловості, науки і pинку, але
він визначив нові області пpомисловості: обчислювальну техніку,
телекомунікації, пpогpамні пpодукти.
Тенденції комп’ютеpизації суспільсва привели до появи нових
пpофесій, пов'язаних з обчислювальною технікою і pізними категоpіями
користувачів електронно-обчислювальних машин (ЕОМ). Якщо в 60 – 70-і
роки в цій сфеpі домінували фахівці з обчислювальної техніки (інженеpи-
електpоніки і пpогpамісти), що створюють нові засоби обчислювальної
техніки і нові пакети пpикладних пpогpам, на сьогодні інтенсивно
pозширюється категоpія користувачів ЕОМ - пpедставників найрізно-
манітніших областей знань, що не є фахівцями в прикладних
комп’ютерних галузях, але які уміють використовувати IBM PC для
розв’язання задач.
Користувач ЕОМ (або кінцевий користувач) повинен знати загальні
пpинципи оpганізації інфоpмаційних пpоцесів у комп’ютеpному
сеpедовищі, вміти вибирати потрібні йому інфоpмаційні системи й

4
технічні засоби, швидко застосовувати їх до своєї пpедметної області з
огляду на інтенсивний pозвиток обчислювальної техніки та ступінь
насиченості pинку пpогpамних пpодуктів.
Мінімум знань щодо оpганізації комп’ютеpних систем звичайно
визначають комп’ютеpну гpамотність користувача. Не існує чітко
визначених меж щодо пояснення цього поняття - кожний користувач
визначає їх для себе сам, але, водночас, відсутність такої гpамотності
робить сьогодні неможливим доступ до багатьох вузькоспеціалізованих
пpофесій.
Основні ідеї сучасної інформаційної технології базуються на конце-
пції баз даних (БД). Відповідно до цієї концепції, основою інформаційної
технології є дані, що організовані у структурні одиниці з метою
адекватного відображення реального світу і задоволення інформаційних
потреб користувачів.
Збільшення об'єму і структурної складності збережених даних,
розширення кола користувачів інформаційних систем сприяло
формуванню вимог до створення зручних загальносистемних засобів
інтеграції збережених даних і управління ними. Це привело до появи
промислових систем управління базами даних (СУБД) - спеціалізованих
програмних засобів, призначених для організації і маніпуляції БД.
Систему, яка забезпечує створення, управління і застосування баз знань,
можна розглядати як інструментальну або прикладну систему з
конкретною прикладною базою знань. Існує тісний взаємозв'язок між
технологією БД і системою БД з одного боку і технологією систем баз
знань з іншого. Виникла тенденція "інтелектуалізації" систем БД. На
зовнішньому рівні їх архітектури реалізують різноманітні семантичні
моделі знань, створюють "дружні" інтерфейси для користувачів, хоча
традиційні СУБД є необхідною складовою частиною інструментарію
управління даними в системах баз знань.
В навчальному посібнику наведені основи організації баз даних та
управління ними на концептуальному та даталогічному рівнях.

5
1 ЗМІСТ ДИСЦИПЛІНИ

1.1 ВСТУП. ОСНОВНІ ПОНЯТТЯ ТЕОРІЇ БАЗ ДАНИХ. ІНФОЛОГІЧНЕ


МОДЕЛЮВАННЯ ПРЕДМЕТНОЇ ОБЛАСТІ

Предмет та задачі курсу в системі підготовки спеціалістів з


обчислювальної техніки та програмування. Короткі відомості з історії баз
даних (БД) та баз знань (БЗ). Місце та роль БД і БЗ в сучасних
комп’ютерних інформаційних технологіях. Концептуальний, логічний та
фізичний рівні проектування баз даних. Основні поняття теорії баз даних.
Автоматизовані банки даних. Класифікація банків даних. Вимоги до банків
даних та принципів їх побудови. Асоціації даних. Загальна схема концеп-
туального моделювання. Етапи побудови концептуальної моделі.
Класифікаційний аналіз предметної області. Системний аналіз предметної
області. Принципи цілісності, багатоаспектності. Визначення і класифі-
кація інформаційних систем. Основні категорії теорії баз даних і типи
зв’язків між ними. Характеристики зв’язків. Класифікація сутностей. Типи
зв’язків між сутностями. Типи зв’язків між елементами даних. Проста,
складна та умовна асоціації. Основні етапи проектування баз даних.
Технологія аналізу предметної області. Подання предметної області за ER
– принципом. Розробка ER – моделі предметної області.

1.2 ІЄРАРХІЧНА (ДЕРЕВОВИДНА) МОДЕЛЬ ДАНИХ

Основні поняття теорії деревовидних моделей даних. Поняття дерева


і лісу. Орієнтовані, збалансовані та впорядковані дерева. Бінарне дерево.
Основні вимоги до ієрархічних структур даних. Операції над деревами.
Перетворення дерев. Алгоритми обходу дерев. Алгоритми доповнення та
вилучення даних. Мови опису ієрархічних структур даних. Реалізація
зв'язків між об'єктами за допомогою ієрархічних моделей даних. Переваги
та недоліки деревовидних моделей даних. Типові оператори маніпулю-
вання ієрархічно організованими даними.

1.3 МЕРЕЖЕВА СТРУКТУРА ДАНИХ

Основні поняття теорії мережевих моделей даних. Основні вимоги


до них. Прості і складні мережеві структури. Реалізація зв'язків між
об'єктами за допомогою мережевих моделей даних. Формальний опис
мереж. Переваги та недоліки мережевих моделей даних. Типові оператори
маніпулювання мережевоорганізованими даними.

6
1.4 ОРГАНІЗАЦІЯ РЕЛЯЦІЙНИХ БАЗ ДАНИХ

Базові поняття теорії реляційних баз даних. Фундаментальні


властивості відношень. Поняття ключа. Основні типи ключів. Переваги та
недоліки реляційних моделей даних. Основні операції реляційної алгебри:
проекція, об’єднання, різниця, селекція, декартовий добуток, перетин,
частка відношень, спеціальні реляційні операції. Базисні засоби
маніпулювання реляційними даними. Особливості теоретико-множинних
операцій реляційної алгебри. Проектування нормальних форм як один з
основних етапів нормалізації баз даних. Основні нормальні форми
відношень, їх властивості та вимоги до них. Основні етапи нормалізації
відношення. Правила Кодда для реляційної СУБД.

1.5 ДАТАЛОГІЧНЕ ПРОЕКТУВАННЯ БАЗ ДАНИХ

Мови реляційних баз даних. Мова SQL запитів, як мова організації


управління базами даних. Використання мов об’єктно-орієнтованого
програмування для управління структурами даних. Об’єктно-орієнтовані
моделі даних.

1.6 ФІЗИЧНЕ ПРОЕКТУВАННЯ ДАНИХ

Загальне визначення підходів щодо класифікації методів доступу до


даних. Визначення організації спискових структур та послідовний розподіл
пам’яті для їх збереження. Зв’язний розподіл пам’яті для збереження
спискових структур. Визначення багатозв’язних структур (плексів). Мето-
ди обробки багатозв’язних структур та їх властивості. Подання рядкових
даних. Послідовні методи доступу до даних. Індексні методи доступу до
даних. Мультиспискові методи доступу до даних. Інвертований метод
доступу до даних. Адресні методи доступу до даних. Методи обчислення
адреси в адресних методах доступу до даних. Вимоги до функції
кешування в адресних методах доступу до даних. Побудова КЕШ-функції
в адресних методах доступу до даних.

1.7 ЗАГАЛЬНІ ПИТАННЯ ОРГАНІЗАЦІЇ ЗНАНЬ

Поняття знання. Класифікація знань. Методи подання знань.


Загальні відомості про експертні системи. Вимоги до експертних систем.
База знань як елемент експертної системи. Структура експертної системи.
Бази знань на основі мереж, списків. Основна ідея підходу до побудови
логічних моделей знань та їх переваги. Подання знань з використанням
логіки предикатів. Визначення правильно побудованої формули в логіці.
Логічне виведення. Уніфікатори. Правила продукції. Продукційні системи

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

1.8 ЗАСОБИ КОНТРОЛЮ ЦІЛІСНОСТІ ДАНИХ. АВТОРИЗАЦІЯ ДОС-


ТУПУ ДО ДАНИХ ТА ЗНАНЬ ТА ЇХ ЗАХИСТ ВІД НЕСАНКЦІОНО-
ВАНОГО ВТРУЧАННЯ

Транзакції та цілісність бази даних. Серіалізація транзакцій.


Журналізація змін баз даних. Індивідуальне повернення транзакції.
Відновлення після збою. Авторизація доступу до даних та знань та їх
захист від несанкціонованого втручання.

2 ЗАДАЧІ ДЛЯ САМОСТІЙНОЇ РОБОТИ

До розділу “Основні поняття теорії баз даних. Інфологічне


моделювання предметної області ”

1. Визначити тип зв'язку та графічно зобразити відношення ЧИТАЧ


БІБЛІОТЕКИ - КНИГА.
2. Визначити тип зв'язку та графічно зобразити відношення
ФАКУЛЬТЕТ - СТУДЕНТ.
3. Визначити тип зв'язку та графічно подати відношення між
об'єктами СТУДЕНТСЬКИЙ КОЛЕКТИВ - НАВЧАЛЬНА ГРУПА.
4. Визначити тип зв'язку та графічно зобразити відношення між
об'єктами ВИКЛАДАЧ-СТУДЕНТ.
5. Визначити тип зв'язку та графічно зобразити відношення між
об'єктами АВТОБУС - ПАСАЖИР.
6. Визначити тип зв'язку та графічно зобразити відношення між
об'єктами АБОНЕНТ - ТЕЛЕФОН.
7. Визначити тип зв'язку та графічно зобразити відношення між
об'єктами КРАЇНА ОЛІМПІЙСЬКИХ ІГОР - УЧАСНИК.
8. Визначити тип зв'язку та графічно зобразити відношення РІКИ -
МІСТА.
9. Визначити тип зв'язку та графічно зобразити відношення
ХУДОЖНИК - КАРТИНА.

8
10. Визначити тип зв'язку та графічно зобразити відношення між
об'єктами ПОСАДА - ЗАРОБІТНА ПЛАТА РОБІТНИКА.
11. Визначити тип зв'язку та графічно зобразити відношення між
об'єктами КЕРІВНИК - РОБІТНИК.
12. Визначити тип зв'язку та графічно зобразити відношення між
об'єктами ВИКЛАДАЧ - ДИСЦИПЛІНА.
13. Визначити тип зв'язку та графічно зобразити відношення між
об'єктами ЛІТАК - ПАСАЖИР.
14. Визначити тип зв'язку та графічно зобразити відношення між
об'єктами ПОРТ - ПАРОПЛАВ.
15. Визначити тип зв'язку та графічно зобразити відношення КАСА -
КВИТОК.
16. Визначити тип зв'язку та графічно зобразити відношення
КНИГА - РОЗДІЛ.
17. Визначити тип зв'язку та графічно зобразити відношення між
об'єктами РИНОК - ДОСТАВКА.
18. Визначити тип зв'язку та графічно зобразити відношення між
об'єктами МАГАЗИН - ПОСТАЧАЛЬНИК.
19. Визначити тип зв'язку та графічно зобразити відношення між
об'єктами ЛІКАР - ПАЦІЄНТ.
20. Визначити тип зв'язку та графічно зобразити відношення між
об'єктами ХВОРОБА - ПАЦІЄНТ.
21. Визначити тип зв'язку та графічно зобразити відношення між
об'єктами СПІВРОБІТНИКИ - ВІДДІЛИ.

До розділу “Ієрархічна (деревовидна) модель даних”

1. Розробити ієрархічну модель даних факультету.


2. Розробити чотирирівневу ієрархічну модель.
3. Розробити чотирирівневу ієрархічну модель та подати її у вигляді
збалансованого дерева.
4. Спроектувати ієрархічну базу даних про викладачів, студентів та
дисципліни у взаємозв'язку студент - дисципліна.
5. Спроектувати ієрархічну базу даних про викладачів, студентів та
дисципліни у взаємозв'язку викладач - дисципліна.
6. Спроектувати ієрархічну базу даних про абонентів, їх адреси та
телефони у взаємозв'язку абонент - телефон.
7. Спроектувати ієрархічну базу даних про абонентів, їх адреси та
телефони у взаємозв'язку адреса - телефон.
8. Подати мережеву модель даних за допомогою ієрархічних
моделей даних:

9
1 2

3 4 5

9. Подати мережеву модель даних за допомогою ієрархічних


моделей даних:

1 2 3

4 5 6

7 8 9

10. Подати мережеву модель даних за допомогою ієрархічних моделей


даних:
1

11. Розробити чотирирівневу ієрархічну модель предметної області


“Аеропорт” та подати її у вигляді реляційної структури з довільною
арністю та потужністю таблиць.
12. Запропонувати модель даних “Студент-Дисципліна” з використа-
нням зв’язків типу Б:Б. Подати дані зазначеної предметної області у
вигляді інших відомих моделей даних. Характеристики складових моделей
даних обрати самостійно.
13. Запропонувати модель даних “Залізничні каси” з використанням
зв’язків типу Б:Б. Подати дані зазначеної предметної області у вигляді

10
інших відомих моделей даних. Характеристики складових моделей даних
обрати самостійно.
14. Запропонувати модель даних “Ринок-Доставка” з використанням
зв’язків типу Б:Б. Подати дані зазначеної предметної області у вигляді
інших відомих моделей даних. Характеристики складових моделей даних
обрати самостійно.
15. Запропонувати модель даних “Будівельні матеріали” з викорис-
танням зв’язків типу Б:Б. Подати дані зазначеної предметної області у
вигляді інших відомих моделей даних. Характеристики складових моделей
даних обрати самостійно.
16. Запропонувати модель даних “Біржова угода” з використанням
зв’язків типу Б:Б. Подати дані зазначеної предметної області у вигляді
інших відомих моделей даних. Характеристики складових моделей даних
обрати самостійно.
17. Розробити чотирирівневу ієрархічну модель предметної області
“Ріки України” та подати її у вигляді реляційної структури з довільною
арністю та потужністю таблиць.
18. Розробити чотирирівневу ієрархічну модель предметної області
“Катастрофи на АЕС” та подати її у вигляді реляційної структури з
довільною арністю та потужністю таблиць.
19. Розробити чотирирівневу ієрархічну модель предметної області
“Видатні художники” та подати її у вигляді реляційної структури з
довільною арністю та потужністю таблиць.
20. Розробити чотирирівневу ієрархічну модель предметної області
“Мобільні телефони” та подати її у вигляді реляційної структури з
довільною арністю та потужністю таблиць.

До розділу “Мережева модель даних ”

1. Подати мережеві структури за допомогою надлишкових ієрархічних


структур.
1 2 3
1 2

4 5 6
1

3 4 5
2
4

7 8 9

2. Визначитись з типом моделі та подати структуру:


а) у вигляді суцільного дерева;
б) у вигляді суми дерев.
1 2
4 3 2 1
3 4 5

11
3. Визначитись з типом моделі та подати структуру:
а) у вигляді суцільного дерева;
б) у вигляді суми дерев.

1 7 2

3 4 8

5 6 9

4. Використовуючи набір для об'єднання записів про продукцію певної


фірми-виробника, визначити тип набору, тип запису-власника, тип запи-
сів-членів й тип взаємозв'язку між власником та членами набору.
5. Використовуючи набір для об'єднання записів про спеціалістів-
програмістів банку "Аваль", визначити тип набору, тип запису-власника,
тип записів-членів й тип взаємозв'язку між власником та членами набору.
6. Використовуючи набір для об'єднання записів про студентів однієї
групи, визначити тип набору, тип запису-власника, тип записів-членів й
тип взаємозв'язку між власником та членами набору.
7. Запропонувати модель даних “Викладач-Дисципліна” з використан-
ням зв’язків типу Б:Б. Визначити тип моделі та подати структуру:
а) у вигляді суцільного дерева;
б) у вигляді суми дерев.
8. Запропонувати модель даних “Студент-Дисципліна” з використан-
ням зв’язків типу Б:Б. Подати дані зазначеної предметної області у вигляді
інших відомих моделей даних. Характеристики складових моделей даних
обрати самостійно.
9. Запропонувати модель даних “Залізничні каси” з використанням
зв’язків типу Б:Б. Подати дані зазначеної предметної області у вигляді
інших відомих моделей даних. Характеристики складових моделей даних
обрати самостійно.
10. Запропонувати модель даних “Ринок-Доставка” з використанням
зв’язків типу Б:Б. Подати дані зазначеної предметної області у вигляді
інших відомих моделей даних. Характеристики складових моделей даних
обрати самостійно.
11. Запропонувати модель даних “Будівельні матеріали” з використан-
ням зв’язків типу Б:Б. Подати дані зазначеної предметної області у вигляді
інших відомих моделей даних. Характеристики складових моделей даних
обрати самостійно.
12. Запропонувати модель даних “Аеропорт” з використанням зв’язків
типу Б:Б. Подати дані зазначеної предметної області у вигляді інших

12
відомих моделей даних. Характеристики складових моделей даних обрати
самостійно.
13. Запропонувати модель даних “Станція технічного обслуговування”
з використанням зв’язків типу Б:Б. Подати дані зазначеної предметної
області у вигляді інших відомих моделей даних. Характеристики
складових моделей даних обрати самостійно.
14. Запропонувати модель даних “Елеватор” з використанням зв’язків
типу Б:Б. Подати дані зазначеної предметної області у вигляді інших
відомих моделей даних. Характеристики складових моделей даних обрати
самостійно.
15. Запропонувати модель даних “Футбол” з використанням зв’язків
типу Б:Б. Подати дані зазначеної предметної області у вигляді інших
відомих моделей даних. Характеристики складових моделей даних обрати
самостійно.
16. Запропонувати модель даних “Художня галерея” з використанням
зв’язків типу Б:Б. Подати дані зазначеної предметної області у вигляді
інших відомих моделей даних. Характеристики складових моделей даних
обрати самостійно.
17. Запропонувати модель даних “Східна медицина” з використанням
зв’язків типу Б:Б. Подати дані зазначеної предметної області у вигляді
інших відомих моделей даних. Характеристики складових моделей даних
обрати самостійно.
18. Запропонувати модель даних “Атомні електростанції” з використан-
ням зв’язків типу Б:Б. Подати дані зазначеної предметної області у вигляді
інших відомих моделей даних. Характеристики складових моделей даних
обрати самостійно.
19. Запропонувати модель даних “Олімпійські ігри” з використанням
зв’язків типу Б:Б. Подати дані зазначеної предметної області у вигляді
інших відомих моделей даних. Характеристики складових моделей даних
обрати самостійно.
20. Запропонувати модель даних “Кадрове забезпечення підприємств” з
використанням зв’язків типу Б:Б. Подати дані зазначеної предметної
області у вигляді інших відомих моделей даних. Характеристики
складових моделей даних обрати самостійно.

До розділу “Організація реляційних баз даних”

1. Визначити можливі ключі відношень


Лікар (Номер_лікаря, Прізвище, Ім'я, По батькові, Адреса, Стаж
роботи, № кабінету в лікарні, Спеціальність),
Пацієнт (Реєстраційний_номер, Номер койки, Прізвище, Ім'я, По
батькові, Адреса, Дата народження, Стать).

13
2. Розробити відношення, які мають простий, повністю складений та
напівскладений ключ.
3. Який тип ключа має таке реляційне відношення?

Студент Викладач Дисципліна


Іванов Харитонов фізика
Петров Харитонов фізика
Іванов Міщенко інформатика
Петров Борисов інформатика

4. Навести приклад відношення, в якому використовується зовнішній


ключ.
5. Визначити, які реляційні операції потрібні для реалізації операцій
ділення та перетину відношень.
6. Навести приклад транзитивної та повної функціональної залежності
у відношеннях.
7. Визначити наявність функціональної залежності у відношенні
СТУДЕНТ (НОМЕР_ГРУПИ, НОМЕР_ЗАЛІКОВОЇ_КНИЖКИ, ПІБ) та
проаналізувати його на наявність аномалій.
8. Визначити наявність функціональної залежності у відношенні
ПРЕДМЕТ-СТУДЕНТ (ПІБ_СТУДЕНТА, НАЗВА_ДИСЦИПЛІНИ, ОЦІН-
КА) та проаналізувати його на наявність аномалій.
9. Навести приклади багатозначної залежності відношень.
10. Визначити декартовий добуток доменів D1= та D1=
. Результат подати у векторному та матричному видах;
виконати операцію різниці відношень R(ar , br , cr) та S( d, ar , h).
11. Визначити декартовий добуток доменів D1= та D1=
. Результат подати у векторному та матричному видах. Виконати
операцію різниці відношень R(ar , br , cr) та S( d, ar , h).
12. Які відношення треба використати, щоб в результаті декартового
добутку отримати відношення ЕКЗАМЕНАЦІЙНА ВІДОМІСТЬ. Виконати
над ними інші відомі операції реляційної алгебри (не менше 4).
13. Які відношення треба використати, щоб в результаті декартового
добутку отримати відношення ВІДОМІСТЬ ЗАРПЛАТИ РОБІТНИКІВ.
Виконати над ними інші відомі операції реляційної алгебри (не менше 4).
14. Які відношення треба використати, щоб в результаті декартового
добутку отримати відношення ЕКЗАМЕНАЦІЙНА ВІДОМІСТЬ. Виконати
над ними операції реляційної алгебри: об’єднання, різниця, проекція.
15. Виконати операції реляційної алгебри:
 операцію проекції ПРЕДМЕТ-СТУДЕНТ, що повинна включати
лише успішність студента з кожної із вивчених дисциплін, на відношення
СТУДЕНТ-УСПІШНІСТЬ (ПІБ_СТУДЕНТА, НАЗВА ДИСЦИПЛІНИ, ДА-
ТА_ЗДАЧІ_ІСПИТУ, ОЦІНКА, ЗАЛІК, ПІБ_ВИКЛАДАЧА);

14
 операцію об'єднання відношень R(ar , br , cr) та S( d, ar , h);
 операцію різниці відношень R(ar , br , cr) та S( d, ar , h).
16. Виконати операції реляційної алгебри:
операцію проекції СТУДЕНТ-УСПІШНІСТЬ на відношення
ПРЕДМЕТ-СТУДЕНТ (ПІБ_СТУДЕНТА, НАЗВА_ДИСЦИПЛІНИ, ОЦІ-
НКА);
операцію об'єднання відношень R(ar , br) та S( d, ar , h);
операцію різниці відношень R(ar , br , cr) та S( d, ar , h).
17. Виконати операції реляційної алгебри:
операцію проекції ПРЕДМЕТ-СТУДЕНТ, що повинна включати
лише успішність студента з кожної із вивчених дисциплін, на відношення
СТУДЕНТ-УСПІШНІСТЬ (ПІБ_СТУДЕНТА, НАЗВА ДИСЦИПЛІНИ, ДА-
ТА_ЗДАЧІ_ІСПИТУ, ОЦІНКА, ЗАЛІК, ПІБ_ВИКЛАДАЧА);
операцію об'єднання відношень R(a r , br , cr) та S( d, ar , h);
операцію різниці відношень R(ar , br , cr) та S( d, ar , h).
18. Навести відношення СТУДЕНТ-КУРСОВИЙ ПРОЕКТ (НОМЕР
ЗАЛІКОВОЇ КНИЖКИ, КОД ПРЕДМЕТА, ДАТА ЗДАЧІ, ПРІЗВИЩЕ
СТУДЕНТА, НОМЕР ГРУПИ, ВИКЛАДАЧ, ПРОЦЕНТ ВИКОНАННЯ) до
другої нормальної форми.
19. Навести відношення СТУДЕНТ-КУРСОВИЙ ПРОЕКТ (НОМЕР
ЗАЛІКОВОЇ КНИЖКИ, КОД ПРЕДМЕТА, ДАТА ЗДАЧІ, ПРІЗВИЩЕ
СТУДЕНТА, НОМЕР ГРУПИ, ВИКЛАДАЧ, ПРОЦЕНТ ВИКОНАННЯ) до
другої та третьої нормальної форми.
20. Виконати нормалізацію відношення СПІВРОБІТНИКИ – ВІДДІЛИ
– ПРОЕКТИ (НОМЕР_СПІВРОБІТНИКА, ЗАРПЛАТА_СПІВРОБІТНИ-
КА, НОМЕР_ВІДДІЛУ, НОМЕР_ПРОЕКТУ, ЗАВДАННЯ_СПІВРОБІТ-
НИКА).
21. Виконати нормалізацію відношення ПРОЕКТИ (НОМЕР_ПРО-
ЕКТУ, СПІВРОБІТНИК_ПРОЕКТУ, ЗАВДАННЯ_ПРОЕКТУ).
22. Виконати нормалізацію відношення ГУРТОЖИТОК (ПІБ_СТУ-
ДЕНТА, НОМЕР_ГРУПИ, НОМЕР_КІМНАТИ, СТАРОСТА_ КІМНАТИ,
РОЗМІРИ_КІМНАТИ, ДАТА_ПОСЕЛЕННЯ).
23. Виконати нормалізацію відношення СПІВРОБІТНИКИ-ПРОЕКТИ
(НОМЕР_СПІВРОБІТНИКА, ПРІЗВІЩЕ_СПІВРОБІТНИКА, НОМЕР_
ПРОЕКТУ, ЗАВДАННЯ_СПІВРОБІТНИКА).
24. Виконати нормалізацію відношення СПІВРОБІТНИКИ – ВІДДІЛИ-
ПРОЕКТИ (НОМЕР_СПІВРОБІТНИКА, ЗАРПЛАТА_СПІВРОБІТНИКА,
НОМЕР_ВІДДІЛУ, НОМЕР_ПРОЕКТУ, ЗАВДАННЯ_СПІВРОБІТНИКА).
25. Визначити, в якій нормальній формі знаходиться відношення
ГУРТОЖИТОК (ПІБ_СТУДЕНТА, НОМЕР_ГРУПИ, НОМЕР_КІМНАТИ,
СТАРОСТА_ КІМНАТИ) та проаналізувати його на наявність аномалій.

15
26. Визначити, в якій нормальній формі знаходиться відношення
R(МІСТО, АДРЕСА, ІНДЕКС) та проаналізувати його на наявність
аномалій.
27. Визначити, в якій нормальній формі знаходиться відношення
R(ПІБ_СТУДЕНТА, ГРОМАДА, ГРОМАДСЬКА_РОБОТА, РІК) та
проаналізувати його на наявність аномалій.
28. Визначити, в якій нормальній формі знаходиться відношення
R(НАЗВА_ФАКУЛЬТЕТУ, ПІБ_ДЕКАНА, ТЕЛЕФОН) та проаналізувати
його на наявність аномалій.
29. Визначити, в якій нормальній формі знаходиться відношення
R(ШИФР_ГРУПИ, КІЛЬКІСТЬ_СТУДЕНТІВ, ФАКУЛЬТЕТ, СТАРОСТА,
КУРАТОР_ГРУПИ) та проаналізувати його на наявність аномалій.
30. Визначити, в якій нормальній формі знаходиться відношення
ПРЕДМЕТ-СТУДЕНТ (ПІБ_СТУДЕНТА, НАЗВА_ДИСЦИПЛІНИ, ОЦІН-
КА) та проаналізувати його на наявність аномалій.

До розділу “Фізичне проектування даних”

1. Запропонувати модель даних “Ринок-Доставка” з використанням


зв’язків типу Б:Б. Реалізувати за допомогою прошитих списків цю
структуру, визначивши не менше як три напрямки (зв’язки) за даними.
Навести функцію відображення логічної структури даних на фізичну
структуру збереження. Відповідь обґрунтувати.
2. Запропонувати модель даних “Залізничні каси” з використанням
зв'язків типу Б:Б. Реалізувати за допомогою багатозв'язних списків цю
структуру, визначивши не менше як три напрямки (зв’язки) за даними.
Навести функцію відображення логічної структури даних на фізичну
структуру збереження. Відповідь обґрунтувати.
3. Запропонувати модель даних “Студент-Дисципліна” з
використанням зв'язків типу Б:Б. Реалізувати за допомогою прошитих
списків цю структуру, визначивши не менше як три напрямки (зв’язки) за
даними. Навести функцію відображення логічної структури даних на
фізичну структуру збереження. Відповідь обґрунтувати.
4. Запропонувати модель даних “Викладач-Дисципліна” з викорис-
танням зв'язків типу Б:Б. Реалізувати за допомогою плексів цю структуру,
визначивши не менше як три напрямки (зв’язки) за даними. Навести
функцію відображення логічної структури даних на фізичну структуру
збереження. Відповідь обґрунтувати.
5. Реалізувати за допомогою лінійного списку наведену на рисунку
структуру. Визначити розміщення кореня та нащадків у структурі.
Відповідь обґрунтувати. Яким чином у Вашій пропозиції визначаються
адреси кожного з елементів пам’яті?

16
1

2 3 4 5

6 7 8 9 10 11 12 13

14 15 16 17 18 19 20 21

22 23 24 25 26 27

6. Реалізувати за допомогою однонаправленого циклічного списку з


покажчиками на голову списку наведену на рисунку структуру. Навести
функцію відображення логічної структури даних на фізичну структуру
збереження. Відповідь обґрунтувати.

1 2

3 4 5

6 7 8

9 1 11
0

7. Реалізувати за допомогою двонаправленого циклічного списку


наведену на рисунку структуру. Навести функцію відображення логічної
структури даних на фізичну структуру збереження. Відповідь
обґрунтувати.

17
СТУДЕНТСЬКИЙ
КОЛЕКТИВ

НАВЧАЛЬНА КІМНАТА В
ГРУПА ГУРТОЖИТКУ

СТУДЕНТ

8. Реалізувати за допомогою двонаправленого лінійного списку


наведену на рисунку структуру. Навести функцію відображення логічної
структури даних на фізичну структуру збереження. Відповідь
обґрунтувати.

ВИКЛАДАЧ Іванов В.П. Петров А.І. Ільїн С.М.

СТУДЕНТ Маркін А.А. Захаров І.В. Міщенко О.А.

9. Навести приклад дворівневої організації індексно-послідовного


методу доступу до даних на прикладі моделі даних “Аеропорт”. Визначити
упорядкованість індексного файла, ефективність доступу до даних та
ефективність їх зберігання.
10. Навести приклад організації адресного методу доступу до даних
з використанням алгоритму перетворення ключа на адресу на прикладі

18
моделі даних “Лікарня”. Визначити ефективність доступу до даних та
ефективність їх зберігання.
11. Навести приклад організації індексно-послідовного методу
доступу до даних з впорядкованим масивом на прикладі моделі даних
“Товарна база”. Визначити упорядкованість індексного файла,
ефективність доступу до даних та ефективність їх зберігання.
12. Навести приклад організації методу хешування доступу до даних
на прикладі моделі даних “Автобаза”. Проаналізувати запропоновану
організацію на виникнення колізій та визначити схему їх усунення.
Визначити ефективність доступу до даних та ефективність їх зберігання.
13. Навести приклад організації інвертованого методу доступу до
даних на прикладі моделі даних “Продуктовий склад” та структуру
інвертованого файла з дворівневим індексом. Визначити ефективність
доступу до даних та ефективність їх зберігання.
14. Навести приклад організації індексно-послідовного методу
доступу до даних з впорядкованим масивом на прикладі моделі даних
“Бібліотека”. Визначити упорядкованість індексного файла, ефективність
доступу до даних та ефективність їх зберігання.
15. Навести приклад організації методу хешування доступу до даних
на прикладі моделі даних “Підприємство”. Проаналізувати запропоновану
організацію на виникнення колізій та визначити схему їх усунення.
Визначити ефективність доступу до даних та ефективність їх зберігання.
16. Навести приклад організації інвертованого методу доступу до
даних на прикладі моделі даних “Навчальний заклад” та структуру
інвертованого файла з дворівневим індексом. Визначити ефективність
доступу до даних та ефективність їх зберігання.
17. Навести приклад організації індексно-послідовного методу
доступу до даних з впорядкованим масивом на прикладі моделі даних
“Аеропорт”. Визначити упорядкованість індексного файла, ефективність
доступу до даних та ефективність їх зберігання.
18. Навести приклад організації методу хешування доступу до даних
на прикладі моделі даних “Лікарня”. Проаналізувати запропоновану
організацію на виникнення колізій та визначити схему їх усунення.
Визначити ефективність доступу до даних та ефективність їх зберігання.
19. Навести приклад організації інвертованого методу доступу до
даних на прикладі моделі даних “Залізничний вокзал” та структуру
інвертованого файла з дворівневим індексом. Визначити ефективність
доступу до даних та ефективність їх зберігання.
20. Навести приклад організації інвертованого методу доступу до
даних на прикладі моделі даних “Галерея” та структуру інвертованого
файла з дворівневим індексом. Визначити ефективність доступу до даних
та ефективність їх зберігання.

19
До розділу “Загальні питання організації знань”

1. Використовуючи квантори спільності та існування й логічні


зв'язки між атомарними предикатами, записати предикатну формулу, що у
відповідності з предикатом БАЖАЄ (Х,А,В), відповідає пропозиціям:
 УСІ ЛЮДИ БАЖАЮТЬ ДРУЖБИ І ЗЛАГОДИ;
 БУДЬ-ЯКА ЛЮДИНА БАЖАЄ ДРУЖБИ І ЗЛАГОДИ.
2. Визначити уніфікатори, якщо батьківські пропозиції мають
вигляд:
 Р (х,к), Р (8,х);
 Р (х), Р (6);
 Р (х), Р (к).
Записати загальні приклади в кожному з випадків
3. Побудувати семантичну мережу, що відповідає події, з
визначенням відмінків лінгвістичних відношень:
ЯКЩО СТУДЕНТ СИСТЕМАТИЧНО ВИВЧАВ ДИСЦИПЛІНУ НА
ДОБРОМУ РІВНІ, ТО ВИКЛАДАЧ ПОСТАВИТЬ ЙОМУ ОЦІНКУ ЗА
МОДУЛЬНО-РЕЙТИНГОВОЮ СИСТЕМОЮ БЕЗ ЗДАЧІ ІСПИТУ.
4. Побудувати семантичну мережу, що відповідає події, з
визначенням відмінків лінгвістичних відношень:
ЯКЩО Є ПОТРІБНИЙ КВИТОК НА ПОТЯГ, ТО ПАСАЖИР ЙОГО
КУПИТЬ.
5. Використовуючи квантори спільності та існування й логічні
зв'язки між атомарними предикатами, записати предикатну формулу, що у
відповідності з предикатом ЛЮБИТЬ (Х,А,В), відповідає пропозиціям:
 УСІ ЛЮДИ ЛЮБЛЯТЬ ШОКОЛАД;
 БУДЬ-ЯКА ЛЮДИНА ЛЮБИТЬ ШОКОЛАД.
6. Які з наведених пар термів уніфікуються:
(а) Джек (х) – Джек (людина);
(б) Джек (особистість) – Джек (людина);
(в) Джек (Х,Х) - Джек (23,23);
(г) Джек (Х,Х) – Джек (12,23);
(д) Джек (_,_) – Джек (12,23).
7. Побудувати семантичну мережу, що відповідає події, з
визначенням відмінків лінгвістичних відношень:
ЯКЩО ПРАЦІВНИК ДОБРЕ ПРАЦЮВАВ ВПРОДОВЖ МІСЯЦЯ, ТО
ВІН ОТРИМАЄ ПРЕМІЮ.
8. Побудувати семантичну мережу, що відповідає події, з
визначенням відмінків лінгвістичних відношень:
ЯКЩО ЛЮДИНА ЗАХВОРІЄ, ТО ВОНА ЗВЕРНЕТЬСЯ ЗА
ДОПОМОГОЮ ДО ЛІКАРЯ.
9. Побудувати семантичну мережу, що відповідає події, з
визначенням відмінків лінгвістичних відношень:

20
ЯКЩО КНИГА Є В БІБЛІОТЕЦІ, ТО СТУДЕНТ МОЖЕ ЇЇ ОТРИМАТИ.
10. Побудувати семантичну мережу, що відповідає події, з
визначенням відмінків лінгвістичних відношень:
ЯКЩО КАРТИНА ВИВІШЕНА НА ВИСТАВЦІ, ТО БУДЬ-ЯКИЙ
ВІДВІДУВАЧ ЇЇ ПОБАЧИТЬ.
11. Використовуючи квантори спільності та існування й логічні
зв'язки між атомарними предикатами, написати предикатну формулу, що у
відповідності з предикатом МРІЄ (Х,А,В), відповідає пропозиціям:
 УСІ ЛЮДИ МРІЮТЬ ПРО ВІДПОЧИНОК;
 БУДЬ-ЯКА ЛЮДИНА МРІЄ ПРО ВІДПОЧИНОК.
12. Написати складне правило для прикладу: предикат banned (X,Y)
отримає істинне значення, якщо будуть істинними або all_in_class
(black_SEO,X) або pessimised (X,Y).
13. Використовуючи квантори спільності та існування й логічні
зв'язки між атомарними предикатами, записати предикатну формулу, що у
відповідності з предикатом ЗНАЄ (Х,А,В), відповідає пропозиціям:
 УСІ ЛЮДИ ЗНАЮТЬ РІДНУ МОВУ;
 БУДЬ-ЯКА ЛЮДИНА ЗНАЄ РІДНУ МОВУ.
14. Навести приклад використання правила, яке може бути записане
у вигляді:
ВІДНОШЕННЯ (ОБ’ЄКТ1, ОБ’ЄКТ2) УМОВА ВІДНОШЕННЯ (ОБ’ЄКТ1,
ОБ’ЄКТ2).
15. Побудувати семантичну мережу, що відповідає події, з
визначенням відмінків лінгвістичних відношень:
ЯКЩО СТУДЕНТ СКЛАДЕ СЕСІЮ НА ДОБРЕ ТА ВІДМІННО, ТО В
НАСТУПНОМУ СЕМЕСТРІ ВІН БУДЕ ОТРИМУВАТИ СТИПЕНДІЮ.
16. Побудувати семантичну мережу, що відповідає події, з
визначенням відмінків лінгвістичних відношень:
ЯКЩО ОСОБА МАЄ ДИТИНУ, У ЯКОЇ Є СЕСТРА, ТО ВОНА МАЄ
ДВОХ ДІТЕЙ.
17.Визначити відношення ОНУК, використавши відношення
БАТЬКО.
18.Визначити відношення ТІТКА (X,Y) через відношення БАТЬКО
та СЕСТРА.
19. Побудувати семантичну мережу, що відповідає події, з
визначенням відмінків лінгвістичних відношень:
ЯКЩО ОСОБА МАЄ ДИТИНУ, ТО ВОНА ЩАСЛИВА.
20. Використовуючи квантори спільності та існування й логічні
зв'язки між атомарними предикатами, записати предикатну формулу, що у
відповідності з предикатом МАЄ (Х,А,В), відповідає пропозиціям:
 УСІ ЛЮДИ МАЮТЬ ІМ'Я;
 БУДЬ-ЯКА ЛЮДИНА МАЄ ІМ’Я.

21
3 ТИПОВІ РІШЕННЯ

Задача 1
Подати мережеві структури за допомогою надлишкових ієрархічних
структур.
1
1
1 2 3

2 2 3
4 5 6
3 4 5 6
7 8 9
4
7

Відповідь
1
1

2 3
2 3

4 5 5 6
4 5 6

7 7
7

а)

1 1

2 2 3 4

3
3 4

4
4

б)

1 2 2 3
3 1

4 5 6 4 5 6 5 6
4 5

7 8 9 7 7 8 9 9 7 8 9 9
7 7 8 9

22
в)

Задача 2
Який тип ключа має відношення СТУДЕНТ – ВИКЛАДАЧ.

Студент Викладач Дисципліна


Іванов Харитонов фізика
Петров Харитонов фізика
Іванов Міщенко інформатика
Петров Борисов інформатика

Відповідь
Розрізняють такі типи ключів: простий, повністю складений,
напівскладений, зовнішній, первинний, можливий.
Простим називається ключ, що складається з одного атрибута,
причому атрибут повинен бути атомарним, а екземпляри даного атрибута –
унікальні.
Атомарним є ключ, значення якого сприймається програмою
(СУБД) як неподільний елемент даних, навіть якщо він створений з
декількох об'єктів. Наприклад, атомарність атрибута ДАТА ЗДАЧІ
ЕКЗАМЕНА в відношенні означає неможливість виділення з дати
окремого числа, місяця та року.
Повністю складеним називається ключ, що містить декілька
атрибутів, причому між цими атрибутами існує відображення (залежність)
БАГАТО-ДО-БАГАТЬОХ.
Атрибути, що складають такий ключ, не залежать один від одного.
Напівскладеним називається ключ, що містить декілька атрибутів,
між якими на відміну від повністю складеного ключа існує залежність Б:1
(БАГАТО-ДО-ОДНОГО).
Тут атрибути в ключі впорядковуються за принципом: кожний
наступний уточнює попередній.
Отже, маємо приклад повністю складеного ключа в відношенні
СТУДЕНТ-ВИКЛАДАЧ.

Задача 3
Розробка універсального відношення для заданої предметної
області.

Відповідь

23
У відповідності до порядку розробки універсального відношення при
створенні бази даних для студії прокату вiдеофiльмiв, виходячи з
виконаного аналізу предметної області, в універсальне відношення
включимо атрибути, що описують такі iнформацiйнi об'єкти:
ВIДЕОФIЛЬМ, ВIДЕОКАСЕТА, КЛIЄНТ.
Складемо перелік найбільш суттєвих характеристик кожного
інформаційного об'єкта.
ВIДЕОФIЛЬМ (назва фільму; назва кiностудiї; прізвище режисера;
виконавець головної чоловічої ролі; виконавиця головної жіночої ролі;
тривалість фільму; жанр фільму; оцінка фільму кінокритиками).
ВIДЕОКАСЕТА (номер касети; перелік фiльмiв, що записані на
касеті; час в хвилинах, що займає на касеті кожен з фiльмiв; фірма, яка
виготовляє касети; код, що визначає основні характеристики касети;
остання дата видачі касети в прокат).
КЛIЄНТ (код клієнта, що служить для його швидкої iдентифiкацiї;
прізвище, ім’я, по батькові; адреса; номер телефону, домашнього або
робочого; паспортні дані; критерій вибору клієнтом фільму).
Для деяких характеристик об’єктів визначимо обмеження. Логiчнi
обмеження, що накладаються на дані, називаються обмеженнями
цiлiсностi. Обмеження цiлiсностi – це така властивість, яка задається для
деякого iнформацiйного об'єкта або його характеристик i яка повинна
зберігатися для кожного стану. Наприклад, можна вважати, що не існує
фiльмiв з однаковими назвами. Проте насправді це твердження
неправильне. Таким чином, назва фільму не може служити його ключем.
Твердження про те, що тривалість мультфільму завжди коротша
тривалості художнього фільму може розглядатися як обмеження цiлiсностi
тільки у тому випадку, якщо воно справедливе в будь-який момент i не
залежить від нових надходжень у відеотеку. У розглянутому випадку
обмеження доцільно накласти, наприклад, на можливі критерії вибору
фiльмiв клієнтом, на множину i форму кодів, що визначають основні
характеристики касети, можливо, на множину фірм, які виготовляють
касети (у цілях застереження від придбання неякісної продукції).
Ґрунтуючись на вищесказаному, перерахунок вибраних для
універсального відношення атрибутів, узгоджений із замовником
(керівництвом студії прокату), показаний в таблиці 3.1.
Оскільки всі перераховані в таблиці атрибути є незалежними, тобто
значення одного з них не може бути обчислене за значеннями інших, то всі
вони можуть бути включеними в склад універсального відношення, яке
при цьому приймає такий вигляд:

R (Nazva, N_kasset, N_pp, Kinost, Rezh, Akter, Aktrisa, Dl_film,


Kod_kat, Naz_kat, Ocenka, Opr_f, Firma, Dlitel, Kod_p, FIO, Adr_p, Tel_p,
Ser_pasp, Kr_v, Data_last).

24
Таблиця 3.1 – Початковий перелік атрибутів для формування універ -
сального відношення бази даних студії прокату вiдеофiльмiв
Назва атрибута Ім’я поля Коментар
Назва фільма Nazva У студії можуть бути фільми з
однаковими назвами
Номер касети N_kaset Кожна касета має унікальний номер
Номер за поряд- N_pp Номер фільма за порядком запису на
ком касеті
Кіностудія Kinost Назва кiностудiї, що зняла фільм
Режисер Rezh Прізвище режисера, що зняв фільм
Актор Akter Прізвище актора, що знявся в головній
чоловiчiй ролі
Актриса Aktrisa Прізвище актриси, що знялась в головній
жiночiй ролі
Тривалість фільма Dl_film Тривалість фільма в хвилинах
Код категорії Kod_kat Числова характеристика якості запису
Категорія фільма Naz_kat Жанр фільма
Оцінка Ocenka Оцінка фільма критиками
Касета Opr_F Показник основної характеристики
касети
Фірма Firma Виготовлювач касети
Тривалість Dlitel Час в хвилинах, що займає фільм
Код користувача Kod_p Код користувача, що взяв вiдеофiльм
(якщо фільм не на руках "0")
Користувач FIO Прізвище, ім’я, по батькові користувача
Адреса Adr_p Адреса користувача
Телефон Tel_p Телефон користувача
Паспорт Ser_pasp Паспортні дані користувача
Критерій вибору Kr_v Критерій вибору фiльмiв користувачем
Остання дата про- Data_last Дата, коли касета з фільмом була взята
кату касети на прокат останній раз

Задача 4
Розробити ER-модель предметної області "Студія прокату відео-
фiльмiв".
Відповідь
Для побудови ER-моделі предметної області "Студія прокату
вiдеофiльмiв", в якості сутностей оберемо такі об'єкти предметної області
(з перерахуванням ключових атрибутів кожної сутності):
ФIЛЬМ Nazva (назва фільму), N_kasset (номер касети), N_pp (но-
мер фільму за порядком запису на касеті);

25
КАТЕГОРIЯ ФIЛЬМУ Kod_kat (код категорія фільму);
КАСЕТА N_kasset (номер касети);
ВИЗНАЧНИК Opr_f (характеристика параметрів касети);
КОРИСТУВАЧ Kod_p (код користувача).
Необхiднiсть введення складеного ключа для сутності ФIЛЬМ
обумовлена вимогою, що у вiдеотецi можуть бути рiзнi фільми з назвами,
які збігаються. До того ж, вони можуть бути записані на одну касету.
Характеристики зв’язків виділених сутностей наведені в таблиці 3.2.
ER-модель предметної області "Студія прокату вiдеофiльмiв", що
побудована на основі проведеного аналізу, показана на рис. 3.1.

Таблиця 3.2 – Характеристики зв’язків предметної області "Студія прокату


вiдеофiльмiв"
Тип Клас
Ім'я сутності 1 Ім'я сутності 2 Ім'я зв'язку
зв'язку належності
Фільм Категорія N:1 Має Обов., обов.
Касета Визначник N:1 Характеризує Обов., обов.
Фільм Касета N:M Записаний Обов., обов.
Користувач Касета N:M Тримає Необ., необ.
N1
КОРИСТУВАЧ ТРИМА
Є
Kod_p

M1
ФІЛЬМ N2 ЗАПИСА- M2 КАСЕТА
НИЙ
N3 N_kasset N4

1 КАТЕГОРІЯ ХАРАКТЕ
МАЄ
РИЗУЄ
Kod_kat
1
ВИЗНАЧНИК
Рисунок 3.1 – Результуюча ER-модель предметної області "Студія
прокату вiдеофiльмiв"
Задача 5
Форми нормалізації БД. Взаємозв’язок між основними нормальними
формами відношення.

Відповідь
Нормалізація – це розбиття таблиці на дві або більше, які
характеризуються кращими властивостями при доповненні, зміні і

26
вилученні даних. Кінцева мета нормалізації зводиться до отримання такого
проекту бази даних, у якому кожний факт з'являється лише в одному місці,
тобто виключена надлишковість інформації. Це робиться не стільки з
метою економії пам'яті, скільки для виключення можливої суперечливості
збережених даних.
Кожна таблиця в реляційній БД задовольняє умову, у відповідності з
якою у позиції на перетині кожного рядка і стовпця таблиці завжди
знаходиться єдине атомарне значення і ніколи не може бути множини
таких значень. Будь-яка таблиця, що задовольняє цю умову, називається
нормалізованою.
Кожній нормальній формі відповідає деякий визначений набір
обмежень. Відношення знаходиться в деякій нормальній формі, якщо
задовольняється властивий їй набір обмежень.
Кожна нормальна форма є більш обмеженою і більш бажаною, ніж
попередня. Це пов'язано з тим, що в (N+1)-ій нормальній формі
вилучаються деякі небажані властивості, які характерні N-ій нормальній
формі. Теорія нормалізації ґрунтується на наявності тієї або іншої
залежності між полями таблиці.
Основні властивості нормальних форм:
 кожна наступна нормальна форма в деякому змісті краща
попередньої;
 при переході до наступної нормальної форми властивості
попередніх нормальних форм зберігаються.
Найбільш важливі нормальні форми відношень ґрунтуються на
фундаментальному, в теорії реляційних баз даних, понятті функціональної
залежності.
У відношенні R атрибут Y функціонально залежить від атрибута X
(X і Y можуть бути складовими) у тому і тільки в тому випадку, якщо
кожному значенню X відповідає в точності одне значення Y: X Y.
Функціональна залежність X Y називається повною, якщо
атрибут Y не залежить функціонально від будь-якої підмножини X.
Функціональна залежність називається транзитивною, якщо з
функціональних залежностей X Y та Y Z випливає, що X Z.
Наприклад, Вінниця входить до Поділля, а Поділля - до України. Для
даного прикладу має місце транзитивна залежність ВІННИЦЯ
УКРАЇНА.
Неключовим атрибутом називається будь-який атрибут відношення,
що не входить до складу первинного ключа.
Два або більше атрибути взаємно незалежні, якщо жодний із цих
атрибутів не є функціонально залежним від інших.
Відношення R задано в першій нормальній формі, якщо воно задано
у вигляді множини своїх кортежів, які не повторюються.

27
Для того, щоб подати відношення в першій нормальній формі
необхідно над його кортежами виконати операцію проекції для видалення
рядків, які повторюються.
Відношення R задано в другій нормальній формі, якщо воно, по-
перше, є відношенням у першій нормальній формі і, по-друге, кожний
його атрибут, який не є основним атрибутом, функціонально повно
залежить від будь-якого можливого ключа цього відношення.
У загальному випадку, якщо всі можливі ключі відношення містять
по одному атрибуту, то це відношення задане в другій нормальній формі,
тому що в цьому випадку всі атрибути, які не є основними, функціонально
повно залежать від можливих ключів. Однак це твердження не завжди
справедливе, коли ключ відношення R є складеним.
Відношення R знаходиться в третій нормальній формі (3НФ) у тому і
тільки в тому випадку, якщо знаходиться в 2НФ і кожний неключовий
атрибут нетранзитивно залежить від первинного ключа. На практиці в
більшості випадків три нормальні форми схем відношень є достатніми і, як
правило, процес проектування реляційної бази закінчується приведенням
до третьої нормальної форми. Хоча іноді корисно продовжити процес
нормалізації.
Детермінантом називається будь-який атрибут, від якого
функціонально повно залежить деякий інший атрибут.
Відношення R знаходиться в нормальній формі Бойса-Кодда (НФБК)
у тому і тільки в тому випадку, якщо кожний детермінант є можливим
ключем. Якщо у відношенні є тільки один можливий ключ (який є
первинним ключем), то це означення стає еквівалентним означенню
третьої нормальної форми.
Послідовність етапів нормалізації:
1. Перехід від структурної моделі даних до плоских двовимірних
відношень (таблицям).
2. Усунення всіх неповних залежностей атрибутів, які не є
основними, від усіх ймовірних ключів.
3. Усунення всіх транзитивних залежностей атрибутів, які не є
основними, від усіх ймовірних ключів.
4. Усунення всіх нетривіальних багатозначних залежностей
атрибутів, які не є основними, від усіх ймовірних ключів.
Після того, як визначені елементи даних і залежності між ними, ці
етапи в принципі можуть бути виконані автоматично за наведеним
алгоритмом.

Задача 6
Виконати нормалізацію відношення СПІВРОБІТНИКИ - ВІДДІЛИ-
ПРОЕКТИ (НОМЕР_СПІВРОБІТНИКА, ЗАРПЛАТА_СПІВРОБІТНИКА,
НОМЕР_ВІДДІЛУ, НОМЕР_ПРОЕКТУ, ЗАВДАННЯ_СПІВРОБІТНИКА).

28
Відповідь
Розглянемо схему відношення:
СПІВРОБІТНИКИ - ВІДДІЛИ - ПРОЕКТИ (НОМЕР_СПІВРОБ, ЗАРП_
СПІВРОБ, НОМЕР_ВІДДІЛ, НОМЕР_ПРО, ЗАВДАННЯ_СПІВРОБ).
Використаємо скорочення: СПІВРОБ - співробітник, ЗАРП –
зарплата, ПРО – проект.
Первинний ключ:
НОМЕР_СПІВРОБ, НОМЕР_ПРО.
Функціональні залежності:
НОМЕР_СПІВРОБ -> ЗАРП_СПІВРОБ,
НОМЕР_СПІВРОБ -> НОМЕР_ВІДДІЛ,
НОМЕР_ВІДДІЛ -> ЗАРП_СПІВРОБ,
НОМЕР_СПІВРОБ, НОМЕР_ПРО -> ЗАВДАННЯ_СПІВРОБ.
Хоча первинним ключем є складовий атрибут НОМЕР_СПІВРОБ,
НОМЕР_ПРО, атрибути ЗАРП_СПІВРОБ і НОМЕР_ВІДДІЛ функціональ-
но залежать від частини первинного ключа, тобто атрибута
НОМЕР_СПІВРОБ. В результаті, неможливо вставити у відношення
СПІВРОБІТНИКИ-ВІДДІЛИ-ПРОЕКТИ кортеж, що описує співробітника,
який ще не виконує ніякого проекту (первинний ключ не може містити
невизначене значення). При видаленні кортежу не тільки руйнується
зв'язок даного співробітника з даним проектом, але й втрачається
інформація про те, в якому відділі він працює. При переведенні
співробітника в інший відділ необхідно модифікувати всі кортежі, які
описують цього співробітника, або одержимо неузгоджений результат.
Усунемо зазначені аномалії шляхом нормалізації.
Виконаємо декомпозицію відношення СПІВРОБІТНИКИ-ВІДДІЛИ-
ПРОЕКТИ в два відношення СПІВРОБІТНИКИ-ВІДДІЛИ і СПІВРОБІТ-
НИКИ- ПРОЕКТИ:
СПІВРОБІТНИКИ-ВІДДІЛИ (НОМЕР_СПІВРОБ, ЗАРП_СПІВРОБ,
НОМЕР_ВІДДІЛ).
Первинний ключ:
НОМЕР_СПІВРОБ.
Функціональні залежності:
НОМЕР_СПІВРОБ -> ЗАРП_СПІВРОБ,
НОМЕР_СПІВРОБ -> НОМЕР_ВІДДІЛ,
НОМЕР_ВІДДІЛ -> ЗАРП_СПІВРОБ,
СПІВРОБІТНИКИ-ПРОЕКТИ (НОМЕР_СПІВРОБ, НОМЕР_ПРО, ЗАВ-
ДАННЯ_СПІВРОБ).
Первинний ключ:
НОМЕР_СПІВРОБ, НОМЕР_ПРО.
Функціональна залежність:
НОМЕР_СПІВРОБ, НОМЕР_ПРО -> ЗАВДАННЯ_СПІВРОБ.

29
Кожне з цих двох відношень знаходиться в 2НФ. В них усунуті
відзначені вище аномалії.

Задача 7
Навести приклади відношень, які знаходяться у 2НФ. Виконати над
ними нормалізацію.

Відповідь
Розглянемо відношення:
ГУРТОЖИТОК (ПІБ_СТУДЕНТА, НОМЕР_ГРУПИ, НОМЕР_КІМНАТИ,
СТАРОСТА_КІМНАТИ). Воно знаходиться в другій нормальній формі,
але не в третій, тому що атрибут СТАРОСТА_КІМНАТИ залежить від
атрибута НОМЕР_КІМНАТИ, який, у свою чергу, залежить від атрибута
ПІБ_ СТУДЕНТА і, отже, СТАРОСТА_КІМНАТИ транзитивно залежить
від ПІБ_СТУДЕНТА. Це відношення можна привести до необхідної форми
шляхом його розщеплення на два:
1) СТУДЕНТ-ГУРТОЖИТОК (ПІБ_СТУДЕНТА, НОМЕР_ГРУПИ,
НОМЕР_ КІМНАТИ);
2) КІМНАТА-ГУРТОЖИТОК (НОМЕР_КІМНАТИ, СТА-
РОСТА_КІМНАТИ).
Таким чином, усунено транзитивну залежність, а ступінь
нормалізації відношення підвищено.

Задача 8
Оцінити спроектовані НФБК-відношення.

Відповідь
Розглядаючи відношення, отримані при проектуванні бази даних
«Студія прокату вiдеофiльмiв», можна помітити, що:
- ні одна 3НФ не повторюється більше одного разу;
- цей набір 3НФ є мiнiмальним.
Аналіз відношень показує, що не можна вказати серед них ні одного,
всі атрибути якого були б підмножиною атрибутів іншого відношення.
Крім того, неможливо з'єднати три відношення так, щоб у підсумку були
отримані всі атрибути четвертого відношення. Отже, ні одне з відношень
не є надлишковим.
Аналіз результуючих відношень бази даних відеотеки:
FILM (< Nazva, N_kasset, N_pp >, Kinost, Rezh, Akter, Aktrisa,
Dl_film, Kod_kat, Ocenka);
KASSET (< N_kassset >, Opr_f, Kod_p, Data_last);
POLS (< Kod_p >, FIO, Adr_p, Tel_p, Ser_pasp, Kr_v);
KODKAT (< Kod_kat >, Naz_kat);
FIRMA (< Opr_f >, Firma, Dlitel)

30
також свідчить про правильно проведене проектування.

Задача 9
Виконати операцію декартового добутку над реляційними
відношеннями.

 X A 
 Y A  5 A 
RA    , RB 
 Z A  1
 B  .
 
|_ W B _| |

Відповідь
Операція декартового добутку виконується між кортежами
реляційних відношень аргументів, а результатом є конкатенація
(“зчеплення”, позначається “”) відповідних кортежів, що є реляційне
відношення з такими характеристиками:
 ступінь (RАRВ)= ступінь(RА) + ступінь(RВ);
 потужність(RАRВ)= потужність(RА) × потужність(RВ).
Таким чином, результуюче відношення матиме характеристики:
ступінь результуючого відношення дорівнює 4 (2+2) , а потужність - 8
(4×2).

 X A 5 A

X A 1 ВA

 X A   Y A 5 A
  
Y A   5 A  Y A 1 В
RА Ä RВ =      
 Z A   1 B   Z A 5 A
  
 W B   Z A 1 В
 W B 5 А .

 W B 1 B

31
4 ЗАВДАННЯ ДО ЛАБОРАТОРНИХ РОБІТ
Всі лабораторні роботи повинні виконуватися згідно з обраною
предметною областю, яка узгоджується з викладачем.

Лабораторна робота №1

Дослідження основних функцій системи управління базами даних


(СУБД) Access. Основи роботи з таблицями в MS Access

Мета роботи. Знайомство з інтерфейсом СУБД Access, створення бази


даних в режимах МАСТЕР й КОНСТРУКТОР, одержання навичок роботи
зі створення структури таблиць, модифікації структури таблиць,
заповнення таблиць, створення ключових полів, індексованих полів,
встановлення зв'язків між таблицями, видалення інформації з пов'язаних
таблиць і відновлення цієї інформації.

Порядок виконання роботи

1. Ознайомитись з інтерфейсом СУБД Access


2. Створити базу даних в режимі МАСТЕР.
3. Створити таблицю бази даних в режимі КОНСТРУКТОР першим
способом згідно з обраною предметною областю.
4. Створити таблицю бази даних в режимі КОНСТРУКТОР другим
способом згідно з обраною предметною областю.
5. Створити маску введення даних в таблицю бази даних першим
способом.
6. Створити маску введення даних в таблицю бази даних другим
способом.
7. Встановити зв'язки між таблицями бази даних.
8. Додати запис до таблиці бази даних.
9. Видалити записи з таблиці бази даних.
10.Оформити звіт.

Теоретичні відомості

1 СТВОРЕННЯ ТАБЛИЦЬ БАЗИ ДАНИХ ЗА ДОПОМОГОЮ


МАСТЕРА
Для створення таблиць бази даних в режимі МАСТЕР слід виконати
такі дії:
1. Запустити на виконання додаток Microsoft Access (Пуск
=>Програми=>Microsoft Access чи будь-яким іншим способом).
2. Обрати режим роботи ЗАПУСК МАСТЕРА, натиснути на кнопку
.

32
3. У вікні СОЗДАНИЕ при обраній вкладці БАЗЫ ДАННЫХ
відображається галерея шаблонів для створення бази даних, що
використовуються у різних прикладних областях: Адресная книга,
Библиотека, Винный погреб, Главная книга, Заказы на работу,
Каталог видеозаписей, Контакты, Личное имущество,
Мероприятия, Музыкальная коллекция, Основные фонды, Прием
заявлений, Проекты, Расходы, Ресурсы, Рецепты, Сбор средств,
Склад, Студенты и занятия, Тренировки, Учасники,
Фотоальбомы. Обрати шаблон за завданням (наприклад,
Библиотека) і натиснути на кнопку .
4. У діалоговому вікні ФАЙЛ нової бази даних, що з'явився на
екрані, вибрати диск і папку, у яких буде зберігатися створена
база даних. При цьому у розділі ИМЯ ФАЙЛА буде
запропоноване ім'я файлу для бази даних, яку Ви створили
(БИБЛИОТЕКА.mdb). Ви можете змінити запропоноване ім’я, та
узгодити його натисненням кнопки .
5. Через невеликий проміжок часу з'явиться вікно СОЗДАНИЕ
БАЗЫ ДАННЫХ, у якому буде зазначено, які дані буде містити
база даних, що створюється. Зокрема, база даних БІБЛІОТЕКА
буде містити:
 дані про книги;
 дані про авторів;
 цитати.
Натиснення кнопки дозволить продовжити створення
таблиць бази даних.
6. Вікно, що з'явилося на екрані, містить у лівій частині імена
таблиць, що будуть створені, а у правій частині - список
обов'язкових і необов'язкових полів для обраної таблиці. У цьому
ж вікні необхідно включити параметр “ДА, ВКЛЮЧИТЬ
ПРИМЕРЫ ДАННЫХ” й натиснути кнопку .
7. Вибрати вид оформлення екрана, переглянувши всі запропоновані
варіанти заставок для фону та узгодити його натисненням кнопки
.
8. Остаточно обрати назву бази даних чи скористатися
запропонованою – БИБЛИОТЕКА.
9. Якщо Вам необхідно використовувати рисунок для оформлення
звітів, потрібно використати параметр “ДА” у вкладці
“ДОБАВИТЬ РИСУНОК ВО ВСЕ ОТЧЕТЫ?” При цьому стане
активною кнопка , що дозволяє одержати доступ до
дисків і папок для вибору та вставки потрібного рисунка.

33
10.Натиснути кнопку й у вікні, що відкрилося підтвердити
налаштування кнопкою .
11.Після завершення процесу створення таблиць бази даних, на
екрані з'явиться кнопкова форма для роботи зі створеною базою
даних (БИБЛИОТЕКА). Натиснути на кнопку форми
КНИГИ. Відкриється форма КНИГИ (рис. 4.1), яка містить
інформацію про книгу, а також форму, що містить інформацію
про автора. У нижньому лівому куті вікна розташовані кнопки,
що використовуються для переміщення по записах у таблиці: до
першого запису в таблиці, до попереднього запису в таблиці, до
наступного запису в таблиці, до останнього запису в таблиці. У
текстовому вікні цифрою вказується номер поточного запису.

Рисунок 4.1 – Приклад форми, що містить інформацію про книги

12.Після перегляду закрити вікно форми. Аналогічно познайомитися


з іншими таблицями створеної бази даних.
13.У лівому нижньому куті екрана буде розташоване згорнуте до
розмірів піктограми вікно створеної бази даних. Відновити розмір
вікна можна натисненням відповідної кнопки.
14.Вибрати вкладку ТАБЛИЦЫ. Вибрати першу таблицю зі списку
таблиць.
15.Натиснути на кнопку . Інформація буде подана у
вигляді таблиці. У верхньому рядку як заголовки стовпців подані
імена полів. Кожен наступний рядок являє собою запис у таблиці.
Закрити вікно.
16.Натиснути на кнопку . У вікні буде подана структура
обраної таблиці. У верхній частині вікна КОНСТРУКТОРА
подані імена полів і типи, у розділі СВОЙСТВА ПОЛЯ -
властивості обраного поля. Ліворуч від імені першого поля

34
розташований символ ключа, який означає, що дане поле є
ключовим.
17.Завершивши знайомство зі структурою таблиці, закрити вікно
КОНСТРУКТОРА. Згорнути вікно бази даних.
18.Ознайомитися з піктограмами на стандартній панелі інструментів.
19.Закрити базу даних, натиснувши на кнопку .
20.Закінчити роботу з додатком Access, закривши його вікно.

2 СТВОРЕННЯ ТАБЛИЦІ БАЗИ ДАНИХ В РЕЖИМІ


КОНСТРУКТОР
Інструменти форматування режиму КОНСТРУКТОР змінюють тільки
спосіб відображення даних на екрані, але не спосіб їх збереження в таблиці.
Процес форматування не може відстежити помилки введення інформації, він
дозволяє подати дані в кращому вигляді, що набуває значення при створенні
таблиць бази даних визначеної структури. Послідовність створення таблиць
бази даних в режимі КОНСТРУКТОР подана на рис. 4.2 – 4.5.

Рисунок 4.2 – Підготовка до конструкторської роботи

Рисунок 4.3 – Тип даних (поля) з наявного списку

35
Рисунок 4.4 – Визначене поле даних, готове до роботи

Рисунок 4.5 – Таблиця, створена в режимі КОНСТРУКТОРА

Виділяють такі основні способи створення таблиці в режимі


КОНСТРУКТОР.
Перший спосіб:
 із системного меню обрати команду ФАЙЛОТКРЫТЬ;
 двічі натиснути на імені бази даних, у якій необхідно створити нову
таблицю. При цьому на екрані з'явитися файл бази даних;
 якщо на екрані з’явиться кнопкова форма, необхідно натиснути на
кнопку закриття вікна форми, яка розташована в її правому верхньому
куті і вона зникне. Для відновлення вікна бази даних натиснути на
кнопку ВОССТАНОВИТЬ згорнутого вікна бази даних, що знаходиться
в нижньому лівому куті екрана чи натиснути на кнопку ОТКРЫТЬ базу
даних, розташовану на панелі інструментів;

36
 у лівій частині вікна бази даних обрати вкладку ТАБЛИЦЫ;
 обрати елемент СОЗДАНИЕ ТАБЛИЦЫ В РЕЖИМЕ КОНСТРУК-
ТОРА. Access виведе на екран порожню форму для проектування
таблиці, де в кожному рядку вводиться відповідне ім'я поля таблиці
створюваної бази даних, при цьому переходи між рядками виконуються
натисненням клавіші <Tab>;
 після визначення імен полів таблиці бази даних потрібно для кожного
поля визначити тип даних переміщенням курсору в стовпець ТИП
ДАННЫХ;
 щоб переглянути список всіх доступних типів поля необхідно натиснути
на кнопку списку, що розкривається. Слід обрати тип потрібного поля
(рис. 4.3). Наприклад, для створення текстового поля необхідно установити
його розмір (за замовчуванням його розмір відповідає 50 символам). Для
цього вибирають рядок РАЗМЕР ПОЛЯ, розташований у вкладці нижньої
лівої частини вікна, і вводять потрібний розмір поля;
 перейти у поле ОПИСАНИЕ і ввести з клавіатури чіткий опис змісту поля.
Щоб повернути курсор у стовпець ИМЯ ПОЛЯ слід натиснути клавішу
<Tab> ;
 повторювати даний процес, поки всі поля не будуть визначеними
(рис. 4.4);
 для збереження нової таблиці, вибирають із системного меню
послідовність команд ФАЙЛСОХРАНИТЬ чи натискають на кнопку
СОХРАНИТЬ, що розташована на панелі інструментів. У діалоговому
вікні, що з’явилося, вводять ім’я таблиці і підтверджують його
натисненням клавіші <Enter>.
Другий спосіб:
 відкрити файл бази даних і натиснути на імені таблиці, з якою необхідно
працювати, а потім – на кнопці КОНСТРУКТОР (рис. 4.2). Якщо таблиця
знаходилася в режимі перегляду таблиці, слід натиснути на кнопку режим
КОНСТРУКТОР, що розташована ліворуч на панелі інструментів.
Таблиця перейде в режим КОНСТРУКТОР;
 обрати ім’я поля, з яким слід працювати. Вкладка ОБЩИЕ, яка знаходиться
в нижній частині вікна КОНСТРУКТОР, містить докладну інформацію
про поточне поле ( рис. 4.4);
 в області СВОЙСТВА ПОЛЯ, розташованій в нижній частині вікна,
ввести необхідні зміни. Кожному елементу - ФОРМАТ ПОЛЯ, МАСКА
ВВОДА і УСЛОВИЕ НА ЗНАЧЕНИЕ - відповідає певне значення;
 завершити роботу, закрити таблицю і зберегти внесені зміни за
допомогою команд ФАЙЛСОХРАНИТЬ або натисненням кнопки
СОХРАНИТЬ, що розташована на панелі інструментів.

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

Текстові і МЕМО-поля (типи даних)


Для цих типів даних існує чотири формати:
 символ ">" (більше ніж) дозволяє виводити всю текстову інформацію
поля великими літерами, незалежно від того, у якому вигляді вона була
введена. Для того, щоб використовувати цей метод, вводять у текстове вікно
властивості ФОРМАТ ПОЛЯ тільки символ ">".
 символ "<" (менше ніж) виводить зміст поля малими літерами. Якщо
вводити дані в змішаному вигляді, то на екрані вони приймають вигляд
рядкових символів. Для застосування цього режиму необхідно ввести символ
"<" у текстове поле властивості ФОРМАТ ПОЛЯ.
 символ "@" вказує Access, що в поле потрібно обов'язково ввести
символ чи пробіл. Якщо кількість символів, які вводяться, менша, ніж
зазначено у форматі, Access додає додаткові пробіли, поки їх кількість не
буде відповідати формату. Наприклад, якщо формат поля використовує
рядок символів @@@@@@, а дані поля містять тільки три символи
(наприклад, ім’я Оля), Access спочатку виведе в поле три пробіли, а потім
уже дані.
 спеціальний символ "&" (амперсанд) визначає необов'язкове виведення
символу (символ виводиться, якщо він існує).
Зверніть увагу, що символи "@" і "&" відповідають кожному символу
поля, а один символ ">" або "<"відповідає всьому полю.
При введені даних потрібно залишити поле пустим, щоб потім його
заповнити. Для цього в текстове поле властивості ФОРМАТ ПОЛЯ вводять:
@; “Не заполнено” [Червоний]. Ця примітка виведе текст “Не заполненый”
червоним кольором, якщо в полі не буде міститися ніякої інформації.

Числові і грошові типи даних


Для того, щоб встановити числовий чи грошовий формат поля,
натискають у текстовому полі ФОРМАТ ПОЛЯ, а потім на кнопці списку, що
з'явиться в правому кутку, вибирають необхідний формат. На рисунку 4.6
показане низхідне меню.
Назва формату наводиться в меню ліворуч, праворуч показаний
зразок його застосування. Нижче наведений опис варіантів формату, що
найбільш часто використовуються.
 ОСНОВНОЙ. Цей формат використовується за замовчуванням.
Access 2000 застосовує цей формат для виведення на екран інформації без
змін.

38
Рисунок 4.6 – Обрання формату з меню

 ДЕНЕЖНЫЙ. Цей формат виводить стандартне числове поле в


грошовому вигляді. Якщо десяткова дробова частина відсутня, то після
коми виводяться два нулі. При цьому в полі наводиться валютний знак і
пунктуація згідно з обраним у вікні ЯЗЫК И СТАНДАРТЫ, що
викликається з панелі керування Windows.
 ФИКСИРОВАННЫЙ. Цей формат виводить дані з певним числом
знаків після десяткового знака. За замовчуванням числа округляються до
двох десяткових знаків. Для визначення конкретного значення кількості
десяткових знаків (відмінного від прийнятого за замовчуванням)
використовують вкладку ЧИСЛО ДЕСЯТИЧНЫХ ЗНАКОВ, вибравши її
безпосередньо під текстовим вікном ФОРМАТ ПОЛЯ.
 С РАЗДЕЛИТЕЛЯМИ РАЗРЯДОВ. Цей формат аналогічний фор-
мату ФИКСИРОВАННЫЙ, але додає ще розділювачі груп розрядів.
Кількість знаків після десяткової крапки можна задати за допомогою
встановлення ЧИСЛО ДЕСЯТИЧНЫХ ЗНАКОВ.
 ПРОЦЕНТНЫЙ. Цей формат служить для вираження значень у
відсотках. Він виводить десятковий дріб (наприклад, 0,97) у вигляді, що
використовується значно частіше (97%.). Необхідно вводити дані у
вигляді 0,97, а не 97, інакше Access виведе на екран незрозумілу цифру.
Якщо числа, що вводяться, автоматично округляються до найближ-
чого цілого числа (0,00% чи 1,00%) і при цьому на місці десяткових
знаків виводяться нулі, знімають встановлений РАЗМЕР ПОЛЯ
(розташованого безпосередньо над полем ФОРМАТ ПОЛЯ) з ДЛИННОЕ
ЦЕЛОЕ на ОДИНАРНОЕ С ПЛАВАЮЩЕЙ ТОЧКОЙ чи ДВОЙНОЕ С
ПЛАВАЮЩЕЙ ТОЧКОЙ. Це не дозволить Access знехтувати десятковою
частиною числа. За замовчуванням під час введення числа Access 2000
автоматично округлює число до цілого.

Поля типу ДАТА/ВРЕМЯ


Подібно числовим і грошовим форматам, поля типу ДАТА/ВРЕМЯ
мають вбудовані, готові до використання формати, що містяться в списку,
який розкривається. Їх обирають у властивості ФОРМАТ ПОЛЯ із

39
запропонованих варіантів (рис. 4.7).

Рисунок 4.7 – Формат дати, розрахований на будь-яку дату, і дата,


доступна для будь-якого формату

При використанні одного з найбільш довгих форматів ПОЛНЫЙ


ФОРМАТ ДАТЫ або ДЛИННЫЙ ФОРМАТ ДАТЫ необхідно перевірити
чи ширина стовпця таблиці дозволяє повністю вивести дату. У протилеж-
ному випадку виведення дати в цьому форматі не буде мати сенсу, оскільки
більша її частина не буде відображатися.
Якщо база даних використовується декількома користувачами, то
краще вибрати такий формат, що забезпечить виведення більшої кількості
інформації.

Поля логічного типу


Як видно з рисунку 4.8, попередні установки форматування обмежені.
За замовчуванням поля логічного типу встановлюються у форматі ДА/НЕТ.
Можна ввести з клавіатури формат, який використовується. Приклад
формату: "Принято" [Зелений]; "ОТКАЗАНО"[Червоний]. Якщо елемент є в
наявності, то текст, що прийнятий буде виведений зеленим кольором, у
протилежному випадку з'явиться яскраво-червоне попередження про відмову.

Рисунок 4.8 – Поля логічного типу

ТИП ЭЛЕМЕНТА УПРАВЛЕНИЯ на вкладці ПОДСТАНОВКА


(розташована поруч із вкладкою ОБЩИЕ) встановлює значення ПОЛЕ. У
протилежному випадку у полі з'являться прапорці.

40
Маска введення
Маски введення являють собою фільтри, що дозволяють вводити в
поле тільки певні дані. Коли вони застосовуються поряд з умовами перевірки
значень, поля таблиці будуть надійно захищені від некоректної інформації.
Маска введення — це просто набори символів, що вказують Access
2000, якого вигляду дані повинні бути введені в цьому полі. Поле МАСКИ
ВВОДА зберігається в рядку МАСКИ ВВОДА вкладки ОБЩИЕ поряд з
іншими установками форматування поля.
Більше половини типів полів у Access може мати власну маску
введення. Перед створенням маски необхідно знати, дані якого типу повинні
зберігатися в полі. Якщо для поля, призначеного для збереження адреси
клієнта, створюється маска, що дозволить вводити в нього тільки букви, це
буде прикладом невдалого застосування маски.
Маски введення ефективно працюють у випадку, коли потрібно
вводити дані невеликої довжини і досить інформативні. Гарним прикладом
таких даних можуть послужити числа комбінації цифр і букв. Поштові
індекси і номери телефонів, введені за допомогою маски введення,
забезпечать коректність даних зазначеного поля.
Існує два основних способи створення маски введення:
 вручну з клавіатури;
 за допомогою МАСТЕРА МАСОК ВВОДА.
При створенні маски введення вручну слід обрати таблицю бази
даних, для якої створюється маска, та обрати режим КОНСТРУКТОР.
Після цього виділяють ім’я поля обраної таблиці бази даних, для якого
створюється маска. Вкладка ОБЩИЕ області СВОЙСТВА ПОЛЯ,
розташована в нижній частині вікна КОНСТРУКТОРА, містить докладну
інформацію про поточне поле.
Якщо маску вводити у текстовому полі, курсор переміщують в це
поле, що приводить до появи вказівника з трьома точками, який означає
введення в режим ПОСТРОИТЬ. Обрання означеного вказівника активізує
діалогове вікно СОЗДАНИЕ МАСОК ВВОДА (рис. 4.9).
МАСТЕР МАСОК ВВОДА призначений тільки для роботи з
текстовими полями чи полями типу ДАТА/ВРЕМЯ. Потрібну маску
введення обирають з списку доступних масок та продовжують
створення маски за допомогою кнопки ДАЛЕЕ. У діалоговому вікні
з'явиться набір кодів, які описують маску, і додаткова інформація про неї
(рис. 4.10). При обранні варіанта маски ПАРОЛЬ налаштування закінчено,
що потрібно підтвердити кнопкою ГОТОВО. Для перевірки створеної
маски введення, обирають поле ПРОБА, розташоване в нижній частині
діалогового вікна, та підтверджують її застосування до обраного поля
кнопкою ГОТОВО. Обраний варіант маски з'явиться в рядку МАСКА
ВВОДА розділу СВОЙСТВА ПОЛЯ. Кнопкою ОТМЕНА можна скасувати
застосування маски.

41
Рисунок 4.9 – Створення масок введення

Рисунок 4.10 – МАСТЕР МАСОК ВВОДА повідомляє необхідну


інформацію

МАСТЕР МАСОК ВВОДА надає додаткові можливості, що


дозволяють зберігати символи поряд з даними. Це досягається відповідями на
питання щодо налаштовувань та підтвердженням їх кнопкою ГОТОВО.
Використовуючи МАСТЕР МАСОК МАСОК ВВОДА, обирають код
маски за таблицею 4.1 при створенні маски введення для даних. Для
використання великих літер у введених даних, на початку маски додають
символ ">" (більше ніж), а для використання лише малих букв на початку
маски додають символ "<" (менше ніж). Наприкінці маски при необхідності
підкреслення символів слід поставити ;; __ (два символи «крапки з комою» й
один символ підкреслення).

42
Таблиця 4.1 – Коди, що використовуються в масці
введення
Код для
Код для обов’язкових
Вид символів необов’язкових
символів
символів
Тільки цифри (від 0 до 0 (нуль) 9
9)
Цифри і знаки (+ і -) відсутній # (знак фунта)
Тільки букви L ?(знак питання)
Тільки букви чи цифри A а (рядкова)
Будь-який символ чи С & (амперсанд)
знак пробілу

Остаточний варіант маски вводять в рядку МАСКА ВВОДА (рис. 4.11).


Результат сформованої маски введення можна переглянути за допомогою
кнопки РЕЖИМ ТАБЛИЦЫ. Маска введення не дозволить вводити
некоректні дані.

Рисунок 4.11 – Введення маски поля

Режим КОНСТРУКТОРА дозволяє вносити зміни у створену маску


введення.
Для того, щоб включити в маску дефіси, розділювачі і круглі дужки,
вводять перед ними знак (\). При необхідності включити більше одного
символу, потрібно взяти їх у лапки. Наприклад, маска для номера
телефону з міжміським кодом може бути такою: <“!\(999”) “000\-000”>. У
круглих дужках буде знаходитися міжміський код, далі йде пробіл, що

43
відокремлює цей код від самого номера.
У прикладі з телефонним номером міжміський код, на відміну від
самого номера телефону, — необов'язковий елемент. Якщо знак оклику не
вводити в маску, Access дозволить упустити при введенні міжміський код і
ввести тільки номер телефону. Після того, як натиснути клавішу <Enter>,
семизначний телефонний номер прийме вигляд (555) 121-2. Це відбулося
тому, що Access 2000 заповняла маску з лівого краю, а не з правого,
починаючи з необов'язкових елементів телефонного коду.
Додавши знак оклику в маску введення, користувач вказує Access, що
заповнення поля повинно відбуватися з правого краю. У цьому випадку на
екрані буде видно ( ) 555-1212. Зверніть увагу, що знак оклику може бути
присутнім у будь-якому місці маски введення.

Умова перевірки значення


Ще один вид боротьби з некоректними даними — це умова перевірки
значення. З його допомогою Access ретельно перевіряє дані, що вводяться, на
відповідність їх певним вимогам. У протилежному випадку на екрані з'явиться
повідомлення про помилку та пропозиція повторити введення інформації.
Умова перевірки значення знаходиться у вкладці ОБЩИЕ, розташованій
в нижній частині вікна, в області СВОЙСТВА ПОЛЯ. Існує два варіанти
перевірки значення — УСЛОВИЕ НА ЗНАЧЕНИЕ (власне перевірка) і
СООБЩЕНИЕ ОБ ОШИБКЕ (текст повідомлення, що з'явиться на екрані при
введенні некоректних даних).
Умова перевірки значення ефективно спрацьовує при введенні
числових, грошових даних і даних типу ДАТА/ВРЕМЯ. Можна створити
умову перевірки значення для текстового поля. У таблиці 4.2 наведені
найбільш часто уживані умови перевірки значень.

Таблиця 4.2 – Умови перевірки значень


Тип
поля Умови перевірки Опис значень
Числове >0 Повинно бути більше 0
Числове <>0 He дорівнює нулю
Числове >0And<100 Більше 0 і менше 100
Більше чи дорівнює 0 і менше чи
Числове >=0And<=100
дорівнює 100 (включно)
Менше чи дорівнює 0 або більше чи
Числове <=0 Оr>=100
дорівнює 100 (включно)
Дата >=Date( ) He раніше сьогоднішньої дати
He раніше сьогоднішньої дати чи дата
Дата >=Date( ) Or Is Null не визначена
Дата <Date( ) Раніше сьогоднішньої дати
Дата >=#01.01.90#And Між 1 січня 1990 року і

44
<=Date( ) сьогоднішньою датою
При використанні оператора кон’юнкції AND (І) повинні виконуватися
обидві частини умови перевірки значення.
При використанні оператора диз'юнкції OR (АБО) умова буде істинна,
якщо виконується хоча б одна частина виразу.
Слід бути уважними при використанні комбінацій >= і <=, оскільки
можна легко помилитися і написати такий вираз, що ніколи не буде
виконуватися (як, наприклад, <=0 AND >=100).

3 ВСТАНОВЛЕННЯ ЗВ’ЯЗКІВ МІЖ ТАБЛИЦЯМИ


Для встановлення зв’язків між таблицями виконують команди
СЕРВИССХЕМА ДАННЫХ. З'явиться вікно СХЕМА ДАННЫХ. Якщо
зв'язки встановлюються вперше, воно буде містити діалогове вікно
ДОБАВЛЕНИЕ ТАБЛИЦЫ. Якщо вікно ДОБАВЛЕНИЕ ТАБЛИЦЫ
відсутнє, його можна відкрити, вибравши команди СВЯЗИДОБАВИТЬ
ТАБЛИЦУ чи вибрати піктограму ДОБАВИТЬ ТАБЛИЦУ.
Щоб додати таблицю у вікно СХЕМА ДАННЫХ потрібно обрати
таблицю, яка буде використовуватися для встановлення зв'язків, й
натиснути на кнопці ДОБАВИТЬ. Ці дії потрібно повторити для кожної
таблиці, що бере участь в установленні зв'язку.
Для створення зв'язків між таблицями переміщають поле (чи поля),
яке необхідно пов'язати, на відповідне поле іншої таблиці. У більшості
зв'язків ключове поле першої таблиці пов'язується з аналогічним полем
іншої таблиці. Після переміщення поля з'явиться діалогове вікно СВЯЗИ,
у якому подані назви таблиць, між якими встановлюються зв'язки й імена
полів для зв'язку. Полям, на основі яких створюються зв'язки між
таблицями, не обов'язково мати однакові імена, однак вони повинні бути
одного типу. Виключення складають поля лічильників, які можна
пов'язувати з числовими полями.
Для автоматичної підтримки цілісності бази даних потрібно
встановити прапорець ОБЕСПЕЧЕНИЕ ЦЕЛОСТНОСТИ ДАННЫХ. Крім
цього прапорця у вікні подані й такі:
 КАСКАДНОЕ ОБНОВЛЕНИЕ СВЯЗАННЫХ ПОЛЕЙ. При
включенні даного режиму зміни, зроблені в пов'язаному полі першої
таблиці, автоматично вносяться в поля пов'язаної таблиці, що містить ті ж
дані.
 КАСКАДНОЕ УДАЛЕНИЕ СВЯЗАННЫХ ПОЛЕЙ. При
включенні даного режиму видалення записів у першій таблиці приводить
до видалення відповідних записів пов'язаної таблиці.
Для збереження встановлених зв’язків між таблицями потрібно
натиснути на кнопці СОЗДАТЬ та закрити вікно СВЯЗИ. При запиті про
збереження зв'язку підтвердити кнопкою ДА.

45
4 РОБОТА ІЗ ЗАПИСАМИ
При перегляді таблиць бази даних Access 2000 без попередження
зберігає внесені зміни, навіть якщо вони внесені випадково. Якщо потрібно
внести зміни в запис, слід прокрутити вміст таблиці, поки запис не буде
знайдено. Необхідно натиснути на полі, яке необхідно змінити. При цьому в
ньому з'явиться курсор, що свідчить про готовність Access до редагування
запису.
Для заміни усього вмісту поля слід натиснути клавішу <F2> (що
виділить всі дані поля), а потім ввести нову інформацію. На місці старих
даних з'являться нові.
Для часткової заміни вмісту поля слід обрати необхідне поле, а потім
використовують клавіші переміщення курсору, щоб установити його в
потрібній позиції. Натискання клавіші <Backspace> видалить символ,
розташований ліворуч від курсору, а клавіші <Delete> — символ,
розташований праворуч від курсору. Нові дані слід ввести з клавіатури.
Для введення поточної дати в поле типу ДАТА/ВРЕМЯ, слід натиснути
комбінацію клавіш <Ctrl>+<;> (крапка з комою). Для введення поточного
часу натискають комбінацію клавіш <Ctrl+:> (двокрапка). Після внесення
всіх змін натискають клавішу <Enter>, щоб зберегти їх. Якщо потрібно
відновити первісний варіант, натискають <Esc> чи <Ctrl>+<Z> для
скасування внесених змін. Не натискайте клавішу <Enter>, поки остаточно
не переконаєтеся в правильності введених змін. Після зберігання змін,
скасувати їх неможливо.

Додавання запису до таблиці


Для додавання запису до таблиці обирають команди
ВСТАВКАНОВАЯ ЗАПИСЬ чи натискають кнопку НОВАЯ ЗАПИСЬ, яка
розташована в нижній частині вікна бази даних. Access додасть у таблицю
новий запис і помістить у відповідне поле курсор
(рис. 4.12).
Перше поле в більшості баз даних відноситься до типу СЧЕТЧИК.
Якщо це так, натисненням клавіші <Таb> курсор переміщають в друге поле
та вводять в нього дані. На початку введення у полі лічильника автоматично
з'явиться відповідний запис. Поле запам'ятовує останній введений номер і
автоматично вводить наступний. Якщо номер у таблиці пропущений, це
означає, що введений у поле лічильника запис, був видаленим (рис. 4.12,
рис. 4.13).
Після того, як запис введений, при необхідності натискають клавішу
<Таb> для додавання ще одного запису.
Access автоматично зберігає новий запис в процесі його введення.

46
Рисунок 4.12 – Створення нового запису

Рисунок 4.13 – Приклад незбігання номера у введеному записі

Видалення запису
Для видалення введеного запису, потрібно вибрати з меню
послідовність команд ПРАВКАВОССТАНОВИТЬ ЗАПИСЬ чи комбінацію
клавіш <Ctrl>+<Z> з подальшим підтвердженням видалення запису на запит
Access (кнопка ДА).
Якщо команда ВОССТАНОВИТЬ ЗАПИСЬ чи ОТМЕНИТЬ ВВОД
недоступна, натискають на запис, який щойно додали, і вибирають
послідовність команд ПРАВКАУДАЛИТЬ ЗАПИСЬ. Як і раніше, з
подальшим підтвердженням видалення запису на запит Access, якщо є
впевненість в необхідності видалення.
У відкритій таблиці обирають правою кнопкою миші запис, який
потрібно видалити. З'явиться стандартне контекстне меню, з якого потрібно
вибрати відповідну команду. Вибирають команду УДАЛИТЬ ЗАПИСЬ.
На екрані з’явиться діалогове вікно. Якщо потрібно видалити запис, це
підтверджують (кнопка ДА). Якщо ж є сумніви, обирають кнопку НЕТ.
Замість цього діалогового вікна Access може вивести повідомлення
про неможливість видалити даний запис, тому що відбувається робота з
таблицею, в якій знаходиться видаляємий запис, або вона пов'язана з якоюсь
іншою активною таблицею бази даних.
Резервна копія бази даних при необхідності відновить загублені дані
і дасть можливість переглянути внесені в неї зміни.

47
5 РОЗРОБКА БАЗИ ДАНИХ

Розробка структури бази даних


На цьому етапі повинні бути детально проаналізовані умови
завдання і, на їхній основі, визначена кількість таблиць, необхідних для
опису всіх характеристик аналізованої предметної області.
Крім того, необхідно визначити, які поля в таблицях будуть
використовуватись як ключові, а також визначити, яким чином буде
здійснюватися зв'язок між таблицями.
Якщо неможливо встановити зв'язок за допомогою використання
ключових полів, то потрібно визначити таблиці, які будуть
використовуватися тільки для зв'язку між іншими таблицями.

Створення таблиць
Для кожного поля конкретної таблиці необхідно визначити його тип
і розмір та ретельно перевірити, чи задовольняє діапазон значень обраного
типу і значення, які може реально приймати дане поле. При необхідності,
для деяких полів можна установити УСЛОВИЕ НА ЗНАЧЕНИЕ і задати
повідомлення, яке буде видаватися на екран у випадку невідповідності
введеного значення заданій умові чи присвоїти значення, прийняті за
замовчуванням.
Можна також визначити формат інформації, що вводиться, для
конкретних полів та заповнити відповідною інформацією кожний з
розділів структури таблиці, що створюється: ИМЯ ПОЛЯ, ТИП ДАННЫХ
і ОПИСАНИЕ.
Розділ описів необов'язковий для заповнення, але інформація,
введена в даний розділ, відображається в рядку стану при введенні даних
для конкретного поля, полегшуючи процес формування екстенціоналу
таблиці.

Створення індексів і ключових полів


Інформацію в таблицях можна упорядкувати, створивши індекс для
конкретного поля чи декількох полів.
Бажано, щоб для таблиць були створені ключові поля. Для
встановлення зв'язків між таблицями наявність таких полів обов'язкова.
Ключове поле може бути простим чи складеним, тобто складатися з
декількох полів для однозначної ідентифікації кожного запису в таблиці.

Збереження таблиць
Після закінчення створення структури таблиці її необхідно зберегти.
Для збереження таблиці потрібно виконати дії:
 виконати послідовність команд ФАЙЛСОХРАНИТЬ
КАКЭКСПОРТ;

48
 у вікні СОХРАНЕНИЕ ОБЪЕКТА обрати параметр В ТЕКУЩЕЙ
БАЗЕ ДАННЫХ;
 ввести ім'я створеної таблиці;
 підтвердити введення кнопкою ОК.
 закрити вікно КОНСТРУКТОР ТАБЛИЦ.

Заповнення таблиць
Щоб заповнити даними (екстенсіонал таблиці) створену структуру
таблиці бази даних, потрібно виконати такі дії:
 відкрити таблицю в режимі ТАБЛИЦА;
 заповнити необхідною інформацією таблицю бази даних;
 закрити створену таблицю.
Збереження створених таблиць бази даних виконується автоматично
при переході до наступного запису.
Аналогічні дії повторюють з іншими таблицями бази даних.

Пошук зниклої бази даних


В меню СЕРВИС є команда ПОИСК ФАЙЛА, розташована у верхній
частині діалогового вікна ОТКРЫТИЕ ФАЙЛА БАЗЫ ДАННЫХ.
Вибравши із системного меню послідовність команд СЕРВИСНАЙТИ, на
екран визивається діалогове вікно НАЙТИ, що пропонує методи пошуку
файлів.
Якщо відома хоча б частина імені файлу з базою даних, її вводять в
поле ИМЯ ФАЙЛА, розташоване в правому нижньому куті вікна. Access
виведе список всіх баз даних у поточній папці, що відповідають введеному
зразку.
Для пошуку у підкаталогах, що містяться в даній папці, потрібно
встановити прапорець у групі КОМАНДЫ И РЕЖИМЫ.
Для пошуку даних на диску потрібно обрати поле ПАПКА
(розташоване в лівому нижньому куті діалогового вікна НАЙТИ) на списку,
що розкривається, обрати ім'я локального чи мережевого диска.

Завершення роботи з базою даних


Для завершення роботи з базою даних необхідно закрити вікно бази
даних та вікно додатка Microsoft Access.

49
Лабораторна робота №2

Робота з формами за допомогою СУБД Access


Мета роботи. Одержання навичок роботи зі створення екранних та
кнопкових форм в Access.

Порядок виконання роботи


1. Створити форму документа за допомогою МАСТЕРА ФОРМ.
2. Створити форму документа за допомогою інструментарію
АВТОФОРМ.
3. Перемістити поля форми документа відповідним чином.
4. Додати лінії і рамки у форму документа.
5. Змінити порядок переключення полів документа.
6. Створити кнопкову форму документа.
7. Оформити звіт.

Теоретичні відомості

1 ПОРІВНЯЛЬНА ХАРАКТЕРИСТИКА БЛАНКІВ ЗВІТНОСТІ ТА


ЕЛЕКТРОННИХ ФОРМ ДАНИХ
Бланки звітності займають великі розміри, їх важко обновляти і вони
ненадійні в збереженні в порівнянні з формами Access, що є варіантом
електронного відображення паперових документів.
При порівнянні бланків звітності та електронних форм даних уваги
заслуговують такі характеристики:
 перегляд даних таблиці в режимі електронної форми дозволяє
зосередитися на перегляді тільки одного запису, а не прокручувати
таблицю вперед та назад;
 перехід у режим КОНСТРУКТОР ФОРМ забезпечує легке внесення
змін у форму документа й їх розповсюдження на всі відповідні
записи таблиць бази даних (видно при перегляді записів) на відміну
від паперового варіанта, коли кожну зміну потрібно вносити окремо
та уважно відслідковувати процес внесення змін;
 розробка множини різноманітних електронних форм як для
операторів бази даних (тих, хто вводить дані) і аналітиків, так і для
користувача бази даних Access. При цьому електронні форми
повинні надавати тільки необхідну інформацію, не перевантажуючи
її при цьому надлишковими даними, що є неможливим для бланків
звітності;
 перегляд результатів виконання запиту можна виконати як за
допомогою бланків звітності, так і за допомогою форм;

50
 прозорість даних, що містяться в декількох пов'язаних таблицях бази
даних, при їх поданні формами (форми автоматично використовують
зв'язок, вбудований в базу даних);
 можливість трансформації форм як об'єктів Access, що подані в
основному вікні бази даних на окремій вкладці ФОРМЫ (рис. 4.14).

Рисунок 4.14 – Діалогове вікно вкладки ФОРМЫ

Існує три основних способи створення форми: за допомогою


МАСТЕРа ФОРМ; з використанням АВТОФОРМ; вручну, коли Access
пропонує порожню форму і блок інструментів, оперуючи якими можна
спроектувати форму потрібного виду.

2 СТВОРЕННЯ ФОРМ ЗА ДОПОМОГОЮ МАСТЕРА ФОРМ


Найпростіший шлях створення зручних електронних форм полягає в
застосуванні МАСТЕРА ФОРМ, що показано покроково на рис. 4.15 - 4.18.
Слід зауважити, що деякі поєднання кольору і стилю форми можуть
уповільнити роботу програми.
Найменш чутливими до використання кольору є такі стилі форм як
КАМЕНЬ і МЕЖДУНАРОДНЫЙ.

3 СТВОРЕННЯ ФОРМ ЗА ДОПОМОГОЮ АВТОФОРМЫ


Автоформа генерує такі види форм:
 ФОРМА В СТОЛБЕЦ створює класичну форму – один запис на
сторінку;
 ЛЕНТОЧНАЯ створює форми з декількома записами на сторінку,
(рис. 4.19);

51
Рисунок 4.15 – Діалогове вікно МАСТЕР ФОРМ

Рисунок 4.16 – Діалогове вікно вибору потрібних полів

Рисунок 4.17 – Діалогове вікно вибору потрібного стилю форми

52
Рисунок 4.18 – Діалогове вікно створеної форми

Рисунок 4.19 – Приклад форми ЛЕНТОЧНАЯ

 ТАБЛИЧНАЯ створює форму, яка виглядає і функціонує як


класична таблиця (рис. 4.20).

Рисунок 4.20 – Приклад табличної форми

53
На відміну від МАСТЕРа ФОРМ, АВТОФОРМА не зберігає
автоматично створені форми, тому необхідно робити це вручну.
На рисунку 4.21 показана стандартна ФОРМА В СТОЛБЕЦ, створена
за допомогою АВТОФОРМы. Вона може бути змінена переміщенням
полів і використанням графіки.

Рисунок 4.21 – Приклад ФОРМЫ В СТОЛБЕЦ, створеної за допомогою


АВТОФОРМы

4 РЕЖИМ КОНСТРУКТОРА ФОРМ


Для того, щоб внести зміни у форму, потрібно перевести її в режим
КОНСТРУКТОР ФОРМ.
Існує два способи переходу в режим КОНСТРУКТОР ФОРМ:
 з вікна бази даних, для чого слід обрати вкладку ФОРМЫ,
виділити форму, яку потрібно змінити із списку наявних форм та
перейти в режим КОНСТРУКТОР ФОРМ натисненням кнопки
КОНСТРУКТОР;
 з вікна форми, для чого натискають кнопку КОНСТРУКТОР
панелі інструментів або вибирають з меню послідовність команд
ВИДКОНСТРУКТОР.
Якщо була допущена помилка при зміні форми, вибирають команди
ФАЙЛЗАКРЫТЬ, натискають кнопку НЕТ і знову повторюють
процедуру конструювання форми.

Додавання ліній і рамок


Лінії і рамки у формі можна додати за допомогою відповідних
кнопок, що знаходяться в нижній частині вікна в режимі КОНСТРУКТОР
на панелі інструментів:

54
 кнопка ЛИНИЯ використовується для додавання у форму лінії;
 кнопка ПРЯМОУГОЛЬНИК використовується для додавання у
форму рамки чи прямокутника.
В залежності від типу об'єкта, що додається у форму, можна
використовувати кілька спеціальних ефектів оформлення. Оформлення для
лінії може бути звичайне чи підняте.
Незважаючи на те, що існують і інші опції, у даному випадку вони
нічим не відрізняються від піднятого стилю. До рамок можна застосувати
різні види оформлення (рис. 4.22).

Рисунок 4.22 – Варіанти опції ОФОРМЛЕНИЕ

Для того, щоб застосувати ефекти оформлення, спочатку рисують


лінію чи рамку, а потім за допомогою правої кнопки миші виділяють
об’єкт (якщо це лінія, обирають один її кінець) та з висхідного меню
вибирають команди СВОЙСТВАОФОРМЛЕНИЕ з обранням виду
оформлення зі списку, що розкривається.
Після застосування ефектів оформлення вікно форми закривають.
При необхідності виконання подальшого налаштування створеної
лінії чи рамки за допомогою вкладки МАКЕТ, що відкривається в
діалоговому вікні СВОЙСТВА, можна змінити такі параметри:
 ТИП ГРАНИЦЫ, що визначає вид лінії й приймає значення від
СПЛОШНОГО до ШТРИХ-ТОЧЕЧНОГО;
 ЦВЕТ ГРАНИЦЫ, що змінює колір лінії;

55
 ШИРИНА ГРАНИЦЫ, що може приймати значення від
СВЕРХТОНКОЙ до ширини в 6 пунктів.

Зміна порядку переходу по полях


У змінених формах поля "пам'ятають" свій старий порядок при
переміщенні від одного поля до іншого за допомогою клавіші <Таb>. Для
того, щоб усунути цей недолік, необхідно змінити властивість полів за
допомогою команди ИНДЕКС ПЕРЕХОДА ПО Таb (рис. 4.23).

Рисунок 4.23 – Виділене поле готове до переміщення

Створення кнопкової форми


Для створення кнопкової форми потрібно виконати такі дії:
 вибрати в меню СЕРВИС команди НАДСТРОЙКИ=>ДИСПЕТ-
ЧЕР КНОПОЧНЫХ ФОРМ. Якщо з’явиться діалогове вікно, для
підтвердження створення кнопкової форми, використати кнопку
ДА (рис. 4.24);

Рисунок 4.24 – Діалогове вікно диспетчера кнопкової форми

 у діалоговому вікні ДИСПЕТЧЕР КНОПОЧНЫХ ФОРМ обрати


команду СОЗДАТЬ (рис. 4.25);

56
 у діалоговому вікні СОЗДАТЬ (рис. 4.26) у полі ИМЯ
СТРАНИЦЫ КНОПОЧНОЙ ФОРМЫ вводять ім'я кнопкової
форми для введення інформації (наприклад, ВВОД И
РЕДАКТИРОВАНИЕ) та підтверджують введення кнопкою ОК.

Рисунок 4.25 – Діалогове вікно створення кнопкової форми

Рисунок 4.26 – Діалогове вікно введення імені кнопкової форми

Аналогічно створюються кнопкові форми для перегляду документів і


кнопки для виходу з бази даних.
Щоб змінити сторінку кнопкової форми потрібно:
 обрати рядок сторінки кнопкової форми, що буде змінено
(наприклад, ВВОД И РЕДАКТИРОВАНИЕ) та підтвердити вибір
кнопкою ДА;
 у діалоговому вікні ИЗМЕНЕНИЕ СТРАНИЦЫ КНОПОЧНОЙ
ФОРМЫ (рис. 4.27) обрати команду СОЗДАТЬ;
 у діалоговому вікні ИЗМЕНЕНИЕ ЭЛЕМЕНТА КНОПОЧНОЙ
ФОРМЫ (рис 4.28) ввести текст надпису для першої кнопки;
 вибрати команду в полі зі списком КОМАНДА (відкриття форми
в режимі додавання кнопок). Якщо обрана одна з команд роботи з
формами, то в полі зі списком ФОРМА вибирають ім'я форми, що
відкривається (ВВЕДЕНИЕ ИНФОРМАЦИИ);
 підтвердити зміни за допомогою кнопки ОК.

57
Повторюють ці дії до створення кнопкової форми потрібного
вигляду (за складом елементів).
Імена всіх створених елементів (кнопок) з'являться в розділі
ЭЛЕМЕНТЫ ДАННОЙ КНОПОЧНОЙ ФОРМЫ.
Щоб змінити чи видалити будь-яку зі створених кнопок потрібно
вибрати ім'я кнопки в списку та виконати відповідно команду ИЗМЕНИТЬ
чи команду УДАЛИТЬ.

Рисунок 4.27 – Діалогове вікно ИЗМЕНЕНИЕ СТРАНИЦЫ КНОПОЧНОЙ


ФОРМЫ

Рисунок 4.28 – Діалогове вікно ИЗМЕНЕНИЕ ЭЛЕМЕНТА КНОПОЧНОЙ


ФОРМЫ

Якщо потрібно змінити порядок кнопок у списку форми, вибирають


кнопку форми, що потрібно перемістити, та виконують команду КНОПКУ
ВВЕРХ чи КНОПКУ ВНИЗ в залежності від напряму переміщення кнопки.
Закінчивши створення кнопкової форми, потрібно закрити діалогове
вікно за допомогою кнопки ЗАКРЫТЬ.

58
Лабораторна робота №3

Створення звітів у режимі КОНСТРУКТОР СУБД Access


Мета роботи. Ознайомитись з поняттями: робота зі звітом в режимі
КОНСТРУКТОРА, розділи звіту, маркування полів, автоматичне
форматування, включення в звіти графічних зображень, експорт звітів.

Порядок виконання роботи

1. Відформатувати елементи звіту за допомогою панелі інструментів


форматування.
2. Перемістити елемент звіту за завданням.
3. Змінити колір лінії чи рамки у звіті.
4. Нарисувати лінію у звіті.
5. Відрегулювати товщину ліній у звіті.
6. Застосувати спеціальні ефекти до ліній звіту.
7. Застосувати автоформатування до звіту.
8. Вставити в звіт розділювач сторінок.
9. Вставити рисунок у звіт.
10. Створити групу у звіті.
11. Оформити результати досліджень.

Теоретичні відомості

1 ЗВІТ В РЕЖИМІ КОНСТРУКТОРА


Зміни в звіт можна внести тільки в режимі КОНСТРУКТОРа, в який
можна перейти одним із таких способів:
 після створення звіту за допомогою МАСТЕРа, з’явиться
запитання, чи не потрібно переглянути звіт і при необхідності
змінити його. Для переходу в режим КОНСТРУКТОРа вибирають
перемикач ИЗМЕНИТЬ МАКЕТ ОТЧЕТА;
 якщо є активним режим попереднього перегляду звіту, то можна
перейти у вікно КОНСТРУКТОРа, натиснувши на кнопку ВИД,
розташовану на панелі інструментів;
 для переходу в режим КОНСТРУКТОРа з головного вікна бази
даних, вибирають вкладку ОТЧЕТЫ, обирають ім’я потрібного
звіту, а потім — кнопку КОНСТРУКТОР.
Будь-який спосіб приведе до того, що Access 2000 відкриє звіт у
режимі КОНСТРУКТОРа, як показано на рисунку 4.29, та запропонує
інструментарій для внесення змін у звітний документ.

59
Рисунок 4.29 – Режим КОНСТРУКТОРА надає всі необхідні інструменти
для зміни звіту

Області і маркери
Якщо уважно переглянути звіт у режимі КОНСТРУКТОРа, можна
помітити маркери, розташовані у розділах (чи областях). Ці маркери
показують, де Access планує розмістити поля і вивести текст, що з'явиться
в остаточному варіанті звіту. Вони також дають уявлення про те, як
програма планує відформовувати кожний елемент звіту.
В залежності від того, яка інформація включена в звіт, Access може
використовувати два види текстових маркерів:
 поля, які служать для відображення в звіті даних, що містяться в
полі. Кожне поле, при необхідності включення в звіт, повинне бути
розміщене за допомогою такого маркера;
 надписи - маркери для простого тексту, які відображають у звіті
текстове повідомлення. Іноді такі надписи існують самі по собі, часто вони
доповнюють інформаційні вікна, пояснюючи, які дані містяться в цьому
вікні (наприклад, фірма чи назва).
Маркери організовані по розділах, що відносяться до різних областей
звіту. Ці області визначають, у якому місці і з якою періодичністю
визначене поле чи текстове повідомлення з'являється в звіті.
На рисунку 4.30 показані три основні області: ЗАГОЛОВОК
ОТЧЕТА, ВЕРХНИЙ КОЛОНТИТУЛ і ОБЛАСТЬ ДАННЫХ. Стрілки,
розташовані з лівої сторони від назв розділів, вказують на область розділу,
в якій містяться маркери.

60
Рисунок 4.30 – Основні області звіту: ЗАГОЛОВОК ОТЧЕТА, ВЕРХНИЙ
КОЛОНТИТУЛ, ОБЛАСТЬ ДАННЫХ

Крім того, можна виділити пари областей, що охоплюють область


даних. До них можна віднести, наприклад ЗАГОЛОВОК ОТЧЕТА і
ПРИМЕЧАНИЕ ОТЧЕТА, ВЕРХНИЙ КОЛОНТИТУЛ і НИЖНИЙ
КОЛОНТИТУЛ. На рисунку 4.31 НИЖНИЙ КОЛОНТИТУЛ і ПРИМЕЧА-
НИЕ ОТЧЕТА звіту є відображенням областей ВЕРХНИЙ КОЛОНТИТУЛ
й ЗАГОЛОВОК ОТЧЕТА та містяться у його нижній частині.

Рисунок 4.31 – Нижній колонтитул і область приміток звіту

При цьому все, що з'являється в області ЗАГОЛОВОК ОТЧЕТА,


друкується на його початку. Ця інформація виводиться тільки один
раз - у заголовку першої сторінки звіту. Інформація, що міститься в області
ВЕРХНИЙ КОЛОНТИТУЛ, друкується у верхній частині кожної сторінки.
Винятком при цьому є перша сторінка звіту, де Access поміщає спочатку
заголовок звіту, а потім верхній колонтитул.

61
ОБЛАСТЬ ДАННЫХ - це основна частина звіту й містить записи з
області даних. Вона займає велику частину самого звіту. Кожен запис, що
використовується у звіті, знаходиться в цій області.
НИЖНИЙ КОЛОНТИТУЛ Access поміщає наприкінці кожної
сторінки.
ПРИМЕЧАНИЕ ОТЧЕТА – це область, що з'являється в нижній
частині останньої сторінки звіту, відразу ж за нижнім колонтитулом цієї
сторінки.

2 ФОРМАТУВАННЯ
За допомогою інструментів панелі форматування (рис. 4.32) у звіті
можна відформатувати всі елементи (на рисунку 4.33 відформатовано
елемент НАДПИСЬ).

Рисунок 4.32 – Інструментарій форматування звіту

62
Рисунок 4.33 – Результат форматування елемента НАДПИСЬ для
розміщеного поля

При необхідності зміни кольору тексту, розміру шрифту чи


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

Керуючі елементи
Крім звичайних засобів, наданих Access 2000 для редагування звіту
(надписів і полів), є ще багато інших елементів. Вони називаються
УПРАВЛЯЮЩИМИ ЭЛЕМЕНТАМИ, і їх можна вивести на екран за
допомогою панелі інструментів, знаходячись у режимі КОНСТРУКТОРа.
Деякі елементи керування призначені для роботи з певними типами полів.
Наприклад, за допомогою прапорця можна графічно показати значення
поля типу YES/NO (ДА/НЕТ).
В Access є майстри керуючих елементів. Якщо був створений
керуючий елемент, а програма МАСТЕР не приходить на допомогу,
необхідно переконатись, що в панелі елементів включена кнопка
МАСТЕР.

Розфарбовування звіту
Кнопки ЦВЕТ ЗАЛИВКИ/ФОНА і ЦВЕТ ТЕКСТА, розташовані на
панелі інструментів форматування, змінюють колір текстових маркерів у
звіті, однак результати їхнього застосування розрізняються.
Кнопка ЦВЕТ ТЕКСТА змінює колір тексту, що міститься в полі чи
надписі. Це дозволяє створювати спеціальні ефекти, наприклад, вибирати
контрастні кольори для фону і надпису (рис. 4.34).

63
Рисунок 4.34 – Зміна кольору фону та надпису

Кнопка ЦВЕТ ЗАЛИВКИ/ФОНА змінює колір фону, при цьому колір


тексту не змінюється.
Щоб вибрати колір поля слід скористатися стрілкою, що
розташована з правої сторони кнопки, та вибрати з палітри відповідний
колір. Для того, щоб змінити колір поля чи колір надпису в звіті, його
активізують. При цьому для зміни кольору тексту обирають кнопку ЦВЕТ
ТЕКСТА, а для змінити кольору фону - кнопку ЦВЕТ ЗАЛИВКИ/ФОНА.
Проведені зміни відображаються на екрані, демонструючи новий фон чи
колір тексту.
Якщо установити однаковий колір для тексту і фону, може
виникнути враження, що поле зникло. У цьому випадку вибирають
послідовність команд ПРАВКАВОССТАНОВИТЬ СВОЙСТВО, щоб
повернутися до вихідних колірних налаштовувань.

Переміщення елементів звіту


У звіті можна переміщати практично всі елементи (поля, надписи,
лінії тощо).
У деяких звітах Access поля і їхні надписи пов'язані між собою. Тому
при переміщенні одного елемента буде переміщатися й інший. Якщо
необхідно перемістити поле окремо від його імені, використовують великі
чорні маркери (рис. 4.35.). При цьому маркер, що розташований ліворуч,
служить для переміщення надпису, а маркер, що знаходиться між двома
надписами, переміщує поле.

Рисунок 4.35 – Великі маркери використовуються для незалежного


переміщення надпису чи поля

Для переміщення поля його активізують та підводять курсор до


великого маркера. Коли маркер прийме вигляд руки з вказівним пальцем,
притримуючи натиснутою ліву кнопку миші, переміщують обране поле до
обраного місця розташування. Якщо курсор прийме вигляд двонаправленої
стрілки, то Access готовий лише змінити розмір об'єкта, а не переміщувати
його, й тому необхідно знову підвести курсор до великого маркера.

64
У деяких типах звітів (наприклад, у рядкових звітах чи поштових
наклейках) надпис поля і його зміст не пов'язані. Надпису поля або немає,
або він з'являється тільки один раз в області верхнього колонтитула. Якщо
надписи не пов’язані з відповідними полями (поля розміщені в звіті без
надписів), то в них великі маркери відсутні.
Маленькі маркери на границях поля використовуються для зміни
розміру поля в звіті. Якщо виявиться, що інформація в полі присутня
частково, використовують маркери для зміни довжини поля; якщо текстове
поле містить великий обсяг інформації, можна збільшити висоту поля. У
цьому випадку Access розташує інформацію в декількох рядках.
Відстань між маркерами визначає відстань між елементами звіту при
виведенні на друк. Збільшення цього параметру надасть звіту
"розріджений" вигляд, а зменшення відстані між маркерами дозволить
розмістити більше об'єктів на сторінці.

Лінії і рамки
Застосування ліній і рамок може змінити зовнішній вигляд звіту.
Вони можуть привернути увагу до певних розділів сторінки, виділити
області звіту. Панель інструментів містить три кнопки, призначені для
створення ліній і рамок: ЦВЕТ ЛИНИИ/ГРАНИЦЫ, ТОЛЩИНА
ЛИНИИ/ГРАНИЦЫ і ОФОРМЛЕНИЕ.
Кнопка ЦВЕТ ЛИНИИ/ГРАНИЦЫ змінює колір ліній,
використовуваних для обрамлення поля, нарисованих за допомогою
інструмента ЛИНИЯ. Вона функціонує точно так само, як кнопки ЦВЕТ
ЗАЛИВКИ/ФОНА і ЦВЕТ ТЕКСТА. Аналогічно можна змінити товщину
ліній та границь звіту.
За допомогою кнопки ОФОРМЛЕНИЕ можна змінити стиль рамки.
Є шість варіантів оформлення (рис. 4.36).

Рисунок 4.36 – Варіанти оформлення стилю рамки

Опції УТОПЛЕННОЕ ОФОРМЛЕНИЕ і ПРИПОДНЯТОЕ


ОФОРМЛЕНИЕ змінюють колір із двох сторін поля, створюючи

65
тривимірний ефект. При використанні опції УТОПЛЕННОЕ ОФОРМЛЕ-
НИЕ буде здаватися, що ім'я поля чи його блок втиснені в текст; опція
ПРИПОДНЯТОЕ ОФОРМЛЕНИЕ створює зворотний ефект — опуклість
поля.
Елемент РЕЛЬЕФНОЕ ОФОРМЛЕНИЕ піднімає нижню частину
рамки поля, а значення ВДАВЛЕННОЕ ОФОРМЛЕНИЕ створює ефект
гравірування рамки. При цьому на зовнішній вигляд рамок впливають
кольори поля і фону звіту.
Елемент ОФОРМЛЕНИЕ С ТЕНЬЮ створює ефект тіні; а
ОБЫЧНОЕ ОФОРМЛЕНИЕ – створить навколо текстового поля
стандартну рамку зі звичайними лініями.
Якщо не потрібно вибирати ефекти з палітри ОФОРМЛЕНИЕ, що
розкривається, можна видалити цю палітру з панелі інструментів, для чого
потрібно відкрити палітру і вибрати рядок заголовка палітри. Якщо
пересунути покажчик миші вліво і вниз (тобто за межі рамки палітри),
сама палітра активізується та її легко видалити.

3 РОБОТА НАД ТЕКСТОМ


Інструменти, розташовані в лівій частині панелі форматування,
дозволяють змінювати стиль тексту, що знаходиться всередині елемента.
При встановленні стилю варто переконатися, що необхідне поле виділене, і
натиснути відповідну кнопку для зміни креслення: напівжирний, курсив чи
підкреслення. Повторне натиснення на кнопці застосованого стилю
(відповідна кнопка виглядає утопленою всередині панелі інструментів)
скасує його.
Можна змінити шрифт (форму символів), його розмір, креслення
(напівжирний, курсив чи підкреслення), використовуючи для цього
відповідні кнопки форматування (рис. 4.37).

Рисунок 4.37 –Інструменти для зміни зовнішнього


вигляду тексту

Крім того, можна керувати вирівнюванням тексту всередині надписів


і полів. Для цього потрібно виділити об'єкт і вибрати одну із кнопок
вирівнювання, розташованих на панелі інструментів: по лівому краю, по
правому краю, по центру.

66
На рисунку 4.38 надписи полів вирівняні по лівому краю, верхнє
поле даних вирівняно по правому краю, а нижнє поле даних – по лівому.

Рисунок 4.38 – Приклад вирівнювання тексту для надписів полів і для


полів даних

4 ШВИДКИЙ ПЕРЕГЛЯД ЗВІТУ


У Access є два способи для попереднього перегляду звіту:
 ОБРАЗЕЦ. Застосовується Access як остаточний варіант документа
для обраного фрагмента даних. Головна задача на даному етапі – не аналіз
розрахунків, а оцінка зовнішнього вигляду. Перехід в режим виконується
за допомогою команд ВИДÞОБРАЗЕЦ (рис. 4.39);
 ПРЕДВАРИТЕЛЬНЫЙ ПРОСМОТР. Для перегляду всього звіту з
усіма розрахунками і даними використовують кнопку
ПРЕДВАРИТЕЛЬНЫЙ ПРОСМОТР чи послідовно виконують команди
ВИДÞПРЕДВАРИТЕЛЬНЫЙ ПРОСМОТР (рис. 4.40). З'явиться екран
попереднього перегляду (рис. 4.41) з об'єктами звіту в тому вигляді, в
якому вони будуть на папері, що можна змінити за допомогою керуючих
елементів, розташованих у верхній частині вікна екрана.

Рисунок 4.39 – Діалогове вікно режиму перегляду ОБРАЗЕЦ

67
Рисунок 4.40 – Діалогове вікно режиму ПРЕДВАРИТЕЛЬНЫЙ
ПРОСМОТР

Рисунок 4.41 – Приклад сформованого звіту

5 АВТОФОРМАТУВАННЯ
Якщо необхідно швидко змінити загальний вигляд звіту,
користуються кнопкою АВТОФОРМАТ. При цьому Access запропонує
кілька різних стилів форматування, що дозволяють змінити все – від
шрифту заголовка до кольору ліній, що розділяють елементи звіту.
За допомогою кнопки НАСТРОЙКА можна створити власний стиль і
зберегти його у властивостях команди АВТОФОРМАТ. Для цього

68
редагують звіт з використанням певного набору шрифтів, кольорів і рамок,
потім відкривають діалогове вікно АВТОФОРМАТ і обирають
НАСТРОЙКА (рис. 4.42). При цьому можна додати в список новий стиль
форматування чи замінити один з наявних. Для додавання в список
власного формату в діалоговому вікні НАСТРОЙКА АВТОФОРМАТА
вибирають перемикач СОЗДАНИЕ НОВОГО СТИЛЯ НА ОСНОВЕ
СТИЛЯ ОБЪЕКТА, задають йому ім'я і закривають діалогове вікно
(кнопка ЗАКРЫТЬ).

Рисунок 4.42 – Приклад вибору стилю для звіту

Переміщення об'єктів
При переміщенні об'єктів можна змінити їх розташування.
Наприклад, заголовки стовпців можуть виявитися в області верхнього
колонтитула, а текст заголовка звіту – в області даних. Бажано, щоб поля
даних розташовувалися безпосередньо під заголовками стовпців, що слід
відкоригувати відповідним чином.
Сітка, накладена на фон екрана, полегшить позиціонування
елементів таблиці при вирівнюванні по вертикальних лініях чи по точках.
При переміщенні об'єктів у звіті, можна вибрати послідовність команд
ФОРМАТПРИВЯЗАТЬ К СЕТКЕ. Ці команди характеризують перемі-
щення об'єктів: від лінії до лінії (чи від точки до точки сітки) чи незалежне
переміщення.
При переміщенні об'єктів із включеною командою ПРИВЯЗАТЬ К
СЕТКЕ лівий верхній кут завжди вирівнюється по точках сітки.
Використовують цю команду і при зміні розміру об'єкта, тоді
вирівнювання переміщуваної сторони також буде відбуватися по точках
сітки.
На рисунку 4.43 показано кілька об'єктів, що були переміщені. У
лівій частині вікна позиціонування здійснювалося з включеною командою
ПРИВЯЗАТЬ К СЕТКЕ, у правій – з виключеною. Це привело до того, що
об’єкти звіту розміщені довільно.

69
Рисунок 4.43 – Приклад звіту з довільно розміщеними об’єктами

У меню ФОРМАТ існують й інші команди для розташування


об'єктів:
 ВЫРОВНЯТЬ. Забезпечує вирівнювання відносно одного об'єкта
чи сітки двох чи групи вибраних об'єктів за допомогою елементів
ПО ЛЕВОМУ КРАЮ, ПО ПРАВОМУ КРАЮ, ПО ВЕРХНЕМУ
КРАЮ і ПО НИЖНЕМУ КРАЮ. Наприклад, якщо вибрати кілька
об'єктів, а потім виконати команди ФОРМАТВЫРОВНЯТЬ
ПО ЛЕВОМУ КРАЮ. Виділені об'єкти виявляться на одному
крайньому лівому рівні. За замовчуванням Access вирівнює
об'єкти відносно крайнього лівого об'єкта.
 РАЗМЕР. Забезпечує зміни розміру групи об'єктів, для чого
потрібно їх виділити та вибрати потрібний елемент із додаткового
меню після виконання команд ФОРМАТРАЗМЕР. Команда
ФОРМАТРАЗМЕРПО РАЗМЕРУ ДАННЫХ установлює
розміри кожного з об'єктів так, щоб він вмістив всю необхідну
інформацію. Значення ПО УЗЛАМ СЕТКИ надбудовує всі об'єкти
так, що їх кути “позиціонуються” на точках сітки.
 Вибір варіанта за найвищим, за найнижчим, за найширшим і за
найвужчим об'єктом форматує всі об'єкти в обраній групі
відповідно до цих характеристик, тобто якщо була відзначена
група і вибраний варіант вирівнювання розміру за найвищим
об'єктом, всі обрані об'єкти матимуть таку ж висоту, як найвищий
із групи.
 ИНТЕРВАЛ ПО ГОРИЗОНТАЛИ і ИНТЕРВАЛ ПО ВЕРТИКА-
ЛИ – це команди з меню ФОРМАТ, що використовуються для
рівномірного розміщення обраної групи об'єктів. Для цього

70
потрібно виділити групу об'єктів та вибрати елемент СДЕЛАТЬ
РАВНЫМ з додаткового меню команди ИНТЕРВАЛ ПО
ВЕРТИКАЛИ чи ИНТЕРВАЛ ПО ГОРИЗОНТАЛИ. У верхній
частині рисунку 4.44 показані надписи і поля, розмішені довільно,
а в нижній частині рисунку - ці ж об'єкти, упорядковані за
допомогою опції СДЕЛАТЬ РАВНЫМ .

Поля і надписи
розміщені довільно

Поля і надписи
упорядковані за
допомогою
опції СДЕЛАТЬ
РАВНЫМ

Рисунок 4.44 – Приклад результату застосування елемента СДЕЛАТЬ


РАВНЫМ

Якщо необхідно, щоб сторінка звіту закінчувалася у певному місці,


(наприклад, при підведенні підсумків, необхідності зробити висновки чи
згрупувати певну частину інформації на одній сторінці) використовують
розділювач сторінок.

Вставка в звіт рисунків


Для додавання рисунка в звіт можна скористатися кнопкою
РИСУНОК і створити рамку для вставки рисунка з набору.
Рисунки розміщують тільки в заголовку чи примітці звіту. Рисунок,
що вставлений в область даних, буде повторюватися. Якщо не має у
розпорядженні готового рисунка, можна скористатися кнопкою
СВОБОДНАЯ РАМКА ОБЪЕКТА, щоб додати об'єкт OLE. Технологія
OLE (Object Linking and Embedding – зв'язування і впровадження об'єктів)
дозволяє помістити об'єкт на сторінку, підтримуючи при цьому зв'язок
об'єкта з вихідним файлом. Будь-які зміни у вихідному файлі відразу
відіб'ються на об'єкті, вставленому в звіт. Такий зв'язок можливий із

71
графічним файлом чи файлом будь-якого типу, що підтримує технологію
OLE.
Рисунки для звіту можна вирізати чи копіювати з інших програм за
допомогою буфера обміну Windows.

Циркуляція звітів всередині Microsoft Оffice


Access наділена можливістю обміну інформації з іншими
програмами Microsoft.
Головну роль тут відіграє команда системного меню
СЕРВИССВЯЗИ С OFFICE. Вона виконує три функції: дві відповідають
за зв'язок звіту з програмою Microsoft Word і одна – із програмою Excel.
Команда ПУБЛИКАЦИЯ В MSWORD вказує Access на
перетворення елементів звіту у формат, зрозумілий для документів, з
якими працює програма Word. У результаті готовий документ автоматично
конвертується Access 2000 і відкривається у програмі Word у відповідному
форматі.
При виборі команди АНАЛИЗ В MSEXCEL програма,
використовуючи звіт (чи ту інформацію, з якою працювали в
Access 2000), створює таблицю, а потім форматує її як робочий лист Excel.
Кожен рядок звіту розташовується в окремому рядку робочого листа, а
інформація, що містилася в стовпцях звіту – у стовпці робочого листа. В
результаті створюється робочий лист Excel. Далі для аналізу й
інтерпретації даних можна використовувати всі інструменти Excel
(включаючи створення діаграм).

Злиття інформації з бази даних з документом Word


Опція СЛИЯНИЕ С MS WORD (чи вибір однойменної команди з
меню) доступна тільки при роботі з таблицями чи запитами. На відміну від
інших опцій, в функції яких входить обробка певної інформації, вона
приводить до запуску МАСТЕРА СЛИЯНИЯ. Він надає істотну допомогу
в зв'язуванні інформації з бази даних з документом Word. Якщо документ
Word, що призначений для відображення інформації з бази даних, ще не
був створений, МАСТЕР СЛИЯНИЯ допоможе створити його.

6 ОРГАНІЗАЦІЯ ЗВІТУ
Кожен звіт складається з декількох областей (розділів), що
визначають окремі розділи звіту. Розподіл елементів звіту по областях
залежить від типу звіту і може бути таким:
 В СТОЛБЕЦ. У стандартному звіті цього типу (рис. 4.45)
заголовки полів друкуються для кожного запису. При цьому як заголовки
полів, так і самі поля розміщуються в області даних звіту. Оскільки текст
заголовка звіту розміщується в області заголовка, він друкується тільки
один раз, на самому початку звіту.

72
Рисунок 4.45 – Приклад звіту типу В СТОЛБЕЦ

 ЛЕНТОЧНЫЙ. У рядковому звіті заголовок друкується на початку


звіту, як і в попередньому прикладі, однак замість того, щоб знаходитися в
одній області з даними, заголовки полів знаходяться в області верхнього
колонтитула. При цьому вони друкуються не окремо для кожного запису, а
один раз на кожній сторінці (рис. 4.46).

Рисунок 4.46 – Приклад звіту типу ЛЕНТОЧНЫЙ

У разі необхідності зміни дизайну створеного звіту чи створення


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

73
Вміст кожної області друкується тільки при виконанні певної умови.
Наприклад, інформація, що міститься в області верхнього колонтитула,
друкується на початку кожної сторінки, а заголовок звіту – тільки на
першій.
До областей, що являють собою ядро звіту, відносять такі:
 ОБЛАСТЬ ДАННЫХ. У центрі кожного звіту знаходиться область
даних. Access друкує об'єкти з цієї області стільки раз, скільки існує
записів у таблиці. Кожному запису таблиці в звіті, який використовується,
відповідає копія рядка з області даних.
 ЗАГОЛОВОК ГРУППЫ і ПРИМЕЧАНИЕ ГРУППЫ. Над областю
даних може знаходитися одна чи кілька областей групування записів. На
рисунку 4.47 показана одна з таких областей. Зверніть увагу, що в рядку
заголовка області групування вказуються поля, які використовуються для
об’єднання у групи. Області групування записів, як правило, утворюють
пари: ЗАГОЛОВОК ГРУППЫ і ПРИМЕЧАНИЕ ГРУППЫ. Область
заголовка групи завжди розташовується над областю даних, а область
примітки – під областю даних. Інформація із заголовка кожної групи
друкується для кожного унікального значення поля.

Рисунок 4.47 – Приклад об’єднання записів у групи по різних параметрах

 ВЕРХНИЙ КОЛОНТИТУЛ і НИЖНИЙ КОЛОНТИТУЛ. Області


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

74
 ЗАГОЛОВОК ОТЧЕТА і ПРИМЕЧАНИЯ ОТЧЕТА. Ці області
друкуються тільки один раз на початку звіту (заголовок звіту) і наприкінці
(примітка звіту), на відміну від інших областей, які можуть з'являтися в
звіті багатократно.
Області звіту виводяться на друк у такому порядку:
1. Заголовок звіту, що знаходиться у верхній частині першої сторінки й
містить загальну інформацію про звіт. Вказується назва звіту, дата
друку й інша корисна інформація.
2. Верхній колонтитул (слідує після заголовка звіту, якщо необхідно
надрукувати його на першій сторінці), що проставляється потім на
кожній наступній сторінці. У верхньому колонтитулі може
знаходитися будь-яка інформація, яка буде доречна у верхній частині
кожної сторінки. Це може бути дата, логотип компанії тощо.
3. Якщо звіт містить групи, то далі виводяться заголовки першої групи
записів. Заголовки груп служать для уточнення вмісту групи і полів.
4. Рядки з області даних для кожного запису, що належить цій групі.
5. Примітка до групи записів, що містить підсумкову інформацію чи
результати розрахунків для групи.
6. Якщо в звіті використовується кілька груп, Access друкує заголовок
наступної групи, рядки області даних, що належать до цієї групи, і
відповідну примітку.
7. Наприкінці кожної сторінки Access друкує нижній колонтитул.
Нижній колонтитул розташовується внизу кожної сторінки і
традиційно містить номер сторінки і дату. Крім того, тут же може
бути відзначено ступінь конфіденційності наведеної інформації.
8. Коли всі групи будуть надруковані, Access друкує примітку звіту,
яка, подібно до заголовку звіту, з'являється в звіті тільки один раз.
Після того, як буде роздрукована примітка звіту, можна вивести на
друк і додаткові дані. У тому випадку, якщо звіт планується
розповсюдити серед співробітників організації, можна вказати
контактну інформацію (прізвище та ім'я людини, яка підготувала
звіт, його номер телефону).

Об’єднання записів у групи


При створенні нового звіту можна скористатися властивостями
діалогового вікна СОРТИРОВКА І ГРУППИРОВКА для того, щоб
створити групи і керувати ними. При створенні звіту з використанням
МАСТЕРа за допомогою цього ж діалогового вікна можна керувати
структурою звіту і визначати інформацію, яка повинна бути наявною у тій
чи іншій області звіту.
При створенні звіту МАСТЕР автоматично формує для кожної групи
області заголовок і примітки. Наприклад, якщо МАСТЕРу звітів буде дана
вказівка об’єднати у групу інформацію з поля „Країна”, він автоматично

75
створить в області звіту ЗАГОЛОВОК ГРУППЫ „Країна” і
ПРИМЕЧАНИЕ ГРУППЫ „Країна”.
При самостійному створенні груп зручно працювати з діалоговим
вікном СОРТИРОВКА И ГРУППИРОВКА (рис. 4.48). Це вікно визначає
порядок сортування записів звіту. Якщо в звіті використовується
об’єднання у групу за будь-яким полем, то це поле автоматично
включається в список груп у вікні СОРТИРОВКА И ГРУППИРОВКА
(незалежно від того, хто створив цю групу: МАСТЕР чи користувач). При
необхідності можна додати поля для сортування записів.
Перший рядок на рис. 4.48 позначений ліворуч спеціальним симво-
лом, який вказує, що інші групи сортуються чи організовані відповідно до
цієї групи. При об’єднанні в групу за декількома полями цей символ
повторюється в списку для кожного поля, що бере участь в групуванні.
У нижній частині діалогового вікна СОРТИРОВКА И
ГРУППИРОВКА показані властивості виділеної групи записів.
Перші дві властивості - ЗАГОЛОВОК ГРУППЫ і ПРИМЕЧАНИЕ
ГРУППЫ - показують, які області звіту створені для цієї групи. Звіт може
містити ЗАГОЛОВОК ГРУППЫ, ПРИМЕЧАНИЕ ГРУППЫ або обидві
області.

Рисунок 4.48 – Діалогове вікно зміни структури звіту

Властивість ГРУППИРОВКА визначає спосіб об’єднання в групу для


даного поля.
Властивість групи НЕ РАЗРЫВАТЬ з діалогового вікна
СОРТИРОВКА И ГРУППИРОВКА визначає розміщення інформації на
сторінці. В залежності від обраного значення властивості НЕ
РАЗРЫВАТЬ, дані групи можуть бути розміщеними Access таким чином:

76
на одній сторінці (значення ПОЛНУЮ ГРУППУ); на одній сторінці
знаходяться перший рядок з області даних і заголовок (ПЕРВУЮ
ОБЛАСТЬ ДАННЫХ); довільно (значення НЕТ).
Опція НЕРАЗРЫВНАЯ ГРУППА на вкладці МАКЕТ діалогового
вікна ОТЧЕТ впливає на стан опції НЕ РАЗРЫВАТЬ діалогового вікна
СОРТИРОВКА И ГРУППИРОВКА.
Для того, щоб застосувати до сторінок критерій НЕ РАЗРЫВАТЬ,
вибирають дане значення НА СТРАНИЦЕ. Якщо в звіті міститься велика
кількість стовпців, вибирають значення В СТОЛБЦЕ, щоб критерій НЕ
РАЗРЫВАТЬ був застосований до стовпців.

Об’єднання даних всіх груп


Врахування властивостей груп роблять звіти Access дуже гнучкими.
У діалоговому вікні СОРТИРОВКА И ГРУППИРОВКА можна установити
опцію ГРУППИРОВКА. Ця властивість вказує Access, коли починати нову
групу записів у звіті. Для зручності об’єднання в групу передбачено дві
опції: ПО ПОЛНОМУ ЗНАЧЕНИЮ і така, що залежить від типу значень
поля (для числового поля вона називається ИНТЕРВАЛ, для текстового –
ПО ПЕРВОМУ СИМВОЛУ).
Опція ПО ПОЛНОМУ ЗНАЧЕНИЮ вказує Access, що потрібно
об’єднувати в групу тільки однакові значення. Якщо між значеннями поля,
яке об’єднується в групу, є будь-яке розходження, Access 2000 розміщає їх
у різних групах. Ця опція зручна у випадку, коли об’єднання в групу
здійснюється за обліковими номерами покупців, продавців чи за
ідентифікаційними кодами. Однак її не використовують при роботі з
прізвищами та іменами, тому що будь-яке незначне розходження приведе
до створення нової групи.
Якщо об’єднання в групу здійснюється за числовим полем і значення
властивості ИНТЕРВАЛ дорівнює 10, об’єднуються в групу записи зі
значеннями від 0 до 9, від 10 до 19, від 20 до 29 тощо.
Для того, щоб зрозуміти як відбувається об’єднання в групу
текстових полів, слід згадати, як розташовуються слова за абеткою.
Спочатку розміщаються слова, що починаються на "А", потім – на "Б" і т.д.
Якщо два слова починаються з однієї і тієї ж букви, порівнюються другі
букви, якщо і другі букви однакові, до увагу беруться треті, і так доти,
поки всі слова не будуть упорядковані повністю.
Значення властивості ИНТЕРВАЛ при об’єднанні в групу за
текстовим полем – це число символів, що враховується Access у кожному
записі. Значення "1" змушує Access об’єднувати в групу елементи тільки за
першим символом; інтервал "2" – враховувати при об’єднанні першу і
другу букву кожного елемента тощо.

77
Зміна розміру областей звіту
Одне з важливих питань, які виникають при розробці звіту,
стосується розміщення даних.
Для зміни розміру області використовують курсор, який з'являється
при підведенні покажчика миші до верхньої частини рядка, що відповідає
певній області, як показано на рисунку 4.49. Зміна розмірів відбувається
незвично, оскільки зазначений рядок при переміщенні змінює розмір не
своєї області, а тієї, що розташована над нею.

Рисунок 4.49 – Приклад зміни розміру областей звіту

Налаштування звіту
Основна робота з форматування звіту пов'язана з налаштуванням в
діалоговому вікні СВОЙСТВА. Однак скористатися цією можливістю
можна лише після того, як звіт буде розділений на області.

Визначення вигляду всього звіту


Для того, щоб змінити налаштування всього звіту, активізують
маркер, розташований в лівому верхньому куті вікна звіту в режимі
КОНСТРУКТОР. На екрані з'явиться діалогове вікно ОТЧЕТ (рис. 4.50). У
діалоговому вікні ОТЧЕТ наведені керуючі елементи вкладки МАКЕТ, які
визначають умови друку верхнього і нижнього колонтитулів. За
замовчуванням встановлена опція ВСЕ СТРАНИЦЫ, яка вказує, що
відповідний елемент з'явиться на кожній сторінці звіту. Якщо вибрати

78
опцію БЕЗ ЗАГОЛОВКА (або БЕЗ ПРИМЕЧАНИЯ), верхній (чи нижній)
колонтитул буде друкуватися на всіх сторінках, крім першої і останньої (де
звичайно друкуються заголовок і примітка звіту).

Рисунок 4.50 – Діалогове вікно визначення властивостей звіту

Опція ВЕРХНИЙ КОЛОНТИТУЛ також характеризується великою


кількістю параметрів. Активізація рядка ВЕРХНИЙ КОЛОНТИТУЛ у вікні
КОНСТРУКТОРа звіту приведе до появи на екрані його діалогового вікна
(рис. 4.51).
Опція ВЫВОД НА ЭКРАН визначає чи буде верхній колонтитул
з'являтися на сторінках документу.
Значення властивості ВЫСОТА визначається Access автоматично
при активізації і переміщенні заголовку області документу вверх чи вниз
або задається.
Для того, щоб задати ЦВЕТ ФОНА області, вводять його код або
вибирають з палітри кольорів. Визначити колір фону верхнього
колонтитула можна в діалоговому вікні ОТЧЕТ або у вікні режиму
КОНСТРУКТОРа звітів за допомогою панелі інструментів
ФОРМАТИРОВАНИЕ.

79
Властивість ОФОРМЛЕНИЕ може мати значення ОБЫЧНОЕ (за
замовчуванням), ПРИПОДНЯТОЕ і УТОПЛЕННОЕ.

Рисунок 4.51 – Діалогове вікно ВЕРХНИЙ КОЛОНТИТУЛ

Створення групи
Для створення групи необхідно;
 вибрати із системного меню послідовність команд
ВИДСОРТИРОВКА И ГРУППИРОВКА. З'явиться діалогове вікно
СОРТИРОВКА И ГРУППИРОВКА;
 обрати порожній рядок під заголовком ПОЛЕ/ВЫРАЖЕНИЕ. У рядку
з'явиться курсор, а також кнопка списку, що розкривається;
 натиснути кнопку списку, що розкривається. З’явиться поле, яке
використовується для об’єднання у групу;
 вибрати поле. Access додасть це поле в список діалогового вікна
СОРТИРОВКА И ГРУППИРОВКА. За замовчуванням у цьому полі
буде виконане сортування даних за зростанням (від меншого до
більшого).
 вибрати у полі ЗАГОЛОВОК ГРУППЫ, розташованому в нижній
частині діалогового вікна, область СВОЙСТВА ГРУППЫ та
визначитись з властивостями.
 для того, щоб забезпечити нову групу приміткою, повторюють дії
попереднього пункту в полі ПРИМЕЧАНИЕ ГРУППЫ.
 закрити діалогове вікно. У звіті з'явилася нова група.
Для видалення групи обирають кнопку поруч з назвою групи в
переліку ПОЛЕ/ВЫРАЖЕНИЕ і натискають клавішу <Delete> з
підтвердженням операції видалення.
Змінити порядок груп можна у діалоговому вікні СОРТИРОВКА И
ГРУППИРОВКА (послідовність команд ВИДСОРТИРОВКА И

80
ГРУППИРОВКА). Для цього необхідно визначитись з групою, що
переміщується, обрати кнопку поруч з назвою цієї групи і перетягнути її на
нове місце. Access автоматично внесе відповідні зміни в звіт.
Перед зміною порядку груп чи іншими змінами в звіті, зберігають
його останній варіант (ФАЙЛСОХРАНИТЬ), аби запобігти можливим
втратам інформації при внесенні змін.

Форматування окремих областей звіту


Для того, щоб змінити формат не всього звіту, а тільки однієї з його
областей, у режимі КОНСТРУКТОРа обирають область ЗАГОЛОВОК
ГРУППЫ, що визиває на екран діалогове вікно (рис. 4.52).

Рисунок 4.52 – Діалогове вікно форматування області звіту

За допомогою властивості КОНЕЦ СТРАНИЦЫ при зміні значення в


полі, що об’єднується у групу, інформація буде автоматично розміщатися
на новій сторінці. Можна задати умову, при якій розрив сторінки буде
застосовуватися або тільки перед заголовком, або тільки після примітки,
або в обох випадках. Аналогічно можна вказати, яким чином повинні
оброблятися області початку і закінчення звіту, що містять велику
кількість стовпців (наприклад, щоб група завжди починалася в новому
стовпці). Як і в інших діалогових вікнах, можна використовувати
властивості НЕ РАЗРЫВАТЬ і ВЫВОД НА ЭКРАН.
Найважливіші властивості в цьому діалоговому вікні є
РАСШИРЕНИЕ, СЖАТИЕ і ПОВТОРЕНИЕ РАЗДЕЛА.
Застосування властивості РАСШИРЕНИЕ (значення ДА) дозволяє
розширювати границі області в залежності від обсягу даних, що містяться
в ній. Ця властивість особливо корисна при друці звітів, що включають
MEMO-поле й визначає таку його висоту, щоб всі дані з поля були
відображені в звіті.

81
Властивість СЖАТИЕ скорочує розміри області, наприклад при
наявності порожніх полів. У випадку використання властивостей
РАСШИРЕНИЕ і СЖАТИЕ необхідно визначитись з розмірами як для всієї
області, так і для її окремих елементів.
Властивість ПОВТОРЕНИЕ РАЗДЕЛА дозволяє дублювати
заголовок області на новій сторінці, якщо інформація цієї області не
помістилася на одній сторінці.
Якщо необхідно відформатувати будь-який елемент звіту (поле, надпис чи
рисунок), його активізують у режимі КОНСТРУКТОР. При цьому Access
відкриє діалогове вікно, що пропонує відповідні можливості.

7 ЗАПОВНЕННЯ ОБЛАСТЕЙ
Розміщення надписів всередині областей заголовків звіту визначає
його зовнішній вигляд. На рисунку 4.53 наведена звичайна конфігурація
заголовка в режимі КОНСТРУКТОРа звіту, а на рисунку 4.54 показано
вигляд створеного звіту. При цьому заголовки стовпців розміщені над
назвою сторінки. Вони будуть присутніми на початку кожної сторінки
(оскільки знаходяться в області верхнього колонтитула). Альтернативним
варіантом є організація звіту, наведена на рисунках 4.55 і 4.56, де
заголовки стовпців, що пов'язані з фактичною інформацією в рядку даних,
розташовуються після заголовка групи.

Рисунок 4.53 – Приклад організації звіту в режимі КОНСТРУКТОР із


заголовками стовпців, що розміщені над назвою сторінки

82
Рисунок 4.54 – Вигляд звіту із заголовками стовпців, що розміщені над
назвою сторінки

Рисунок 4.55 – Приклад організації звіту із заголовками стовпців, що


розміщені після заголовка групи

83
Рисунок 4.56 – Вигляд звіту із заголовками стовпців, що розміщені після
заголовка групи

8 ВИКОРИСТАННЯ ФОРМУЛ У ПРИМІТЦІ


У примітках, як правило, подають підсумкові дані і інформацію
загального характеру. На рис. 4.57 показані поля приміток, в яких
задаються складні вирази для організації обчислень в звітах.
У багатьох випадках у примітках просто містяться номери сторінок
чи інший текст. Іншим є призначення області приміток у прикладі на
рисунку 4.58. У цих полях використовуються досить складні формули, з
комбінацією тексту і поточного значення поля в звіті. На рисунку 4.59
показано діалогове вікно ПОСТРОИТЕЛЬ ВЫРАЖЕНИЙ для створення
однієї з таких формул.
Слід звернути увагу на те, що імена, які містяться в квадратних
дужках, являють собою поля бази даних. Остання частина виразу, яка
починається з оператора умови If (якщо), визначає, як потрібно закінчити
вираз: фразою "розширений запис" чи "розширені записи" (тобто, кількість
записів порівнюється з одиницею).
Якщо записи в групі відсутні, то ця область не роздруковується.

84
Складні вирази

Рисунок 4.57 – Приклади використання складних виразів у полі приміток

Результати складних обчислень


краски
фірма назва краски вид основа розчин товщина ціна, гр застос метод виробник
marshall acricol
фасадн акрил вода 40 80 внутр к-р-в Польща
Результат для "назва краски" # acricol (1 запис)
Sum 80

Avg 80

Min 80

Max 80

flora
емульс акрил вода 10 32 внутр в Україна
Результат для "назва краски" # flora (1 запис)
Sum 32

Avg 32

Min 32

85
краски
фірма назва краски вид основа розчин товщина ціна, гр застос метод виробник
Max 32

Рисунок 4.58 – Результат використання приміток із складними формулами

Рисунок 4.59 – Діалогове вікно ПОСТРОИТЕЛЬ ВЫРАЖЕНИЙ

Функції для обчислень у звітах


В Access є велика кількість вбудованих функцій, але найчастіше
використовуються функції, наведені в таблиці 4.3.

Таблиця 4.3 – Функції Access для обчислень у звітах


Функція Опис Приклад
Sum (Сума) Підсумовує всі значен- Sum ([Ціна])
ня полів
Maximum (Максимум) Визначає найбільше зі Max ([Ціна])
значень в області
Minimum (Мінімум) Визначає найменше зі Min ([Ціна])
значень в області
Average (Середнє) Визначає середнє зна- Avg ([Ціна])
чення всіх полів в
області
Count (Кількість) Підраховує кількість Count ([Ціна])
значень в області

Для організації обчислювального поля у звіті потрібно його


активізувати у режимі КОНСТРУКТОР, що відкриє діалогове вікно ПОЛЕ,
як показано на рисунку 4.60. Вкладка МАКЕТ цього діалогового вікна

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

Рисунок 4.60 – Властивості діалогового вікна ПОЛЕ

Вкладка ДАННЫЕ містить чотири опції, доступ до яких можливий


безпосередньо через відповідне поле в звіті. У результаті з'явиться
діалогове вікно ПОЛЕ із вкладкою ДАННЫЕ. У нижній частині цієї
вкладки знаходиться опція СУММА С НАКОПЛЕНИЕМ, яка визначає, чи
використовується в даному полі підсумковий підрахунок значень. У
залежності від умови, Access або заповнює нулями значення суми щоразу
при переході до нового заголовку, або продовжує вести підрахунок.
Якщо ж в опції СУММА С НАКОПЛЕНИЕМ обрані елементи ДЛЯ
ГРУППЫ чи ДЛЯ ВСЕГО, то відбувається підсумовування даних, що
містяться в цьому полі для кожної групи або для всіх записів. Ця опція
використовується для одержання загальних підсумків чи загального
середнього значення в деякій сукупності записів.
Опція ДЛЯ ГРУППЫ визначає, що підсумовування буде
виконуватися для всіх груп, які містяться у певній області. При виборі
опції ДЛЯ ВСЕГО, обчислення продовжується незалежно від
розташування груп.

9 НУМЕРАЦІЯ СТОРІНОК І ВИВЕДЕННЯ ДАТИ

87
У заголовок і в примітку можна помістити певну інформацію. Як
правило, ці розділи використовуються для порядкового номера сторінок
або дати. Для цього використовуються команди системного меню
ВСТАВКАНОМЕРА СТРАНИЦ і ВСТАВКАДАТА И ВРЕМЯ.
При виборі команди НОМЕРА СТРАНИЦ відкривається діалогове
вікно, що наведено на рисунку 4.61.
Є кілька варіантів нумерації сторінок, що вибирається за значеннями
таких параметрів:
 ФОРМАТ, в якому можна вибрати друк номера сторінки
(СТРАНИЦА N) або вказати Access, що потрібно підрахувати загальну
кількість сторінок у звіті і вивести номер поточної сторінки (СТРАНИЦА
N ИЗ М);
 РАСПОЛОЖЕНИЕ, що визначає місце розташування номера
сторінки, а саме верхній чи нижній колонтитул;
 ВЫРАВНИВАНИЕ, що може містити такі значення: по лівому
краю, по правому краю, по центру;
 ОТОБРАЖАТЬ НОМЕР НА ПЕРВОЙ СТРАНИЦЕ (при виборі
цього значення номер сторінки проставляється на всіх сторінках
звіту, починаючи з першої).

Рисунок 4.61 – Діалогове вікно НОМЕРА СТРАНИЦ

Для внесення змін в нумерації сторінок вручну видаляють існуюче


поле номера сторінки (за допомогою клавіші <Delete>) та повторюють
процедуру вибору формату нумерації сторінок після виконання
послідовності команд ВСТАВКАНОМЕРА СТРАНИЦ.
Послідовність команд ВСТАВКАДАТА И ВРЕМЯ виводить
діалогове вікно ДАТА И ВРЕМЯ, в якому слід визначитись з форматами
дати і часу, вибравши їх із запропонованого списку. За замовчуванням дата
і час завжди з'являються у верхній області сторінки, біля заголовку.
Використовуючи команди ВЫРЕЗАТЬ і ВСТАВИТЬ, можна перемістити

88
дату і час у будь-яку область звіту, а потім відформатувати цю
інформацію.

Лабораторна робота №4

Організація швидкого пошуку інформації в базі даних


Мета роботи. Одержання навичок роботи з організації швидкого
пошуку інформації в базі даних за допомогою СУБД Access.

Порядок виконання роботи

1. Ознайомитись з теоретичними відомостями щодо можливостей


організації пошуку інформації в автоматизованій базі даних.
2. Виконати пошук інформації в базі даних з використанням
команди НАЙТИ.
3. Застосувати команду СОРТИРОВКА для пошуку інформації в
базі даних.
4. За допомогою чотирьох команд: ИЗМЕНИТЬ ФИЛЬТР, ФИЛЬТР
ПО ВЫДЕЛЕННОМУ, ИСКЛЮЧИТЬ ВЫДЕЛЕННОЕ і
РАСШИРЕННЫЙ ФИЛЬТР відфільтрувати записи організованої
бази даних.
5. Створити фільтр за критерієм пошуку в базі даних.
6. Ознайомитись з алгоритмами створення запитів в СУБД Access.
7. Створити запит за допомогою МАСТЕР ПРОСТЫХ ЗАПРОСОВ.
8. Створити багатотабличний запит у базі даних з використанням
МАСТЕРА СУБД Access.
9. Створити багатотабличний запит у режимі КОНСТРУКТОРа
СУБД Access.
10.Оформити отримані результати досліджень.

Теоретичні відомості

Завдяки можливостям команд НАЙТИ, ФИЛЬТР і СОРТИРОВКА,


Access здатний виконувати пошук і перетворювати дані в таблиці бази
даних швидше, ніж з іншими інструментами. Серед основних переваг
означених команд слід звернути увагу на швидкодію команди НАЙТИ,
гнучкість команди ФИЛЬТР і організаційність команди СОРТИРОВКА.

89
1 ПОШУК ДАНИХ У ТАБЛИЦІ
Якщо потрібно швидко знайти інформацію в базі даних, що створена
за допомогою СУБД Access, використовують спрощений спосіб пошуку в
таблицях і формах – команду НАЙТИ.
Цю команду можна знайти як на панелі інструментів, так і в рядку
системного меню (ПРАВКАНАЙТИ), а також викликати одночасним
використанням клавіш <Ctrl>+<F>.
Для пошуку інформації в базі даних СУБД Access пропонує два
пошукових інструменти: фільтри і запити.

Налаштування швидкості і точності пошуку


Для організації пошуку інформації активізується діалогове вікно
ПОИСК И ЗАМЕНА (рис. 4.62), що пропонує користувачу ввести
додаткові умови пошуку з метою підвищення швидкості опрацювання
інформації, що зберігається в базі даних.

Рисунок 4.62 – Діалогове вікно ПОИСК И ЗАМЕНА

Після введення додаткових умов пошуку діалогового вікна ПОИСК


И ЗАМЕНА, активізується команда НАЙТИ ДАЛЕЕ, що розташована на
панелі інструментів (із зображенням бінокля). Для подальшої
конкретизації умов пошуку інформації обирають саме цю команду або
команди ПРАВКАНАЙТИ із системного меню Access. Інструментами,
що використовуються при організації детального пошуку інформації, є
такі: опції ПОИСК В і СОВПАДЕНИЕ, які знаходяться у діалоговому вікні
ПОИСК И ЗАМЕНА, або опції ПРОСМОТР, С УЧЕТОМ РЕГИСТРА і С
УЧЕТОМ ФОРМАТА ПОЛЕЙ, які розташовані в нижній частині
діалогового вікна. Для того, щоб активізувати їх, необхідно обрати
команду БОЛЬШЕ >>, розташовану в нижній правій частині діалогового
вікна. Розглянемо ці опції:
 опція ПОИСК В за замовчуванням інтерпретується Access як
пошук за збігом тільки в поточному полі, яке було задано в
початкових умовах пошуку. Для організації пошуку по всій

90
таблиці бази даних, необхідно вибрати із запропонованого списку,
елемент ТАБЛИЦА, як показано на рисунку 4.63;
 опція СОВПАДЕНИЕ за замовчуванням передбачає врахування
умови пошуку за значенням ПОЛЯ ЦЕЛИКОМ, яка означає, що
потрібно знайти поле, у якому інформація, повністю збігається із
заданою в полі. Критерій пошуку можна змінити на С ЛЮБОЙ
ЧАСТЬЮ ПОЛЯ, що допускає збіг інформації у будь-якому місці
поля, або на С НАЧАЛА ПОЛЯ, що розпізнає тільки збіг
інформації з початком поля (рис. 4.64);

Рисунок 4.63 – Діалогове вікно вибору критеріїв пошуку інформації в базі


даних з використанням опції ПОИСК В

Рисунок 4.64 – Діалогове вікно вибору критеріїв пошуку інформації в базі


даних з використанням опції СОВПАДЕНИЕ

 опція ПРОСМОТР використовується для обмеження області пошуку


інформації частиною таблиці бази даних. Ця опція передбачає для
команди НАЙТИ переглянути або ВСЕ записи таблиці бази даних
(установлення за замовчуванням), або шукати запис таблиці,
переглядаючи таблицю за напрямком ВВЕРХ чи ВНИЗ від
поточного запису. Наприклад, якщо вибрати запис, що знаходиться

91
посередині таблиці, а потім здійснити пошук за значенням ВНИЗ, то
таблиця буде переглянута від поточного запису до кінця таблиці;
 опція С УЧЕТОМ РЕГИСТРА передбачає, що вміст шуканого поля
уточнюється за зразком, поданим в регістрі, і повинен повністю з
ним збігатися (наприклад, при виборі цієї опції слово Internet не
збіжиться ні з internet, ні з INTERNET). Опція знаходиться в області
нижньої частини вікна і активізується командами С УЧЕТОМ
РЕГИСТРАБОЛЬШЕ >> до наявності прапорця на її полі;
 опція С УЧЕТОМ ФОРМАТА ПОЛЕЙ використовується при
пошуку великої кількості полів зі складним форматуванням і
стосується формату поля, а не на його вмісту. Таке обмеження
зручне при пошуку дат, ідентифікаційних номерів і інших полів зі
спеціальним форматуванням. Опція розташована в нижній частині
діалогового вікна ПОИСК И ЗАМЕНА. Вона не активна при
включеній опції С УЧЕТОМ РЕГИСТРА.

2 СОРТУВАННЯ
Виконання сортування в СУБД Access можна організувати:
 за допомогою команди СОРТИРОВКА, що знаходиться в пункті
системного меню ЗАПИСИ;
 за допомогою команд СОРТИРОВКА ПО ВОЗРАСТАНИЮ
(наприклад, впорядковуються записи за абеткою зверху вниз так, що
список записів буде починатися зі слів на букву "А" і завершуватися
словами на букву "Я", або починаючи із найменшого і закінчуючи
найбільшим числом) або СОРТИРОВКА ПО УБЫВАНИЮ
(наприклад, впорядковуються записи за абеткою в зворотному
порядку, починаючи з букви "Я" і закінчуючи "А"), що знаходяться
на панелі інструментів.
На рисунку 4.65 показаний таблиці КРАСКА за полем КОД
КРАСКИ.

92
Рисунок 4.65 - Приклад виконання СОРТИРОВКИ ПО ВОЗРАСТАНИЮ

Для того, щоб скористатися командою СОРТИРОВКА, слід


виконати такі дії:
 вибрати поле, за яким необхідно відсортувати дані таблиці бази
даних;
 визначитись із напрямом сортування інформації (СОРТИРОВКА ПО
ВОЗРАСТАНИЮ, або СОРТИРОВКА ПО УБЫВАНИЮ).
Слід зауважити, що функція СОРТИРОВКА в СУБД Access має свої
особливості щодо опрацювання текстових полів, які містять числа. Якщо
необхідно провести сортування за полем, що містить числа разом із
пробілами і буквами (як це буває, наприклад, у поштових адресах), то
Access відсортує числа за їх місцем розташування, а не за їх значенням (як
букви, а не цифри). Наприклад, при сортуванні записів за зростанням запис
«10608 w.Vermount» виявиться перед «119 Spring Mill», оскільки на
другому місці в першому записі розташована цифра 0, а в другому записі
на другому місці розташована 1.

3 ПОШУК ЗАПИСІВ ЗА ДОПОМОГОЮ ФІЛЬТРА


Іноді потрібно знайти групу записів, що містять певне значення,
наприклад, список клієнтів у відповідному місті, список певних посад у
організації чи книг відповідної тематики. Для таких цілей у Access є
спеціальний засіб – команда ФИЛЬТР.
Для виведення на екран записів, які задовольняють поставлені
умови, у фільтрах задають критерії пошуку.
Команда ФИЛЬТР знаходиться в системному меню (ЗАПИСИ) або
на панелі інструментів. Access пропонує на вибір чотири команди
фільтрації: ИЗМЕНИТЬ ФИЛЬТР, ФИЛЬТР ПО ВЫДЕЛЕННОМУ,

93
ИСКЛЮЧИТЬ ВЫДЕЛЕННОЕ і РАСШИРЕННЫЙ ФИЛЬТР, що
відрізняються тільки способом реалізації.
Фільтри використовуються в таблицях, формах і запитах. Розглянемо
застосування фільтра до таблиць (аналогічно фільтри застосовуються при
роботі з запитами і формами).

Команда ФИЛЬТР ПО ВЫДЕЛЕННОМУ


Команда ФИЛЬТР ПО ВЫДЕЛЕННОМУ— найпростіша з команд
фільтрації. Вона припускає, що вже знайдено хоча б один запис, який
задовольняє заданий критерій фільтрації.
Для використання команди ФИЛЬТР ПО ВЫДЕЛЕННОМУ потрібно
виконати такі дії:
 вибрати поле, у якому необхідно здійснити фільтрацію;
 знайти і виділити запис таблиці, що задовольняє умову фільтрації
(наприклад, в таблиці КРАСКА за полем ВИД вибрано запис із
значенням СИНТЕТИЧЕСКАЯ, як показано на рисунку 4.66);
 виконати команду ФИЛЬТР ПО ВЫДЕЛЕННОМУ.
Іншим способом виконати таке опрацювання записів таблиці можна,
виконавши послідовність команд ЗАПИСИФИЛЬТРФИЛЬТР ПО
ВЫДЕЛЕННОМУ.
Результатом виконання фільтрації є таблиця лише з тими записами
похідної таблиці, що відповідають умові фільтрації.

Рисунок 4.66 – Приклад використання команди ФИЛЬТР ПО


ВЫДЕЛЕННОМУ

Щоб повернутися до початкового вигляду таблиці, слід ще раз


активізувати ФИЛЬТР ПО ВЫДЕЛЕННОМУ.
Результати фільтрації інформації не зберігаються.

94
Команда ИЗМЕНИТЬ ФИЛЬТР
Для уточнення результатів пошуку інформації в базі даних
використовують додаткові фільтри, що реалізується в Access за допомогою
команди ИЗМЕНИТЬ ФИЛЬТР.
Розглянутий раніше спосіб пошуку інформації в базі даних за
допомогою команди ФИЛЬТР ПО ВЫДЕЛЕННОМУ передбачає
повторення операції пошуку при введенні кожного наступного критерію.
Використання команди ИЗМЕНИТЬ ФИЛЬТР однією процедурою пошуку
інформації дає можливість знайти записи в таблиці бази даних, що
відповідають групі критеріїв.
З цією метою потрібно активізувати команду ИЗМЕНИТЬ ФИЛЬТР.
Це можна виконати такими способами:
1) вибрати з меню послідовність команд ЗАПИСИФИЛЬТР
ИЗМЕНИТЬ ФИЛЬТР;
2) вибрати опцію ИЗМЕНИТЬ ФИЛЬТР, що розташована на панелі
інструментів.
Після виконання цієї команди створюється порожній рядок у таблиці
бази даних, в якій проводиться пошук інформації. Поле такої таблиці, за
яким опрацьовуються дані, при цьому активізується, ознакою чого є
присутня в ньому кнопка списку, що розкривається (на рисунку 4.67 поле
ВИД є активним для проведення пошуку інформації).

Рисунок 4.67 – Приклад застосування кнопки списку, що розкривається

Натиснувши кнопку списку, що розкривається, в активному полі


відкритої бази даних, можна виявити всі записи таблиці. Якщо при цьому
скористатися командою ИЗМЕНИТЬ ФИЛЬТР, то можна виконати пошук
інформації за іншим критерієм, як показано на рисунку 4.68 (наприклад, за
полем ОСНОВА).

95
Рисунок 4.68 – Організація пошуку інформації в таблиці бази даних за
новим критерієм з використанням команди ИЗМЕНИТЬ ФИЛЬТР

При активізації ярлика вкладки НАЙТИ, що знаходиться у нижньому


лівому куті таблиці, можна здійснювати первісний пошук за виділеним
елементом поля (наприклад, виконати пошук за елементом СОПОЛИМЕР
в списку поля ОСНОВА).
В нижньому лівому куті таблиці також знаходиться ярлик вкладки
ИЛИ, розташований за ярликом НАЙТИ, що дає можливість додати новий
критерій пошуку інформації в таблиці, уточнюючи отримані результати
опрацювання даних. (рис. 4.69).
Повторювати описані процедури в кожному з полів можна за
необхідністю без обмежень. Щоразу активізація вкладки ИЛИ дозволяє
уточнити результати пошуку інформації введенням додаткового критерію.

96
Рисунок 4.69 – Використання вкладки ИЛИ для реалізаціїї
багатокритеріального пошуку інформації в таблиці бази даних

Якщо значення в критерій пошуку було введене помилково, то можна


застосувати кнопку ОЧИСТИТЬ БЛАНК.
Після виконання команди ОЧИСТИТЬ БЛАНК, Access анулює всі
записи в бланку ИЗМЕНИТЬ ФИЛЬТР і надасть можливість ввести нові
значення в критерій пошуку інформації.
Якщо необхідно виключити тільки один оператор ИЛИ, потрібно
вибрати цей ярлик та використати послідовність команд ПРАВКА
УДАЛИТЬ ВКЛАДКУ.
Після введення всіх критеріїв, що використовуються у фільтрі,
вибирають команду ПРИМЕНЕНИЕ ФИЛЬТРА в панелі інструментів для
виконання багатокритеріального пошуку інформації в таблиці бази даних й
формування результату додатком Access.
Для повернення таблиці до попереднього стану слід видалити опцію
фільтрації за допомогою команди УДАЛИТЬ ФИЛЬТР, що розташована
на панелі інструментів.
Команда РАСШИРЕННЫЙ ФИЛЬТР
Розширений фільтр має такі можливості, що його можна розглядати
як найпростіший різновид більш складного об’єкта Access - запиту.
Послідовність дій при ініціюванні команди РАСШИРЕННЫЙ ФИЛЬТР
така ж сама, що і при створенні запиту.
Однак команда РАСШИРЕННЫЙ ФИЛЬТР має особливості:
 в певний момент часу команда РАСШИРЕННЫЙ ФИЛЬТР може
працювати тільки з однією таблицею чи формою бази даних та її не можна
застосувати до пов'язаних таблиць;
 за допомогою команди РАСШИРЕННЫЙ ФИЛЬТР можна
реалізувати тільки прості запити;

97
 результати фільтрації даних таблиці з певним ступенем за
заданими критеріями пошуку інформації подаються також у вигляді
таблиці з тим же ступенем (навіть якщо ця інформація не цікавить
користувача).

4 ПРОСТІ ЗАПИТИ ДО БАЗИ ДАНИХ


Для організації пошуку інформації в базі даних додаток Access
пропонує такі об’єкти як ЗАПРОСЫ, що при розв’язуванні складних задач
працюють краще, ніж фільтри. Вони можуть працювати з однією чи
декількома таблицями, проводити пошук за одним чи декількома
критеріями (полями) і зберігати результати пошуку інформації для
подальшого аналізу.
Для перетворення операції фільтрації у дійсний запит
використовують опцію СОХРАНИТЬ КАК ЗАПРОС. При цьому Access
збереже фільтр як запит, а потім помістить його в список, де зберігаються
всі запити бази даних.
За допомогою запитів можна додавати чи видаляти записи з таблиць
бази даних, виконувати математичні обчислення і проводити статистичний
аналіз, опрацьовуючи при цьому дані декількох її таблиць.

Створення запиту за допомогою команди ЗАПРОС НА ВЫБОРКУ


Основний інструментарій створення запитів в Access – використання
команди ЗАПРОС НА ВЫБОРКУ. При реалізації такого запиту
вибираються відповідні записи з бази даних і виводяться на екран
результати, що відповідають умовам запиту.
Команда ЗАПРОС НА ВЫБОРКУ характеризується таким чином:
 пропонує широкий вибір корисних інструментів;
 при опрацюванні запиту може використовувати дані з декількох
таблиць;
 включає елемент налаштування ВЫВОД НА ЭКРАН, який вказує
Access, які поля повинні бути включеними в таблицю-результат.
При цьому ступінь таблиці-результату визначається кількістю
критеріїв пошуку інформації в базі даних, що означені в запиті;
 можливість зміни порядку розташування полів у таблиці-
результаті, при цьому вихідна таблиця залишається незмінною;
 можливість визначення кількості записів у результаті реалізації
запиту завдяки опції НАБОР ЗНАЧЕНИЙ, що розташована на
панелі інструментів.
Для створення запиту потрібно виконати такі дії:
1. Відкрити базу даних, у якій потрібно створити запит.
2. Вибрати вкладку ЗАПРОСЫ, що розташована в лівій частині вікна.
На екрані з'явиться список усіх наявних запитів і додаткові елементи
для їх створення.

98
3. Визначитись з критеріями пошуку та структурою таблиці-результату
опрацювання інформації бази даних.
4. Активізувати команду СОЗДАНИЕ ЗАПРОСА в режимі
КОНСТРУКТОР. Зовнішній вигляд екрана зміниться, з’явиться два
вікна: порожній бланк діалогового вікна ЗАПРОС НА ВЫБОРКУ і
вікно ДОБАВЛЕНИЕ ТАБЛИЦЫ.
5. Задати ім’я таблиці, до якої потрібно створити запит, й підтвердити
свій вибір командою ДОБАВИТЬ. У верхній частині вікна ЗАПРОС
НА ВЫБОРКУ з'явиться невелике вікно з переліком всіх полів
вибраної таблиці (рис. 4.70).

Рисунок 4.70 – Діалогове вікно ЗАПРОС НА ВЫБОРКУ

6. Вибрати ім'я поля із списку, що розкривається. Access автоматично


поміщає ім'я таблиці в поле ТАБЛИЦА і припускає, що необхідно
включити це поле в таблицю-результат (у полі ВЫВОД НА ЭКРАН
з'явиться прапорець). За допомогою смуги прокручування можна
переглянути весь список полів, що знаходяться в таблиці. Якщо двічі
натиснути на імені поля, що використовується при створенні запиту,
Access помістить це поле в таблицю запиту.
7. Для того, щоб закрити вікно, потрібно вибрати команду ЗАКРЫТЬ.
Для кожного обраного поля таблиці бази даних вводять відповідну
умову. У ЗАПРОС НА ВЫБОРКУ використовуються оператори
опрацювання даних, наведені в таблиці 4.4, а завдяки додатковим умовам
ЗАПРОС НА ВЫБОРКУ підтримує і спеціальні оператори в полі
УСЛОВИЕ ОТБОРА. Крім того, підтримується можливість створення
багатокритеріальних запитів через поле ИЛИ за аналогією з командою
ИЗМЕНИТЬ ФИЛЬТР (рис. 4.71).

99
Таблиця 4.4 – Оператори команди ЗАПРОС НА ВЫБОРКУ для
завдання умов пошуку
Назва Оператор Значення оператора
Цей оператор шукає тільки ті записи, значення
яких точно відповідають введеній умові.
(опуска-
Дорівнює Наприклад, для перегляду всіх операцій,
ється)
зроблених клієнтом під номером 37, вводять
37 у поле КРИТЕРИЙ
Менше ніж При виконанні цього оператора виводяться всі
значення менше введеної умови. Наприклад,
< якщо в поле ЦІНА ввести умову <30, то будуть
знайдені всі ціни нижчі значення 30.
Більше ніж Цей оператор використовується для пошуку всіх
значень, більших заданого. Наприклад, якщо в
> поле ЦІНА ввести умову >30, то будуть
знайдені всі ціни, значення яких більші 30.
Більше чи Аналогічний оператору більше ніж, але включає
дорівнює >= також значення, зазначене в критерії.
Менше чи Аналогічний оператору менше ніж, але включає
дорівнює <= також значення, зазначене в критерії.
Не Цей оператор шукає всі записи, значення яких
<>
дорівнює не відповідають заданому числу.

Для виведення результату виконання запиту потрібно вибрати


команду ЗАПУСК. Якщо виконаний запит задовольняє всі умови
користувача, результат опрацювання інформації зберігають за допомогою
команди СОХРАНИТЬ, що розташована на панелі інструментів, а сам
запит може бути збереженим під присвоєним йому іменем у вкладці
ЗАПРОСЫ, яка розташована у вікні бази даних.

100
Рисунок 4.71 – Приклад використання поля ИЛИ в багатокритеріальних
запитах

Сортування результатів, отриманих після виконання запитів


В арсеналі Access є інструмент для проведення сортування
результатів, отриманих після виконання запитів. Єдиним недоліком є те,
що Access автоматично сортує отримані результати зліва направо. При
цьому стовпець, що розташований лівіше, автоматично сортується як
базовий, а всі інші поля відіграють допоміжну роль. Отже, якщо
сортування виконується за кількома критеріями, потрібно переміщати поля
таблиці, в якій виконується сортування, відповідним чином.
Для зміни місця розташування стовпця в таблиці, його виділяють і
переміщають до нового місця, що вибирається за допомогою покажчика.

Створення запиту за допомогою МАСТЕРа ПРОСТЫХ ЗАПРОСОВ


Як і всі вбудовані майстри Access, МАСТЕР ПРОСТЫХ ЗАПРОСОВ
потребує відзначити поля для опрацювання і ввести умову вибору даних.
При використанні МАСТЕРа ПРОСТЫХ ЗАПРОСОВ для створення
запиту необхідно виконати такі дії.
1. Активізувати вкладку ЗАПРОСЫ, розташовану під панеллю
ОБЪЕКТЫ в лівій частині вікна СУБД Access.
2. Вибрати опцію СОЗДАНИЕ ЗАПРОСА С ПОМОЩЬЮ МАСТЕРА.
На екрані з'явиться діалогове вікно СОЗДАНИЕ ПРОСТЫХ
ЗАПРОСОВ (рис. 4.72).
3. Зі списку ТАБЛИЦЫ И ЗАПРОСЫ вибрати імена таблиць і запитів,
які потрібно опрацювати для реалізації запиту, що створюється.

101
Після того, як буде обрана потрібна таблиця, у вікні ДОСТУПНЫЕ
ПОЛЯ з'являться імена полів, що використовуються в обраній
таблиці.

Рисунок 4.72 – Діалогове вікно МАСТЕР ПРОСТЫХ ЗАПРОСОВ

4. Для того, щоб перемістити потрібні поля у вікно ВЫБРАННЫЕ


ПОЛЯ для опрацювання запиту, потрібно їх виділити і натиснути
кнопку “>” (рис. 4.73). Якщо необхідно використати всі поля таблиці
бази даних, слід натиснути кнопку “>>”.

Рисунок 4.73 – Вибір імен полів таблиці бази даних для опрацювання в простому
запиті

5. Для відмови від врахування в запиті будь-якого обраного поля, його


потрібно виділити у вікні ВЫБРАННЫЕ ПОЛЯ і перемістити назад

102
у вікно ДОСТУПНЫЕ ПОЛЯ за допомогою кнопки “<”. Відповідно
для видалення вікна ВЫБРАННЫЕ ПОЛЯ всіх обраних полів слід
використати кнопку “<<”.
6. Вибрати вид звіту за результатами реалізації запиту - ПОДРОБНЫЙ
ОТЧЕТ (виведення кожного поля кожного запису) чи ИТОГОВЫЙ
(автоматично підраховує підсумкові значення таблиці) (рис. 4.74).

Рисунок 4.74 – Приклад вибору виду звіту

Якщо при цьому необхідно виконати налаштування підсумкового


запиту, слід викликати діалогове вікно ИТОГИ, що показане на
рисунку 4.75, й установити потрібні опції з подальшим їх
підтвердженням кнопкою ОК.

Рисунок 4.75 – Діалогове вікно опцій підсумкового запиту

7. Задати ім'я створеного запиту (рис. 4.76).

103
Рисунок 4.76 – Кінцевий етап налаштування створеного простого
запиту

8. За пропозицією МАСТЕРа ПРОСТЫХ ЗАПРОСОВ при необхідності


переглянути створений запит в режимі таблиці. Якщо виникла
необхідність внести зміни у створений запит, це нескладно виконати
за допомогою опції ИЗМЕНИТЬ МАКЕТ ЗАПРОСА, що запропонує
створити новий запит за розглянутим вище алгоритмом.
9. Access при необхідності надає довідку з використанням файлу
підказок, що містить пояснення про налаштування запиту, за
допомогою опції ВЫВЕСТИ СПРАВКУ ПО РАБОТЕ С
ЗАПРОСОМ.
10.Підтвердити налаштування для створення простого запиту кнопкою
ГОТОВО.

5 БАГАТОТАБЛИЧНІ ЗАПИТИ ДО БАЗИ ДАНИХ


Іноді для одержання вичерпної інформації, потрібно проводити її
пошук за декількома таблицями бази даних.
Access створює та маніпулює з реляційними базами даних, що
структурно являють собою пов'язані таблиці, і дозволяє опрацьовувати в
рамках одного запиту дві і більше таблиць.
В більшості випадків багатотабличні запити реалізуються, як і
запити, створені для однієї таблиці, саме тому, що Access підтримує зв'язки
між таблицями бази даних. Такі зв'язки створюються при проектуванні
бази даних введенням в її структурні одиниці (таблиці) ключових полів і
використовуються при побудові багатотабличних запитів (рис. 4.77).
Перед тим як створювати багатотабличні запити, важливо
проаналізувати як взаємодіють таблиці в базі даних та як пов’язані поля її
таблиць.

104
Рисунок 4.77 – Приклад пов’язаних ключовим полем таблиць бази даних

Створення багатотабличного запиту за допомогою МАСТЕРА


ПРОСТЫХ ЗАПРОСОВ
Загальний алгоритм створення багатотабличного запиту за
допомогою МАСТЕРа ПРОСТЫХ ЗАПРОСОВ не відрізняється від
алгоритму створення простого запиту.
Оскільки при створенні багатотабличного запиту передбачається
опрацювання двох і більше пов’язаних таблиць бази даних, після того, як
завершиться вибір полів з однієї таблиці, аналогічно повторюють
вищезгадані процедури для іншої таблиці, що планується аналізувати при
реалізації запиту.
В результаті формується список полів у вікні ВЫБРАННЫЕ ПОЛЯ.
Якщо в запит були включені поля двох непов'язаних таблиць,
ПОМОЩНИК Access звернить увагу проектувальника запиту, що таблиці
повинні бути пов’язані. В такому випадку потрібно пов’язати таблиці бази
даних у вікні СХЕМА ДАННЫХ, що стає активним після врахування
зауваження помічника (кнопка ОК), та знову повернутися до МАСТЕРа
ПРОСТЫХ ЗАПРОСОВ, щоб створити багатотабличний запит.

Створення багатотабличного запиту за допомогою


КОНСТРУКТОРА
Для створення багатотабличного запиту за допомогою
КОНСТРУКТОРа необхідно виконати такі дії:
1. У вікні бази даних обрати вкладку ЗАПРОСЫ, що розташована
під панеллю ОБЪЕКТЫ в лівій частині вікна. На екрані з'явиться
список всіх запитів, готових до виконання. Перш ніж приступати
до створення багатотабличного запиту, слід переконатись, що
таблиці бази даних пов’язані між собою. Якщо це не так, слід
повернутися у вікно бази даних і пов’язати її таблиці у вікні
СХЕМА ДАННЫХ, що розташована на панелі інструментів.
2. Вибрати опцію СОЗДАНИЕ ЗАПРОСА В РЕЖИМЕ
КОНСТРУКТОРа. На екрані з'явиться діалогове вікно
ДОБАВЛЕНИЕ ТАБЛИЦЫ, а за ним - порожнє вікно, у якому
формується запит.

105
3. Вибрати ім’я першої таблиці бази даних, яку потрібно
опрацювати при реалізації запиту. У головному вікні запиту
з'явиться вікно, що містить перелік полів даної таблиці (рис. 4.78).
4. Повторити такі дії для кожної таблиці, що потрібно додати до
першої таблиці при створенні багатотабличного запиту, та після
завершення закрити діалогове вікно ДОБАВЛЕНИЕ ТАБЛИЦЫ.

Рисунок 4.78 – Приклад вибору таблиці для запиту, що створюється

5. У вікні створюваного багатотабличного запиту між таблицями,


що обираються для опрацювання при реалізації запиту,
формуються зв’язки (рис. 4.79), що свідчить про розуміння
Access, як пов’язати таблиці бази даних.

Рисунок 4.79 – Приклад формування зв’язків між таблицями бази даних,


що опрацьовуються при реалізації запиту

106
6. Якщо зв'язки між таблицями бази даних відсутні, створення
запиту потрібно припинити й закрити діалогове вікно запиту.
7. Установити зв’язки між таблицями бази даних у вікні СХЕМА
ДАННЫХ та повторити дії за п.п.1-5.
8. Поля таблиць бази даних вибирають в тому порядку, у якому вони
повинні з'явитися в таблиці-результаті після виконання запиту .
9. При необхідності поле, що було обране для опрацювання
помилково, можна видалити з бланку створюваного запиту за
допомогою команд ПРАВКАÞУДАЛИТЬ СТОЛБЦЫ.
Сортування даних при створенні багатотабличного запиту
виконується за таким же алгоритмом, як і при створенні простих запитів.
При необхідності відсортувати дані за декількома критеріями,
повторюють операцію сортування для кожного поля. При цьому в поле
УСЛОВИЕ ОТБОРА для кожного поля вводять умову вибору інформації.
Умова відбору даних при створенні багатотабличного запиту
формується за таким же алгоритмом, як і при створенні простих запитів.
Якщо поле таблиці бази даних потрібно опрацювати при реалізації
запиту, але в таблиці-результаті воно має бути відсутнім, необхідно зняти
відповідний прапорець у полі ВЫВОД НА ЭКРАН.
Після створення та перевірки запит можна зберегти за допомогою
таких дій:
 виконати послідовність команд ФАЙЛÞСОХРАНИТЬ;
 у діалоговому вікні СОХРАНЕНИЕ ввести ім'я створеного
запиту;
 підтвердити введене ім'я створеного запиту за допомогою кнопки
ОК.
Щоб реалізувати створений запит, необхідно вибрати із системного
меню команди ЗАПРОСÞЗАПУСК або скористатись командою ЗАПУСК
на панелі інструментів.
Якщо в результаті реалізації запиту не була отримана відповідь, слід
повернутись в режим КОНСТРУКТОРа для доопрацювання запиту, для
чого:
 вибрати з меню команди ВИДÞКОНСТРУКТОР (або команду
КОНСТРУКТОР на панелі інструментів);
 внести необхідні зміни у створений запит;
 зберегти запит з урахуванням внесених у нього змін.

107
Лабораторна робота №5

Реалізація запитів до бази даних в СУБД Access


Мета роботи. Одержання навичок роботи з організації запитів за
допомогою Access, ознайомлення з опціями ГРУППИРОВКА та набуття
практичних навичок роботи з узагальнювальними функціями в SQL.

Порядок виконання роботи


Згідно з варіантом завдання, виданим викладачем:
1. Створити запит з використанням оператора AND (І).
2. Створити запит з використанням оператора OR (АБО).
3. Створити запит з використанням декількох операторів AND (І).
4. Створити запит з використанням декількох операторів OR (АБО).
5. Виконати обчислення в запитах (просте та складне).
6. Виконати обчислення з використанням текстових полів в запитах.
7. Створити поле, що обчислюється за допомогою ПОСТРОИТЕЛЬ
ВЫРАЖЕНИЙ.
8. Створити запит з використанням опції ГРУППИРОВКА.
9. Використати функцію Count в запиті.
10.Створити запит з використанням майстра перехресних запитів.
11.В запиті використайте функції з пропозицій низхідного списку
рядка ГРУППИРОВКА.
12.Створити запит, використовуючи додаткові можливості оператора
SELECT в SQL Editor.
13.Відсортувати результати запиту за допомогою речення ORDER
BY в SQL Editor.
14.Усунути повторювані рядки за допомогою речень DISTINCT або
ALL в SQL Editor.
15.Створити запит з використанням узагальнювальних функцій в
SQL Editor.

Теоретичні відомості

1 ОПЕРАТОРИ AND (І) ТА OR (АБО)


AND (І) і OR (АБО) – оператори булевої логіки, які
використовуються, відповідно, для поєднання чи перерахування критеріїв,
що враховуються при опрацюванні запитів предметної області.
Існують такі особливості застосування зазначених операторів, які
слід враховувати при їх виборі: оператор AND (І) звужує кількість
варіантів можливих відповідей в результаті опрацювання інформації, а
оператор OR (АБО), навпаки, її розширює. Наприклад, якщо необхідно
знайти особи жіночої статі, у яких блакитні очі І руде волосся, то список

108
кандидатів буде значно меншим, ніж список жінок АБО чоловіків із
блакитними очима, АБО рудим волоссям.
Розглянемо приклади застосування означених операторів для пошуку
значень в базі даних.

Пошук значень в заданому діапазоні


Використання оператора І з метою завдання умов відбору записів
бази даних при створенні запиту передбачає введення в одному рядку двох
умов, які розділяються словом AND (рис 4.80). Розділові знаки Access
проставить сама. При цьому дату потрібно взяти в знаки #.
Для пошуку записів бази даних в межах заданого інтервалу дат,
наприклад, виконання замовлення між 1 січня 1999 року і 1 січня 2000
року, при створенні запиту в умові їх відбору доцільно використовувати
критерій AND (І), як показано на рисунку 4.80.

Рисунок 4.80 – Введення умови відбору записів при створенні запиту з


використанням оператора AND

Access починає виконання запиту, переглядаючи записи таблиці, і


задаючи кожному запису перше питання: "Дата була введена саме 1 січня
1999 року АБО пізніше?" При цьому, якщо запис датується раніше, то
Access його ігнорує і переходить до аналізу іншого запису. Якщо дата була
введена 1 січня 1999 року чи пізніше, то Access задає друге питання: "Вона
введена до 1 січня 2000 року?" Якщо умова виконується, то запис
включається в результуючий список. Якщо ні, вона ігнорується і програма
переходить до аналізу іншого запису. Слід звернути увагу, що
використання умови "більше чи дорівнює" стосовно дати 1 січня 1999 року
забезпечує включення в результат опрацювання інформації записів, що
мають значення дати 01.01.1999р.

109
Аналогічно використання оператора І може бути доцільним, аби
задати умову типу "між" для будь-яких типів даних (наприклад, пошуку
всіх чисел, що знаходяться у певному інтервалі значень, або імен, що
містять певний набір букв).

Використання декількох операторів І (AND) для пошуку даних


Одна із особливостей Access полягає в її гнучкості. Access не
обмежує кількості критеріїв в умовах запиту щодо пошуку даних й
забезпечує такі можливості використанням оператора І (AND) .
При цьому кожна умова, що вводиться, повинна розташовуватися в
одному рядку запиту. Після того як був запущений запит на виконання,
Access перевірить кожен запис на відповідність всім умовам, що містяться
в його рядку, та сформує таблицю-результат. На рисунку 4.81 наводиться
приклад використання двох умов в запиті. Оскільки всі умови
розташовуються в одному рядку, при їх виконанні використовується
оператор І (AND).
Якщо аналізується потужна база даних і потрібно врахувати при
пошуку даних групу критеріїв, то найефективніший спосіб опрацювання
інформації полягає в застосуванні декількох операторів І (AND). Крім
того, можна використати всі доступні інструменти Access, у тому числі і
фільтр, що значно полегшує роботу з додатком без вимог фахового
досвіту.

Рисунок 4.81 – Використання оператора І (AND) для врахування умов в


запиті

110
Використання декількох операторів АБО (OR) для пошуку даних
Якщо потрібно виконати пошук даних за допомогою опції
РАСШИРЕННЫЙ ФИЛЬТР (наприклад, вивести список громадян, що
проживають в Росії, АБО (OR) в Україні, АБО (OR) в Грузії), то додатком
Access організовується пошук даних за умовою АБО (OR). Ця опція
вбудована в діалогове вікно запиту.
Для того, щоб врахувати оператор АБО (OR) в умовах пошуку, для
кожної умови АБО (OR) потрібно використати окремий рядок у вікні
запиту (рис. 4.82 та рис. 4.83).

Рисунок 4.82 – Використання оператора АБО (OR) для врахування умов


запиту щодо одного поля

Рисунок 4.83 – Використання оператора АБО (OR) для врахування умов


запиту щодо різних полів

Використання операторів І (AND) та АБО (OR) для пошуку даних


У деяких випадках при створенні запиту використання операторів
одного типу (тільки І (AND) чи АБО (OR)) буває недостатнім. Прикладом
такого запиту може бути пошук інформації в різних групах даних. При

111
цьому потрібно використати оператори, які забезпечують відбір даних в
групу (за допомогою оператора І (AND)), та відібрати лише такі з них, що
задовольняють певні критерії (оператор АБО (OR)).
Якщо необхідно скомбінувати кілька різних умов при створенні
запиту, то слід звернути увагу на такі особливості використання операторів
І (AND) та АБО (OR):
 всі оператори І (AND) розташовуються на одному рядку, якщо
вони поєднуються в одну умову;
 оператори АБО (OR) розташовуються в різних рядках і кожен
рядок перевіряється окремо;
 якщо потрібно використати групу операторів АБО (OR), то вони
повинні розташовуватися в різних рядках;
 щоб додати оператор АБО (OR) в умову запиту, його вводять в
новий рядок у полі, що опрацьовується. Враховується введена
умова запиту після натиснення клавіші <Enter>.

2 ОБЧИСЛЕННЯ В ЗАПИТАХ
Одне з основних правил побудови бази даних вимагає
використовувати мінімальну кількість полів у таблицях бази даних. Для
того, щоб таблиці бази даних не містили "зайвих" полів, можна створити
нове поля, що обчислюється на основі вже наявної в базі даних інформації.
Поле, що обчислюється, може створюватись як в запиті, так і в звіті.

Прості обчислення
Перед створенням поля, що обчислюється в запиті, необхідно
визначити, які поля таблиць бази даних будуть опрацьовуватись. Access
здатен створити обчислювальне поле з опрацюванням тільки тих полів
таблиць бази даних, що знаходяться у верхній частині вікна ЗАПРОС НА
ВЫБОРКУ (рис. 4.84).
Для створення поля, що обчислюється, потрібно виконати такі дії:
 вибрати область введення в рядку ПОЛЕ, де повинен
розміститися результат;
 ввести формулу, за якою потрібно провести розрахунок.
Для обчислювальних полів Access використовує спеціальний
синтаксис. Необхідно ввести команди для опрацювання інформації та
імена полів, що опрацьовуються, у квадратних дужках. Всі інші символи,
які використовуються у виразах (наприклад, числа), Access вважає
постійними величинами.
Розглянемо приклад. Ціни на товари підвищилися на 47%. Для
обчислення нової ціни товарів потрібно додати 47% до попередньої ціни.
Access не розпізнає символ відсотка (%), і тому необхідно перевести його в
десяткове число у виразі, за яким потрібно провести розрахунок.

112
Створення нового обчислювального поля в таблиці бази даних, що містить
поле [Цена], буде виконано Access за виразом: [Цена]+([Цена]·0,47).

Рисунок 4.84 – Визначення полів, що використовуються при створенні


обчислювального поля, у діалоговому вікні ЗАПРОС НА ВЫБОРКУ

Обчислення може бути проведеним в будь-якому полі, що


знаходиться в рядку ПОЛЕ. На рисунку 4.85 показано процес введення
формули для обчислення за розглянутим прикладом.

Рисунок 4.85 – Приклад введення формули для обчислень

Ім'я кожного поля, що використовується у формулі, потрібно


вводити вручну, а не перетягувати його зі списку таблиці, тому що в цьому
випадку буде додане саме поле, а не його ім'я.

113
Для введення у формулу полів з різних таблиць бази даних, для
кожного поля вказують ім'я відповідної таблиці. При цьому вводять в
квадратних дужках ім'я таблиці, ставлять знак оклику і вводять в
квадратних дужках ім'я поля цієї таблиці: [Ім'я таблиці]![Ім'я поля
таблиці].
Після виконання запиту, Access виведе на екран таблицю, у якій
будуть знаходитися відповідні поля і додатковий стовпець обчисленого
значення. Ім'я обчислювального поля Access може присвоїти за
замовчуванням (наприклад, ВЫРАЖЕНИЕ 1 на рис.4.86). Для присвоєння
обчислювальному полю іншого імені необхідно замінити ВЫРАЖЕНИЕ 1
будь-яким іншим іменем.

Рисунок 4.86 – Таблиця з обчислювальним полем ВЫРАЖЕНИЕ 1

Крім зміни імені поля, можна змінити і його формат. Для цього в
режимі КОНСТРУКТОРа запиту натискають праву кнопку миші на полі,
що обчислюється, і з меню, що з’явилось, вибирають послідовність команд
СВОЙСТВА ПОЛЯÞФОРМАТ ПОЛЯ, й кнопку списку, який
розкривається (рис. 4.87) (наприклад, ДЕНЕЖНЫЙ). Цей формат
застосовується для всіх значень поля.

114
Рисунок 4.87 – Діалогове вікно СВОЙСТВА ПОЛЯ
Складні обчислення
Access дозволяє проводити в одному запиті кілька обчислень. Після
того, як буде введена формула в обчислювальне поле, можна створювати
формули в інших полях з посиланням на нього, створювати складні вирази
з використанням вбудованих формул, що опрацьовують значення,
отримані в результаті обчислення інших виразів запиту. Це надає запитам
більше гнучкості й універсальності.
На рисунку 4.88 зображено таблицю запиту, в якій обчислюється три
вирази з іменами ВЫРАЖЕНИЕ 1, ВЫРАЖЕНИЕ 2, УВЕЛИЧЕНИЕ. І в
першому, і в другому виразі використовується поле [Цена], а в третьому
виразі використовується результат, отриманий при обчисленні першого
виразу.

Рисунок 4.88 – Приклад запиту, в якому обчислюється три поля

При проведенні обчислень допускається використання в запиті


обчислювального поля, що є функцією іншого обчислювального поля.
Кожний вираз має своє ім'я (це текст, що знаходиться безпосередньо
перед самим виразом). Для використання певного обчислювального поля в
іншому виразі, що обчислюється, його ім'я подають в квадратних дужках,
як ім'я звичайного поля. Якщо змінити ім'я одного з полів, що бере участь
у подальших обчисленнях, необхідно змінити і посилання на це поле.
(рис.4.89).
Якщо Ви змінюєте і’мя одного з полів… Вам необхідно змінити і посилання на це поле

115
Рисунок 4.89 – Використання обчислювальних полів [Новая цена] і [Старая
цена] при створенні обчислювального поля УВЕЛИЧЕНИЕ

При необхідності включити у формулу значення, якого немає в базі


даних, але воно може бути заданим користувачем, необхідно створити
поле, ім'я якого буде використовуватися у формулі. Наприклад, якщо у
поле [Новая цена], ввести формулу [Цена]+[Цена]*[Процент увеличения],
а значення поля [Процент увеличения] відсутні, при виконанні запиту
Access виведе на екран діалогове вікно ВВЕДИТЕ ЗНАЧЕНИЕ
ПАРАМЕТРА, в якому це значення можна ввести (рис. 4.90).

Рисунок 4.90 – Діалогове вікно ВВЕДИТЕ ЗНАЧЕНИЕ


ПАРАМЕТРА

3 ПОБУДОВА ВИРАЗІВ
Використання текстових полів у виразах
У виразах можна використовувати не тільки числа, але і текст. На
рисунку 4.91 зображена одна з розповсюджених формул, яка
використовується для об'єднання полів [Имя] і [Фамилия].

Рисунок 4.91 – Створення виразу з використанням текстових полів

116
Ця формула має структуру: [Имя]&" "&[Фамилия], де подвійні лапки
подаються через один пробіл.
При виконанні такого запиту Access поєднує інформацію з двох
полів і вводить між ними пробіл. Слід звернути увагу, що кожне ім'я і
прізвище з'являються в тому вигляді, в якому вони знаходяться в базі
даних.

Побудова виразів обчислювальних полів


Для введення виразу при створенні поля, яке обчислюється,
необхідно виконати послідовність команд ПОСТРОИТЬÞПОСТРОИТЕЛЬ
ВЫРАЖЕНИЙ.
У верхній частині діалогового вікна ПОСТРОИТЕЛЬ ВЫРАЖЕНИЙ
(рис. 4.92) розташована область, де фактично створюється вираз, а нижче
знаходяться оператори, які можна використовувати при цьому:
Панель операторів Поле, в якому вводяться вирази

Папки, в яких містяться Поле з елементами, які Поле, в якому


елементи бази даних містяться в вибраній папці відображуються
деталі елементів

Рисунок 4.92 – Діалогове вікно ПОСТРОИТЕЛЬ ВЫРАЖЕНИЙ

 оператори додавання, віднімання, множення і ділення для


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

117
У нижній частині вікна знаходяться три секції:
 папки, в яких містяться елементи бази даних;
 поле, в якому містяться елементи вибраної папки;
 поле, в якому відображені деталі елементів вибраної папки.
Для того, щоб додати поле однієї з таблиць бази даних у вираз,
необхідно:
 відкрити папку ТАБЛИЦЫ;
 вибрати ім’я таблиці, поле якої додається у вираз;
 вибрати поле поточної таблиці подвійним натисненням на його
імені.
На рисунку 4.93 у вікні ПОСТРОИТЕЛЬ ВЫРАЖЕНИЙ відкрита
папка [Товары], а ім'я поля [МинимальныйЗапас] використовується у
виразі, що створюється.

Рисунок 4.93 – Приклад вибору імені поля для додання у вираз

Слід звернути увагу, що ПОСТРОИТЕЛЬ ВЫРАЖЕНИЙ самостійно


включає ім'я таблиці і знак оклику перед ім'ям поля. Вираз приймає такий
вигляд:
[Ім'я таблиці] ! [Ім'я поля]
Папки, що знаходяться в першій секції вікна ПОСТРОИТЕЛЬ
ВЫРАЖЕНИЙ, містять не тільки інформацію бази даних, але і списки
вбудованих функцій, операторів і констант. Ці дані впорядковані за
категоріями у кожній окремій папці.
Папка ВСТРОЕННЫЕ ФУНКЦИИ містить перелік вбудованих
функцій, а також функцій, що були введені в систему користувачем. Для
виклику однієї з вбудованих функцій відкривають папку ВСТРОЕННЫЕ
ФУНКЦИИ, вибирають відповідну групу функцій із другої секції та
необхідну функцію у третій (правій) секції вікна. На рисунку 4.94
показана відкрита папка ВСТРОЕННЫЕ ФУНКЦИИ, з яких вибрані

118
ФИНАНСОВЫЕ функції, а у третій секції уточнюється функція DDB, як
обрана з списку доступних функцій.
Папка КОНСТАНТЫ містить константи, що використовуються в
логічних виразах, наприклад TRUE (Істина), FALSE (Хибність), чи
відповідають порожньому значенню.
Папка ОПЕРАТОРЫ зберігає:
 імена виразів, що створені користувачем;
 АРИФМЕТИЧЕСКИЕ оператори, які подані у вигляді кнопок,
розташованих у лівій частині вікна, а саме оператор піднесення до
степеня (^); оператор MOD для обчислення залишку від ділення
двох цілих чисел; оператор ділення цілих чисел (\) та ін.
Папка ОБЩИЕ ВЫРАЖЕНИЯ дозволяє включати різні елементи
загального призначення, які використовуються при створенні звітів.

Рисунок 4.94 – Вибір вбудованої фінансової функції DDB

Опція ПОСТРОИТЕЛЬ ВЫРАЖЕНИЙ допомагає будувати вирази та


перевіряти їх синтаксис. Наприклад, коли у відповідь на відсутність
оператора у виразі між операндами [МинимальныйЗапас] і [Ожидается]
таблиці ТОВАРЫ, з’явиться ознака його некоректності - <<Выражениe>>,
як показано на рисунку 4.95.

119
Рисунок 4.95 – Перевірка синтаксису виразів, що створюються у вікні
ПОСТРОИТЕЛЬ ВЫРАЖЕНИЙ
4 ВИКОРИСТАННЯ ОПЦІЇ ГРУППИРОВКА В ACCESS
Діалогове вікно СОЗДАНИЕ ЗАПРОСА можна використовувати як
для одержання відповідей на поставлені питання, так і для проведення
простих обчислень на основі отриманих у результаті даних.
Потрібно зробити видимим рядок ГРУППОВАЯ ОПЕРАЦИЯ,
розташований у нижній частині вікна. Для цього вибирають з меню
команду ВИДÞГРУППОВЫЕ ОПЕРАЦИИ або натискають на кнопці
ГРУППОВЫЕ ОПЕРАЦИИ, що знаходиться на панелі інструментів. На
рисунку 4.96 показане вікно ЗАПРОС НА ВЫБОРКУ з рядком
ГРУППОВАЯ ОПЕРАЦИЯ.

120
Рисунок 4.96 – Приклад появи рядка ГРУППОВАЯ ОПЕРАЦИЯ

На кнопці ГРУППОВАЯ ОПЕРАЦИЯ зображена грецька буква


сигма (å), у математиці вона використовується для позначення операції
підсумовування. Створення запиту з використанням рядка ГРУППОВАЯ
ОПЕРАЦИЯ нічим не відрізняється від звичайної операції. При введені в
таблицю нових полів, в рядку ГРУППОВАЯ ОПЕРАЦИЯ з'явиться слово
ГРУППИРОВКА. Це означає, що Access намагається використати це поле
для упорядкування інформації з груп значень, що містяться в цьому полі.
Крім того, зменшується ймовірність появи в результаті повторюваних
значень. Наприклад, Якщо чотири види товару надійшли на склад в один
день, ця дата з'явиться в списку чотири рази при реалізації звичайного
запиту, що аналізує дати, коли товар надійшов на склад. Введення рядка
ГРУППИРОВКА забезпечить після опрацювання даних отримання списку
лише з унікальних (незбіжних) значень усіх дат, коли товар надійшов на
склад (рис. 4.97). У даному прикладі в результаті одержують тільки одну
дату – дату надходження всіх чотирьох товарів на склад.

121
Рисунок 4.97 – Приклад об’єднання записів у групи за значеннями
одного поля

Якщо в рядку ГРУППИРОВКА знаходиться кілька полів, результати


запиту будуть містити рядки з кожним унікальним поєднанням цих полів
(рис. 4.98).
На рисунку 4.99 подані результати виконання запиту, в якому всі
дані з однаковим значенням полів ПОЛУЧАТЕЛЬ і ДАТА НАЗНАЧЕНИЯ
подані в списку тільки один раз.

Рисунок 4.98 – Створення запиту, що використовує опцію


ГРУППИРОВКА

Слід враховувати, що при використанні опції ГРУППИРОВКА


збільшення кількості полів при опрацюванні інформації підвищує точність
результату.

Функція Count (підрахунок)


Крім процедури виведення списку унікальних елементів, що
містяться в будь-якому полі, рядок ГРУППОВАЯ ОПЕРАЦИЯ здатний за
допомогою функції Count підраховувати кількість збіжних записів в групі.
Для використання функції Count у запиті потрібно, як мінімум, два
поля: одне – для створення групи, друге – для підрахунку записів у цій
групі.

122
Рисунок 4.99 – Результат виконання запиту, що використовує опцію
ГРУППИРОВКА

Для того, щоб використовувати функцію Count, у рядку


ГРУППОВАЯ ОПЕРАЦИЯ виділяють поле, що обчислюється, та із
запропонованого списку вбудованих функцій вибирають Count.

Обчислення за допомогою перехресної таблиці


Розглянемо приклад виконання перехресного запиту, що показаний
на рисунку 4.100. Інформація бази даних організована за назвою країни, в
яких знаходяться клієнти фірми, і за назвами одержувачів. Кожен рядок
відповідає певній країні, а стовпець – одержувачу. Число в кожній комірці
таблиці відповідає кількості замовлень кожного одержувача з певної
країни.

Рисунок 4.100 –Вікно перехресного запиту в режимі ТАБЛИЦЯ

123
При створенні перехресного запиту враховують таблиці, що
опрацьовуються з використанням опцій ГРУППОВАЯ ОПЕРАЦИЯ і
ПЕРЕКРЕСТНАЯ ТАБЛИЦА (рис. 4.101).
Перехресні запити мають три поля:
 заголовки рядків, що визначають категорії по рядках;
 заголовки стовпців, що визначають категорії по стовпцях;
 значення, що визначається в результуючій таблиці запиту.

Рисунок 4.101 – Приклад формування перехресного запиту

У прикладі, наведеному на рис. 4.101, поля [Страна] і


[НазваниеПолучател] використовують елемент ГРУППИРОВКА в рядку
ГРУППОВАЯ ОПЕРАЦИЯ. Поле, що визначає значення, у цьому рядку
містить функцію Count, що і використовується для обчислення значення.
Можна також використовувати одну чи кілька умов для обмеження
кількості записів, що будуть включені в результуючу таблицю. Як і при
створенні інших запитів, це можна зробити, застосувавши умову вибору до
одного з полів, яке використовується. При цьому найкраще додати ще одне
поле в запит і використати елемент УСЛОВИЕ (так, щоб поле не з'явилося
в результатах), а потім додати критерій вибору для цього поля.
МАСТЕР перехресних запитів може автоматизувати весь процес
створення такого запиту. Для того, щоб викликати МАСТЕР, відкривають
вікно бази даних, переходять на вкладку ЗАПРОСЫ і обирають
послідовність команд СОЗДАТЬÞНОВЫЙ ЗАПРОСÞПЕРЕКРЕСТНЫЙ
ЗАПРОС.

124
Обчислення за допомогою функції SUM (СУМА)
У рядку ГРУППОВАЯ ОПЕРАЦИЯ обчислення виконують також за
допомогою функції Sum (сума), що підсумовує значення одного чи
декількох числових полів таблиці.
Як і у випадку з використанням функції Count, функція Sum
вводиться в рядок ГРУППОВАЯ ОПЕРАЦИЯ.
Наприклад, для визначення вартості доставки товару в кожну країну
одержувача, можна додати поле [СтранаПолучателя] у запит разом з
елементом ГРУППИРОВКА, як показано на рисунку 4.102.

Рисунок 4.102 – Використання функції Sum в рядку ГРУППОВАЯ


ОПЕРАЦИЯ

Результати виконання такого запиту подані на рисунку 4.103. Для


кожної країни одержувача товару підрахована сумарна вартість доставки.
Якщо замість країни одержувача необхідно визначити прізвище
співробітника – відправника товару, створюють багатотабличний запит, у
якому таблиця СОТРУДНИКИ буде пов'язана з таблицею ЗАКАЗЫ за
полем [КодСотрудника]. Для реалізації такого запиту в прикладі потрібно
використати опцію ГРУППИРОВКА для поля [Фамилия] з таблиці
СОТРУДНИКИ (рис. 4.104). Після виконання запиту інформація буде
впорядковуватися за полем [Фамилия] з обчисленням сумарної вартості
доставки від кожного окремого співробітника.
Для впорядкування записів в підсумковій таблиці за будь-яким
полем, можна застосувати сортування. Для цього в рядку СОРТИРОВКА
відповідного поля, за яким необхідно виконати сортування, вибирають зі
списку, що розкривається, опцію ПО УБЫВАНИЮ або ПО
ВОЗРАСТАНИЮ. На рисунку 4.104 показана налаштування для
сортування ПО ВОЗРАСТАНИЮ в полі [Фамилия].

125
Рисунок 4.103 – Результат виконання запиту з використанням функції Sum
в рядку ГРУППОВАЯ ОПЕРАЦИЯ

Рисунок 4.104 – Створення багатотабличного запиту для отримання


інформації про відправника товару

Інші функції
У Access є цілий ряд функцій, що містяться в списку рядка
ГРУППИРОВКА. За їх допомогою можна обчислювати, оцінювати і
структуризувати інформацію в базі даних.
У таблиці 4.5 наведені ім'я і короткий опис таких функції.

126
Таблиця 4.5 – Функції Access, що містяться в списку рядка
ГРУППИРОВКА
Функція Призначення
1 2
ГРУППИРОВКА Використовується для упорядкування результатів
виконання запиту
Sum Підсумовує всі значення поля за результатами
виконання запиту
Avg Обчислює середнє значення всіх чисел, що містяться в
даному полі
Min Знаходить мінімальне значення з усіх знайдених у
результаті виконання запиту
Мах Знаходить максимальне значення з усіх знайдених у
результаті виконання запиту
Count Підраховує кількість записів, що задовольняють
критерій запиту
First Виводить перший запис, знайдений у результаті
виконання запиту (який задовольняє умову вибору)
Last Виводить останній запис, знайдений у результаті
виконання запиту (який задовольняє умову вибору)
Выражение Повідомляє Access про ваше бажання виконати
обчислення в полі
Условие Вказує, що дане поле є частиною критерію пошуку

5 ПОШУК ІНФОРМАЦІЇ ЗА ДОПОМОГОЮ SQL EDITOR


Особливості використання оператора SELECT
Для пошуку інформації в базі даних в операторі SELECT
використовують ключове слово DISTINCT і узагальнювальні функції:

SELECT [ALL | DISTINCT ] список_вибору


FROM список_таблиць_і_подань
[WHERE умови_пошуку]
[ORDER BY список_сортування]

При цьому DISTINCT використовується для усунення повторюваних


рядків, а узагальнювальні функції (AGGREGATE FUNCTION)
використовуються для обчислення сум, максимальних і мінімальних
значень і підрахунку рядків. Речення ORDER BY, яке використовується
для сортування результатів запиту, необов'язково записується після
WHERE.

127
Сортування результатів запиту за допомогою ORDER BY
Речення ORDER BY дозволяє поліпшити подання одержуваних
результатів. З його допомогою можна сортувати результати за будь-яким
стовпцем чи виразом, зазначеним в списку вибору. Дані можуть
сортуватися як за спаданням, так і за зростанням.
Узагальнений синтаксис речення ORDER BY в операторі SELECT
має такий вигляд:

SELECT список_вибору
FROM список_таблиць
[WHERE умови пошуку]
[ORDER BY список_сортування]

Аналогічно списку речення SELECT, список речення ORDER BY


може містити довільну кількість елементів. Якщо таких елементів
декілька, то вони повинні бути розділені комами. Кожне речення ORDER
BY забезпечує сортування за зростанням (за замовчуванням) або за
спаданням (із ключовим словом DESC).
У більшості СУБД кожний елемент списку речення ORDER BY
повинен бути присутнім у списку речення SELECT. У список речення
ORDER BY можуть включатися вирази таких чотирьох типів (від простих
до складних):
 ім'я стовпця;
 ім'я стовпця і арифметичні оператори чи функції;
 присвоєний стовпцю заголовок виведення або виразу речення
SELECT;
 номер позиції стовпця (номер стовпця або виразу) в списку
SELECT.

Основні принципи сортування даних


Набори символів, внутрішні коди і порядок сортування не
визначаються в термінах команд SQL, але в більшості СУБД можна
вибрати потрібний набір символів і відповідний йому порядок сортування
при установленні бази даних за допомогою таких команд: CREATE
CHARACTER SET, DROP CHARACTER SET, CREATE COLLATION,
DROP COLLATION, COLLATE і COLLATION FROM.
Набір і послідовність символів встановлені на рівні системи. У
Microsoft SQL Server і Adaptive Server Anywhere для зміни порядку
сортування використовується системна процедура sp_helpsort. Результати
виконання зазначеної системної процедури в цих системах відрізняються.
У SQL Server використовується алгоритм сортування нечутливий до
регістра.

128
Сортування за зростанням і за спаданням
За допомогою ключових слів ASC (за зростанням) і DESC (за
спаданням) можна змінити порядок сортування в кожному окремому
випадку. За замовчуванням дані сортуються в порядку зростання. Для
зміни порядку сортування потрібно використовувати ключове слово DESC.
Мова SQL містить засоби, за допомогою яких можна сортувати рядки за
значеннями виразів, більш складних, ніж ім'я стовпця. Сортувати
допускається:
 за позицією виразу в списку SELECT (позиція зображена числом);
 за заголовком виразу.
Ключові слова ASC і DESC аналогічно застосовуються і до цифр, і
до заголовків стовпців.
При використанні номерів в реченні ORDER BY потрібно уважно
стежити за змінами в списку вибору. При додаванні чи видаленні стовпців
зі списку вибору результати таких запитів можуть змінитися.
Якщо в списку вираз визначений разом із заголовком, то за ним
можна виконувати сортування. Завдяки цій можливості можна відмовитися
від сортування за позицією.

Усунення повторюваних рядків за допомогою DISTINCT і ALL


За допомогою ключових слів DISTINCT і ALL у списку виразів
можна визначити, що робити з повторюваними рядками результату: ALL
повертає всі рядки, що задовольняють умови запиту; DISTINCT повертає
тільки неповторювані рядки.
Якщо режим DISTINCT не зазначений явно, то за замовчуванням
передбачається режим ALL. Тому ключове слово ALL використовується
досить рідко, його заміняє відсутність слова DISTINCT. Базовий синтаксис
цих пропозицій виглядає так:

SELECT [DISTINCT | ALL ] список_вибору

Речення DISTINCT (чи ALL) підпадає під такі вимоги:


 у списку SELECT вказується тільки один раз;
 у списку SELECT повинно розташовуватися на першому місці;
 після речення кома не ставиться.
Якщо в списку виразів знаходиться множина елементів, при
використанні ключового слова DISTINCT вибираються тільки рядки з
унікальними комбінаціями значень цих елементів.
Ключове слово DISTINCT застосовується до всього списку вибору, а
не до окремих стовпців.
Хоча невизначені значення ніколи не рівні один одному, при
використанні ключового слова DISTINCT всі невизначені значення в
стовпці вважаються повторюваними. Наприклад, якби видавець з номером

129
0877 мав кілька книг з невизначеним типом (NULL), то при виконанні
запиту з ключовим словом DISTINCT у результаті була б обрана тільки
одна комбінація "видавець – NULL".

6 УЗАГАЛЬНЮВАЛЬНІ ФУНКЦІЇ ТА ЇХ СИНТАКСИС


Узагальнювальні функції використовуються для одержання
загальних значень. Їх можна застосовувати до наборів (set) рядків:
 до всіх рядків таблиці;
 до рядків, визначених у реченні WHERE;
 до груп рядків у реченні GROUP BY.
У будь-якому випадку, незалежно від структури набору рядків, для
кожного з них виходить єдине значення.
Забороняється змішувати в одному реченні звичайні значення і
значення узагальнювальних функцій. Таким чином, список вибору може
бути:
 порожнім;
 складатися з імен стовпців і виразів (які обробляють значення
рядків);
 включати тільки узагальнювальні функції (що застосовуються до
наборів значень).
Єдиним винятком є речення GROUP BY.
Узагальнювальні функції (таблиця 4.6) завжди мають аргументи
(argument). Аргументи є виразами і беруться в дужки.
Загальний синтаксис узагальнювальної функції має такий вигляд:

AGGREGATE_FUNCTION ([DISTINCT] вираз)

Таблиця 4.6 – Список узагальнювальних функцій


Узагальнювальна функція Результат
SUM ([DISTINCT]) вираз) Сума (різних) значень
AVG ( [DISTINCT] вираз) Середня величина (різних) значень
COUNT([DISTINCT] вираз) Кількість (різних) ненульових значень
COUNT(*) Кількість обраних рядків
МАХ (вираз) Максимальне значення
МІN (вираз) Мінімальне значення

З всіма узагальнювальними функціями, крім COUNT(*), можна


використовувати ключове слово DISTINCT.
Функція COUNT як аргумент використовує стовпець чи вираз і
підраховує загальну кількість його визначених значень.
Функція COUNT(*) знаходить загальну кількість рядків, незалежно
від наявності в них невизначених значень.

130
Спільне використання цих функцій може бути корисним при
підрахунку невизначених значень у заданих стовпцях.
При використанні стовпця без невизначених значень результати
роботи функцій COUNT і СОUNT(*) будуть однакові.
Функції SUM і AVG можна застосовувати тільки до числових
стовпців.
Функції MIN, MAX, COUNT і COUNT(*) працюють із усіма типами
даних.
З функціями SUM, AVG, COUNT, MIN, MAX можна
використовувати ключове слово DISTINCT (воно знаходиться перед
аргументом). При цьому DISTINCT не впливає на результати виконання
функцій MAX і MIN.
При використанні ключового слова DISTINCT при обчисленні суми,
середнього значення чи загальної кількості значень не враховуються
повторювані рядки. У деяких системах при використанні ключового слова
DISTINCT аргумент не може бути арифметичним виразом, а повинен бути
іменем стовпця. DISTINCT також не застосовується разом з функцією
COUNT(*), тому що вона завжди повертає єдиний рядок. Як правило,
ключове слово DISTINCT у списку вибору можна використовувати тільки
один раз. При відсутності узагальнювальних функцій, DISTINCT
застосовується до всього списку вибору, а не до окремих стовпців. Однак
це обмеження може призвести до виникнення проблем при використанні
узагальнювальних функцій.
Узагальнювальні функції не можна використовувати в реченні
WHERE, це приведе до одержання повідомлення про помилку. Однак
речення WHERE можна використовувати для обмеження числа рядків, що
беруть участь в обчисленнях.
Узагальнювальні функції можна використовувати в списку вибору,
або в реченні HAVING оператора SELECT.
Якщо в стовпці, до якого застосовується узагальнювальна функція, є
невизначені (NULL) значення, вони просто ігноруються.
Винятком є функція COUNT(*), що завжди підраховує загальну
кількість рядків, незалежно від наявності в них невизначених значень.
Якщо умови запиту не задовольняють жодний рядок, функція
COUNT повертає значення нуль. Всі інші функції в цьому випадку
повертають значення NULL.

131
5 КУРСОВЕ ПРОЕКТУВАННЯ

Метою курсового проектування є глибоке вивчення основних


розділів курсу, детальне ознайомлення з основними етапами формування
бази даних й поглиблене оволодіння методикою їх проектування.

5.1 ЗМIСТ ТА ОФОРМЛЕННЯ КУРСОВОЇ РОБОТИ


Курсове проектування включає групу послiдовних етапiв, які
пов'язані з аналiзом предметної області, проектуванням нормалiзованих
вiдношень, розробкою вихiдних форм та структури файлiв, розробкою
алгоритмiв маніпулювання даними та програмного забезпечення, що їх
реалізує.
Результати проектування бази даних та системи управління нею
подаються у вигляді пояснювальної записки та графічної частини та
презентуються при захисті роботи.
Титульний аркуш пояснювальної записки оформляється за зразком,
що наведений в додатку А (для прикладу обрано тему курсової роботи
“Бібліотека ВНТУ”).
Тематика курсової роботи визначається викладачем (типові тематики
подані у додатку Б). Позитивно оцiнюється самостiйний вибiр студентом
(по узгодженню з викладачем) теми курсової роботи. Самостiйний вибiр
предметної областi, у якiй доцiльно використовувати автоматизовану
організацію та управління даними, дозволяє скласти враження про рiвень
творчої активностi студента, його вмiння здiйснити попереднiй аналiз
предметної областi.
Змiст курсової роботи повнiстю визначається завданням, яке
видається кожному студенту, є обов’язковою складовою пояснювальної
записки та оформляється відповідно до додатка В.
Пояснювальна записка до курсової роботи виконується відповідно до
вимог державних стандартів та повинна включати такі складові:
Анотація
Вступ
1 Аналіз предметної області та постановка задачі.
2 Розробка універсального відношення.
3 Розробка концептуальної схеми предметної області за
ER-принципом.
4 Обґрунтування вибору моделі даних.
5 Проектування нормалізованих відношень.
6 Оцінка спроектованих відношень.
7 Розробка вихідних форм.
8 Розробка програмного забезпечення.
7.1 Розробка схеми алгоритму реалізації запитів.

132
7.2 Обґрунтування вибору мови програмування для управління
базою даних.
7.1 Основні оператори мови програмування.
7.3 Розробка схеми алгоритму реалізації програмного
забезпечення для бази даних.
Висновки
Список використаних джерел
Додатки

Графічна частина курсової роботи повинна включати:


1) аналіз предметної області
2) схему алгоритму реалізації програмного забезпечення для бази
даних або схему алгоритму реалізації запитів до бази даних.

5.2 МЕТОДИКА ВИКОНАННЯ РОЗДІЛІВ КУРСОВОЇ РОБОТИ

Анотація
Анотація обсягом 3-4 речення відображує основні результати
виконаної студентом курсової роботи. Анотація повинна бути подана
трьома мовами.

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

Аналіз предметної області


Першим етапом проектування бази даних будь-якого типу є аналiз
предметної областi, що закiнчується побудовою її iнформацiйної
структури (її концептуальної схеми) [1, 2]. На даному етапі аналiзуються
запити користувачiв, вибираються iнформацiйнi об'єкти та їх
характеристики, i, на основi проведеного аналiзу, формується структура
предметної областi, яка не залежить вiд програмного та технiчного
середовища, в якому буде реалiзована база даних.
Аналiз предметної областi доцiльно розбити на три фази:
- аналiз концептуальних вимог та iнформацiйних потреб;
- виявлення iнформацiйних об'єктiв та зв'язкiв мiж ними;
- побудова концептуальної схеми предметної областi.
На етапі аналізу концептуальних вимог та iнформацiйних потреб
необхідно вирішити такі задачi [3, 4]:
- аналiз вимог користувача до бази даних (концептуальних вимог);
- виявлення задач, що мають мiсце при обробцi iнформацiї, яка
повинна бути подана у базi даних;

133
- виявлення перспективних задач;
- документування результатів аналізу.
Вимогами користувачів до бази даних, що розробляється, є, в
загальному випадку, список запитів щодо маніпулювання даними. Ці
вимоги опрацьовуються в діалозі з майбутнім користувачем бази даних.
При цьому з'ясовуються вимоги до введення, відновлення та коригування
інформації. Вимоги користувачів уточнюються та доповнюються при
аналiзi типових задач в предметній області.
Друга фаза аналiзу предметної областi складається з вибору
інформацiйних об'єктiв, задання необхiдних властивостей для кожного
об'єкта, виявлення зв'язкiв мiж об'єктами, виявлення обмежень, що
накладаються на iнформацiйнi об'єкти, типи зв'язкiв мiж ними,
характеристики iнформацiйних об'єктiв [1, 5].
При виборi iнформацiйних об'єктiв бажано вiдповiсти на такi
питання:
1) на якi класи можна розбити данi, що пiдлягають зберiганню у базi
даних?
2) яке iм'я можна присвоїти кожному класу даних?
3) якi найбiльш важливі характеристики (з точки зору користувача)
кожного класу даних можна видiлити?
4) якi iмена можна присвоїти вибраним наборам характеристик?
Видiлення iнформацiйних об'єктiв – процес iтеративний. Вiн
здiйснюється на основi аналiзу iнформацiйних потокiв та опитування
користувачів ними. Аналогічно, на цій фазі аналізу предметної області
визначаються характеристики iнформацiйних об'єктiв.

Розробка універсального відношення


Розробка універсального відношення передбачає обґрунтування
вибору атрибутів, яких буде достатньо для опису вибраної області з точки
зору організації вирішення проблеми щодо реалізації запитів [2, 6-8].
Введемо ряд визначень, що використовують в теорії баз даних.
R – це вiдношення над множинами D1, D2,...Dк, якщо воно являє
собою множину упорядкованих n-кортежiв вигляду <d1,d2,...dn>. D1,D2,...Dк
називаються доменами вiдношення R.
Вiдношення може бути подане у виглядi файлу або таблицi, стовпцi
якої – це елементи доменiв, а рядки – кортежi. Кожний кортеж вiдображає
один екземпляр iнформацiйного об'єкта. Iмена стовпцiв (поле запису)
називаються атрибутами, а iндивiдуальнi значення елементiв – значеннями
атрибутiв. Кожний атрибут вiдображає вiдповiдну характеристику
iнформацiйного об'єкта. Число стовпців у вiдношеннi називається
ступенем вiдношення, а число кортежiв – потужнiстю вiдношення. У
процесi експлуатацiї бази даних ступiнь вiдношення змiнюється значно
рiдше, ніж його потужнiсть.

134
Реляцiйна база даних являє собою сукупнiсть вiдношень, що
зберiгають всю необхiдну iнформацiю. Кожне вiдношення зберiгається в
окремому файлi, в якому всi записи мають однаковий формат.
Атрибут або набiр атрибутiв, який можна використувати для
однозначної iдентифiкацiї конкретного кортежу, називається первинним
ключем (у випадку набору атрибутiв – складений ключ) [1, 6].
Можливi випадки, коли вiдношення може мати декiлька унiкальних
ключiв. Тодi, один з них вибирається як первинний, а iншi вважаються
можливими ключами.
Атрибути, що є копiями ключiв iнших вiдношень, називаються
зовнiшніми ключами.
Для організації швидкого пошуку інформації в базі даних часто
використовують атрибут (або набiр атрибутів), що називається
другорядним iндексом.
Унiверсальним вiдношенням називається таке вiдношення, що
вмiщує в себе всi атрибути, якi виявлені при аналізі предметної області та
будуть використані при організації бази даних.

Розробка концептуальної схеми предметної області


Заключною фазою аналiзу предметної областi є розробка її
iнформацiйної структури (або концептуальної схеми) [2, 9].
Для побудови концептуальної схеми предметної області
використовуються традицiйнi методи агрегацiї та узагальнення. При
агрегацiї декiлька iнформацiйних об'єктiв об'єднуються в один вiдповiдно
до семантичних зв'язків між ними.
Наприклад, якщо при аналізі предметної області „Аеропорт”
виявлено, що лiтак типу А перевозить вантаж рейсом з певного пункту
вiдправлення в певний пункт надходження, то методом агрегацiї можна
створити iнформацiйний об'єкт (сутність) РЕЙС з атрибутами: тип лiтака,
пункт вiдправлення, пункт надходження, рейс лiтака.
При узагальненнi iнформацiйнi об'єкти (елементи даних)
об'єднуються в родовий об'єкт. Наприклад, iнформацiйнi об'єкти
“автобус”, “автомобiль”, “лiтак”, “пароплав” – можуть бути об'єднанi в
родовий об'єкт “Транспортнi засоби”.
Концептуальна схема предметної області є незалежною вiд СУБД, за
допомогою якої будуть організовані її дані й маніпулювання ними. Вона
використовується для подання основних iнформацiйних об'єктів та
визначених за типом зв'язків між ними. Вибiр моделi предметної області
залежить від характеру відношень між її основними категоріями i вимог,
що висуваються до бази даних. Семантична потужнiсть концептуальної
схеми збiльшується із зростанням додаткового числа характеристик
iнформацiйних об'єктів, що вона дозволяє визначити [3, 10-12].

135
При побудові концептуальної схеми предметної області
популярністю користується ER-принцип (від англ. Entity-Relation, “сут-
ність-зв'язок”), що був запропонованим П.Ченом [2, 3, 8].
Зв'язки у концептуальній схемі предметної області можуть
подаватися рiзними способами, з яких найчастіше використовуються
дiаграми ER-екземплярiв i ER-моделі (діаграми ER-типів). Дiаграми ER-
екземплярiв вiдображають зв'язки мiж екземплярами сутностей. ER-моделі
вiдображають зв'язки мiж типами сутностей. Приклади дiаграми ER-
екземплярiв i ER-моделі, наведенi на рис. 5.1 i рис. 5.2, вiдповiдно.

Тип сутності 1 Зв'язки Тип сутності 2


Екз.1 сутності 1 * * Екз.1 сутності 2
Екз.2 сутності 1 * * Екз.2 сутності 2
Екз.3 сутності 1 * * Екз.3 сутності 2
Екз.4 сутності 1 * * Екз.4 сутності 2
Рисунок 5.1 – Дiаграма ER-екземплярiв предметної області

Сутність 1 Зв’язок Сутність 2

<Атр 1>, ... <Атр 1>, ...


Рисунок 5.2 – ER-модель предметної області

Основними конструктивними одиницями ER-моделi предметної


області (рис. 5.2) є сутності i зв'язки [5, 7, 13, 14].
Пiд сутністю розумiють основний змiст того явища, процесу або
об'єкта, про який збирають iнформацiю в базi даних. Як cутність може
виступати мiсце, предмет, особа тощо. Сутність визначається як деякий
об'єкт, що цікавий користувачу. Сутність, як правило, виступає iменником.
Розрiзняють тип сутності та екземпляр сутності. Пiд типом сутності
розумiють набiр однорiдних об'єктiв, які виступають як цiле. Поняття
"екземпляр сутності" вiдноситься до конкретного об'єкта.
Сутність прийнято визначати пойменованими характеристиками, якi
мають назву атрибутiв. Назва атрибута повинна бути унiкальною для
кожної сутності, хоча вона може повторюватися для рiзноманiтних типiв
сутності.
Розрiзняють тип атрибута та екземпляр атрибута. Тип атрибута задає
властивiсть сутності, а екземпляри атрибута вiдображають рiзноманiтнi
значення цiєї властивості [15, 16].

136
Надалi при використаннi термiну "сутність" будемо розумiти тип
сутності, а термiну "атрибут" – тип атрибута.
Зазначимо, що абсолютна вiдмiнність мiж сутністю i атрибутом
вiдсутня. Атрибут є типом тiльки в зв'язку з обраною сутністю, а в iншому
контекстi вiн сам може виступати як сутність. Наприклад, для заводу, що
виготовляє автомобiлi, колiр фарби є лише одним з атрибутiв сутності
автомобiля. Для фабрики, що випускає фарби, колiр є сутністю.
Мiж сутностями (iнформацiйними об'єктами), а також мiж сутністю i
ії атрибутами виявляють зв'язки, що називаються асоцiацiями, якщо вони
односторонні, та відображеннями, якщо вони двосторонні. Зв'язки можуть
бути рiзними за властивостями і характером. Зв'язки, як i сутності,
iменуються, при цьому екземпляр кожного окремого зв'язку
специфiкується лiнiєю мiж тими двома сутностями, які цей зв'язок
з'єднують. Атрибут (або набiр атрибутiв), що використовується для
iдентифiкацiї, сутностi називається ключем сутностi. Кожний екземпляр
зв'язку визначається набором ключiв сутностей, що з'єднуються цим
зв'язком [2, 15-19].
Сутності можуть характеризуватися двосторонніми зв'язками
(відображеннями) рiзного типу [1, 20]:
 перший тип – зв'язок ОДИН-ДО-ОДНОГО (1:1): за допомогою
такого відображення подають такий тип зв'язку, коли в кожний
момент часу кожний екземпляр сутності, від якого направлений
зв'язок, ідентифікує один і тільки один екземпляр сутності, до
якого направлений зв'язок, при цьому ця ідентифікація є
унікальною в обох напрямках (рис. 5.3). Якщо відомо значення А,
то однозначно визначається і значення В, і навпаки;

А В

Рисунок 5.3 - Приклад відображення ОДИН-ДО-ОДНОГО

 другий тип – зв'язок ОДИН-ДО-БАГАТЬОХ (1:Б): якщо


екземпляр сутності, від якого направлений зв'язок, ідентифікує
деяке число екземплярів сутності, до яких направлений зв'язок,
причому ідентифікація в даному напрямку не обов'язково є
унікальною, то таке відображення називається ОДИН-ДО-
БАГАТЬОХ (1:Б). Прикладом такого відношення може бути
НОМЕР ВІДДІЛУ А - ТАБЕЛЬНІ НОМЕРИ ПРАЦІВНИКІВ В, С,
К, Е (рис. 5.4).

137
А

В С
А К
А Е

Рисунок 5.4 - Приклад відображення ОДИН-ДО-БАГАТЬОХ

У відділі працює багато службовців, але кожний працівник


відноситься тільки до одного відділу;
 третій тип – зв'язок БАГАТО-ДО-ОДНОГО (Б:1) є аналогічним
відображенням 1:Б;
 четвертий тип - БАГАТО-ДО-БАГАТЬОХ (Б:Б): якщо екземпляр
сутності, від якого направлений зв'язок, ідентифікує деяке число
екземплярів сутності, до яких направлений зв'язок, і навпаки,
тобто ідентифікація не є унікальною в обох напрямках (рис. 5.5).

А В С

Д Е
А К
А Ж

Рисунок 5.5 - Приклад відображення БАГАТО-ДО-БАГАТЬОХ


 п’ятий тип - тренарні зв'язки [21-23]: якщо екземпляр сутності А,
від якого направлений зв'язок, ідентифікує деяке число
екземплярів сутностей В і С, до яких направлений зв'язок,
екземпляр сутності С ідентифікує деяке число екземплярів
сутностей А і В, а екземпляр сутності В ідентифікує деяке число
екземплярів сутностей А і С, і навпаки;
 інші типи - зв'язки більш високих порядків із складною
семантикою.
На ER-моделi предметної області її складові відображують за такими
правилами (запропоновано Дж. Ульманом [14]):
 сутність - прямокутник, в якому подається ім’я сутності
іменником в називному відмінку в однині;
 зв'язок – ромбом, в якому подається назва зв’язку дієсловом;

138
 нижче прямокутника - атрибут або набiр атрибутiв, які є ключем
сутності;
 тип зв'язку між сутностями - 1:1, 1:Б, Б:Б, Б:1, або прийнятим
мнемонічним позначенням;
 тип зв'язку між екземплярами сутностей - мiсце знаходження
крапки визначає, чи обов'язково всi екземпляри даної сутності
повиннi брати участь у зв'язках (крапка знаходиться всерединi
прямокутника), чи необов'язково (крапку винесено за межi
прямокутника). У першому випадку говорять, що клас належностi
сутності є обов'язковим, а в iншому – необов'язковим. У
прикладах на рис. 5.1 i рис. 5.2 клас належностi сутності 1 є
необов'язковим (екземпляр 3 сутності 1 не бере участi у жодному
зв'язку), а клас належностi сутності 2 – обов'язковим. Тип зв'язку
є 1:Б, оскiльки екземпляр 2 сутності 1 пов'язаний з двома
екземплярами сутності 2.
Концептуальну схему предметної області можна подати множиною
ER-діаграм [1, 24], кожна з яких відбиває зв’язки між екземплярами певних
сутностей предметної області (рис. 5.6).

Книга Твір Розділ

Твір1 Твір2

Книга 1------------------------------------------Розділ 1

Книга 2

Книга 3----------------------------------------- Розділ 2

Рисунок 5.6 - ER–діаграма, що ілюструє зв'язки між екземплярами


сутностей РОЗДІЛ, КНИГА, ТВІР

Якщо множини екземплярів сутностей потужні, то це обмежує


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

139
Обґрунтування вибору моделі даних
У розділі наводять основні моделі даних, за допомогою яких можна
подавати інформацію проектованої предметної області (ієрархічну,
мережеву, реляційну, об’єктно-орієнтовану), та обґрунтовують доцільність
їх використання.

Проектування нормалізованих відношень


У розділі проводиться нормалізація універсального відношення з
обґрунтуванням кожної отриманої форми нормалізації.
Пiд час розробки бази даних на основi унiверсального вiдношення
можуть мати місце аномалії надлишковості, вставки, видалення та
відновлення [1, 5, 10]. Визначимо рiзницю мiж дублюванням даних та
надлишковим дублюванням даних. Для цього розглянемо приклад
вiдношення, наведений у таблицi 5.1.

Таблиця 5.1 – Приклад вiдношень з ненадлишковим дублюванням


даних
Табельний номер робiтника Прiзвище начальника
125 Бойко
138 Луцюк
195 Бойко
200 Луцюк

Прiзвища начальникiв з'являються в таблицi 5.1 неодноразово


(дублюються), проте вони не є надлишковими, оскiльки видалення будь-
якого прiзвища з вiдношення призведе до втрати iнформацiї.
Розглянемо тепер приклад вiдношення, наведений в таблицi 5.2.

Таблиця 5.2 – Приклад вiдношення з надлишковим дублюванням


даних
Табельний номер Прiзвище начальника Телефон начальника
робiтника
125 Бойко 33333
138 Луцюк 22222
195 Бойко 33333
200 Луцюк 22222

У даному випадку ми маємо справу з надлишковим дублюванням


даних. Причина надлишковостi полягає у тому, що видаливши один з
номерiв телефону Бойко, ми можемо отримати iнформацiю про номер його
телефону з iншого кортежа. Замiнити в таблицi надлишковi телефони
недоцільно:

140
 при цьому знадобляться додатковi зусилля для визначення
"реальних" значень нулів;
 якщо у кортежi робiтника з табельним номером 125 замiнити
значення телефону Бойко нулем, то при звiльненi спiвробiтника з
табельним номером 200 виникне втрата iнформацiї про номер телефону
Бойко. Тому в таких випадках виконують замiну одного вiдношення
двома. У нашому прикладі вiдношення таблицi 5.2 буде замiнено
вiдношенням таблицi 5.1 та таблицi 5.3.

Таблиця 5.3 – Приклад додаткового вiдношення, що використову-


ється для видалення надлишкового дублювання даних.
Прiзвище начальника Телефон начальника
Бойко 33333
Луцюк 22222

Розглянемо поняття аномалiї вставки, видалення та відновлення на


прикладах.
Аномалiя вставки полягає в тому, що якщо, наприклад, хоча б один з
постачальникiв виробляє потрiбну деталь, але не постачає ії пiдприємству,
у базу даних прийдеться включити кортеж з нульовим значенням атрибутiв
KS, KDS, QD, PRISE, DATA. Тобто, вiдсутня можливiсть включення в
базу даних потенцiйних постачальникiв.
Аномалiя вiдновлення обумовлена двома факторами:
 явною надлишковiстю, прикладом якої є iнформацiя про
постачальника (KP,NP,AP,TP), що брав участь в декiлькох поставках, так
як вона буде з'являтися у базi даних декiлька раз. Тобто, якщо у
постачальника змiниться номер телефону, необхiдно буде змiнити його в
декiлькох кортежах;
 неявною надлишковiстю, яка полягає у тому, що, наприклад,
зовсім рiзнi постачальники можуть постачати одну i ту ж деталь, що має,
вiдповiдно, один i той же код. Припустимо, що була проведена змiна коду
деталi, про що один з постачальникiв повiдомив пiдприємству. При цьому
про iнших постачальникiв цiєї ж деталi інформацію не було змінено.
Якщо тепер код деталi замiнять тiльки в кортежах, що вiдносяться до
даного постачальника, то правильний код деталi буде втрачено, оскільки у
вiдношеннi будуть присутнi два рiзних коди для позначення однiєї i тiєї ж
деталi.
Аномалiя видалення полягає у тому, що у вiдношеннi присутнiй
лише один постачальник, який поставляє пiдприємству деяку деталь (при
цьому вiн може постачати ряд деталей, що поставляються i iншими
постачальниками). Якщо пiдприємство розiрве договiр з даним
постачальником, а з вiдношення будуть видаленi всi кортежi, які його
стосуються, то з вiдношення автоматично буде видалено i всю iнформацiю

141
про необхiднi деталi пiдприємства, єдиним постачальником яких був
виключений з вiдношення.
Аномалiї викликаються наявнiстю надлишковостi даних i
функцiональними залежностями, які iснують мiж атрибутами вiдношення.
Нехай дано атрибути А i B. Кажуть, що В функцiонально залежить
вiд А, якщо для кожного значення А в будь-який момент часу існує тільки
одне пов’язане з ним значення В. Наприклад, в унiверсальному
вiдношеннi, яке описує вiдеотеку, код користувача функцiонально
залежить вiд його паспортних даних i навпаки, паспортнi данi
функцiонально залежать вiд коду користувача. Номер телефону
функцiонально залежить вiд коду користувача, але оберненої залежності
не iснує, якщо припустити, що користувачами вiдеотеки можуть бути
декiлька рiзних членiв сiм'ї, які мешкають за однiєю i тiєю ж адресою.
Атрибути А i В можуть бути складеними, тобто являти собою групи
з двох або бiльшої кiлькостi атрибутiв. Наприклад, назва фiльму
функцiонально залежить вiд номера касети i номера фiльму за порядком
запису на касетi.
Найбiльш розповсюдженою формою подання функцiональних
залежностей є така: А→В.
Функцiональнi залежностi визначають, виходячи з базових
властивостей самих атрибутiв. При цьому не можна обмежуватися
звичайним переглядом атрибутiв, що мають одне i те ж значення більше
ніж в одному кортежi, оскiльки функцiональнi залежностi вiдображають
семантичнi (смисловi), а не синтаксичнi (структурнi) зв'язки мiж
атрибутами.
Відсутність появи аномалiй досягається шляхом видалення з
вiдношення небажаних функцiональних залежностей, в ходi якого
здiйснюється декомпозицiя вiдношень на ряд iнших вiдношень, що є
проекцiями вихiдного.
Таке видалення небажаних функцiональних залежностей називається
нормалiзацiєю – покроковим оборотним процесом замiни одного
вiдношення (або сукупностi вiдношень) iншою сукупнiстю вiдношень, в
якiй вiдношення мають простішу i регулярну структуру. Апарат
нормалiзацiї вiдношень був розроблений Коддом, який видiлив шість
нормальних форм подання вiдношень.
Введемо поняття простого i складного атрибута.
Простим називається такий атрибут, значення котрого атомарнi,
тобто є нероздiльними.
Складний атрибут може мати значення, яке являє собою
конкатенацiю декiлькох значень одного або рiзних доменiв. Наприклад, в
унiверсальне вiдношення, що описує вiдеотеку, можна було б включити
складний атрибут АКТОРИ, який, в свою чергу, складається з атрибутiв
АКТОР та АКТРИСА.

142
Вiдношення називається приведеним до першої нормальної форми
(1НФ), якщо всi його атрибути не повторюються в рядках та стовпцях
таблиці бази даних та не впорядковані.
Введемо поняття повної функцiональної залежностi. Неключовий
атрибут функцiонально повно залежить вiд складеного ключа, якщо він
функціонально залежить від ключа, але не знаходиться в функцiональнiй
залежностi нi вiд якої частини складеного ключа.
Вiдношення знаходиться в другiй нормальнiй формi (2НФ), якщо
воно знаходиться в 1НФ, і кожний неключовий атрибут функціонально
повно залежить від складеного ключа. Щоб привести відношення до 2НФ
необхідно:
 побудувати його проекцію, виключивши атрибути, що не
знаходяться в повній функціональній залежності від складеного ключа;
 побудувати додаткову одну або декілька проекцій на частину
складеного ключа та атрибути, що функціонально залежні від цієї частини
складеного ключа.
Визначимо поняття транзитивної функціональної залежності. Нехай
Х,Y та Z – атрибути відношення. При цьому має місце ХY та YZ, але
зворотна відповідність відсутня, тобто Z→Y або Y→X. Тоді говорять, що
Z транзитивно залежить від X.
Потрібно зазначити, що транзитивні залежності є коректними, але в
зв'язку з надлишковістю, їх використання у процесі проектування не
потребується. В зв'язку з цим транзитивні залежності потрібно виключати
з відношення при нормалізації.
Відношення знаходиться в третій нормальній формі (3НФ), якщо
воно знаходиться в 2НФ, і кожний неключовий атрибут нетранзитивно
залежить від первинного ключа.
В тих випадках, коли відношення має тільки один ключ і в ньому
відсутні багатозначні залежності, 3НФ позбавляється надлишковості та
аномалії виконання операцій включення, видалення та відновлення.
В тих випадках, коли у відношенні відсутні багатозначні залежності,
але є два (або більше) можливих ключів, 3НФ може мати аномалії.
У таких випадках використовують посилену третю нормальну
форму, яку називають також нормальною формою Бойса-Кодда (НФБК).
Атрибут (або комбінацію атрибутів), від якого будь-який інший
атрибут залежить функціонально повно, називають детермінантом.
Отже, відношення знаходиться в нормальній формі Бойса-Кодда,
якщо воно знаходиться в 3НФ, і кожний його детермінант є можливим
ключем.
Існують також четверта та п'ята нормальні форми відношень,
обумовлені наявністю у відношенні багатозначних функціональних
залежностей. Проте на практиці в більшості випадків обмежуються
отриманням відношення в НФБК.

143
Нормалізація відношень за ER-принципом.
Загальний підхід до нормалізації відношень за ER-принципом
включає в себе такі основні кроки [1, 4]:
1) побудова ER-моделі предметної області, що включає в себе всі її
сутності і зв'язки;
2) опис основних категорій предметної області на мові
інфологічного моделювання відношень з вказанням первинного
ключа для кожної з них;
3) формування відношень предметної області;
4) нормалізація відношень до НФБК.
При нормалізації відношень за ER-принципом необхідно проводити
аналіз класу належності і ступеня відношень сутностей предметної області
за такими правилами [14-16]:
ПРАВИЛО 1. Якщо ступінь бінарних зв'язків між сутностями 1:1, а
клас належності обов'язковий для обох сутностей, гарантується однократна
поява кожного значення екземплярів сутностей у відношенні предметної
області. Тобто, відношення є повністю визначеними інформаційно, та у
них відсутні випадки наявності груп надлишкових даних.
Проте, якщо клас належності однієї з сутностей стане
необов'язковим, то одного відношення буде недостатньо, оскільки у всіх
кортежах, що містять інформацію про екземпляри однієї сутності, які не
мають зв'язків з екземплярами другої сутності, буде лише часткова
інформаційна визначеність.
ПРАВИЛО 2. Якщо ступінь бінарного зв'язку між сутностями 1:1, а
клас належності однієї сутності є обов'язковим, а іншої – необов'язковим,
то необхідно створити два відношення. При цьому ключ сутності повинен
служити первинним ключем для відповідного відношення. Крім того, ключ
сутності, для якої клас належності є обов'язковим, додається як атрибут у
відношення, що виділене для сутності з обов'язковим класом належності.
Формування двох відношень, кортежі кожного з яких включають
лише опис атрибутів відповідної сутності, приводить до виключення
інформаційної невизначеності у відношеннях. При цьому зв'язок між
сутностями забезпечується включенням в одне з відношень ключових
атрибутів другої сутності.
ПРАВИЛО 3. Якщо ступінь бінарного зв'язку між сутностями 1:1, а
клас належності обох сутностей є необов'язковим, то необхідно
використовувати три відношення: по одному для кожної сутності, ключі
яких служать як первинні ключі відповідних відношень, і одне для зв'язку.
Первинним ключем цього відношення може бути будь-яка з двох
сутностей. Серед атрибутів відношення, що виділяється для зв'язку,
повинні бути ключі кожної з інших сутностей.

144
Пiд час роботи з вiдношеннями для бiнарних зв'язкiв ступеня 1:Б,
фактором, що визначає вибiр правила для генерацiї вiдповiдного набору
вiдношень, є клас належностi n-зв'язної сутності. Клас належностi
однозв’язної сутності у цьому випадку на кiнцевий результат не впливає.
ПРАВИЛО 4. Якщо ступiнь бiнарного зв'язку між сутностями 1:Б, а
клас належностi n-зв'язної сутності є обов'язковим, то достатньо
використати по одному вiдношенню на кожну сутність, при умовi, що
ключ кожної сутності є первинним для вiдповiдного вiдношення.
Додатково, ключ однозв’язної сутності повинен бути доданий як атрибут у
вiдношення n-зв'язної сутності.
Використання двох вiдношень в цьому випадку дозволяє усунути
дублювання iнформацiї (багатократний опис атрибута однозв’язної
сутностi, пов'язаного з n атрибутами n-зв'язної сутності). Крiм того,
аналогiчно правилу 2 забезпечується видалення з вiдношень випадків
інформаційної невизначеності.
ПРАВИЛО 5. Якщо ступiнь бiнарного зв'язку між сутностями 1:Б, а
клас належностi n-зв'язної сутності є необов'язковим, то необхiдно
сформувати три вiдношення: по одному для кожної сутності, причому
ключ кожної сутності служить як первинний ключ для вiдповiдного
вiдношення, i одного вiдношення для зв'язку. Зв'язок повинен мати серед
своїх атрибутiв ключ сутності кожної з пов’язаних сутностей.
При ступені бiнарного зв'язку між сутностями Б:Б, який не залежить
вiд класу належності сутностей, необхiдно використати три вiдношення.
ПРАВИЛО 6. Якщо ступiнь бiнарного зв'язку між сутностями Б:Б, то
для зберiгання даних потрiбнi три вiдношення: по одному для кожної
сутності, причому ключ кожної сутності має бути первинним для
вiдповiдного вiдношення, та одного вiдношення для зв'язку. Зв'язок
повинен мати серед своїх атрибутiв ключ сутності кожної з пов’язаних
сутностей. Отже, виявлення в предметнiй областi тристороннiх зв'язкiв
призводить до необхiдностi використання чотирьох вiдношень.
Аналогiчно, для подання n-стороннього зв'язку, необхiдно
використовувати (n+1) вiдношення.

Нормалiзацiя вiдношень методом декомпозиції


Іншим методом нормалізації відношень є метод декомпозицiї [7],
який включає в себе такі операцiї:
1) розробка унiверсального вiдношення предметної області;
2) визначення всiх функцiональних залежностей, якi присутнi мiж
атрибутами унiверсального вiдношення;
3) визначення форми нормалізації унiверсального вiдношення;
4) якщо вiдношення знаходиться в НФБК, проектування
закінчується, якщо нi – вiдношення декомпозується
(розбивається) на множину вiдношень;

145
5) повторення крокiв п.п. 2, 3, 4 для кожного нового вiдношення,
отриманого в результатi декомпозицiї.
Розглянемо цей процес.
Декомпозицiя похідного вiдношення на два вiдношення
здiйснюється на основi аналiзу щодо наявності функцiональних
залежностей мiж атрибутами похідного вiдношення.
Нехай вiдношення R(A,B,C,D,E,...) не приведено до НФБК,
причиною чого є функцiональна залежнiсть між атрибутами C і D. Тоді С є
детермiнантом, але не є можливим ключем.
Необхідно створити два нових вiдношення: R1(A, B, C, E, ...) та
R2(C, D), де залежна частина функціональної залежностi опускається при
формуваннi R1 та повнiстю використовується пiд час формування
вiдношення R2.
Також необхiдно перевiрити, чи знаходяться в НФБК вiдношення R1
та R2.
Вiдношення R2(C, D) є проекцiєю вiдношення R. Цей тип
декомпозицiї називається декомпозицiєю без втрат при з'єднаннi. Даний
прийом повторюється для кожного нового вiдношення, отриманого в
результатi декомпозицiї. Проектування закiнчується, коли всi вiдношення
будуть знаходитися в НФБК.
Простим правилом вибору функцiональної залежностi для проекцiї
може служити пошук ланцюга функцiональних залежностей вигляду
ABC, з послідовним використанням для проекцiї крайньої правої
залежності.
В результаті, потрібно у відношеннях запобігти формуванню
функціональної залежності, залежна частина якої сама – повністю або
частково – є детермінантом іншої функціональної залежності.
Декомпозиція відношень предметної області продовжується з метою
видалення транзитивних залежностей вигляду АC, якщо АB і BC.

Оцінка спроектованих відношень


У розділі виконується оцінка спроектованих відношень на
можливість виконання над ними операцій маніпулювання даними
предметної області, поданими обраною моделлю даних.
Перевірка НФБК-відношень, які розглядаються як кінцевий проект,
на наявність аномалій включає такі основні кроки:
1) перевірка функціональних залежностей кожного відношення
предметної області за критеріями:
 одна і та ж функціональна залежність не повинна з'являтися
більше, ніж в одному відношенні;
 набір функціональних залежностей, отриманих в результаті
проектування, повинен в точності збігатися з набором,

146
присутнім в описі предметної області на мові інфологічного
моделювання;
2) перевірка наявності надлишковості у відношеннях;
3) аналіз здатності відношень підтримувати ті типи операцій
відновлення та запити, які передбачається опрацьовувати.
Якщо не дотримуватись зазначених правил нормалізації відношень
предметної області, в процесi проектування атрибути її сутностей можуть
згрупуватися нелогiчно, що викличе складностi у реалiзацiї запитiв.

Розробка вихідних форм


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

Розробка програмного забезпечення


В цьому розділі приводять результати розробки програмного коду
для організації та управління даними. При цьому необхідно детально
розглянути такі основні питання:
 розробку схеми алгоритму реалізації запитів;
 обґрунтування вибору мови програмування для управління базою
даних;
 вибір основних операторів мови програмування для ефективного
опрацювання кожного із запитів користувача;
 розробка схеми алгоритму реалізації програмного забезпечення
для спроектованої бази даних.

Висновки
У висновках наводяться результати, які досягнуті на кожному з
етапів проектування бази даних, та аналізують їх на відповідність
технічному завданню на курсову роботу.

Список використаних джерел


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

147
Додатки
В додатках повинен бути наведений лістинг програмного коду,
інструкція користувача та тестовий приклад, що підтверджує
працездатність запропонованого програмного забезпечення (реалізація
одного із запитів).

5.3 ВИЗНАЧЕННЯ ТЕМАТИКИ ТА РОЗРОБКА ТЕХНІЧНОГО


ЗАВДАННЯ НА КУРСОВУ РОБОТУ
Тема курсової роботи визначається номером завдання N=k+р, де k-
число, що видається викладачем кожнiй групi студентiв; p-порядковий
номер студента в групi.
В завданні на курсову роботу необхідно вказати номер варіанта,
сформулювати завдання, вибрати мову програмування.
Розробка завдання повинна задовольняти такі мінімальні вимоги:
- ступiнь унiверсального вiдношення, не менше 25;
- кiлькiсть критеріїв пошуку, не менше 2;
- потужнiсть унiверсального вiдношення, не менше 12;
- кiлькiсть сутностей, не менше 6;
- форма нормалiзацiї вiдношень, не менше 3;
- кiлькicть вихiдних форм, не менше 8;
- кiлькiсть запитiв, що реалізуються, не менше 8;
- мова програмування повинна забезпечити маніпулювання
даними за запитами.
Оцінку “задовільно” студент може отримати, якщо курсова робота
задовольняє такі вимоги: використання однорівневих і однокритеріальних
запитів; нормалізація відношень предметної області проведена до третьої
нормальної форми; використання СУБД Access та мови SQL для реалізації
запитів.
Оцінку “добре” студент може отримати, якщо курсова робота
задовольняє такі вимоги: використання дворівневих, але
багатокритеріальних запитів, нормалізація відношень предметної області
проведена до третьої нормальної форми або форми Бойса-Кодда; вхідна
мова програмування – будь-яка об’єктно-орієнтована.
Оцінку “відмінно” студент може отримати, якщо курсова робота
задовольняє такі вимоги: використання багаторівневих та багатокри-
теріальних запитів, нормалізація відношень предметної області проведена
до четвертої, п’ятої нормальної форми або форми Бойса-Кодда; вхідна
мова програмування – будь-яка об’єктно-орієнтована.
База даних повинна забезпечувати:
 введення, видалення, обновлення iнформацiї;
 реалізацію запитів за вибором користувача та подання результатів
за обраною формою;
 режим підказки для роботи користувача;

148
 збереження файлів;
 контроль пріоритетів доступу до окремих блоків даних шляхом
накладання пароля.

5.4 ТЕРМІНИ ВИКОНАННЯ КУРСОВОЇ РОБОТИ


Рекомендований графiк виконання курсової роботи, якщо тривалість
навчального триместру складає 14 тижнiв, наведений в таблиці 5.4.

Таблиця 5.4 – Графік виконання курсової роботи


Етап % від Термін
курсо- Зміст етапу об’єму викон-ня
вої роб. КР (тиждень)
1 Отримання завдання на курсову роботу 2 1
2 Аналіз предметної області і постановка задачі 8 1–2
3 Розробка унiверсального вiдношення. 5 3
Розробка концептуальної схеми предметної
4 10 3–4
області за ER-принципом
5 Обґрунтування вибору моделі даних 5 4
6 Проектування нормалізованих відношень 10 5
7 Оцінка спроектованих відношень 5 6
8 Розробка вихідних форм 5 6
9 Розробка схеми алгоритму реалізації запитів 10 7
Обґрунтування вибору мови програмування
10 для управління базою даних та її основних 5 8
операторів
Розробка схеми алгоритму реалізації
11 15 9-10
програмного забезпечення для бази даних
Розробка iнструкцiї користувача та
12 5 11
тестування програмного забезпечення
13 Оформлення курсової роботи та її презентації 15 12
14 Захист курсової роботи 13-14

5.5 ПОРЯДОК ЗАХИСТУ КУРСОВОЇ РОБОТИ


Готовність до захисту курсової роботи визначає її керівник.
Якщо робота виконана в повному обсязі i не містить принципових
помилок, студент допускається до її відкритого захисту перед комiсiєю в
складі не менше як двох викладачів кафедри. Інакше, робота повертається
студенту на доопрацювання.
Під час захисту студент коротко (5-7 хвилин) презентує роботу,
доповідає про отримані результати, демонструє працездатність
спроектованої бази даних i вiдповiдає на запитання членів комісії за
змістом роботи.

149
6 ПИТАННЯ ДО ІСПИТУ

1. Визначення і класифікація інформаційних систем.


2. Автоматизовані банки даних.
3. Вимоги до банків даних.
4. Принципи побудови банків даних.
5. Основні поняття теорії інфологічного моделювання.
6. Зв'язки між елементами даних та сутностями.
7. Мова інфологічного моделювання як мова опису основних категорій
теорії інфологічного моделювання.
8. Класифікація сутностей.
9. Аналіз предметної області як перший етап проектування баз даних.
10. Розробка універсального відношення.
11. Розробка ER-моделі предметної області.
12. Трирівнева архітектура моделювання даних.
13. Інфологічна модель даних. Мета інфологічного моделювання.
14. Ієрархічна модель даних.
15. Основні поняття теорії деревовидних моделей даних (вузол, атрибут,
типи вузлів, корінь, листя, збалансоване/незбалансоване дерево,
бінарне (двійкове) дерево).
16. Основні вимоги до ієрархічних структур даних.
17. Реалізація зв'язків між об'єктами за допомогою ієрархічних моделей
даних.
18. Типові оператори маніпулювання ієрархічно організованими даними.
19. Переваги та недоліки деревовидних моделей даних.
20. Мережева модель даних.
21. Основні поняття теорії мережевих моделей даних (набір, екземпляр
набору).
22. Основні вимоги до мережевих моделей даних.
23. Реалізація зв'язків між об'єктами за допомогою мережевих моделей
даних.
24. Типові оператори маніпулювання мережево-організованими даними.
25. Переваги та недоліки мережевих моделей даних.
26. Подання мережевої моделі даних за допомогою деревовидних
структур.
27. Реляційна модель даних. Загальна характеристика.
28. Базові поняття теорії реляційних баз даних (відношення, атрибут,
домен, кортеж, ступінь та потужність відношення, арність).
29. Фундаментальні властивості відношень.
30. Базисні засоби маніпулювання реляційними даними.
31. Поняття ключа. Основні типи ключів.
32. Переваги та недоліки реляційних моделей даних.
33. Правила Кодда стосовно реляційної СУБД.

150
34. Основні операції реляційної алгебри: проекція, об’єднання, різниця,
селекція, декартовий добуток, перетин, частка відношень, спеціальні
реляційні операції.
35. Особливості теоретико-множинних операцій реляційної алгебри.
36. Нормалізація баз даних як один з основних етапів їх проектування.
37. Основні властивості нормальних форм. Функціональна залежність як
базис нормальних форм відношень.
38. Основні нормальні форми відношень та вимоги до них.
39. Основні етапи нормалізації відношення.
40. Мови реляційних баз даних.
41. Загальна характеристика СУБД Access.
42. Мова SQL-запитів як мова організації управління базами даних.
43. Об’єктно-орієнтовані моделі даних.
44. Мови програмування об’єктно-орієнтованих баз даних.
45. Загальні визначення організації спискових структур.
46. Послідовний розподіл пам’яті для збереження спискових структур.
47. Зв’язний розподіл пам’яті для збереження спискових структур.
48. Визначення багатозв’язних структур (плексів).
49. Методи обробки багатозв’язних структур та їх властивості.
50. Подання рядкових даних.
51. Загальне визначення підходів щодо класифікації методів доступу.
52. Послідовні методи доступу до даних.
53. Індексні методи доступу до даних.
54. Мультиспискові методи доступу до даних.
55. Інвертований метод доступу до даних.
56. Адресні методи доступу до даних.
57. Методи обчислення адреси в адресних методах доступу до даних.
58. Вимоги до функції кешування в адресних методах доступу до даних.
59. Побудова КЕШ-функції в адресних методах доступу до даних.
60. Поняття знання.
61. Класифікація знань.
62. Методи подання знань.
63. Загальні відомості про експертні системи.
64. Вимоги до експертних систем.
65. База знань як елемент експертної системи.
66. Структура експертних систем.
67. Основна ідея підходу до побудови логічних моделей знань та їх
переваги.
68. Подання знань з використанням логіки предикатів.
69. Визначення правильно побудованої формули в логіці предикатів.
70. Логічне виведення. Уніфікатори.
71. Правила продукції.
72. Продукційні системи Поста.

151
73. Властивості продукційних моделей знань.
74. Недоліки та переваги продукційних моделей знань.
75. Загальні визначення моделі семантичних мереж.
76. Класифікація семантичних мереж.
77. Недоліки і переваги семантичних мереж.
78. Основні типи відношень, що реалізують моделі знань семантичного
типу.
79. Структура семантичних мереж.
80. Подання структури понять та подій за допомогою семантичних мереж.
81. Загальні визначення фреймових моделей знань.
82. Структура фрейму.
83. Властивості фрейму.
84. Переваги та недоліки фреймових моделей.
85. Взаємозв’язки моделей подання знань.
86. Транзакції та цілісність бази даних.
87. Серіалізація транзакцій.
88. Журналізація змін баз даних.
89. Індивідуальне повернення транзакції.
90. Відновлення після збою.

152
СПИСОК ЛІТЕРАТУРИ

1. Г. И. Ревунов, С. М. Самохвалов, В. В. Чистов. Базы данных и


знаний.: Учебник для вузов/ Под ред. Четверикова. - М.: Высшая
школа, 1992 г.
2. Ульман Д. Основы системы баз данных: Пер. с англ. - М.: Финансы и
статистика, 1983.
3. Хаббард Дж. Автоматизированное проектирование баз данных. Пер. с
англ. - М.: Мир, 1984 г.
4. Джексон Т. Проектирование реляционных баз данных для
использования с микроЭВМ: Пер. с англ. - М.: Мир, 1991.
5. Дейт К. Введение в системы баз данных: Пер. с англ. - М.: Наука,
1980.
6. Куправа Т. Я. Создание и программирование баз данных средствами
СУБД DBASE 3+, Clipper. - М.: Мир, 1981.
7. Атре Ш. Структурный подход к организации баз данных. - М.:
Финансы и статистика, 1983.
8. Бойко В. В., Савинков В. М. Проектирование баз данных информа-
ционных систем. - М.: Финансы и статистика, 1989.
9. Дейт К. Руководство по реляционной СУБД DB2. - М.: Финансы и
статистика, 1988.
10. Костин А. Е., Шальгин В. Ф. Организация и обработка структур
данных в вычислительных системах. Учебное пособие для вузов. -
М.: Высшая школа, 1987.
11. Кириллов В. В. Структуризованный язык запросов (SQL). - СПб.:
ИТМО, 1994.
12. Мартин Дж. Планирование развития автоматизированных систем. -
М.: Финансы и статистика, 1984.
13. Месюра В. І., Романюк О. Н., Денисюк А. В. Методичні вказівки до
виконання лабораторних робіт з дисципліни "Організація та
управління базами даних для студентів інженерної спеціальності
7.080403" Програмне забезпечення обчислювальної техніки та
автоматизованих систем". - Вінниця: ВДТУ, 1995.
14. Мейер М. Теория реляционных баз данных. - М.: Мир, 1987.
15. Романюк О. Н., Месюра В. І., Денисюк А. В. Методичні вказівки з
курсового проектування з дисципліни "Організація та управління
базами даних" для студентів інженерії спеціальності 7.080403
"Програмне забезпечення обчислювальної техніки та
автоматизованих систем". - Вінниця: ВДТУ, 1994.
16. А. Н. Наумов, А. М. Вендров, В. К. Иванов и др. Системы
управления базами данных и знаний: Справочное издание/ Под ред.
А. Н. Наумова. -М.: Финансы и статистика, 1991.

153
17. Тиори Т., Фрай Дж. Проектирование структур баз данных: В 2 кн. -
М.: Мир, 1985.
18. Ульман Дж. Базы данных на Паскале. - М.: Машиностроение, 1990.
19. Четвериков В. Н., Ревунков Г. И., Самохвалов Э. Н. Базы и бланки
данных. - М.: Высшая школа, 1993.
20. Цикритизис Д., Лоховски Ф. Модели данных. – М.: Финансы и
статистика, 1985.
21. Н. Д. Нильсон. Искусственный интеллект. Методы поиска решений.-
М.: Мир, 1973.
22. К. Таунсенд, Д. Фохт. Проектирование и программная реализация
экспертных систем на персональных ЭВМ. - М.: Финансы и
статистика, 1990.
23. Д. Элти, М. Кумбс. Экспертные системы: концепции и примеры.- М.:
Финансы и статистика, 1987.
24. Хабаров С. П. Лекции по курсу "Информационные технологии",
http://firm.trade.spb.ru/serp/main_es.htm.

154
Додаток A
Міністерство освіти і науки України
Вінницький національний технічний університет
Інститут інформаційних технологій і комп’ютерної інженерії

Кафедра КН

Проектування бази даних предметної області


“Бібліотека ВНТУ”

Пояснювальна записка
до курсової роботи з дисципліни “Організація баз даних і знань”

08-23.ОБД.009.04.076 ПЗ
Пояснювальна записка
Числовий код кафедри ІС,
прийнятий у ВНТУ Останні цифри номера
залікової книжки
Абревіатура дисципліни

Порядковий номер теми Останні цифри року вступу


курсової роботи до ВНТУ

Керівник курсової роботи


____
__________________
(ПІБ)
______________________
(підпис)
”___” ____________2008 р.

Розробив студент гр. _________

_____________ ______________
(підпис) (ПІБ)
”___” ____________2008р.

Вінниця ВНТУ 2012

155
Додаток Б
Перелік типових предметних областей для виконання курсових робіт
1. Матеріальне забезпечення 38. Облік поточних затрат.
підприємств. 39. Демографія.
2. Успішність. 40. Облік руху товарів.
3. Бібліотека. 41. Продукти харчування.
4. Залізничні каси. 42. Рецептурний довідник.
5. Фонотека. 43. Контроль оплати
6. Прокат відеофільмів. кредитів.
7. Деканат. 44. Біржові угоди.
8. Аеропорт. 45. Посередницька діяльність.
9. Перевезення вантажів. 46. Обчислювальна техніка.
10. Автопідприємство. 47. Автомобілі.
11. Регістратура. 48. Дорожньо-транспортні
12. ЗАГС. угоди.
13. Податкова інспекція. 49. Космічні війни.
14. Контроль діяльності 50. Політичні діячі.
підприємства. 51. Діагностика.
15. Автовокзал. 52. Записна книжка.
16. Читальний зал. 53. Облік кадрів.
17. Санаторій. 54. Географія Вінницької
18. Диспансеризація. області.
19. Кредити. 55. Історія Подільского краю.
20. Зарплата. 56. Програмні продукти.
21. Бізнесмен. 57. Бронювання місць.
22. Радіотелеательє. 58. Вибори.
23. Фермер. 59. Передвиборча компанія.
24. Олімпійські ігри. 60. Партійна організація.
25. Шаховий турнір. 61. Політичні партії.
26. Готель. 62. Відеотека.
27. Прокуратура. 63. Інтернет-магазин.
28. Рибалка. 64. Вантажні перевезення.
29. Постачальник. 65. Залізничні перевезення.
30. Військова база. 66. Залізниця.
31. Секретні служби. 67. Туризм на континенті.
32. Географія континенту. 68. Туризм в регіоні.
33. Флора регіону. 69. Нерухомість в регіоні.
34. Фауна регіону. 70. Авторинок.
35. Інспекція діяльності. 71. Повітряний транспорт.
36. Перевірка функціонування 72. Аудіозаписи.
закладу. 73. Колекція.
37. Спортивний табір. 74. Катастрофи.
75. Міграція населення.

156
Додаток В
Вінницький національний технічний університет
ІнІТКІ
Факультет комп’ютерного інтелекту
Кафедра комп’ютерних наук

ЗАТВЕРДЖЕНО
Завідувач кафедри КН
__________С.І.Перевозніков

ЗАВДАННЯ
на курсову роботу
Дисципліна______________________________________________________
П.І.Б. студента____________________________________________________
Група___________________________________________________________
1. Тема курсової роботи ___________________________________________
________________________________________________________________
________________________________________________________________
затверджена на засіданні кафедри комп’ютерних наук протокол №______
від “____”_________
2. Термін здачі студентом закінченої роботи _________________________
3. Вихідні дані для роботи ________________________________________
________________________________________________________________
________________________________________________________________
________________________________________________________________
________________________________________________________________
_______________________________________________________________
4. Зміст пояснювальної записки (перелік питань, що належить
розробити)_______________________________________________________
________________________________________________________________
________________________________________________________________
________________________________________________________________
________________________________________________________________
________________________________________________________________
5. Перелік графічної частини _______________________________________
________________________________________________________________
________________________________________________________________
6. Дата видачі завдання____________________________________________

Завдання видав _________________________________ __________


(П.І.Б. керівника курсової роботи) (Підпис)
Завдання прийняв до виконання_______________________ __________
(П.І.Б. студента) (Підпис)

157
Навчальне видання

Тамара Олександрівна Савчук

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


Лабораторний практикум та курсове проектування

Навчальний посібник

Оригінал-макет підготовлено Т.О.Савчук

Науково-методичний відділ ВНТУ


Свідоцтво Держкомінформу України
серія ДК № 746 від 25.12.2001
21021, м. Вінниця, Хмельницьке шосе, 95, ВНТУ

Підписано до друку Гарнітура Times New Roman


Формат 29,7х42 1 4 Папір офсетний
Друк різографічний Ум. друк. арк.
Тираж прим.
Зам. №

Віддруковано в комп’ютерному інформаційно-видавничому центрі


Вінницького національного технічного університету
Свідоцтво Держкомінформу України
серія ДК № 746 від 25.12.2001
21021, м. Вінниця, Хмельницьке шосе, 95, ВНТУ

158

You might also like