Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
4. СУБД.docx
Скачиваний:
6
Добавлен:
01.05.2025
Размер:
278 Кб
Скачать
☆

16. Основні операції над відношеннями. Мова реляційної алгебри та мова реляційного числення.

Розглядаються спеціальні операції над відносинами: вибірка, проекція, декартовій твір, з'єднання. Наводяться різні типи з'єднань: з'єднання по еквівалентності, природне, зовнішнє з'єднання, полусоедіненіе. Операції над відносинами ілюструються на прикладах оператора SELECT. Розглядаються приклади вибору даних з декількох таблиць. Наводиться об'єднання результатів декількох запитів.

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

Для ілюстрації теоретико-множинних операцій над відносинами введемо абстрактні відносини (таблиці) з деякими атрибутами (полями).

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

Операція вибірки

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

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

σF (R) або σпредікат (R).

Приклад 5.1. Операція вибірки в SQL.

Вибірка σ (a2 = 1) (R) = {(a, 1), (b, 1)} записується таким чином:

SELECT a1, a2

FROM R

WHERE a2 = 1

Приклад 5.1. Операція вибірки в SQL.

Операція проекції

Операція проекції - побудова вертикального підмножини відносини, тобто підмножини кортежів, одержуваного вибором одних і виключенням інших атрибутів.

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

Πa1, a2, ... an (R)

Приклад 5.2. Операція проекції в SQL.

Проекція Πb2 (S) = {(h), (g)) записується таким чином:

SELECT b2

FROM S

Приклад 5.2. Операція проекції в SQL.

До основних операцій над відносинами відноситься декартовій твір.

Декартовій твір

Декартовій твір RxS двох відносин (двох таблиць) визначає нове ставлення - результат конкатенації (тобто зчеплення) кожного кортежу (кожного запису) з відношення R з кожним кортежем (кожним записом) з відношення S.

RxS = {(a, 1, 1, h), (a, 2, 1, h),

     (B, 1, 1, h), ... }

SELECT R.a1, R.a2, S.b1, S.b2

FROM R, S

Приклад 5.1. Декартовій твір відносин в SQL

Мова реляційної алгебри та мова реляційного числення.

Реляційна модель даних є основною в сучасних СУБД. Мови представлення структурних елементів моделі та маніпулювання ними є невід’ємною складовою будь-якої моделі даних. В реляційній моделі даних (РМД) мовами маніпулювання даними є, зокрема, мова реляційної алгебри (РА) і мова реляційного числення (РЧ) [1]. Вони, як і структура РМД, побудовані на формальному математичному базисі і послужили теоретичним підґрунтям для створення мови SQL. Але, на відміну від SQL, вони не підтримуються сучасними СУБД, тому засвоєння матеріалу з мов РА і РЧ не є активним, тобто вони вивчаються, в основному, на лекційних заняттях. Під час виконання лабораторних робіт студентам, як правило, пропонується реалізація операцій РА засобами мови SQL [2,3]. Це, призводить до того, що знижуються рівень засвоєння теоретичної основи реляційних баз даних. Оскільки студенти з ком’ютерних напрямів освіти мають відчувати внутрішні механізми операцій в РМД, тому створення засобів та інтелектуальних інформаційних технологій підтримки активного засвоення реляційної алгебри та реляційного числення студентами комп’ютерних напрямів освіти є актуальною.

Огляд публікацій та аналіз невирішених питань. Одним із підходів до розв’язання наведеної задачі є створення інтерпретаторів мов реляційної алгебри і реляційного числення для виконання лабораторних робіт з організації баз даних. В [1] наведена інформація, що у перших реляційних СУБД мовами маніпулювання як раз і були мові РА або РЧ, але з часом „стандартною” стала мова SQL, за допомогою якої виконуються лабораторні роботи з опанування РА і РЧ [2,3], знання яких необхідні при оптимізації схем виконання запитів, реплікацій, тощо. в розподілени. Основна ідея проекту полягає в доповненні реляційної СУБД такими засобами маніпулювання даними, як мови реляційної алгебри і реляційного числення із можливістю взаємного перетворення, а також перетворенням у скрипти мови SQL та навпаки. Основні проблеми, що потребують вирішення в процесі роботи, пов’язані із забезпеченням взаємодії між різними мовами маніпулювання даними, тому що інтерпретатори мов РА і РЧ будуть реалізуються програмними модулями, а SQL є „внутрішньою” мовою СУБД. Оскільки у більшості сучасних СКБД діагностика помилок в SQL - програмах не розвинута, то потрібно буде розробити розвинуті засоби виявлення помилок граматичного розбору як для РА і РЧ, так і для SQL-коду.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]