Головна

Теоретичні МОВИ ЗАПИТІВ | РЕЛЯЦІЙНА АЛГЕБРА | ТЕОРЕТИКО-МНОЖИННІ ОПЕРАЦІЇ реляційної алгебри | Приклад 1. | Приклад 4. | Спеціальні реляційні ОПЕРАЦІЇ | Спільне використання операцій. | Важливими з практичної точки зору окремими випадками з'єднання є еквісоедіненія і природне з'єднання. | RENAME Студент Фам_Ст AS Прізвище, Імя_Ст AS Ім'я | RANGE OF SPX IS SP; |

© um.co.ua - учбові матеріали та реферати

SUMMARIZE R2 BY (Дисципліна, Оцінка) ADD COUNT AS Кількість

  1. A Country Across the Channel
  2. Developing countries not listed by IMF
  3. SUMMARIZE R2 BY (Оцінка) ADD COUNT AS Кількість

Ставлення-результат R буде наступним:

R

 дисципліна  оцінка  Кількість
 БД
 БД  
 ІнМов
 Філософія
 Філософія

приклад. Підбиття підсумків.

Нехай потрібно обчислити кількість поставок по кожному з постачальників (див. Рис. 10.1).

SUMMARIZE SP BY (П #) ADD COUNT AS Колічество_поставок

 П #  Колічество_поставок
 S1  
 S2  
 S3  
 S4  

операція множинного підведення підсумків, Подібно відповідним операціям перейменування і розширення, виконує одночасно кілька «вертикальних» обчислень і записує результати в окремі нові атрибути:

SUMMARIZE <вих. отн.> BY (<список атрибутів>) ADD <вир.1> AS
 <Новий атрибут1>, <вир.2> AS <новий атрібут2>, ...,
 <Вир.N> AS <новий aтpібутN>

Найпростішими прикладами такої операції може служити такі записи:

SUMMARIZE R2 BY (Дисципліна, Оцінка) ADD COUNT AS К-во_Оценок, AVG (Оцінка) AS Средняя_оценка

SUMMARIZE SP BY (Д #) ADD SUM (Кількість) AS Общее_чісло_поставок AVG (Кількість) AS Среднее_чісло_поставок.


До основних операторів, що дозволяє змінювати тіло існуючого ставлення, віднесемо операції реляційного присвоєння, вставки, поновлення и видалення.

операція присвоєння

операціюприсвоєння можна представити в такий спосіб:

<Вираз-ціль>: = <вираз-джерело>,

де обидва вирази задають сумісні (точніше, еквівалентні) за структурою відносини.

Типовий випадок виразів: в лівій частині - ім'я відносини, а в правій - деякий вираз реляційної алгебри.

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

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

приклади.

Заміна тіла відносини S на тіло відносини P:

S: = P

Додавання в відношення S всіх кортежів з відношення P:

S: = S P

додавання відношення S одного кортежу:

S: = S  {{<П #: 'S6'>, <Ім'я: 'Борис'>, <Статус: '50'>,
 <Город_П: 'Москва'>}}

Видалення з відносини S всіх кортежів:

S: = B

якщо B має порожня множина кортежів.


Більш зручними операціями зміни тіла відносини є операції вставки, оновлення та видалення.

операція вставки

операціявставки INSERT має такий вигляд:

INSERT <вираз-джерело> INTO <вираз-ціль>,

де обидва вирази повинні бути сумісні по структурі.

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

приклад.

Вставити кортежі з відносини абітурієнт, У яких оцінка 4 або 5 в відношення студент:

INSERT (Абітурієнт WHERE Оцінка> 3) INTO Студент

приклад.

INSERT (S WHERE Город_П = 'Москва') INTO Temp.


операція поновлення

операціяпоновлення UPDATE має такий вигляд:

UPDATE <вираз-ціль> <список елементів>,

де <Список елементів> являє собою послідовність розділених комами операцій присвоєння

<Атрибут>: = <скалярний вираз>.

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

приклад.

Виправити оцінку студентки Іванової з дисципліни БД на 5:

UPDATE (Студент WHERE Прізвище = 'Іванова' AND Дисципліна = 'БД') Оцінка: = 5.

приклад.

UPDATE (P WHERE Тип = 'розжарений') Місто: = 'Київ'.

Ця операція наказує змінити значення атрибута Місто (Незалежно від того, яким воно було) на нове значення - 'Київ' таких кортежів відносини P, атрибут Тип яких має значення 'Розжарений'.


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

операціявидалення DELETE має наступний вигляд:

DELETE <вираз-ціль>,

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

приклад.

Видалити з відносини Студент все кортежі, у яких атрибут оцінка має значення 2, тобто відрахувати всіх студентів, у яких є хоча б одна двійка:

DELETE (Студент WHERE Бал = 2)

приклад.

DELETE (S WHERE Статус <20)


Операція реляційного порівняння

операціяреляційного порівняння може використовуватися для прямого порівняння двох відносин.

Вона має синтаксис:

<Вираження1> Q <вираженіе2>,

де обидва вирази задають сумісні по структурі відносини, а знак Q - Один з наступних операторів порівняння: = (дорівнює), ? (не дорівнює),
 ? (власне підмножина), <(підмножина), >. (Надмножество),
 ? (власне надмножество).

приклад.

Порівняння: "Чи збігаються прізвища студентів і викладачів?":

Студент [Прізвище] = Викладач [Прізвище].

приклад.

Порівняння: "Чи збігаються міста постачальників і міста зберігання деталей?":

S [Город_П] = Р [Город_Д].


Основні правила запису виразів

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

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

При записи довільного вираження реляційної алгебри треба брати до уваги наступне.

1. У реляційній алгебрі повинен бути визначений пріоритет виконання операцій (Наприклад, операція перетин більш пріоритетна ніж операція об'єднання), який потрібно враховувати при записі виразів. Для зміни порядку виконання операцій у виразах можна використовувати круглі дужки.

2. Існують тотожні перетворення, Що дозволяють по-різному записувати один і той же вираз.

Наприклад, такі вирази еквівалентні (тут А - відношення, С, С1, С2 - вираження):

A WHERE C1 AND С2 и (A WHERE C1) C (A WHERE C2),

A WHERE C1 OR С2 и (A WHERE C1) E (A WHERE С2),

A WHERE NOT З и A \ (A WHERE С).

3. Складаючи вираз, потрібно забезпечувати сумісність що беруть участь в операціях відносин. При необхідності зміни заголовків слід виконувати перейменування атрибутів.



SUMMARIZE R2 BY (Оцінка) ADD COUNT AS Кількість | реляційного числення