Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Lekcii_OBD.doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
4.87 Mб
Скачать

Вихідне відношення r та результуюче відношення s.

7.4.2.Операція проєкції.

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

7.5. Бінарні операції.

Бінарними називають операції, що мають два операнди (відношеня). До них відносять всі інші операції

7.5.1. Операція декартового добутку

Ця операція визначає нове відношення, що є результатом конкатенації (тобто зчеплення) кожного кортежу з відношення R з кожним кортежем з відношення S.

Якщо одне відношення має I кортежів і N атрибутів, а інше — J кортежів і М атрибутів, то відношення з їхнього декартового добутку буде містити (I x J) кортежів і (N+M) атрибутів.

Вихідні відношення можуть містити атрибути з однаковими іменами. У такому випадку імена атрибутів будуть містити назви відношень у вигляді префіксів для забезпечення унікальності імен атрибутів у відношенні, отриманому як результат виконання операції декартового добутку

CROSS JOIN – перехресне з'єднання (теж саме, що декартовий добуток).

Використовується без конструкції <умова з'єднання >, що в свою чергу робить еквівалентними записи:

FROM T1, T2 та FROM T1 CROSS JOIN T2

7.5.2. Операція об’єднання

Об'єднання відношень R і S з кортежами I і J відповідно можна одержати в результаті їхньої конкатенації з утворенням одного відношення з максимальною кількістю кортежів (I+J), якщо кортежі-дублікати виключені. При цьому відношення R і S повинні бути сумісні по об'єднанню.

7.5.3. Операція різниці.

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

7.5.4.Операції з'єднання

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

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

Операція з'єднання є похідною від операції декартового добутку, тому що вона еквівалентна операції виборки з декартового добутку двох операндів-відношень тих кортежів, що задовольняють умові, зазначеному в предикаті з'єднання як формула виборки.

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

Існує багато різних схем з’єднання, і ви можете створити власні, але найбільш цікаві з огляду на практичне застосуваня будуть наступні:

Формат речень FROM та WHERE при неявному з’єднані таблиць має слідуючий вигляд:

FROM T1[псевдонім1], T2[псевдонім2]…

WHERE < умова з’єднаня > [AND <умова пошуку>]…, де умова з’єднаня включає операцію порівняння для пари стовпців Т1 та Т2.

7.5.4.1.З'єднанняпо еквівалентності- еквіз’єднання.

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

Визначає відношення, яке вміщує кортежі з декартового добутку відношень R і S, що задовольняє предикату F (предикат виконує порівняння тільки на рівність)

7.5.4.2.Природне з'єднання (natural join).

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

SELECT T1.*,T2.* FROM T1 NATURAL JOIN; або

SELECT T1.P1,T1.P2,…,T2.P7 FROM T1 JOIN (джойн) T2 WHERE T1.P1 = T2.P1

7.5.4.3.Напівз'єднання (semi-join).

В ихідні відношення:

Результуюче відношення

7.5.4.4. Тета-з'єднання (O-join).

Операція тета-з'єднання визначає відношення, що містить кортежі з декартового добутку відношень R і S, що задовольняють предикатові F. (Предикат F є логічним виразом, що використовує оператори порівняння (<, <=, >, >=, = або ~=).

Отже особливістю тета-з'єднання є зєднання двох таблиць на основі умови, що відрізняється від рівності.

SELECT A,B,C FROM T1,T2 WHERE(веа) T1.P1 < T2.P1

7.5.4.5.Зовнішнє з'єднання (outer join).

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

7.5.4.5.1. Ліве відкрите зовнішнє з'єднання.

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

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

FROM T1 LEFT JOIN T2 ON T1.P1 = T2.P1

В ихідні відношення R і S:

Результуюче відношення

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]