- •Тема 3. Моделі і типи даних (оновлено 09.2013) Лекція 6. Реляційна модель даних
- •6.1. Зв'язування таблиць
- •Характеристика видів зв'язку між таблицями і приклади їхнього використання.
- •Зв'язок виду 1 : м
- •Зв'язок виду м : 1
- •Зв'язок виду м : м
- •6.2. Контроль цілісності зв'язків
- •6.3. Реляційна алгебра
- •Традиційні операції реляційної алгебри
- •Питання для самоконтролю по лекції 6
Тема 3. Моделі і типи даних (оновлено 09.2013) Лекція 6. Реляційна модель даних
6.1. Зв'язування таблиць
У БД інформацію звичайно розміщають у декількох таблицях, що зв'язані змістом (семантикою інформації). Для вказівки зв'язків таблиць роблять операцію їхнього зв'язування.
Багато СУБД при зв'язуванні таблиць автоматично виконують контроль цілісності даних, що вводяться в базу, відповідно до встановлених зв'язків. Це підвищує вірогідність збереженої в БД інформації.
Основні види зв'язку таблиць
Між таблицями можуть установлюватися бінарні (між двома таблицями), тернарні (між трьома таблицями) і, у загальному випадку, n-арні зв'язки. Частіше використовуються бінарні зв'язки.
При зв'язуванні двох таблиць виділяють головну і підлеглу таблиці. Зв'язування таблиць здійснюється за допомогою ключа зв'язку.
Ключ зв'язку, за аналогією зі звичайним ключем таблиці, складається з одного чи декількох полів, що у даному випадку називають полями зв'язку. Суть зв'язування полягає у встановленні відповідності полів зв'язку головної і підлеглої таблиць. У якості поля зв'язку головної таблиці найчастіше використовують ключові поля. Поля зв'язку підлеглої таблиці можуть бути звичайними і ключовими.
Між двома таблицями можуть установлюватися наступні чотири основних виду зв'язку (табл. 6.1):
один до одного (1 : 1);
один до багатьох (1 : М);
багато до одного (М : 1);
багато до багатьох (М : М чи M : N).
Характеристика полів зв'язку |
1 : 1 |
1 : М |
М : 1 |
М : М |
Поля зв'язку головної таблиці |
є ключем |
є ключем |
не є ключем |
не є ключем |
Поля зв'язку підлеглої таблиці |
є ключем |
не є ключем |
є ключем |
не є ключем |
Таблиця 6.1 Характеристика видів зв'язків таблиць
Характеристика видів зв'язку між таблицями і приклади їхнього використання.
Зв'язок виду 1:1
Зв'язок виду 1 : 1 утвориться, коли поля зв'язку двох таблиць є ключовими. Оскільки значення в ключових полях таблиць не повторюються, то забезпечується взаємно однозначна відповідність записів з цих таблиць. Таблиці тут стають рівноправними. Приклад 1. Маються основна Табл1 і додаткова Табл2 таблиці. Ключові поля позначимо "▼", поля, що використовуються для зв'язку, позначимо "●". У таблицях установлений зв'язок між записом (а, 0.5) Табл1 і записом (а, зошит) Табл2. Підставою цього є збіг значень у полях зв'язку (по а). Аналогічний зв'язок існує і між записами (б, 3.0) і (б, блокнот).
Табл1 |
Табл2 |
||||||||||||||
|
|
||||||||||||||
Табл3 |
|||||||||||||||
|
|||||||||||||||
Зіставлення записів двох таблиць означає утворення нових "віртуальних записів" (псевдозаписів). Так, перша пара записів дає псевдозапис (а, 0.5, зошит), а друга пара - псевдозапис (б, 3.0, блокнот), з яких можна скласти нову таблицю Табл3.
На практиці зв'язку виду 1 : 1 використовуються рідко, тому що інформацію з двох таблицях можна легко об'єднати в одну таблицю, що займає менше місця в пам'яті ЕОМ. Однак можливі випадки, коли зручніше мати не одну, а кілька таблиць. Причинами цього може бути необхідність прискорити обробку, підвищити зручність роботи декількох користувачів із загальною інформацією, забезпечити більш високий ступінь захисту інформації і т.д..
Приклад 2. Нехай є відомості про співробітників фірми, що включають: прізвище співробітника; рік народження; освіту; посаду; заробітну плату; характеристику.
У такій ситуації інформацію доцільно зберігати в двох таблицях: в одній - всю інформацію загального характеру (наприклад, прізвище співробітника, рік народження, освіту, посаду), а в іншій - усю конфіденційну інформацію (заробітну плату; характеристику) Обидві таблиці можна зв'язати по прізвищу співробітника. Другу таблицю доцільно захистити від несанкціонованого доступу.
|
|
||||||||||||||||||||||||||||||||||
Табл5 |
|||||||||||||||||||||||||||||||||||
|
|||||||||||||||||||||||||||||||||||
