Бази даних та інформаційні системи
Маніпуляційна частина реляційної моделі.
Реляційна алгебра.
(тема 2)
Лекції 6,7
ІТІНФ-23-1,2
План лекції
Загальна характеристика маніпуляційної частини РМ (введення)
Висновок
ХНУРЕ кафедра Інформатики доц. Яковлева О.В.
2
Загальна характеристика маніпуляційної частини РМ (введення)
Однією важливою частиною моделі даних є механізм маніпулювання даними (або мова запитів), який забезпечує вибірку та оновлення даних.
Реляційна алгебра заснована на теорії множин і деяких спеціальних операторах над відношеннями.
Реляційне обчислення базується на математичній логіці (точніше, на обчисленні предикатів першого порядку).
Реляційна алгебра і реляційне обчислення відрізняються рівнем процедурності.
!РА: Запит може бути обчислений на основі виконання елементарних операцій РА з урахуванням їхньої пріоритетності
r←f(r1, r2, …, rn ), де f - сукупність операцій РА.
Приклад, r ← r1∪r2×r3;
!РО: Вирази РІ ставлять умови, яким мають задовольняти кортежі результуючого відношення (однозначна обчислювальна інтерпретація відсутня)
{S | F(S)} - знайти множину кортежів S, для яких предикат F(S) є істинним
Приклад.
Нехай областю визначення кортежів S є СЛУЖАЩИЙ, що позначається СЛУЖАЩИЙ(S)
{S | СЛУЖАЩИЙ(S) ∧ S. слу_зарп> 20000} - службовці, які отримують зарплату, більшу за 20000
ХНУРЕ кафедра Інформатики доц. Яковлева О.В.
3
Загальна характеристика маніпуляційної частини РМ
r←f(r1, r2, …, rn ).
для кожного виразу РА існує еквівалентний вираз у РО (і навпаки)
ХНУРЕ кафедра Інформатики доц. Яковлева О.В.
4
Склад реляційної алгебри Кодда.
!В алгебрі Кодда набір основних алгебраїчних операцій складається з 8 операцій, які поділяються на два класи - теоретико-множинні операції та спеціальні реляційні операції.
Теоретико-множинні операції:
Спеціальні реляційні операції:
Основні операції (5 штук):
вибірка, проекція, декартовий добуток, об'єднання, різниця.
На підставі основних 5 операцій можна отримати додаткові:
з'єднання, перетин, ділення.
Додаткові операції реляційної алгебри:
ХНУРЕ кафедра Інформатики доц. Яковлева О.В.
5
Додаткові операції реляційної алгебри
Пріоритет : 4 (найвищий)
Позначення:
r.a - точкова нотація;
- перейменування відношень;
- перейменування атрибутів
Пріоритет : 0 (найнижчий)
Позначення:
r←f(r1, r2, …, rn )
Визначення: Операція дає змогу зберегти результати обчислення реляційного виразу f(r1, r2, ..., rn ) в існуючому відношенні r
ХНУРЕ кафедра Інформатики доц. Яковлева О.В.
6
Особливості теоретико-множинних операцій РА�Операції об'єднання, перетину, різниці. �Сумісність за типом
Рисунок 2.1 - Ілюстрація результатів теоретико-множинних операцій
у заголовках обох відношень повинен міститися один і той самий набір імен атрибутів, і однойменні атрибути визначені на одному і тому ж домені.
Якщо два відношення "майже" сумісні за типом, тобто сумісні в усьому, крім імен атрибутів, то можна застосувати:
ХНУРЕ кафедра Інформатики доц. Яковлева О.В.
7
Особливості теоретико-множинних операцій РА�Операції об'єднання, перетину, різниці.
ХНУРЕ кафедра Інформатики доц. Яковлева О.В.
8
Назва операції | Пріоритет | Позначення | Ілюстрація | Визначення |
Об'єднання | 1 | | r s | Визначає нове відношення, яке включає всі кортежі, що містяться хоча б в одному з відношень r або s, причому всі дублікати кортежів виключено. При цьому відношення r і s повинні бути сумісними за типом (відношення r і s повинні мати співпадаючі заголовки) |
Перетин | 2 | | r s | Визначає відношення, яке містить кортежі, присутні як у відношенні r, так і у відношенні s. Відносини r і s мають бути сумісними за типом |
Різниця | 1 | | r s | Різниця двох відношень r і s складається з кортежів, які є у відношенні r (перший операнд), але відсутні у відношенні s (другий операнд). Причому відношення r і s мають бути сумісними за типом |
Особливості теоретико-множинних операцій РА�Операції об'єднання, перетину, різниці.
Приклад:
СЛУЖБОВЕЦЬ_ПРОЕКТ1
СЛУЖБОВЕЦЬ_ПРОЕКТ2
Рисунок 2.2 - Відношення-екземпляри�
ХНУРЕ кафедра Інформатики доц. Яковлева О.В.
9
Слу_номер | Слу_ім'я | Слу_зарп | Слу_відд_номер |
2934 | Іванченко | 22 000.00 | 310 |
2935 | Петренко | 30 000.00 | 310 |
2936 | Сидоренко | 18 000.00 | 313 |
2937 | Федорченко | 20 000.00 | 310 |
2938 | Іваненко | 22 000.00 | 315 |
Слу_номер | Слу_ім'я | Слу_зарп | Слу_відд_номер |
2934 | Іванченко | 22 000.00 | 310 |
2935 | Петренко | 30 000.00 | 310 |
2939 | Капустенко | 18 000.00 | 313 |
2940 | Гришенко | 20 000.00 | 310 |
2941 | Обрізова | 22 000.00 | 315 |
Особливості теоретико-множинних операцій РА�Операції об'єднання, перетину, різниці.
Рисунок 2.3 - Результати виконання операцій ∪, ∩, –
ХНУРЕ кафедра Інформатики доц. Яковлева О.В.
10
Слу_номер | Слу_ім'я | Слу_зарп | Слу_відд_номер |
2934 | Іванченко | 22 000.00 | 310 |
2935 | Петренко | 30 000.00 | 310 |
2936 | Сидоренко | 18 000.00 | 313 |
2937 | Федорченко | 20 000.00 | 310 |
2938 | Іваненко | 22 000.00 | 315 |
2939 | Сидоренко | 18 000.00 | 313 |
2940 | Федоренко | 20 000.00 | 310 |
2941 | Іваненко | 22 000.00 | 315 |
Слу_номер | Слу_ім'я | Слу_зарп | Слу_відд_номер |
2934 | Іванченко | 22 000.00 | 310 |
2935 | Петренко | 30 000.00 | 310 |
Слу_номер | Слу_ім'я | Слу_зарп | Слу_відд_номер |
2936 | Сидоренко | 18 000.00 | 313 |
2937 | Федорченко | 20 000.00 | 310 |
2938 | Іваненко | 22 000.00 | 315 |
Особливості теоретико-множинних операцій РА�Операція розширеного декартового добутку.
ХНУРЕ кафедра Інформатики доц. Яковлева О.В.
11
Особливості теоретико-множинних операцій РА�Операція розширеного декартового добутку. �Сумісність відносно операції
Сумісність за взяттям розширеного декартового добутку :
перетин множин імен атрибутів цих відношень порожній.
Для приведення до сумісності за взяттям декартового добутку застосовуються:
ХНУРЕ кафедра Інформатики доц. Яковлева О.В.
12
Зауваження! Перемножувати можна відношення, що не сумісні за типом.
Особливості теоретико-множинних операцій РА�Операція розширеного декартового добутку
ХНУРЕ кафедра Інформатики доц. Яковлева О.В.
13
Назва операції | Пріоритет | Ілюстрація | Позначення | Визначення |
Розширений декартовий добуток | 2 | r s | | Визначає нове відношення, яке є результатом конкатенації (тобто зчеплення) кожного кортежа з відношення r з кожним кортежем з відношення s. Причому перетин заголовків вихідних відношень r і s порожній (тобто вихідні відношення повинні бути сумісні за взяттям розширеного добутку). |
c |
a |
b |
d |
1 |
2 |
3 |
c | d |
a | 1 |
a | 2 |
a | 3 |
b | 1 |
b | 2 |
b | 3 |
Зауваження! Якщо відношення r1 має N кортежів і n атрибутів, r2 - M кортежів і m атрибутів, то r1 × r2 міститиме (N*M) кортежів і (n+m) атрибутів.
Особливості теоретико-множинних операцій РА�Операція розширеного декартового добутку.
Приклад:
ПРОЄКТ
СЛУЖБОВЕЦЬ_ПРОЄКТ1
СЛУЖБОВЕЦЬ_ПРОЄКТ1 × ПРОЄКТ
Рисунок 2.4 -Результат операції СЛУЖБОВЕЦЬ_ПРОЄКТ1 × ПРОЄКТ
ХНУРЕ кафедра Інформатики доц. Яковлева О.В.
14
Проєкт_назва | Проєкт_рук |
Проєкт1 | 2934 |
Проєкт2 | 2941 |
Слу_номер | Слу_ім'я | Слу_зарп | Слу_відд_номер |
2934 | Іванченко | 22 000.00 | 310 |
2935 | Петренко | 30 000.00 | 310 |
2936 | Сидоренко | 18 000.00 | 313 |
2937 | Федорченко | 20 000.00 | 310 |
2938 | Іваненко | 22 000.00 | 315 |
Слу_номер | Слу_ім'я | Слу_зарп | Слу_відд_номер | Проект_назва | Проект_рук |
2934 | Іванченко | 22 000.00 | 310 | Проект1 | 2934 |
2935 | Петренко | 30 000.00 | 310 | Проект1 | 2934 |
2936 | Сидоренко | 18 000.00 | 313 | Проект1 | 2934 |
2937 | Федорченко | 20 000.00 | 310 | Проект1 | 2934 |
2938 | Іваненко | 22 000.00 | 315 | Проект1 | 2934 |
2934 | Іванченко | 22 000.00 | 310 | Проект2 | 2941 |
2935 | Петренко | 30 000.00 | 310 | Проект2 | 2941 |
2936 | Сидоренко | 18 000.00 | 313 | Проект2 | 2941 |
2937 | Федорченко | 20 000.00 | 310 | Проект2 | 2941 |
2938 | Іваненко | 22 000.00 | 315 | Проект2 | 2941 |
Особливості теоретико-множинних операцій РА
(A оп B) оп C = A оп (B оп C),
де оп - теоретико-множинна операція РА.
A оп B = B оп A.
ХНУРЕ кафедра Інформатики доц. Яковлева О.В.
15
Спеціальні реляційні операції.�Операція обмеження (вибірка, селекція)
ХНУРЕ кафедра Інформатики доц. Яковлева О.В.
16
Назва операції | Пріоритет | Ілюстрація | Позначення | Визначення |
Вибірка | 3 |
| | Визначає результуюче відношення, яке містить тільки ті кортежі (рядки) з відношення r, які задовольняють заданій умові p (предикату) |
Спеціальні реляційні операції.�Операція обмеження (вибірка)
ХНУРЕ кафедра Інформатики доц. Яковлева О.В.
17
Слу_номер | Слу_ім'я | Слу_зарп | Слу_відд_номер |
2934 | Іванченко | 22 000.00 | 310 |
2935 | Петренко | 30 000.00 | 310 |
2936 | Сидоренко | 18 000.00 | 313 |
2937 | Федорченко | 20 000.00 | 310 |
2938 | Іваненко | 22 000.00 | 315 |
СЛУЖБОВЕЦЬ_310_315_20000←
Слу_номер | Слу_ім'я | Слу_зарп | Слу_відд_номер |
2934 | Іванченко | 22 000.00 | 310 |
2935 | Петренко | 30 000.00 | 310 |
2938 | Іваненко | 22 000.00 | 315 |
Рисунок 2.5 - Результат операції вибірки
Спеціальні реляційні операції.�Операція проекція
ХНУРЕ кафедра Інформатики доц. Яковлева О.В.
18
Назва операції | Пріоритет | Ілюстрація | Позначення | Визначення |
Проекція | 3 |
| | Визначає нове відношення, що містить вертикальну підмножину відношення r, що створюється за допомогою вилучення значень зазначених атрибутів і виключення з результату рядків-дублікатів |
Зауваження! Потенційна потреба видалення дублікатів дуже ускладнює реалізацію операції проекції.
Спеціальні реляційні операції.�Операція проекція
ХНУРЕ кафедра Інформатики доц. Яковлева О.В.
19
Слу_номер | Слу_ім'я | Слу_зарп | Слу_відд_номер |
2934 | Іванченко | 22 000.00 | 310 |
2935 | Петренко | 30 000.00 | 310 |
2936 | Сидоренко | 18 000.00 | 313 |
2937 | Федорченко | 20 000.00 | 310 |
2938 | Іваненко | 22 000.00 | 315 |
Слу_відд_номер |
310 |
313 |
315 |
Рисунок 2.6 - Результат виконання операції проекції
Завдання (слайд 9):
ХНУРЕ кафедра Інформатики доц. Яковлева О.В.
20
Спеціальні реляційні операції.�З'єднання відношень
Види з'єднань:
Спосіб отримання:
ХНУРЕ кафедра Інформатики доц. Яковлева О.В.
21
Спеціальні реляційні операції.�З'єднання відношень. Тетаз'єднання
Зауваження!
ХНУРЕ кафедра Інформатики доц. Яковлева О.В.
22
Назва операції | Пріоритет | Ілюстрація | Позначення | Визначення |
Тета-з'єднання | 2 | | | Визначає відношення, яке містить кортежі з декартового добутку відношень r і s, що задовольняють предикату p |
x | y |
a | 1 |
b | 2 |
y | z |
1 | k |
1 | m |
3 | t |
x | r.y | s.y | z |
a | 1 | 3 | t |
b | 2 | 3 | t |
Спеціальні реляційні операції.�З'єднання відношень. Тетаз'єднання
ХНУРЕ кафедра Інформатики доц. Яковлева О.В.
23
a | b | c |
1 | 2 | 3 |
4 | 5 | 6 |
7 | 8 | 9 |
x | y |
3 | 1 |
6 | 2 |
a | b | C |
1 | 2 | 3 |
4 | 5 | 6 |
7 | 8 | 9 |
x | y | z |
3 | 2 | 1 |
4 | 5 | 6 |
1 | 8 | 7 |
a | b | c | x | y |
1 | 2 | 3 | 3 | 1 |
1 | 2 | 3 | 6 | 2 |
4 | 5 | 6 | 6 | 2 |
Спеціальні реляційні операції.�З'єднання відношень. Еквіз'єднання
ХНУРЕ кафедра Інформатики доц. Яковлева О.В.
24
Назва операції | Пріоритет | Ілюстрація | Позначення | Визначення |
Екві-з'єднання | 2 | | | Визначає відношення, що містить кортежі з декартового добутку відношень r і s, які задовольняють предикату p, що має припускати тільки порівняння на рівність |
x | y |
a | 1 |
b | 2 |
y | z |
1 | k |
1 | m |
3 | t |
x | r.y | s.y | z |
a | 1 | 1 | k |
a | 1 | 1 | m |
Спеціальні реляційні операції.�З'єднання відношень. Еквіз'єднання
ХНУРЕ кафедра Інформатики доц. Яковлева О.В.
25
a | b | c |
1 | 2 | 3 |
4 | 5 | 6 |
7 | 8 | 9 |
x | y |
3 | 1 |
6 | 2 |
a | b | c |
1 | 2 | 3 |
4 | 5 | 6 |
7 | 8 | 9 |
x | y | z |
3 | 2 | 1 |
4 | 5 | 6 |
1 | 8 | 7 |
a | b | c | x | y |
1 | 2 | 3 | 3 | 1 |
4 | 5 | 6 | 6 | 2 |
a | b | c | x | y | z |
1 | 2 | 3 | 3 | 2 | 1 |
7 | 8 | 9 | 1 | 8 | 7 |
Спеціальні реляційні операції.�З'єднання відношень. Природне з'єднання
Зауваження!
ХНУРЕ кафедра Інформатики доц. Яковлева О.В.
26
Назва операції | Пріоритет | Ілюстрація | Позначення | Визначення |
Природне з'єднання | 2 | | | Природним з'єднанням називається з'єднання за еквівалентністю двох відношень r і s, виконане за всіма спільними атрибутами х, з результатів якого виключається по одному екземпляру кожного спільного атрибута |
x | y |
a | 1 |
b | 2 |
y | z |
1 | k |
1 | m |
3 | t |
x | y | z |
a | 1 | k |
a | 1 | m |
Спеціальні реляційні операції.�З'єднання відношень. Природне з'єднання
ХНУРЕ кафедра Інформатики доц. Яковлева О.В.
27
x | y | z |
a | b | c |
d | b | c |
b | b | f |
c | a | d |
y | z | w |
b | c | d |
b | c | e |
a | d | b |
Спеціальні реляційні операції.�З'єднання відношень.
СЛУЖБОВЕЦЬ
ХНУРЕ кафедра Інформатики доц. Яковлева О.В.
28
Слу_номер | Слу_ім'я | Слу_зарп | Слу_відд_номер |
2934 | Іванченко | 22 000.00 | 310 |
2935 | Петренко | 30 000.00 | 310 |
2936 | Сидоренко | 18 000.00 | 313 |
2937 | Федорченко | 20 000.00 | 310 |
2938 | Іваненко | 22 000.00 | 315 |
2939 | Сидоренко | 18 000.00 | 313 |
2940 | Федоренко | 20 000.00 | 310 |
2941 | Іваненко | 22 000.00 | 315 |
Проєкт_номер | Проєкт_кер | Проєкт_сер_зарп |
1 | 2934 | 22 400.00 |
2 | 2941 | 22 400.00 |
Слу_номер | Проєкт_номер |
2934 | 1 |
2935 | 1 |
2936 | 1 |
2937 | 1 |
2938 | 1 |
2934 | 2 |
2935 | 2 |
2939 | 2 |
2940 | 2 |
2941 | 2 |
ЗАЙНЯТІСТЬ
ПРОЄКТ
Рисунок 2.7 - Відношення-екземпляри
СЛУЖБОВЕЦЬ, ПРОЄКТ, ЗАЙНЯТІСТЬ
З'єднання відношень.
ХНУРЕ кафедра Інформатики доц. Яковлева О.В.
29
Слу_номер | Проєкт_номер | Проєкт_номер1 | Проєкт_кер | Проект_сер_зарп |
2934 | 1 | 1 | 2934 | 22 400.00 |
2935 | 1 | 1 | 2934 | 22 400.00 |
2936 | 1 | 1 | 2934 | 22 400.00 |
2937 | 1 | 1 | 2934 | 22 400.00 |
2938 | 1 | 1 | 2934 | 22 400.00 |
2934 | 2 | 2 | 2941 | 22 400.00 |
2935 | 2 | 2 | 2941 | 22 400.00 |
2939 | 2 | 2 | 2941 | 22 400.00 |
2940 | 2 | 2 | 2941 | 22 400.00 |
2941 | 2 | 2 | 2941 | 22 400.00 |
Слу_номер | Проєкт_номер | Проєкт_кер | Проєкт_сер_зарп |
2934 | 1 | 2934 | 22 400.00 |
2935 | 1 | 2934 | 22 400.00 |
2936 | 1 | 2934 | 22 400.00 |
2937 | 1 | 2934 | 22 400.00 |
2938 | 1 | 2934 | 22 400.00 |
2934 | 2 | 2941 | 22 400.00 |
2935 | 2 | 2941 | 22 400.00 |
2939 | 2 | 2941 | 22 400.00 |
2940 | 2 | 2941 | 22 400.00 |
2941 | 2 | 2941 | 22 400.00 |
З'єднання відношень
ХНУРЕ кафедра Інформатики доц. Яковлева О.В.
30
Слу_номер | Слу_ім'я | Слу_зарп | Слу_відд_номер | Проєкт_номер |
2934 | Іванченко | 22 000.00 | 310 | 1 |
2935 | Петренко | 30 000.00 | 310 | 1 |
2936 | Сидоренко | 18 000.00 | 313 | 1 |
2937 | Федорченко | 20 000.00 | 310 | 1 |
2938 | Іваненко | 22 000.00 | 315 | 1 |
2934 | Іванченко | 22 000.00 | 310 | 2 |
2935 | Петренко | 30 000.00 | 310 | 2 |
2939 | Сидоренко | 18 000.00 | 313 | 2 |
2940 | Федоренко | 20 000.00 | 310 | 2 |
2941 | Іваненко | 22 000.00 | 315 | 2 |
Слу_номер | Слу_ім'я | Слу_зарп | Слу_відд_номер | Проєкт_номер | Проєкт_кер | Проєкт_сер_зарп |
2934 | Іванченко | 22 000.00 | 310 | 1 | 2934 | 22 400.00 |
2935 | Петренко | 30 000.00 | 310 | 1 | 2934 | 22 400.00 |
2936 | Сидоренко | 18 000.00 | 313 | 1 | 2934 | 22 400.00 |
2937 | Федорченко | 20 000.00 | 310 | 1 | 2934 | 22 400.00 |
2938 | Іваненко | 22 000.00 | 315 | 1 | 2934 | 22 400.00 |
2934 | Іванченко | 22 000.00 | 310 | 2 | 2941 | 22 400.00 |
2935 | Петренко | 30 000.00 | 310 | 2 | 2941 | 22 400.00 |
2939 | Сидоренко | 18 000.00 | 313 | 2 | 2941 | 22 400.00 |
2940 | Федоренко | 20 000.00 | 310 | 2 | 2941 | 22 400.00 |
2941 | Іваненко | 22 000.00 | 315 | 2 | 2941 | 22 400.00 |
З'єднання відношень
ХНУРЕ кафедра Інформатики доц. Яковлева О.В.
31
Проект_номер | Проект_рук | Проект_ср_зарп |
1 | 2934 | 22 400.00 |
2 | 2941 | 22 400.00 |
ПРОЄКТ (рис.2.12)
Слу_номер | Слу_ім'я | Слу_зарп | Слу_відд_номер | Проект_номер |
2934 | Іванченко | 22 000.00 | 310 | 1 |
2935 | Петренко | 30 000.00 | 310 | 1 |
2936 | Сидоренко | 18 000.00 | 313 | 1 |
2937 | Федорченко | 20 000.00 | 310 | 1 |
2938 | Іваненко | 22 000.00 | 315 | 1 |
2934 | Іванченко | 22 000.00 | 310 | 2 |
2935 | Петренко | 30 000.00 | 310 | 2 |
2939 | Сидоренко | 18 000.00 | 313 | 2 |
2940 | Федоренко | 20 000.00 | 310 | 2 |
2941 | Іваненко | 22 000.00 | 315 | 2 |
З'єднання відношень
СЛУ_ЗАЙНЯТІСТЬ (рис.2.11)
Варіант а:
Варіант б:
ХНУРЕ кафедра Інформатики доц. Яковлева О.В.
32
Проект_номер | Проект_рук | Проект_ср_зарп |
1 | 2934 | 22 400.00 |
2 | 2941 | 22 400.00 |
ПРОЄКТ (рис.2.12)
Слу_номер | Слу_ім'я | Слу_зарп | Слу_відд_номер | Проект_номер |
2934 | Іванченко | 22 000.00 | 310 | 1 |
2935 | Петренко | 30 000.00 | 310 | 1 |
2936 | Сидоренко | 18 000.00 | 313 | 1 |
2937 | Федорченко | 20 000.00 | 310 | 1 |
2938 | Іваненко | 22 000.00 | 315 | 1 |
2934 | Іванченко | 22 000.00 | 310 | 2 |
2935 | Петренко | 30 000.00 | 310 | 2 |
2939 | Сидоренко | 18 000.00 | 313 | 2 |
2940 | Федоренко | 20 000.00 | 310 | 2 |
2941 | Іваненко | 22 000.00 | 315 | 2 |
Слу_номер | Слу_ім'я | Слу_зарп | Слу_відд_номер | Проєкт_номер | Проєкт_рук | Проєкт_ср_зарп |
2935 | Петренко | 30 000.00 | 310 | 1 | 2934 | 22 400.00 |
2935 | Петренко | 30 000.00 | 310 | 2 | 2941 | 22 400.00 |
Спеціальні реляційні операції.�З'єднання відношень. Зовнішнє з'єднання
ХНУРЕ кафедра Інформатики доц. Яковлева О.В.
33
Назва операції | Прі- пріоритет | Ілюстрація | Позначення | Визначення |
Ліве зовнішнє з'єднання | 2 | | | З'єднання, в якому кортежі відношення r, що не мають значень, які збігаються у однойменних стовпчиках відношення s, також включаються до результуючого відношення |
Праве зовнішнє з'єднання | 2 | | | З'єднання, в якому кортежі відношення s, що не мають значень, які збігаються у однойменних стовпчиках відношення r, також включаються до результуючого відношення |
x | y |
a | 1 |
b | 2 |
y | z |
1 | k |
1 | m |
3 | t |
x | y | z |
a | 1 | k |
a | 1 | m |
b | 2 | NULL |
x | y | z |
a | 1 | k |
a | 1 | m |
NULL | 3 | t |
Спеціальні реляційні операції.�З'єднання відношень. Зовнішнє з'єднання
ХНУРЕ кафедра Інформатики доц. Яковлева О.В.
34
Назва операції | Прі- пріоритет | Ілюстрація | Позначення | Визначення |
Зовнішнє з'єднання (двосто-роннє) | 2 | | | З'єднання, де кортежі відношень r і s, що не мають значень, які збігаються у однойменних стовпчиках, також включаються до результуючого відношення |
x | y |
a | 1 |
b | 2 |
y | z |
1 | k |
1 | m |
3 | t |
x | y | z |
a | 1 | k |
a | 1 | m |
b | 2 | NULL |
NULL | 3 | t |
Спеціальні реляційні операції.�З'єднання відносин. Напівз'єднання
ХНУРЕ кафедра Інформатики доц. Яковлева О.В.
35
Назва операції | Пріоріорі-тет | Ілюстрація | Позначення | Визначення |
Напів-з'єднання | 2 | | | Визначає відношення, що містить ті кортежі відношення r, які входять у з'єднання відношень r і s |
x | y |
a | 1 |
b | 2 |
y | z |
1 | k |
1 | m |
3 | t |
x | y |
a | 1 |
Спеціальні реляційні операції.�Операція ділення
r(x1 , x2 , ..., xn , y1 , y2 , ..., ym );
s(y1 , y2 , ..., ym ).
Будемо вважати, що атрибути yj (j = 1, 2, ..., m) відношень r та s не тільки мають однакові імена, а й визначені на одному і тому самому домені.
Назвемо множину атрибутів {xi } складеним атрибутом X,
а множину атрибутів {yj } - складеним атрибутом Y.
Після цього будемо говорити про реляційний ділення "бінарного" відношення r(X,Y) на унарне відношення s(Y).
ХНУРЕ кафедра Інформатики доц. Яковлева О.В.
36
Спеціальні реляційні операції.�Операція ділення
ХНУРЕ кафедра Інформатики доц. Яковлева О.В.
37
Назва операції | Пріоріорі-тет | Ілюстрація | Позначення | Визначення |
Поділ | 2 | | | Операція має два операнди - бінарне r та унарне s відношення. Результуюче відношення складається з унарних кортежів, що включають значення першого атрибута кортежів відношення r, таких, що множина значень другого атрибута (при фіксованому значенні першого атрибута) співпадає з множиною значень другого операнда - відношення s |
x | y |
a | 1 |
a | 2 |
b | 1 |
b | 2 |
c | 1 |
y |
1 |
2 |
x |
a |
b |
Залишок
Питання
ХНУРЕ кафедра Інформатики доц. Яковлева О.В.
38