![](/user_photo/2706_HbeT2.jpg)
II.1.2. Реляційна алгебра вибору (Дрібаса).
Реляційна алгебра вибору була запропонована пізніше реляційної алгебри Кодда і еквівалентна останній з точки зору виразових можливостей. Головною перевагою реляційної алгебри вибору є її орієнтація на прагматичні аспекти.
Основною множиною цієї алгебри, як і раніше, є множина реляцій. До складу множини операцій входять теоретико – множинні операції: , , \, , операція проекції і
три види операцій фільтрації. Всі операції, крім операцій фільтрації, визначаються подібно одноіменним операціям реляційної алгебри Кодда.
Операції фільтрації.
Попереднє зауваження: умова (фільтр) має структуру подібну до виразів у квадратних дужках операцій з’єднання та обмеження (розширений варіант).
Fβ(R, β) – проста фільтрація; R – реляція, а β - фільтр.
В результуючу реляцію проходять тільки ті кортежі з R, які задовольняють умові β.
2.1) F(R1, R2, β) – фільтрація по існуванню; R1,R2 – реляції, а β - фільтр.
Результуюча реляція складається з кортежів реляції R1, для яких в реляції R2 існує хоча б один кортеж, що задовольняє умову β. Перевірка входження кортежа в результат виконується до першого випадку виконання β.
F(R1, R2, β) – фільтрація по узагальненню; R1,R2 – реляції, а β - фільтр.
Результат містить тільки ті кортежі з R1, для яких умова β виконується для всіх кортежів з реляції R2. Перевірка входження кортежа в результат виконується до першого випадку невиконання β.
3) FS(R1, R2, A, Ba C) – фільтрація з множинним порівнянням.
R1,R2 – реляції
A, Ba – списки атрибутів з R1
C – список атрибутів з R2
– бінарний предикат множинного порівняння: , , , , =, .
Семантику цієї фільтрації опишемо алгоритмічно:
кортежі реляції R1 групуються по значенням атрибутів списку A; {R1a}aA
R2 проектується по C
з груп {R1a} вибираються ті кортежі, для яких виконується умова R1[B] R2[C]
в результуючу реляцію вибрані кортежі.
Як уже відзначалося, алгебра вибору має переваги прагматичного аспекту:
в операціях фільтрації результуюча реляція має ту ж структуру, що і реляція R1, тобто не потрібна реструктуризація;
фільтрація з множинним порівнянням дозволяє більш природно і одночасно з можливістю ефективної реалізації описувати деякі складні запити.