
- •Місце заняття у викладанні дисципліни
- •Структура заняття
- •Вимоги до оформлення та порядок зарахування роботи
- •Варіанти сфер діяльності для ведення бази даних (варіант обирається згідно порядкового номеру у журналі)
- •Методичні рекомендації та технологія виконання роботи Теоретичні відомості
- •1. Створення таблиць
- •1. 1. Режим таблиці
- •1. 2. Режим конструктора таблиці
- •1. Визначити ім'я поля таблиці
- •2. Визначити тип даних поля
- •3. Ввести опис поля (необов'язково)
- •4. Задати властивості поля (необов'язково)
- •2. Визначення в базі даних зв'язків між таблицями
- •3. Форми
- •3. 1. Загальні відомості
- •3. 2. Структура форми
- •3. 3. Види форм
- •3. 4. Вміст форми
- •Технологія виконання роботи
- •Контрольні запитання
- •Перелік рекомендованої літератури
2. Визначення в базі даних зв'язків між таблицями
Після створення різних таблиць, що містять дані, які належать до різних аспектів бази даних, розроблювач повинен продумати, як Microsoft Access буде поєднувати ці дані при їхньому вилученні з бази даних. Першим кроком при цьому є визначення зв'язків між таблицями. Після цього стає можливим створення запитів, форм і звітів, у яких виводяться дані з декількох таблиць одразу.
Унікальний індекс - індекс, заданий для поля із вказаними властивостями "Індексоване поле" значенням "Так (Збіги Не допускаються)". При цьому введення в індексоване поле повторюваних значень стає неможливим. Для ключових полів унікальний індекс створюється автоматично.
Зовнішній ключ - це одне або кілька полів у таблиці, що містять посилання на ключове поле або поля в іншій таблиці. Поле зовнішнього ключа визначає спосіб зв'язування таблиць, уміст поля зовнішнього ключа повинне збігатися із змістом ключового поля.
Наприклад, таблиця "Товари" містить поле зовнішнього ключа "Постачальник", що посилається на ключове поле "Постачальник" у таблиці "Постачальники". За допомогою даного зв'язку в таблиці "Товари" для кожного товару виводиться ім'я постачальника з таблиці "Постачальники".
Зв'язок між таблицями встановлює стосунки між співпадаючими значеннями в ключових полях - звичайно між полями різних таблиць, що мають однакові імена. У більшості випадків з "ключем" однієї таблиці, що є унікальним ідентифікатором кожного запису, зв'язується "зовнішній ключ" іншої таблиці.
У таблицях дані можуть бути зв'язані між собою відношенням. У загальному виді відносини позначаються в такий спосіб:
,
де F(x) – це вид зв'язку А с В; G(x) – це вид зв'язку В с А.
Зв'язки можуть бути одиничними (U – унарными) і множинними N.
1.
Відношення «один-до-одного»
(1:1).
Відношення
«один-до-одного» створюється в тому
випадку, коли обоє що зв'язуються поля
є ключовими чи мають унікальні індекси
(при цьому введення в індексоване поле
повторюваних значень стає неможливим.
Для ключових полів унікальний індекс
створюється автоматично). Приклад:
одному табельному номеру може відповідати
тільки одна людина.
2.
Відношення «один-до-багатьох»
(1:N).
У відношенні «один-до-багатьох» головною таблицею є таблиця, що містить первинний ключ і складає частину «один» у цьому відношенні. Таблиця з боку «багато» є підлеглою таблицею. Сполучне поле (чи поля) у ній з таким же типом інформації, як у первинному ключі головної таблиці, є полем зовнішнього ключа. Приклад: університет один, а кафедр у ньому багато.
3.
Відношення «багато-до-одного»
(N:1).
Такий зв'язок прямо протилежний зв'язки «один-до-багатьох». У цьому випадку багато дітей можуть мати одних батьків.
4.
Відношення «багато-до-багатьох»
(N:М).
Зв'язок з відношенням «багато-до-багатьох» фактично представляє два зв'язка з відношенням «один-до-багатьох» через третю таблицю, ключ якої складається, принаймні, із двох полів, що є полями зовнішнього ключа в двох інших таблицях. У цьому випадку безліч усіх викладачів університету читають усі предмети, що вивчаються в університеті. Причому, один викладач може читати кілька предметів, і трохи викладачів можуть читати один предмет, тільки різним групам.
Найбільш розповсюдженими є зв'язки «один-до-багатьох» і «один-до-одного».
На схемі даних загальні поля з'єднані лініями зв'язку. З однієї сторони ця лінія завжди маркірується знаком «1» (одинарною стрілкою), з іншого боку — або знаком «1» (одинарною стрілкою) - зв'язок «один-до-одного», або літерою «М» («N») (подвійною стрілкою) - зв'язок «один-до-багатьох». Зрозуміло, що якщо зв'язуються ключові поля, те це завжди зв'язок «один-до-одного», а якщо ключове поле зв'язане з неключовим, те це зв'язок «один-до-багатьох». За допомогою олівця і папера розкреслюють зв'язки між таблицями. На рис. 2 показаний приклад взаємозв'язку між групою таблиць, що входять у базу даних компанії, що займається трансляцією супутникових телевізійних каналів. Ключові поля таблиць у ній виділені напівжирним шрифтом. Таке креслення називається схемою даних.
Рис. 1. Схема зв'язків між таблицями
Для того щоб створити зв'язок між таблицями, слід додати таблиці у вікно Схема даних (Сервис/Схема данных) і перенести за допомогою миші ключове поле однієї таблиці в іншу таблицю.
Тип створюваного зв'язку залежить від полів, для яких визначається зв'язок.
Відношення "один-до-багатьох" створюється в тому випадку, коли тільки одне з полів є ключовим або має унікальний індекс.
Відношення "багато-до-багатьох" створюється в тому випадку, коли поля, що зв'язують, є ключовими або мають унікальні індекси.
Зв'язок з відношенням "багато-до-багатьох" фактично є двома зв'язками з відношенням "один-до-багатьох " через третю таблицю, ключ якої складається з, принаймні, двох полів, які є полями зовнішнього ключа у двох інших таблицях.
Примітка. Якщо перенести за допомогою миші поле, що не є ключовим або не має унікального індексу, створюється невизначене відношення. У запитах, що містить таблиці з невизначеним відношенням, Microsoft Access за замовчуванням створює лінію об'єднання між таблицями, але умови цілісності даних при цьому не накладаються, і немає гарантії унікальності записів у кожній з таблиць.
Цілісність даних - це правила, що забезпечують підтримку встановлених міжтабличних зв'язків при введенні й видаленні записів.
Якщо накладені умови цілісності даних, Microsoft Access не дозволить додавати у зв'язану таблицю записи, для яких немає відповідних записів у головній таблиці; змінювати записи в головній таблиці так, що після цього у зв'язаній таблиці з'являться записи, що не мають головних зв'язків; видаляти записи в головній таблиці, для яких є підлеглі записи у зв'язаній таблиці.