Professional Documents
Culture Documents
Лабораторна №4
Лабораторна №4
з курсу “ОБДЗ”
на тему:
“Виконання теоретико-множинних операцій реляційної алгебри засобами SQL”
Мета роботи: Розробити SQL запити для виконання операцій реляційної алгебри:
об’єднання, перетину, різниці, декартового добутку, проекції, селекції, натурального
з’єднання, умовного з’єднання.
його інформаційне наповнення утворюється кортежами, які є спільними для цих двох
відношень:
Операція перетину дозволяє нам ідентифікувати рядки, спільні для двох таблиць.
Різницею двох відношень R та S з відповідними множинами атрибутів (A1 , A2 ,..., An )
Операція різниці дозволяє ідентифікувати ті рядки, які є в одній таблиці, але відсутні в
іншій.
Декартовим добутком двох відношень R та S з відповідними множинами атрибутів
( A1, A2 ,..., An ) та (B1 , B2 ,..., Bm ) називається нове відношення T , множина атрибутів якого
SELECT
[ALL | DISTINCT | DISTINCTROW ]
елемент_вибірки [, елемент_вибірки]
[FROM перелік_таблиць]
[WHERE умова_відбору]
елемент_вибірки
Вираз, або назва поля, значення якого потрібно вибрати. Символ «*» позначає всі поля.
перелік_таблиць
Назва таблиці, з якої здійснюється вибір значень.
умова_відбору
Вказує умови відбору потрібних записів.
DISTINCT | DISTINCTROW
Видалення з результату рядків-дублікатів. За замовчуванням вибираються всі рядки.
Для того, щоб виконати операцію об’єднання таблиць, потрібно за допомогою команди
UNION об’єднати результати вибору рядків з двох, або більше, таблиць. Наведемо синтаксис
команди.
SELECT ...
UNION [ALL | DISTINCT] SELECT ...
[UNION [ALL | DISTINCT] SELECT ...]
A ' {Ai1, Ai2 ,..., Aik} A називають множину R[ A'] проекцій кортежів відношення на ці
атрибути за вилученням повторень. Тобто операція створення проекції створює нову таблицю
шляхом виключення певних стовпців з існуючої таблиці. Для створення проекції – реляційної
таблиці, що складається лише з деяких визначених стовпців іншої реляційної таблиці – ми
просто вказуємо початкову таблицю, а далі перелічуємо ті стовпці, які хочемо залишити.
Результатом операції селекції деякого відношення R за заданим критерієм є нове
відношення, яке утворюється з тих кортежів, значення атрибутів яких роблять істинною
умову, сформульовану критерієм select(R, ) R ' . Критерій селекції – це логічний вираз,
Дана операція призначена для утворення більш крупних відношень з більш дрібних.
Результатом умовного з’єднання двох відношень R( A1, A2 ,..., An ) та S (B1, B2 ,..., Bm ) , де
A B 0 , є нове відношення, множина атрибутів якого є об’єднанням множини атрибутів
першого та другого відношень, а кожен кортеж утворюється шляхом об’єднання тих
кортежів відношень, для яких виконується критерій умовного з’єднання за атрибутами:
Для утворення умовного з’єднання необхідно визначити критерій або умову порівняння
атрибутів з вказаним виразом або між собою.
Хід роботи.
Таблиця Author1:
Таблиця Author2:
Результати запиту:
Результати запиту:
7. Запит на виконання натурального з’єднання Author1 i Comment2:
SELECT author1.authorId, author1.login, author1.created,
comment2.text, comment2.posted
FROM author1, comment2
WHERE author1.authorID = comment2.authorID;
Результати запиту:
8. Запит на виконання умовного з’єднання. Додатковою умовою тут буде порівняння дати
коментаря і дати реєстрації користувача, з метою виявлення помилок в базі.