Релационна алгебра в СУБД: Operaции с примери

Релационна алгебра

РЕЛАЦИОННА АЛГЕБРА е широко използван процедурен език за заявки. Той събира екземпляри на релации като вход и дава случаи на релации като изход. Той използва различни операции, за да извърши това действие. Операциите със заявки в релационната алгебра на SQL се изпълняват рекурсивно върху релация. Резултатът от тези операции е нова релация, която може да бъде формирана от една или повече входни релации.

Основна SQL релационна алгебра Operaции

Релационна алгебра, разделена на различни групи

Унарна релационна Operaции

  • SELECT (символ: σ)
  • ПРОЕКТ (символ: π)
  • ПРЕИМЕНУВАНЕ (символ: ρ)

Релационна алгебра Operaции от Теория на множествата

  • СЪЮЗ (υ)
  • ПРЕКЪСВАНЕ ( ),
  • РАЗЛИКА (-)
  • КАРТЕЗИАН ПРОИЗВЕДЕНИЕ ( x )

Двоичен релационен Operaции

  • ПРИСЪЕДИНЕТЕ СЕ КЪМ
  • РАЗДЕЛ

Нека ги проучим подробно с решения:

ИЗБЕРЕТЕ (σ)

Операцията SELECT се използва за избор на подмножество от кортежи според дадено условие за избор. Сигма (σ) символът го обозначава. Използва се като израз за избор на кортежи, които отговарят на условието за избор. Операторът Select избира кортежи, които отговарят на даден предикат.

σp(r)

σ е предикатът

r означава отношение, което е името на таблицата

p е предложна логика

Пример 1

σ topic = "Database" (Tutorials)

Продукция – Избира кортежи от уроци, където тема = „База данни“.

Пример 2

σ topic = "Database" and author = "guru99"( Tutorials)

Продукция – Избира кортежи от уроци, където темата е „База данни“, а „автор“ е guru99.

Пример 3

σ sales > 50000 (Customers)

Продукция – Избира кортежи от Клиенти, където продажбите са по-големи от 50000 XNUMX

Проекция (π)

Проекцията елиминира всички атрибути на входната релация освен тези, споменати в списъка с проекции. Методът на проекция дефинира релация, която съдържа вертикално подмножество на Relation.

Това помага да се извлекат стойностите на определени атрибути, за да се елиминират дублиращите се стойности. Символът (pi) се използва за избор на атрибути от релация. Този оператор ви помага да запазите конкретни колони от релация и отхвърля другите колони.

Пример за проекция:

Разгледайте следната таблица

CustomerID Потребителско име Статус
1 Google Активен
2 Amazon Активен
3 iPhone неактивен
4 Alibaba Активен

Тук проекцията на CustomerName и статус ще даде

Π CustomerName, Status (Customers)
Потребителско име Статус
Google Активен
Amazon Активен
iPhone неактивен
Alibaba Активен

Преименуване (ρ)

Преименуването е унарна операция, използвана за преименуване на атрибути на релация.

ρ (a/b)R ще преименува атрибута "b" на релацията с "a".

Съюзна операция (υ)

UNION се символизира със символа ∪. Той включва всички кортежи, които са в таблици A или B. Той също така елиминира дублиращи се кортежи. И така, набор A UNION набор B ще бъде изразен като:

Резултатът <- A ∪ B

За да бъде валидна операцията за обединение, трябва да са изпълнени следните условия –

  • R и S трябва да имат еднакъв брой атрибути.
  • Домейните на атрибути трябва да са съвместими.
  • Дублиращите се кортежи трябва да се премахват автоматично.

Пример

Разгледайте следните таблици.

Таблица А
Таблица B
колона 1 колона 2 колона 1 колона 2
1 1 1 1
1 2 1 3

A ∪ B дава

Таблица A ∪ B
колона 1 колона 2
1 1
1 2
1 3

Задаване на разлика (-)

– Символът го обозначава. Резултатът от A – B е релация, която включва всички кортежи, които са в A, но не и в B.

  • Името на атрибута на A трябва да съвпада с името на атрибута в B.
  • Отношенията на два операнда A и B трябва да бъдат или съвместими, или съвместими с Union.
  • Трябва да се дефинира релация, състояща се от кортежи, които са в релация A, но не и в B.

Пример

A-B
Таблица A – B
колона 1 колона 2
1 2

Пресичане

Пресечната точка се определя от символа ∩

A ∩ B

Дефинира релация, състояща се от набор от всички кортежи, които са както в A, така и в B. Въпреки това A и B трябва да са съвместими с обединение.

Пресичане
Визуална дефиниция на пресичане

Пример:

A ∩ B
Таблица A ∩ B
колона 1 колона 2
1 1

Декартов продукт(X) в СУБД

Декартово произведение в СУБД е операция, използвана за обединяване на колони от две релации. Като цяло декартовият продукт никога не е смислена операция, когато се изпълнява сам. То обаче придобива смисъл, когато е последвано от други операции. Нарича се още Cross Product или Cross Join.

Пример – Декартово произведение

σ колона 2 = "1" (AXB)

Изход – Горният пример показва всички редове от релация A и B, чиято колона 2 има стойност 1

σ колона 2 = '1' (AXB)
колона 1 колона 2
1 1
1 1

Регистрация Operaции

Операцията за свързване е по същество декартово произведение, последвано от критерий за избор.

Операция за присъединяване, обозначена с ⋈.

Операцията JOIN също позволява свързване на различно свързани кортежи от различни отношения.

Видове JOIN:

Различни форми на операция за присъединяване са:

Вътрешни съединения:

  • Тета присъединяване
  • Присъединете се към EQUI
  • Естествено присъединяване

Външно присъединяване:

  • Ляво външно съединение
  • Дясно външно присъединяване
  • Пълно външно присъединяване

Вътрешно присъединяване

При вътрешно съединение се включват само тези кортежи, които отговарят на критериите за съвпадение, докато останалите се изключват. Нека да проучим различните видове вътрешни съединения:

Theta Присъединете се

Общият случай на операция JOIN се нарича Theta съединение. Означава се със символ θ

Пример

A ⋈θ B

Тета присъединяването може да използва всякакви условия в критериите за избор.

Например:

A ⋈ A.column 2 >  B.column 2 (B)
A ⋈ A.колона 2 > B.колона 2 (B)
колона 1 колона 2
1 2

Присъединете се към EQUI

Когато тета съединението използва само условие за еквивалентност, то става равностойно съединение.

Например:

A ⋈ A.column 2 =  B.column 2 (B)
A ⋈ A.колона 2 = B.колона 2 (B)
колона 1 колона 2
1 1

EQUI присъединяването е най-трудната операция за ефективно прилагане с помощта на SQL в RDBMS и една от причините защо RDBMS имат съществени проблеми с производителността.

ЕСТЕСТВЕНО СЪЕДИНЯВАНЕ (⋈)

Естествено свързване може да се извърши само ако има общ атрибут (колона) между релациите. Името и типът на атрибута трябва да са еднакви.

Пример

Разгледайте следните две таблици

C
В Квадрат
2 4
3 9
D
В куб
2 8
3 27
C ⋈ D
C ⋈ D
В Квадрат куб
2 4 8
3 9 27

ВЪНШНО ПРИСЪЕДИНЯВАНЕ

Във външно съединение, заедно с кортежи, които отговарят на критериите за съвпадение, ние също включваме някои или всички кортежи, които не отговарят на критериите.

Ляво външно съединение (A ⟕ B)

В лявото външно съединение операцията позволява запазване на всички кортежи в лявата връзка. Ако обаче няма съвпадащ кортеж в правилната връзка, тогава атрибутите на правилната връзка в резултата от обединяването се запълват с нулеви стойности.

Ляво външно съединение

Разгледайте следните 2 таблици

A
В Квадрат
2 4
3 9
4 16
B
В куб
2 8
3 18
5 75
A Left Outer Join B
А ⋈ Б
В Квадрат куб
2 4 8
3 9 18
4 16 -

Дясно външно съединение (A ⟖ B)

В дясното външно съединение операцията позволява запазване на всички кортежи в правилната връзка. Въпреки това, ако в лявата релация не е намерен съвпадащ кортеж, тогава атрибутите на лявата релация в резултата от съединението се запълват с нулеви стойности.

Дясно външно присъединяване

A Right Outer Join B
А ⋈ Б
В куб Квадрат
2 8 4
3 18 9
5 75 -

Пълно външно съединение (A ⟗ B)

При пълно външно съединение всички кортежи от двете релации са включени в резултата, независимо от условието за съвпадение.

A Full Outer Join B
А ⋈ Б
В куб Квадрат
2 4 8
3 9 18
4 16 -
5 - 75

Oбобщение

Operaция (Символи) Цел
Изберете (σ) Операцията SELECT се използва за избор на подмножество от кортежи според дадено условие за избор
Проекция (π) Проекцията елиминира всички атрибути на входната релация освен тези, споменати в списъка с проекции.
съюз Operaция (∪) СЪЮЗЪТ се символизира със символ. Той включва всички кортежи, които са в таблици A или B.
Задаване на разлика (-) – Символът го обозначава. Резултатът от A – B е релация, която включва всички кортежи, които са в A, но не и в B.
Пресечна точка (∩) Пресичането дефинира релация, състояща се от набор от всички кортежи, които са както в A, така и в B.
Декартово произведение (X) Декартовата операция е полезна за обединяване на колони от две релации.
Вътрешно присъединяване Вътрешно съединение включва само тези кортежи, които отговарят на критериите за съвпадение.
Тета съединение (θ) Общият случай на операция JOIN се нарича Theta съединение. Означава се със символ θ.
EQUI Присъединете се Когато тета съединението използва само условие за еквивалентност, то става равностойно съединение.
Естествено свързване (⋈) Естествено свързване може да се извърши само ако има общ атрибут (колона) между релациите.
Външно присъединяване Във външно съединение, заедно с кортежи, които отговарят на критериите за съвпадение.
Ляво външно съединение(Ляво външно съединение) В лявото външно съединение операцията позволява запазване на всички кортежи в лявата връзка.
Дясно външно съединение(Дясно външно присъединяване) В дясното външно съединение операцията позволява запазване на всички кортежи в правилната връзка.
Пълно външно присъединяване(Пълно външно присъединяване) При пълно външно съединение всички кортежи от двете релации са включени в резултата, независимо от условието за съвпадение.