Інформаційні технології (Практичні роботи)
90

Практична робота №3-4. MS Access. Реляційні зв'язки між таблицями

Мета

Уміти створювати реляційні зв'язки між таблицями.

План

1. Поняття ключового поля.

2. Зв'язки між таблицями.

Задача «Склад».

Створити базу даних з такими чотирма таблицями: Склад — для обліку товарів на складі з полями Номер (числовий), Назва Товару (текстовий), Ціна (числовий), Кількість (числовий), Імпорт (логічний); Клієнти — для обліку клієнтів з полями Код Клієнта-(числовий), Назва Клієнта (текстовий), Телефон (текстовий); Замовлення — для обліку замовлень клієнтів з полями Код Клієнта (числовий), Назва Товару, Куплено шт. (числовий), Дата (дата); Менеджери (які працюють з певними товарами і клієнтами) з полями: Менеджер, Код Товару, Назва Клієнта. Створити форму Склад. Створити форму Клієнти з підпорядкованою формою про їхні замовлення. Найменування товарів, назви клієнтів та інші дані задайте на свій розсуд. Кількість записів у таблицях не менша п'яти. Обдумайте, опишіть і задайте можливі зв'язки між таблицями.

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

1. Поняття ключового поля. У таблиці має бути хоча би одне поле, жодне значення в якому не повторюється. За допомогою цього поля ідентифікуються записи у цілій таблиці. Таке поле називають ключовим. Якщо створюють декілька таблиць, які об'єднані спільною тематикою, як, наприклад, у задачі про успішність студентів, то таке поле повторюють в інших таблицях, де його значення можуть повторюватися. В іншій таблиці це поле називають полем зовнішнього ключа. Ключове поле служить для налагодження зв'язків між таблицями. Якщо деяке поле в конструкторі оголошене як лічильник, то воно за замо-вчуванням стає ключовим, наприклад, поле НОМЕР у таблиці Оцінки.

У цій же таблиці поле Прізвище чи поля з оцінками не можуть бути ключовими, оскільки значення в них можуть повторюватися. У задачі про склад ключовими можуть бути поля Код Товару, Код Клієнта у відповідних таблицях.

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

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

Розглянемо таблиці Оцінки, Телефони і Адреси.4 Між таблицями Оцінки і Адреси можна налагодити зв'язок по полю НОМЕР типу один до одного (одному запису в першій таблиці відповідатиме один запис у другій). Завдяки такому зв'язку програма однозначно розпізнає, яка адреса в деякого студента, хоча прізвище студента в таблиці Адреси вже не повторюється. Між таблицями Оцінки і Телефони можна налагодити зв'язок по полю НОМЕР типу один до багатьох (один студент може мати багато телефонів). Тоді програма зможе автоматично визначити для конкретного студента всі його номери телефонів.

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

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

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