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

3.4.1. Реляційна алгебра

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

Р еляційна алгебра є мовою послідовного використання відношень, у яких всі кортежі, можливо, узяті навіть з різних відношень, обробляються однією командою, без організації циклів. Для команд реляційної алгебри запропоновано кілька варіантів синтаксису. Нижче ми скористаємося загальноприйнятими символічними позначеннями для цих команд і представимо їх у неформальному вигляді. Більш докладні зведення по цьому питанню зацікавлений читач зможе знайти в роботах Ульмана (Ullman, 1988).

Існує кілька варіантів вибору операцій, що включаються в реляційну алгебру. Спочатку Кодд запропонував вісім операторів, але згодом до них були додані і деякі інші. П'ять основних операцій реляційної алгебри, а саме вибірка (selection), проекція (projection), декартовий добуток (cartesian product), об'єднання (union) і різниця (set difference), виконують більшість операцій витягу даних, що можуть представляти для нас інтерес. На підставі п'яти основних операцій можна також вивести додаткові операції, такі як операції з'єднання (join), перетинання (intersection) і розподілу (division). Функції цих операцій схематично показані на мал. 3.2.

Операції вибірки і проекції є унарними, оскільки вони працюють з одним відношенням. Інші операції працюють з парами відношень, і тому їх називають бінарними операціями. У приведених нижче визначеннях R і S - це двоє відношень, визначені над атрибутами A = (a1, a2,…...,an,) і B = (b1, b2,…...,bn,) відповідно. Для ілюстрації результатів виконання операцій ми скористаємося відношеннями бази даних навчального проекту DreamHome, що містять зведеннями про оренду нерухомості (див. табл. 3.3-3.8)

Вибірка (чи обмеження)

σ предикат (R)

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

Приклад 3.1 Операція вибірки

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

σ Salary > 10000 (Staff)

Тут вихідним відношенням є відношення Staff, а предикатом – виразу Salary > 10000. Операція вибірки визначає нове відношення, що містить тільки ті кортежі відношення Staff, у яких значення атрибута Salary перевищує 10000 фунтів стерлінгів. Результат виконання цієї операції показаний у табл. 3.9. Більш складні предикати можуть бути задані за допомогою логічних операторів (AND), (OR) і – (NOT).

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