Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекц6 Реляц модель Укр!.docx
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
88.7 Кб
Скачать

10

Тема 3. Моделі і типи даних (оновлено 09.2013) Лекція 6. Реляційна модель даних

6.1. Зв'язування таблиць

У БД інформацію звичайно розміщають у декількох таблицях, що зв'язані змістом (семантикою інформації). Для вказівки зв'язків таблиць роблять операцію їхнього зв'язування.

Багато СУБД при зв'язуванні таблиць автоматично виконують контроль цілісності даних, що вводяться в базу, відповідно до встановлених зв'язків. Це підвищує вірогідність збереженої в БД інформації.

Основні види зв'язку таблиць

Між таблицями можуть установлюватися бінарні (між двома таблицями), тернарні (між трьома таблицями) і, у загальному випадку, n-арні зв'язки. Частіше використовуються бінарні зв'язки.

При зв'язуванні двох таблиць виділяють головну і підлеглу таблиці. Зв'язування таблиць здійснюється за допомогою ключа зв'язку.

Ключ зв'язку, за аналогією зі звичайним ключем таблиці, складається з одного чи декількох полів, що у даному випадку називають полями зв'язку. Суть зв'язування полягає у встановленні відповідності полів зв'язку головної і підлеглої таблиць. У якості поля зв'язку головної таблиці найчастіше використовують ключові поля. Поля зв'язку підлеглої таблиці можуть бути звичайними і ключовими.

Між двома таблицями можуть установлюватися наступні чотири основних виду зв'язку (табл. 6.1):

  1. один до одного (1 : 1);

  2. один до багатьох (1 : М);

  3. багато до одного (М : 1);

  4. багато до багатьох (М : М чи M : N).

Характеристика полів зв'язку

1 : 1

1 : М

М : 1

М : М

Поля зв'язку головної таблиці

є ключем

є ключем

не є ключем

не є ключем

Поля зв'язку підлеглої таблиці

є ключем

не є ключем

є ключем

не є ключем

Таблиця 6.1 Характеристика видів зв'язків таблиць

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

Зв'язок виду 1:1

Зв'язок виду 1 : 1 утвориться, коли поля зв'язку двох таблиць є ключовими. Оскільки значення в ключових полях таблиць не повторюються, то забезпечується взаємно однозначна відповідність записів з цих таблиць. Таблиці тут стають рівноправними. Приклад 1. Маються основна Табл1 і додаткова Табл2 таблиці. Ключові поля позначимо "▼", поля, що використовуються для зв'язку, позначимо "●". У таблицях установлений зв'язок між записом (а, 0.5) Табл1 і записом (а, зошит) Табл2. Підставою цього є збіг значень у полях зв'язку (по а). Аналогічний зв'язок існує і між записами (б, 3.0) і (б, блокнот).

Табл1

Табл2

▼ Код

Ціна

а

0.5

б

3.0

г

0.8

▼ Код

Назва

а

зошит

б

блокнот

Табл3

Код

Ціна

Назва

а

0.5

зошит

б

3.0

блокнот

Зіставлення записів двох таблиць означає утворення нових "віртуальних записів" (псевдозаписів). Так, перша пара записів дає псевдозапис (а, 0.5, зошит), а друга пара - псевдозапис (б, 3.0, блокнот), з яких можна скласти нову таблицю Табл3.

На практиці зв'язку виду 1 : 1 використовуються рідко, тому що інформацію з двох таблицях можна легко об'єднати в одну таблицю, що займає менше місця в пам'яті ЕОМ. Однак можливі випадки, коли зручніше мати не одну, а кілька таблиць. Причинами цього може бути необхідність прискорити обробку, підвищити зручність роботи декількох користувачів із загальною інформацією, забезпечити більш високий ступінь захисту інформації і т.д..

Приклад 2. Нехай є відомості про співробітників фірми, що включають: прізвище співробітника; рік народження; освіту; посаду; заробітну плату; характеристику.

У такій ситуації інформацію доцільно зберігати в двох таблицях: в одній - всю інформацію загального характеру (наприклад, прізвище співробітника, рік народження, освіту, посаду), а в іншій - усю конфіденційну інформацію (заробітну плату; характеристику) Обидві таблиці можна зв'язати по прізвищу співробітника. Другу таблицю доцільно захистити від несанкціонованого доступу.

Табл3

▼ Код

Назва

а

зошит

б

блокнот

Табл4

▼ Код

▼ Фирма

Кільк

а

Ляпка

1000

а

Тиса

5000

а

Розквіт

1500

б

Ляпка

500

б

Розквіт

1000

Табл5

Код

Название

Фирма

Кільк

а

тетрадь

Ляпка

1000

а

тетрадь

Тиса

5000

а

тетрадь

Розквіт

1500

б

блокнот

Ляпка

500

б

блокнот

Розквіт

1000