Встановлення відношення таблиць
Реляційні бази даних (від англ. relations – відношення) встановлюють між таблицями відношення. Відношення – це зв'язок між двома спільними полями (стовпцями) двох таблиць.
Зв'язувати між собою можна тільки таблиці, які мають одне або декілька спільних полів. Як правило, спільне поле є ключовим, воно може називатися по-різному, але мусить бути одного типу у таблицях, що зв’язуються. Дуже часто це – кодові поля (цифрові), які називають ще ідентифікаторами. Але для спрощення побудови та використання форм для введення інформації у навчальних базах доцільно застосувати йменні поля. Так у прикладі, що використовується у методичному матеріалі [1], для організації зв'язку застосоване текстове поле «Прізвище», яке є спільним для всіх таблиць. При цьому за умовчанням виконується також і зв'язок за ключовими кодовими полями.
Розрізняють три типи відношень (зв'язків):
один до одного (позначки 1 біля кінців зв’язку на схемі даних); в цьому випадку кожному запису однієї таблиці відповідає тільки один запис другої; використовується він тоді коли маємо декілька таблиць з однаковою кількістю записів і вони є, ніби, продовженням одна другої в ширину (наприклад, коли в одній таблиці міститься головна, а в другій – другорядна інформація для кожного запису); також використовується, коли таблиця має надто багато полів, у зв'язку з чим її ділять на декілька таблиць, які потім зв'язують;
один до багатьох (позначкі 1 і на схемі даних); цей тип зв'язку зустрічається найчастіше (в нашому прикладі – отримання одним студентом декілька оцінок з різних дисциплін);
багато до багатьох; між двома таблицями такій зв'язок неможливий; у цьому випадку між такими таблицями мусить бути третя таблиця – проміжна, яка містить обидва кодові поля; якщо такої таблиці немає, то її створюють спеціально з метою забезпечення зв'язку, тоді зв'язок «багато до багатьох» заміняється двома зв'язками «один до багатьох».
Рисунок 2.1 – Зв’язок двох таблиць за текстовим полем «Прізвище»
Встановлення вказаних типів зв'язків доцільно забезпечити при конструюванні таблиць, обравши для полів зв'язку властивість «Индексированное поле» со значенням «Да (Совпадения не допускаются)», якщо всі значення поля унікальні, та «Да (Совпадения не допускаются)», якщо можливі повтори значень. Саме така послідовність здатна забезпечити зв'язок типу «один до багатьох».
Відношення цього типу ілюструється прикладом двох таблиць: основної «Відомості про студентів» та похідної «Результати сесії», які представлені на рисунку 2.1. У основній таблиці «Відомості про студентів» міститься особиста інформація. Тому кожному студенту призначений тільки один запис. Текстове поле «Прізвище» в цієї таблиці має властивість «Индексированное поле» зі значенням «Да (совпадения не допускаються)». Це поле назівається первинним ключем зв’язку. У таблиці «Результати сесії» також є поле «Прізвище», яке має той самий тип текстового і тому саму властивість «Индексированное поле», але зі значенням «Да (совпадения допускаються)». Це поле є зовнішнім по відношенні до таблиці «Результати сесії» ключем. Як бачимо, у верхній таблиці прізвище «АНДРЕЕВ» зустрічається тільки один раз, а в нижній – два рази. Таким чином, реалізоване відношення типу «один до багатьох».
Власно процедура встановлення зв'язку таблиць забезпечується в практичній роботі за допомогою Майстра підстановок. Вона детально описана у методичному матеріалі [1].
Можна використовувати також встановлення та зміну відношень у вікні «Схема данных». Для цього необхідно просто перетягнути відповідно поле з таблиці Первинного ключа у таблицю Зовнішнього ключа на відповідне поле.
