Замкнутість реляційної алгебри і операція перейменування

Загальна інтерпретація реляційних операцій.

· При виконанні операції об'єднання двох відносин здійснюється ставлення, що включає всі кортежі, що входять хоча б в одне з відносин-операндів.

· Операція перетину двох відносин виробляє ставлення, що включає всі кортежі, що входять в обидва відносини-операнда.

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

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

· Результатом обмеження відносини по деякому умові є ставлення, що включає кортежі відносини-операнда, яке задовольняє цій умові.

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

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

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

· Операція перейменування виробляє ставлення, тіло якого збігається з тілом операнда, але імена атрибутів змінені.

· Операція присвоювання дозволяє зберегти результат обчислення реляційного вираження в існуючому відношенні БД.

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

Замкнутість реляційної алгебри і операція перейменування.

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

Тема відносини є безліч пар <имя-атрибута, имя-домена>. Якщо подивитися на загальний огляд реляційних операцій, наведений у попередньому підрозділі, то видно, що домени атрибутів результуючого відносини однозначно визначаються доменами відносин-операндів.

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

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

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

Якщо два відносини сумісні з об'єднання, то при звичайному виконанні над ними операцій об'єднання, перетину і взяття різниці результатом операції є ставлення з корректно певним заголовком, що збігається з заголовком кожного з відносин-операндів.

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

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

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

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

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

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

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

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

Результатом проекції відносини A за списком атрибутів a1, a2. an є відношення, із заголовком, який визначається безліччю атрибутів a1, a2. an, і з тілом, що складається з кортежів виду

Схожі статті