40
Реляційна алгебра

реляційна алгебра лекция

Embed Size (px)

Citation preview

Page 1: реляційна алгебра лекция

Реляційна алгебра

Page 2: реляційна алгебра лекция

План

1. Огляд початкової алгебри.2. Основні операції реляційної алгебри.3. Додаткові операції реляційної

алгебри.4. Приклади.

Page 3: реляційна алгебра лекция

Огляд початкової алгебри•Реляційна модель – це спосіб розгляду даних;

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

•У реляційній моделі розглядаються три аспекти даних: структура даних (об’єкти даних), цілісність даних та обробка даних (оператори).

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

Page 4: реляційна алгебра лекция

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

Page 5: реляційна алгебра лекция

Реляційна алгебра

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

Page 6: реляційна алгебра лекция

Теоретико-множинні операції

Об’єднання Перетин Різниця

В

А А

В

А

В

Page 7: реляційна алгебра лекция

Зауваження

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

Page 8: реляційна алгебра лекция

відношення сумісні за типом

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

Page 9: реляційна алгебра лекция

Для ілюстрації означень прикладами побудуємо чотири відношення:

Для операцій об’єднання, перетин та різниця відношення повинні бути сумісними за типом.Наприклад, відношення R і S є сумісними за типом.

Page 10: реляційна алгебра лекция

Об’єднанняОб’єднанням двох сумісних за типом відношень А і В (A UNION B) називається нове відношення з атрибутами, як у відношеннях А і В, та з тілом, яке містить множину всіх кортежів належних відношенням А або В чи обом відношенням.A B C

p 1 A

p 2 B

q 2 C

q 3 A

R UNION S

Page 11: реляційна алгебра лекция

ПеретинПеретином двох сумісних за типом відношень А і В (A INTERSECT B) називається нове відношення з атрибутами, як у відношеннях А і В, та з тілом, яке містить множину всіх кортежів належних одночасно обом відношенням А і В. Наприклад:

A B C

p 2 B

R INTERSECT S

Page 12: реляційна алгебра лекция

РізницяРізницею двох сумісних за типом відношень А і В (A MINUS B) називається нове відношення з атрибутами, як у відношеннях А і В, та з тілом, яке містить множину всіх кортежів належних відношенню А і не належних відношенню В. Звернімо увагу на те, що для операції різниця важливий порядок слідування операндів. Наприклад:A B C

p 1 A

q 2 C

R MINUS S

Page 13: реляційна алгебра лекция

Для наступних операцій відношення не повинні бути сумісними за типом.

Page 14: реляційна алгебра лекция

Декартів добуток

•Декартовим добутком двох відношень А і В (A TIMES B), де А і В не мають спільних атрибутів, називається відношення із заголовком, який є зчепленням двох заголовків відношень А і В, та з тілом, яке містить множину всіх кортежів, що є зчепленням кортежів відношень А і В.

Page 15: реляційна алгебра лекция

R TIMES QA B C F G H

p 1 A P 2 b

p 2 B Q 3 a

q 2 C P 2 b

p 2 B P 2 b

q 2 C Q 3 a

p 1 A Q 3 a

Page 16: реляційна алгебра лекция

Вибірка

– це скорочена назва -вибірки, де позначає довільний оператор порівняння (=, , >, та ін.).-вибіркою з відношення А по атрибутах X та Y (A WHERE XY) називається відношення, яке має той же заголовок, що і відношення А, а тіло містить множину всіх кортежів відношення А, для яких умова “XY” буде істинна.

Page 17: реляційна алгебра лекция

Вибірка

•R WHERE A=’p’

•S WHERE B<3

•R WHERE A=’p’ AND B>1

A B Cp 1 ap 2 b

A B Cp 2 b

A B C

p 2 b

Page 18: реляційна алгебра лекция

ПроекціяПроекцією відношення А по атрибутам X, Y, …, Z, де кожен із атрибутів належить відношенню А, (A [X, Y, …, Z]) називається відношення з заголовком {X, Y, …, Z} і тілом, яке містить множину всіх кортежів {X:x, Y:y, …, Z:z}, таких, для яких у відношенні А значення атрибута X рівно x, атрибута Y рівно y, …, атрибута Z рівно z.R [A,C]

A Cp ap bq c

Page 19: реляційна алгебра лекция

-сполученняНехай відношення А і В мають заголовки {X1, X2, ..Xm, Y1, Y2, …,Yn} {Y1, Y2, …, Yn, Z1, Z2, …, Zp} відповідно, тобто атрибути Y1, Y2, …,Yn – спільні для двох відношень. Припустимо, що відповідні атрибути визначені на одному і тому ж домені. Будемо розглядати вирази {X1, X2, ..Xm}, {Y1, Y2, …,Yn} та {Z1, Z2, …, Zp} як три складені атрибути X, Y та Z відповідно. Тоді природним сполученням відношень А і В (A JOIN B) називається відношення з заголовком {X, Y, Z} та тілом, що містить множину всіх кортежів {X:x, Y:y, Z:z}, для яких у відношенні А значення атрибута Х дорівнює х, а атрибута Y рівно y, і у відношенні В значення атрибута Y рівно y, а атрибута Z рівно z.

Page 20: реляційна алгебра лекция

•R JOIN P

A B Cp 1 a

q 2 c

Page 21: реляційна алгебра лекция

-сполучення

Операція -сполучення використовується у тих випадках, коли необхідно сполучити два відношення на основі деяких умов. Природне сполучення є частковим випадком -сполучення, а саме: – знак “=”. Але на відміну від -сполучення для природного сполучення необхідно, щоби був один спільний атрибут, причому в результуюче відношення він входить лише єдиний раз (його не треба перейменувати, як при операції декартового добутку).

Page 22: реляційна алгебра лекция

-сполучення

-сполученням відношення А по атрибуту X з відношенням В по атрибуту Y називається результат обчислення виразу: (A TIMES B) WHERE XY.(R TIMES Q) WHERE B<G

A B C F G H

p 1 a p 2 b

p 2 b q 3 a

q 2 c q 3 a

p 1 a q 3 a

Page 23: реляційна алгебра лекция

RENAMEОперація перейменування RENAME використовується для зміни імені атрибуту. Наприклад, перейменуємо атрибут А на N відношення R

•R RENAME A as NN B C

p 1 a

p 2 b

q 2 c

Page 24: реляційна алгебра лекция

“Магазин побутової техніки”Товар ПостачальникиКод_товару

Назва Ціна

101

Телевізор LG (51cm)

1100

102

Телевізор SONY (61cm)

1800

201

Відеомагнітофон LG

760

202

Відеомагнітофон SONY

980

301

Муз. центр LG

1000

Код_товару

Закупівельна_ціна

Постачальник

101 900 Парус

102 1720 Перлина

103 2300 Орен

201 680 Парус

202 850 Перлина

203 470 Парус

301 750 Парус

302 1340 Перлина

Page 25: реляційна алгебра лекция

•Товар2

•Нехай інформація про товар розташовується в двох сумісних за типом відношеннях Товар та Товар2. Товар – список товарів, які є в наявності, а Товар2 – список товарів, котрі можна замовити.

Код_товару

Назва Ціна

102 Телевізор SONY (61)

1800

103 Телевізор Samsung (70 cm)

2500

202 Відеомагнітофон SONY

980

203 Відеоплейєр LG

560

302 Муз. центр SONY

1500

Page 26: реляційна алгебра лекция

Запит 1. Отримати повний список товарів (з кодом, назвою та ціною), які пропонує цей магазин.•Товар UNION Товар2

Код_товару

Назва Ціна

101 Телевізор LG (51cm) 1100

102 Телевізор SONY (61) 1800

103 Телевізор Samsung (70 cm) 2500

201 Відеомагнітофон LG 760

202 Відеомагнітофон SONY 980

203 Відеоплейєр LG 560

301 Муз. центр LG 1000

302 Муз. центр SONY 1500

Page 27: реляційна алгебра лекция

Запит 2. Отримати список товарів (з кодом, назвою та ціною), які є одночасно в наявності і їх можна замовити.•Товар INTERSECT Товар2

Код_товару

Назва Ціна

102 Телевізор SONY (61)

1800

202 Відеомагнітофон SONY

980

Page 28: реляційна алгебра лекция

Запит 3. Отримати список товарів (з кодом, назвою та ціною), які є в наявності, але їх не можна замовити.•Товар MINUS Товар2

Код_товару

Назва Ціна

101 Телевізор LG (51cm)

1100

201 Відеомагнітофон LG

760

301 Муз. центр LG 1000

Page 29: реляційна алгебра лекция

Запит 4. Побудуємо результат декартового добутку відношень Товар та Постачальники2.

Для виконання цієї операції необхідно, щоб у двох відношень не було спільних атрибутів, тому атрибут Код_товару перейменуємо:

Постачальники2 RENAME Код_товару as Код_т

Код_т Закупівельна_ціна Постачальник

101 900 Парус

102 1720 Перлина

103 2300 Орен

Page 30: реляційна алгебра лекция

Товар TIMES Постачальники2Код_то-вару Назва Ціна Код_т Закупівель-

на_цінаПостачальник

101 Телевізор LG (51cm) 1100 101 900 Парус

102 Телевізор SONY (61cm) 1800 101 900 Парус

201 Відеомагнітофон LG 760 101 900 Парус

202 Відеомагнітофон SONY 980 101 900 Парус

301 Муз. центр LG 1000 101 900 Парус

101 Телевізор LG (51cm) 1100 102 1720 Перлина

102 Телевізор SONY (61cm) 1800 102 1720 Перлина

201 Відеомагнітофон LG 760 102 1720 Перлина

202 Відеомагнітофон SONY 980 102 1720 Перлина

301 Муз. центр LG 1000 102 1720 Перлина

101 Телевізор LG (51cm) 1100 103 2300 Орен

102 Телевізор SONY (61cm) 1800 103 2300 Орен

201 Відеомагнітофон LG 760 103 2300 Орен

202 Відеомагнітофон SONY 980 103 2300 Орен

301 Муз. центр LG 1000 103 2300 Орен

Page 31: реляційна алгебра лекция

Запит 5. Отримати список товарів (з кодом, назвою та ціною), що є в наявності і ціна яких не перевищує 1000 грн.•Товар WHERE Ціна 1000

Код_товару

Назва Ціна

201 Відеомагнітофон LG

760

202 Відеомагнітофон SONY

980

301 Муз. центр LG 1000

Page 32: реляційна алгебра лекция

Запит 6. Отримати список тих кодів товарів (з їх закупівельною ціною та постачальником), які постачає фірма Парус.Постачальники WHERE Постачальник=’Парус’Код_т

оваруЗакупівельна_

цінаПостачальник

101 900 Парус201 680 Парус203 470 Парус301 750 Парус

Page 33: реляційна алгебра лекция

Запит 7. Отримати список постачальників магазину побутової техніки.•Постачальники [Постачальник]

Постачальник

Парус

Перлина

Орен

Page 34: реляційна алгебра лекция

Запит 8. Отримати список товарів (з кодом, назвою та ціною), які є в наявності, а також їх постачальників і закупівельну ціну.•Товар JOIN Постачальники

Код_то-вару

Назва Ціна

Закупівельна

ціна

Постачальник

101 Телевізор LG (51cm)

1100

900 Парус

102 Телевізор SONY (61cm)

1800

1720 Перлина

201 Відеомагнітофон LG

760 680 Парус

202 Відеомагнітофон SONY

980 850 Перлина

301 Муз. центр LG

1000 750 Парус

Page 35: реляційна алгебра лекция

Запит 9. На використання операції -сполучення. Отримати список товарів (з кодом, назвою та ціною), які є в наявності, їх постачальників (з відношення Постачальники2) і закупівельну ціну при умові Закупівельна_ціна < Ціна.

•Для виконання цієї операції необхідно, щоб у двох відношень не було спільних атрибутів, тому атрибут Код_товару перейменуємо:

•Постачальники2 RENAME Код_товару as Код_т

Page 36: реляційна алгебра лекция

(Товар TIMES Постачальники2) WHERE Закупівельна_ціна < Ціна

Код_то-вару

Назва Ціна Код_т Закупівель-на_ціна

Постачальник

101 Телевізор LG (51cm)

1100 101 900 Парус

102 Телевізор SONY (61cm)

1800 101 900 Парус

202 Відеомагнітофон SONY

980

101 900 Парус

301 Муз. центр LG 1000 101 900 Парус

102 Телевізор SONY (61cm)

1800 102 1720 Перлина

Page 37: реляційна алгебра лекция

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

• ((Товар UNION Товар2) JOIN Постачальники) [Код_товару, Назва, Ціна, Постачальник]Код_това

руНазва Ціна Постачальни

к101 Телевізор LG (51cm) 1100 Парус

102 Телевізор SONY (61) 1800 Перлина

103 Телевізор Samsung (70 cm) 2500 Орен

201 Відеомагнітофон LG 760 Парус

202 Відеомагнітофон SONY 980 Перлина

203 Відеоплейєр LG 560 Парус

301 Муз. центр LG 1000 Парус

302 Муз. центр SONY 1500 Перлина

Page 38: реляційна алгебра лекция

Запит 12. Отримати список товарів (з назвою, ціною та закупівельною ціною), що є в наявності або їх можна замовити, постачальником яких є фірма “Перлина”.

((Товар UNION Товар2) JOIN ((Постачальники WHERE Постачальник=’Перлина’))[Назва, Ціна, Закупівельна_ціна])Код_това

руНазва Цін

аЗакупівельна_

ціна

102 Телевізор SONY (61) 1800

1720

202 Відеомагнітофон SONY

980 850

302 Муз. центр SONY 1500

1340

Page 39: реляційна алгебра лекция

Запит 13. Отримати список товарів (з назвою, ціною та постачальником), що є в наявності і можна замовити.

((Товар UNION Товар2) JOIN Постачальники) [Назва, Ціна, Постачальник]Назва Ціна Постачальник

Телевізор LG (51cm) 1100 Парус

Телевізор SONY (61) 1800 Перлина

Телевізор Samsung (70 cm) 2500 Орен

Відеомагнітофон LG 760 Парус

Відеомагнітофон SONY 980 Перлина

Відеоплейєр LG 560 Парус

Муз. центр LG 1000 Парус

Муз. центр SONY 1500 Перлина

Page 40: реляційна алгебра лекция

Запит 14. Отримати список товарів (з назвою, ціною та постачальником), що є в наявності і можна замовити, ціна яких не більше за 1200 грн.

• (((Товар UNION Товар2) JOIN Постачальники) [Назва, Ціна, Постачальник]) WHERE Ціна1200Назва Ціна Постачальник

Телевізор LG (51cm) 1100 Парус

Відеомагнітофон LG 760 Парус

Відеомагнітофон SONY 980 Перлина

Відеоплейєр LG 560 Парус

Муз. центр LG 1000 Парус