Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Консп базов ТП и Адм БД.doc
Скачиваний:
0
Добавлен:
01.03.2025
Размер:
12.42 Mб
Скачать

5.5. Основи реляційної алгебри Операції з даними в реляційній моделі

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

Операції, що виконуються на рівні кортежів:

  • вставка (додається новий рядок),

  • вилучення (знищується рядок),

  • поновлення (здійснюються зміни значень атрибутів у рядках).

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

Реляційна модель баз даних надає можливість маніпулювати над доменами відношень. Для цих цілей існує два види апаратів маніпулювання відношеннями: реляційна алгебра (алгебра відношень) і реляційне обчислення (обчислення відношень).

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

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

В реляційній алгебрі використовують п'ять основних операцій:

  1. об'єднання,

  2. різниця (віднімання),

  3. декартовий добуток,

  4. проекція,

  5. селекція.

Об'єднання. Об'єднання відношень R і S (позначаться R U S) представляє собою множину кортежів, які належать R чи S або їм обом. Операція об'єднання виконується над двома сумісними відношеннями R1, R2 (з ідентичною структурою  d1, d2... dn) (таблиці 4.5, 4.6). Оператор об'єднання застосовується тільки до відношень однакової арності. Якщо в результаті об'єднання відношень мають місце однакові кортежі, то вони заміняються одним.

Нехай задано два відношення , представлені таблицями 4.5, 4.6. Виконаємо над ними операцію об'єднання.

∩כU

Таблиця 4.5 R1. Науковий семінар 1

Кортеж

Прізвище та ініціали

Група

С11

Кубів І.П.

12

С12

Сомів М.В.

25

С13

Кріт І.В.

40

С14

Вовчук В.І.

31

Таблиця 4.6 R2. Науковий семінар 2

Кортеж

Прізвище та ініціали

Група

С21

Кріт І.В.

40

С22

Кубів І.П.

12

С23

Якубів Н.З.

18

У результаті операції об’єднання будується нове відношення R = R1 U R2. Відношення R має той самий склад атрибутів і сукупність кортежів вихідних відношень. Причому в цю сукупність не включаються дублікати. В результаті об'єднання відношень отримуємо результуюче відношення, яке представлено в табл.4.7.

Таблиця 4.7 R = R1 U R2. Науковий семінар

Кортеж

Прізвище та ініціали

Група

С1122)

Кубів І.П.

12

С12

Сомів М.В.

25

С13 21)

Кріт І.В.

40

С14

Вовчук В.І.

31

С23

Якубів Н.З.

18

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

Р і з н и ц я  операція виконується над двома сумісними відношеннями R1, R2 з ідентичним набором атрибутів. У результаті операції віднімання будується нове відношення RV = R1 - R2 з ідентичним набором атрибутів, яке містить лише ті кортежі відношення R1, які не повторюються в другому відношенні R2.

Рисунок 4.5 - Графічна ілюстрація операції різниці відношень

У результаті операції віднімання будується нове відношення RV = R - S з ідентичним набором атрибутів, яке містить лише ті кортежі відношення R, які не повторюються в другому відношенні S.

Різниця відношень

Кортеж

Прізвище та ініціали

Група

С12

Сомів М.В.

25

С14

Вовчук В.І.

31

Причому результат RV = R S не є рівним RV = S R.

Якщо А - відношення про жителів мікрорайону, В - відношення про тих, хто пройшов медичний огляд, то відношення А - В буде містити дані про тих жителів мікрорайону, хто не пройшов медичний огляд.

Перетин R S операція, яка виконується над двома сумісними відношеннями R1, R2 (представлені таблицями 4.5, 4.6.)

Результуюче відношення RP = R1 R2 містить однакові кортежі, які є в кожному з двох вихідних. Результат перерізу має той же склад атрибутів, як і у вихідних.

Кортеж

Прізвище та ініціали

Група

С1122)

Кубів І.П.

12

С1321)

Кріт І.В.

40

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

R P = R S

Ділення . двох відношень R та S R/S знаходиться згідно формул (R - (R - S)). Нехай R та S є відношення арності r і s відповідно, де (r > s) і S {}. Тоді частка R / S є множина кортежів t довжини (r - s) таких, що для всіх кортежів u довжини s, які належать S, кортеж tu належить R. Виконаємо операцію ділення над відношеннями R та S , які представлені відповідно таблицями 4.13 та 4.14.

Таблиця 4.13 - Екзаменаційна відомість R

Таблиця 4.14 - Відношення S

В результаті отримуємо частку (табл.4.15).

Таблиця 4.15 - Відношення – частка R / S

Декартовий добуток (або «Зєднання»). Нехай R і S - відношення арності k1 і k2 відповідно. Тоді декартовим добутком відношень R і S називається множина кортежів довжини (k1 + k2), перші k1 компонентів яких утворюють кортежі, які належать R, а останні k2 - кортежі, що належать S.

Декартів добуток виконується над двома відношеннями R, S, що мають різний склад атрибутів (d1, d2... dn) і1, р2... рm) відповідно У результаті операції декартового добутку утворюється нове відношення RD = R S, яке містить усі атрибути вихідних відношень (d1, d2... dn, р1, р2... рm). Результат відношення складається з можливих групувань кортежів вихідних відношень R і S. Кількість кортежів декартового добутку дорівнює добутку кількості кортежів у вихідних відношеннях.

Наприклад (рис. 4.5А):

Результатом декартового добутку відношень СТУДЕНТИ (Табл. 4.8) та ГРАФІК ІСПИТІВ (Табл. 4.9)

Табл. 4.8 R. Студенти Табл. 4.9 S. Графік іспитів

Кортеж

Прізвище та ініціали

Група

Кортеж

Дисципліна

Дата

С11

Кумів О.Я.

15

С21

Бази даних

28.12.97

С12

Васькін Л.М.

23

С22

Економічна кібернетика

5.01.98

С13

Мойсак Т.В.

31

буде відношення ЕКЗАМЕНАЦІЙНА ВІДОМІСТЬ (Табл. 4.10).

Таблиця 4.10 RD = R S. ЕКЗАМЕНАЦІЙНА ВІДОМІСТЬ

Кортеж

Прізвище та ініціали

Група

Дисципліна

Дата

С11 21)

Кумів О. Я.

15

Бази даних

28.12.97

С12 21)

Васькін Л. .

23

Бази даних

28.12.97

С13 21)

Мосак Т. В.

31

Бази даних

28.12.97

С11 22)

Кумів О. Я.

15

Економічна кібернетика

5.01.98

С12 22)

Васькін Л.М.

23

Економічна кібернетика

5.01.98

С13 22)

Мосак Т. В.

31

Бухгалтерський облік

5.01.98

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

Операція проекції полягає в видаленні необхідних стовпців (доменів) з відношення. Нехай дано відношення СТУДЕНТ-УСПІШНІСТЬ (табл.4.3).

Таблиця 4.3 - СТУДЕНТ-УСПІШНІСТЬ

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

Таблиця 4.4 - Приклад операції "проекція"

Селекція. Нехай F - формула, яка може бути утворена такими засобами:

а) операндами, які є константами чи номерами компонентів;

б) арифметичними операторами порівняння <, =, >, ≤, ≠, ≥;

в) логічними операторами & (І), ІІ (АБО), ! (НІ).

В цьому випадку f (R) є множина кортежів t, які належать R, таких, що при підстановці i-го компонента t замість будь-якого входження номера i в формулу F для всіх i вона стане істиною. Наприклад, 2 > 3 (R) означає множину кортежів, що належать R, другий компонент яких більше третього компонента.

Таблиця 4.11 - Відношення

При реалізації селекції відношення, приведеного в табл.4.11, згідно з ознакою (вік > 20), отримуємо відношення (табл.4.12):

Таблиця 4.12 - Відношення, над яким виконано операцію селекції

Крім перерахованих операцій існують і інші, але їх можна отримати з п'яти основних.

Схематично операції реляційної алгебри представлені на рис.4.6.

Контрольні запитання.

1. Скільки основних операції використовується в реляційній алгебрі?

2. Чи може відношення мати два однакових кортежі після виконання операцій проекції чи об'єднання?

3. Які основні операції використовуються при знаходженні частки?

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