Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекція 3 Реляційні БД.doc
Скачиваний:
24
Добавлен:
19.11.2019
Размер:
2.52 Mб
Скачать

Природне з'єднання

R S

Природним з'єднанням називається з'єднання по еквівалентності двох відношень R і S, виконане по всіх загальних атрибутах х, з результатів якого виключається по одному екземплярі кожного загального атрибута.

Ступенем природного з'єднання називається сума ступенів операндів-відношень R і S мінус кількість атрибутів х.

Приклад 3.7 Операція природного з'єднання

Створіть список всіх орендарів, що оглядали об'єкти нерухомості з указівкою їхніх імен і зроблених ними коментарями.

У прикладі 3.6 для складання цього списку використовувалося з'єднання по еквівалентності, але в ньому було присутнє два атрибути Rno. Для видалення одного з цих атрибутів можна скористатися операцією природного з'єднання.

( П Rno, Fname, Lname (Renter)) (П Rno, Pno, Comment (Viewing))

Р езультат цих операцій показаний у табл. 3.15

Зовнішнє з'єднання

Найчастіше при з'єднанні двох відношень кортеж з одного відношення не знаходить відповідного кортежу в іншім відношенні. Інакше кажучи, у стовпцях з'єднання виявляються незбіжні значення. Може знадобитися щоб рядок з одного відношення був представлений у результаті з'єднання, навіть якщо в іншім відношенні немає співпадаючого значення. Ця мета може бути досягнута за допомогою зовнішнього з'єднання.

R S

Лівим зовнішнім з'єднанням називається з'єднання, при якому кортежі відношення R, що не мають співпадаючих значень у загальних стовпцях відношення S, також включаються в результуюче відношення.

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

Приклад 3.8 Ліве зовнішнє з'єднання

Створіть звіт про хід проведення оглядів об'єктів нерухомості.

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

( П Rno, Street, City (Property_For_Rent)) (Viewing)

Результати цієї операції показані в табл. 3.16.

Строго говорячи, у прикладі 3.8 показане ліве (природне) зовнішнє з'єднання, оскільки в результуючому відношенні містяться всі кортежі лівого відношення. Існує також праве зовнішнє з'єднання, називане так тому, що в результуючому відношенні містяться всі кортежі правого відношення. Крім того, існує і повне зовнішнє з'єднання, у результуюче відношення якого містяться усі кортежі з обох відношень і в який для позначення незбіжних значень кортежів використовуються визначники NULL.