Здавалка
Главная | Обратная связь

Основні операції реляційної алгебри з обробки відношень



Реляційні оператори

Рівень відповідності вимогам до реляційної БД може визначатися через ступінь підтримання реляційної алгебри.

Реляційна алгебра визначає теоретичні способи маніпулювання вмістом таблиць за допомогою восьми реляційних операторів: SELECT (вибір), PROJECT (проекція), JOIN (з'єднання), INTERSECT (перетин), UNION (об'єднання), DIFFERENCE (різниця), PRODUCT (добуток), DIVIDE (ділення).

Щоб базу даних можна було вважати реляційною хоча б у найменшому ступені, її СУБД має підтримувати основні реляційні оператори SELECT (вибір), PROJECT (проекція) та JOIN (з'єднання). Дуже мало СУБД підтримують всі вісім реляційних операторів.

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

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

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

 

Особливості теоретико-множинних операцій реляційної алгебри (сумісність, перейменування). Теоретико-множинні оператори

Об'єднання (UNION)

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

Синтаксис операції об'єднання: A UNION B

Об'єднання, як і будь-яке відношення, не може містити однакових кортежів. Тому, якщо деякий кортеж входить і у відношення А, і у відношення В, те в об'єднання він входить один раз.

Таким чином, оператор UNION об'єднує усі рядки з двох таблиць. Щоб оператор UNION можна було застосовувати, таблиці мають мати однакові властивості за атрибутами (стовпці та домени мають бути ідентичні). Коли одна чи більше таблиць сумісно використовують одні й ті самі стовпці та домени, говорять, що вони сумісні за об'єднанням (union-compstible) або за типом. Використовуючи термінологію, прийняту при описанні структури відношень, можна сказати, що відносини сумісні за типом, якщо вони мають ідентичні заголовки, а саме,

· Відносини мають ту саму множину імен атрибутів, тобто для будь-якого атрибута в одному відношенні знайдеться атрибут з таким же найменуванням в іншому відношенні,

· Атрибути з однаковими іменами визначені на тих самих доменах.

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

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

 

Оператор перейменування атрибутов має синтаксис ,

де R - відношення, а Atr1, Atr2 - исходные имена атрибутов, NewAtr1, NewAtr2 - нові імена атрибутів.

У результаті застосування оператора перейменування атрибутів одержуємо нове відношення, зі зміненими іменами атрибутів.

Приклад застосування оператору перейменування атрибутів наведений нижче.

Наступний оператор повертає неіменоване відношення, у якому атрибут перейменовано на .

Ефект виконання оператору UNION для відношень сумісних за об'єднанням, наведений нижче.

Нехай дані двоє відношень А та В з інформацією про співробітників:

Табельний номер Прізвище Зарплата
1 Іванов
2 Петров
3 Сидорук

Таблиця 1 Відношення A

Табельний номер Прізвище Зарплата
1 Іванов
2 Пушняк
4 Сидорук

Таблиця 2 Відношення B

Об'єднання цих відношень матиме вигляд:

Табельний номер Прізвище Зарплата
Іванов
Петров
Сидорук
Пушняк
Сидорук

Таблиця 3 Відношення A UNION B

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







©2015 arhivinfo.ru Все права принадлежат авторам размещенных материалов.