У нас: 141825 рефератів
Щойно додані Реферати Тор 100
Скористайтеся пошуком, наприклад Реферат        Грубий пошук Точний пошук
Вхід в абонемент


операцій, то (А OP В) OP З = А (В OP З), і отже, без введення двозначності можна писати А OP В OP З (А, В і З - відносини, що володіють властивостями, необхідними для коректного виконання відповідної операції). Всі операції, крім взяття різниці, є комутативний, тобто А OP В = В OP А.

5.1.4. Спеціальні реляційні операції

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

Операція обмеження

Операція обмеження вимагає наявності двох операндів: відношення, що обмежується і простої умови обмеження. Проста умова обмеження може мати або вигляд (а comp-op b), де а і b - імена атрибутів відношення, що обмежується, для яких передбачена операція порівняння comp-op, або вигляд (а comp-op const), де а - ім'я атрибута відношення, що обмежується, а const - літерально задана константа.

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

Нехай UNION означає операцію об'єднання, INTERSECT - операцію перетину, а MINUS - операцію взяття різниці. Для позначення операції обмеження будемо використати конструкцію А WHERE comp, де А - відношення, що обмежується, а comp - проста умова порівняння. Нехай comp1 і comp2 - дві простих умови обмеження. Тоді по визначенню:

А WHERE comp1 AND comp2 означає те ж саме, що і (А WHERE comp1) INTERSECT (А WHERE comp2) А WHERE comp1 OR comp2 означає те ж саме, що і (А WHERE comp1) UNION (А WHERE comp2) А WHERE NOT comp1 означає те ж саме, що і А MINUS (А WHERE comp1)

З використанням цих визначень можна використати операції обмеження, в яких умовою обмеження є довільне булеве вираження, складене з простих умов з використанням логічних зв'язок AND, OR, NOT і дужок.

На інтуїтивному рівні операцію обмеження краще усього представляти як взяття деякої "горизонтальної" вирізки з відношення-операнда.

Операція взяття проекції

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

Результатом проекції відношення А по списку атрибутів a1, a2,..., an є відношення, із заголовком, що визначається безліччю атрибутів a1, a2,..., an, і з тілом, що складається з кортежів вигляду <a1:v1, a2:v2,..., an:vn> таких, що у відношенні А є кортеж, атрибут a1 якого має значення v1, атрибут a2 має значення v2,. .., атрибут an має значення vn. Тим самим, при виконанні операції проекції виділяється "вертикальна" вирізка відношення-операнда з природним знищенням потенційно виникаючих кортежів-дублікатів.

Операція з'єднання відносин

Загальна операція з'єднання (звана також з'єднанням по умові) вимагає наявності двох операндів - відносин, що з'єднуються і третього операнда - простої умови. Нехай сполучаються відносини А і B. Як і у разі операції обмеження, умова з'єднання comp має вигляд або (а comp-op b), або (а comp-op const), де а і b - імена атрибутів відносин А і В, const - літерально задана константа, а comp-op - допустима в даному контексті операція порівняння.

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

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

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

Є важливий окремий випадок з'єднання - еквіз'єднання і простої, але важливе розширення операції еквіз'єднання - природне з'єднання. Операція з'єднання називається операцією еквіз’єднання, якщо умова з'єднання має вигляд (а = b), де а і b - атрибути різних операндів з'єднання. Цей випадок важливий тому, що (a) він часто зустрічається на практиці, і (b) для нього існують ефективні алгоритми реалізації.

Операція природного з'єднання застосовується до пари відносин А і В, що володіють (можливо складовим) загальним атрибутом з (тобто атрибутом з одним і тим же ім'ям і визначеним на одному і тому ж домені). Нехай a b означає об'єднання заголовків відносин А і B. Тоді природне з'єднання А і В - це спроектований на a b результат еквіз’єднання А і В по А/з і BBC. Якщо пригадати введене нами в кінці попереднього глави визначення зовнішнього ключа відношення, то повинне стати зрозуміло, що основне значення операції природного з'єднання - можливість відновлення складної суті, декомпазованою внаслідок вимоги першої нормальної форми. Операція природного з'єднання не включається прямо до складу набору операцій реляційної алгебри, але вона має дуже важливе практичне значення.

Операція ділення відносин

Ця операція найменше очевидна з всіх операцій реляційної алгебри і тому потребує більш докладного пояснення. Нехай задані два відношення - А із заголовком {a1, a2,. .., an, b1, b2,..., bm} і В із заголовком {b1, b2,..., bm}. Будемо


Сторінки: 1 2 3 4 5