Лабораторна робота: Міжтабличні зв'язки

  • Теорія
  • Завдання
  • Рекомендації

  • Організація міжтабличних зв'язків

    Зв'язок між таблицями встановлює відносини між співпадаючими значеннями в ключових полях. Достатньо часто поля, між якими встановлюється відповідність, мають однакові імена в обох таблицях. В більшості випадків з первинним ключем однієї таблиці, зв'язується зовнішній ключ другої таблиці. Найчастіше встановлюється таке відношення таблиць, при якому одному запису першої таблиці може відповідати декілька записів з однаковим значенням зовнішнього ключа з другої таблиці, тобто відношення «один до багатьом». Значення зовнішнього ключа в записі другої таблиці використовується для пошуку відповідних нею записів в першій таблиці. Наприклад, кожному запису в таблиці «Статті витрат»

    01.png

    може відповідати один, декілька або, взагалі, жодного запису в таблиці «Витрати».

    02.png

    Міжтабличні зв'язки можна встановлювати і редагувати за допомогою вікна «Схема даних». При побудові бази даних бажано встановлювати такі зв'язки перед створенням інших об'єктів бази даних - форм, запитів і звітів. Міжтабличні зв'язки використовуються в Microsoft Office Access при створенні запитів, надають відомості для структури форм і звітів. Щоб наочно відобразити зв'язки, що існують між таблицями бази даних, перейдіть на сторінку «стрічки» «Робота з базами даних»

    03.png

    і натисніть кнопку «Схема даних».

    04.png

    Якщо в базі даних немає зв'язків або це вікно відкривається вперше, буде відображено діалогове вікно «Додавання таблиці». У цьому вікні потрібно буде виділити всі таблиці, що цікавлять Вас, і натиснути кнопку «Додати». Якщо в базі даних є зв'язки, відразу буде відображено вікно «Схема даних». Якщо якась таблиця не була відразу додана в схему, можна додати її пізніше, викликавши вікно «Додавання таблиці» натисненням на кнопку «Відобразити таблицю».

    05.png

    Для видалення таблиці з схеми даних (але не з бази!) треба виділити її і натиснути кнопку «Приховати таблицю».

    06.png

    Натиснення кнопки «Всі зв'язки» відображає в схемі всі таблиці, що мають зв'язки.

    07.png

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

    08.png

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

    09.png

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

    10.png

    а з іншої - символ нескінченності, що відповідає відношенню «один до багатьом».

    11.png

    Клацніть по лінії зв'язку, щоб виділити її.

    12.png

    Для виділеної лінії можна змінити властивості зв'язку. Таблиці, між якими встановлений цей зв'язок, краще заздалегідь закрити. Клацніть на кнопці «стрічки» «Змінити зв'язки».

    13.png

    У діалозі, що відкрився, можна змінити таблиці, запити або поля на будь-якій стороні відношення.

    14.png

    Натисніть на кнопку «Об'єднання.», щоб вибрати тип об'єднання даних таблиць в запитах.

    15.png

    У цьому вікні можна вибрати тип об'єднання. Для підтвердження вибору натисніть кнопку «OK».

    16.png

    Установка прапорця «Забезпечення цілісності даних» означає, що для даного зв'язку Microsoft Office Access гарантує відсутність непарних записів і виключає появу записів однієї таблиці з посиланнями на неіснуючі записи іншої таблиці. Забезпечуючи цілісність даних, Access відхилятиме оновлення, що змінюють кінець посилання, і видалення, що видаляють кінець посилання.

    17.png

    Проте може виникнути ситуація, в якій необхідно змінити значення на стороні відношення «один». В цьому випадку необхідно, щоб Access автоматично виконав оновлення всіх задіяних рядків як одну операцію. Якщо при забезпеченні цілісності даних вибрати параметр «Каскадне оновлення зв'язаних полів», то при оновленні первинного ключа Microsoft Office Access автоматично відновить всі поля, що посилаються на нього.

    18.png

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

    19.png

    Після завдання всіх необхідних параметрів зв'язку натисніть кнопку «OK» для їх підтвердження.

    20.png

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

    21.png

    Як правило, перше поле є первинним ключем таблиці

    22.png

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

    23.png

    Переконавшись, що імена загальних полів зв'язку і необхідні параметри зв'язку задані правильно, натисніть кнопку «Створити».

    24.png

    Для видалення зв'язку клацніть на ній правою кнопкою миші

    25.png

    і виберіть в контекстному меню команду «Видалити»

    26.png

    підтвердіть видалення.

    27.png

    Після закінчення редагування міжтабличних зв'язків закрийте вікно «Схема даних», натиснувши на кнопку «Закрити»

    28.png

    і підтвердіть збереження зроблених змін.

    29.png