Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
metoditchka.doc
Скачиваний:
4
Добавлен:
11.11.2019
Размер:
527.36 Кб
Скачать

5. Зв’язок між таблицями

БД може складатися з однієї таблиці. Однак зазвичай реляційні БД складаються з взаємозв’язаних таблиць. Організація зв’язку (відношення) між таблицями називається зв’язуванням або з’єднанням таблиць.

Зв’язок між таблицями можна встановлювати як при створенні БД, так і при використанні, засобами, які надає СУБД. Зв’язувати можна дві або кілька таблиць. В реляційній базі, крім зв’язаних, можуть бути і окремі таблиці, не з’єднані ні з однією іншою таблицею.

Для зв’язування таблиць використовуються поля з’язку (іноді використовується термін „співпадаючі поля”). Поля зв’язку обов’язково повинні бути індексованими. В підпорядкованій таблиці для зв’язку з головною таблицею береться поле, яке також називається зовнішнім ключем. Значення полів головної і підпорядкованої таблиці повинно збігатися.

Зв’язок між таблицями визначає відношення підпорядкованості, при якому одна таблиця є головною, а друга – підпорядкованою. Сам зв’язок (відношення) називають зв’язок „головний-підлеглий”, батьківський- дочірній. Існують кілька видів зв’язку:

  • відношення „один-до-одного”;

  • відношення „один-до-багатьох”;

  • відношення „багато-до-одного”;

  • відношення „багато-до-багатьох”.

Відношення „один-до-одного” означає, що одному запису в головній таблиці відповідає один запис в підпорядкованій таблиці. При цьому можливі два варіанти:

  • для кожного запису головної таблиці є запис в підпорядкованій таблиці;

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

Відношення „один-до-багатьох” означає, що одному запису головної таблиці може відповідати кілька записів підпорядкованої таблиці, в окремому випадку ні одного. Цей вид відношення зустрічається найчастіше.

Відношення „багато-до-одного” відрізняється від відношення „один-до-багатьох” тільки напрямком. Якщо на відношення „один-до-багатьох” подивитись зі сторони підпорядкованої таблиці, а не головної, то воно перетворюється у відношення „багато-до-одного”.

Відношення „багато-до-багатьох” має місце, коли одному запису головної таблиці може відповідати кілька записів підпорядкованої таблиці і одночасно одному запису підпорядкованої таблиці – кілька записів головної таблиці. Подібне відношення можливе, наприклад, при плануванні занять в інституті і встановлюється між таблицями, в яких зберігається інформація про номери аудиторій і номери навчальних груп. Так як навчальна група може займатися в різних аудиторіях, то одному запису про навчальну групу (перша таблиця) може відповідати кілька записів аудиторій, в яких ця група займається. В цей же час в одній аудиторії можуть займатися різні навчальні групи (навіть одночасно) тому одному запису про аудиторії може відповідати кілька записів про навчальні групи (друга таблиця).

На практиці відношення „багато-до-багатьох” використовується достатньо рідко. Для цього типу відношення поняття головної і підпорядкованої таблиці позбавлені змісту.

Серед розглянутих відношень найбільш загальним являється відношення „один-до-багатьох”.

Робота із зв’язаними таблицями має наступні особливості:

  • при зміні (редагуванні) поля зв’язку може порушитись зв’язок між записами двох таблиць. Тому при редагуванні поля зв’язку запису головної таблиці потрібно відповідно змінювати і значення поля зв’язку всіх підпорядкованих таблиць;

  • при знищенні запису головної таблиці потрібно знищити і відповідні їй записи в підпорядкованій таблиці (каскадне знищення);

  • при додаванні запису в підпорядковану таблицю значення її поля зв’язку повинно бути встановлено рівним значенню поля зв’язку головної таблиці.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]