logo

Введення реляційної алгебри в СУБД

Попередні умови: Реляційна модель в СУБД

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

Основні оператори

Це основні/фундаментальні оператори, які використовуються в реляційній алгебрі.



  1. Вибір (σ)
  2. Проекція (π)
  3. Союз (U)
  4. Встановити різницю (-)
  5. Встановити перетин (∩)
  6. Перейменувати (ρ)
  7. Декартовий добуток (X)

1. Вибір (σ): Використовується для вибору необхідних кортежів відносин.

приклад:

А Б C
1 2 4
2 2 3
3 2 3
4 3 4

Для наведеного вище співвідношення σ(c>3)R вибере кортежі, які мають c більше ніж 3.

А Б C
1 2 4
4 3 4

Примітка: Оператор вибору лише вибирає необхідні кортежі, але не відображає їх. Для відображення використовується оператор проекції даних.

2. Проекція (π): Він використовується для проектування необхідних даних стовпця з відношення.

цифри в алфавіті

приклад: Розглянемо таблицю 1. Припустімо, що нам потрібні стовпці B і C із відношення R.

π(B,C)R will show following columns.>
Б C
2 4
2 3
3 4

Примітка: За замовчуванням проекція видаляє дублікати даних.

3. Союз (U): Операція об'єднання в реляційній алгебрі така сама, як операція об'єднання в теорії множин.

приклад:

ФРАНЦУЗЬКА

Ім'я студента Номер_ролу
ОЗП 01
Мохан 02
Вівек 13
Гіта 17

НІМЕЦЬКА

Ім'я студента Номер_ролу
Вівек 13
Гіта 17
Шям двадцять один
Рохан 25

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

π(Student_Name)FRENCH U π(Student_Name)GERMAN>
Ім'я студента
ОЗП
Мохан
Вівек
Гіта
Шям
Рохан

Примітка: Єдиним обмеженням в об’єднанні двох відносин є те, що обидва відносини повинні мати однаковий набір атрибутів.

4. Встановити різницю (-): Різниця множин у реляційній алгебрі — це та сама операція різниці множин, що й у теорії множин.

приклад: З наведеної вище таблиці ФРАНЦУЗЬКОЇ та НІМЕЦЬКОЇ ​​МОВ різниця множин використовується наступним чином

π(Student_Name)FRENCH - π(Student_Name)GERMAN>
Ім'я студента
ОЗП
Мохан

Примітка: Єдиним обмеженням у Set Difference між двома відношеннями є те, що обидва відношення повинні мати однаковий набір атрибутів.

5. Встановити Intersection(∩): Перетин множин у реляційній алгебрі є такою ж операцією перетину множин у теорії множин.

приклад: З наведеної вище таблиці ФРАНЦУЗЬКОЇ та НІМЕЦЬКОЇ ​​МОВ перетин множин використовується таким чином

π(Student_Name)FRENCH ∩ π(Student_Name)GERMAN>
Ім'я студента
Вівек
Гіта

Примітка: Єдиним обмеженням у Set Difference між двома відношеннями є те, що обидва відношення повинні мати однаковий набір атрибутів.

6. Перейменувати (ρ): Перейменування — це унарна операція, яка використовується для перейменування атрибутів відношення.

 ρ(a/b)R will rename the attribute 'b' of the relation by 'a'.>

7. Перехресний продукт (X): Перехресний добуток між двома відносинами. Скажімо, A і B, тож перехресний добуток між A X B призведе до всіх атрибутів A, за якими слідує кожен атрибут B. Кожен запис A поєднується з кожним записом B.

приклад:

Команди ls linux

А

Ім'я Вік секс
ОЗП 14 М
до кінця п'ятнадцять Ф
Кім двадцять М

Б

ID курс
1 DS
2 СУБД

A X B

Ім'я Вік секс ID курс
ОЗП 14 М 1 DS
ОЗП 14 М 2 СУБД
до кінця п'ятнадцять Ф 1 DS
до кінця п'ятнадцять Ф 2 СУБД
Кім двадцять М 1 DS
Кім двадцять М 2 СУБД

Примітка: Якщо A має ‘n’ кортежів, а B має ‘m’ кортежів, тоді A X B матиме ‘n*m’ кортежів.

Похідні оператори

Це деякі з похідних операторів, які є похідними від фундаментальних операторів.

  1. Природне з'єднання (⋈)
  2. Умовне приєднання

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

приклад:

EMP

Ім'я ID Dept_Name
А 120 IT
Б 125 HR
C 110 Продажі
Д 111 IT

ВІДДІЛ

Dept_Name Менеджер
Продажі І
виробництво З
IT А

Природне з'єднання між EMP і DEPT з умовою:

EMP.Dept_Name = DEPT.Dept_Name

EMP ⋈ DEPT

Ім'я ID Dept_Name Менеджер
А 120 IT А
C 110 Продажі І
Д 111 IT А

2. Умовне приєднання: Умовне з’єднання працює подібно до природного з’єднання. У природному об’єднанні умова за замовчуванням дорівнює між загальними атрибутами, тоді як в умовному об’єднанні ми можемо вказати будь-яку умову, наприклад більше, менше або нерівно.

java hasnext

приклад:

Р

ID секс Відмітки
1 Ф Чотири
2 Ф 55
3 Ф 60

С

ID секс Відмітки
10 М двадцять
одинадцять М 22
12 М 59

З’єднання між R і S з умовою R.marks>= S.marks

R.ID R.Sex Р.Маркс S.ID S.Sex С.Маркс
1 Ф Чотири 10 М двадцять
1 Ф Чотири одинадцять М 22
2 Ф 55 10 М двадцять
2 Ф 55 одинадцять М 22
3 Ф 60 10 М двадцять
3 Ф 60 одинадцять М 22
3 Ф 60 12 М 59

Реляційне числення

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

Існує два типи реляційного числення

  1. Кортежне реляційне числення (TRC)
  2. Доменне реляційне числення (DRC)

Глибокі статті:
Основні-оператори-в-реляційній-алгебрі
Оператори розширеної реляційної алгебри