Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
4. Реляційні бази даних.docx
Скачиваний:
7
Добавлен:
22.11.2019
Размер:
45.05 Кб
Скачать

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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