Зміст
Введення
. Теоретико-множинні оператори
.1 Об'єднання
.2 Перетин
.3 Віднімання
.4 Декартово твір
. Спеціальні реляційні оператори
.1 Вибірка (обмеження, селекція)
.2 Проекція
.3 Загальна операція з'єднання
.4 Розподіл
Список використаної літератури
Введення
Третя частина реляційної моделі, маніпуляційна частина, стверджує, що доступ до реляційних даних здійснюється за допомогою реляційної алгебри або еквівалентного йому реляційного числення.
У реалізаціях конкретних реляційних СУБД зараз не використовується в чистому вигляді ні реляційна алгебра, ні реляційне числення. Фактичним стандартом доступу до реляційних даних стала мова SQL (Structured Query Language). Мова SQL являє собою суміш операторів реляційної алгебри і виразів реляційного числення, що використовує синтаксис, близький до фраз англійської мови і розширений додатковими можливостями, відсутніми в реляційної алгебри і реляційному численні. Взагалі, мова доступу до даних називається реляційно повним , якщо він по виразну силу не поступається реляційній алгебрі (або, що те ж саме, реляційному обчисленню), тобто будь-який оператор реляційної алгебри може бути виражений засобами цієї мови. Саме таким і є мова SQL.
Розглянемо основи реляційної алгебри.
Реляційна алгебра являє собою набір операторів, які використовують відносини в якості аргументів, і повертають відносини в якості результату. Таким чином, реляційний оператор виглядає як функція з відносинами в якості аргументів:
Реляційна алгебра є замкнутою, тому в якості аргументів в реляційні оператори можна підставляти інші реляційні оператори, які підходять по типу:
Таким чином, в реляційних виразах можна використовувати вкладені вирази як завгодно складної структури.
Кожне відношення зобов'язане мати унікальне ім'я в межах бази даних. Ім'я відносини, отриманого в результаті виконання реляційної операції, визначається в лівій частині рівності. Однак можна не вимагати наявності імен від відносин, отриманих в результаті реляційних виразів, якщо ці відносини підставляються в якості аргументів в інші реляційні вирази. Такі відносини будемо називати неіменованого відносинами . Неіменовані відносини реально не існують в базі даних, а тільки обчислюються в момент обчислення значення реляційного оператора.
Традиційно визначають восьмій реляційних операторів, об'єднаних у дві групи.
Теоретико-множинні оператори:
· Об'єднання
· Перетин
· Віднімання
· Декартово твір
Спеціальні реляційні оператори:
1. Вибірка
2. Проекція
. З'єднання
. Розподіл
Не всі вони є незалежними, тобто деякі з цих операторів можуть бути виражені через інші реляційні оператори.
1. Теоретико-множинні оператори
.1 Об'єднання
Об'єднанням двох сумісних по типу відносин і називається відношення з тим же заголовком, що і у відносин і, і тілом, що складається з кортежів, що належать або, або, або обом відносинам.
Синтаксис операції об'єднання:
Зауваження. Об'єднання, як і будь-яке відношення, не може містити однакових кортежів. Тому, якщо деякий кортеж входить і у відношення, і ставлення, то в об'єднання він входить один раз.
Приклад . Нехай дано два відносини і з інформацією про співробітників:
Ставлення A
Табельний номерФаміліяЗарплата1Іванов10002Петров20003Сідоров3000
Ставлення B
Табельний номерФамилияЗарплата1Иванов10002Пушников25004Сидоров3000
Об'єднання відносин і буде мати вигляд:
Табельний номерФамилияЗарплата1Иванов10002Петров20003Сидоров30002Пушников25004Сидоров3000
Як видно з наведеного прикладу, потенційні ключі, які були у відносинах і не успадковуються об'єднанням цих відносин. Тому, в об'єднанні відносин і атрибут Табельний номер може містити дублікати значень. Якби це було не так, і ключі успадковувалися б, то це суперечило б поняттю об'єднання як об'єднання множин raqu...