A A A K K K
для людей з порушеннями зору
Авдіївське професійно-технічне училище

інформатіка

Дата: 20.01.2021 10:02
Кількість переглядів: 84

https://naurok.com.ua/urok-relyaciyni-bazi-danih-hni-ob-ekti-klyuchi-y-zovnishni-klyuchi-zv-yazki-mizh-zapisami-i-tablicyami-viznachennya-tipu-zv-yazku-169797.html

https://dystosvita.gnomio.com/mod/page/view.php?id=4971

Відношення. Головна та підлегла таблиці

У даній темі на прикладі двох таблиць визначаються основні поняття реляційних баз даних, а саме:

  • відношення, типи відношень;
  • штучний та природній ключі;
  • головна (master) та підлегла (detail) таблиці.

2. Що таке відношення (зв’язок) між таблицями (relationship)? Приклад

У реляційній моделі даних таблиці можуть мати між собою зв’язки. Такі зв’язки називаються відношеннями. Для таблиць “Працівник” та “Зарплата” можна встановити зв’язок за полем “Табельний номер”.

Приклад. Проаналізуємо таблиці “Працівник” та “Зарплата”. У цих таблицях можна встановити відношення між таблицями на основі поля “Табельний номер”. Тобто, зв’язок між таблицями відбувається на основі поля (атрибуту) “Табельний номер”.

Це означає наступне. Якщо потрібно пошукати нараховану заробітну плату в таблиці “Зарплата” для працівника Демченко А.Д., то потрібно виконати такі дії:

  • знайти табельний номер працівника Демченко А.Д. у таблиці “Працівник”. Значення табельного номеру рівне 7585;
  • у таблиці “Зарплата” знайти усі значення, що рівні 7585 (табельний номер);
  • вибрати з таблиці “Зарплата” усі значення поля “Нараховано”, що відповідають табельному номеру 7585.

 

Рис. 1. Ілюстрація зв’язку між таблицями. Табельний номер 2145 таблиці “Працівник” відображається у таблиці “Зарплата”

 

Рис. 2. Зв’язок (відношення) між полями таблиць

3. Що таке зовнішній ключ (foreign key)? Приклад

Поняття “зовнішній ключ” є важливим при розгляді зв’язаних таблиць.

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

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

4. Що таке рекурсивний зовнішній ключ?

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

5. Чи можуть первинний та зовнішній ключі бути простими або складеними (складними)?

Первинний, вторинний та зовнішній ключі можуть бути як простими так і складеними. Прості ключі – це ключі, що містять тільки одне поле (один атрибут). Складені (складні) ключі – це ключі, що містять декілька полів (атрибутів).

6. Яка відмінність між штучним та природнім ключем? Приклад

Природній ключ забезпечує унікальність з самої сутності предметної області. Бувають випадки, коли значення записів деякого поля (полів) таблиці є унікальними. Таке поле може бути природнім ключем.

Штучний ключ вводиться додатково для забезпечення унікальних значень. Найчастіше штучний ключ є полем типу лічильник (counter). У такому полі, при додаванні нового запису (рядка) в таблицю, значення лічильника збільшується на 1 (або іншу величину). Якщо запис видалити з таблиці, то максимальне значення лічильника рядків вже не зменшується, а залишається як є. Як правило, за цим всім слідкує система керування базами даних.

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

У таблиці “Зарплата” значення в усіх чотирьох полях можуть випадково повторитись. Тому, тут доцільно додати додаткове поле- лічильник, яке буде штучним ключем. У цьому випадку таблиця “Зарплата” з додатковим полем може мати приблизно такий вигляд:

 

де поле “Номер” є штучним ключем, що забезпечує унікальність.

7. Які є способи вибору первинного ключа?

Існує 3 способи вибору первинного ключа:

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

8. Що означають терміни “головна таблиця” (master) та “підлегла таблиця” (detail)?

Якщо між таблицями є зв’язок, то одна з них може бути головною (master), а інша підлеглою (detail). Головна таблиця відображає всі записи, що містяться в ній. Підлегла таблиця відображає тільки тільки ті записи, що відповідають значенню ключа головної таблиці, яке на даний момент є активним (поточним). Якщо змінюється поточний запис головної таблиці, то змінюється множина доступних записів підлеглої таблиці.

Приклад. Якщо розглянути таблиці “Працівник” та “Зарплата”, то таблиця “Працівник” є головною, а таблиця “Зарплата” є підлеглою.

9. Які є типи відношень (зв’язків) між таблицями?

Існує 4 основні типи відношень між таблицями:

  • “один до одного”. У цьому випадку кожному запису однієї таблиці відповідає тільки один запис іншої таблиці;
  • “один до багатьох”. Це коли одному запису головної таблиці (master) відповідає декілька записів підлеглої таблиці (detail). Тобто, в кожному запису, що є первинним ключем однієї таблиці, відповідає декілька записів зв’язаної таблиці;
  • “багато до одного”. Це коли декільком записам головної таблиці відповідає один запис підлеглої таблиці;
  • “багато до багатьох”. Це коли в обох таблицях існує декілька взаємозв’язаних записів.

Приклад. У випадку двох таблиць “Працівник” і “Зарплата” є відношення (зв’язок) типу “один до багатьох”. Таблиця “Працівник” є головною. Таблиця “Зарплата” є підлеглою.


 


« повернутися

Код для вставки на сайт

Вхід для адміністратора

Онлайн-опитування:

Увага! З метою уникнення фальсифікацій Ви маєте підтвердити свій голос через E-Mail
Скасувати

Результати опитування

Дякуємо!

Ваш голос було підтверджено

Форма подання електронного звернення


Авторизація в системі електронних звернень