Загальна операція з'єднання

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

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

Визначення 9. Нехай відношення A містить атрибут X, відношення B містить атрибут Y, а Θ- один з операторів порівняння (і т.д.). Тоді Θ-з'єднанням відносини A по атрибуту X зі ставленням B по атрибуту Y називають відношення

(A TIMES B) WHERE XΘY

Це окремий випадок операції загального з'єднання. Іноді, для операції Θ -соєдіненія застосовують наступний, більш короткий синтаксис: А [XΘY] B

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

Таблиця 15 Ставлення "Які постачальники поставляють які деталі"

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

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

Є важливий окремий випадок з'єднання - еквісоедіненія і просте, але важливе розширення операції еквісоедіненія - природне з'єднання.

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

Приклад 9. Нехай є відносини, і, що зберігають інформацію про постачальників, деталях і постачання відповідно (для зручності введемо короткі найменування атрибутів):

Таблиця 19 Ставлення "Які деталі поставляються якими постачальниками"

Недоліком еквівалентні-з'єднання є те, що якщо з'єднання відбувається по атрибутам з однаковими найменуваннями (а так найчастіше і відбувається!), То в результатірующего щодо з'являється два атрибути з однаковими значеннями. У нашому прикладі атрибути PNUM1 і PNUM2 містять дублюючі дані. Позбутися від цього недоліку можна, взявши проекцію по всіх атрибутів, крім одного з дублюючих. Саме так діє природне з'єднання.

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

18.Структурірованний мову запросовSQL. Оператори ізсостава язикаопределеніяданних (DDL-DataDefinitionLanguage) включає всі оператори, іспользуемиедля визначення схеми БД і об'єктів схеми.

Непроцедурного мова SQL (Structured Query Language - Структурізованний мову запитів) орієнтований на операції з даними, представленими у вигляді логічно взаємопов'язаних сукупностей таблиць. Особливість пропозицій цієї мови полягає в тому, що вони орієнтовані більшою мірою на кінцевий результат обробки даних, ніж на процедуру цієї обробки. SQL сам визначає, де знаходяться дані, які індекси і навіть найбільш ефективні послідовності операцій слід використовувати для їх отримання: не треба вказувати ці деталі в запиті до бази даних.

Оператори DDL (Data Definition Language) - оператори визначення об'єктів бази даних

CREATE SCHEMA - створити схему бази даних

DROP SHEMA - видалити схему бази даних

CREATE TABLE - створити таблицю

ALTER TABLE - змінити таблицю

DROP TABLE - видалити таблицю

CREATE DOMAIN - створити домен

Схожі статті