Частина тексту файла (без зображень, графіків і формул):
Міністерство освіти і науки України
Національний університет “Львівська політехніка”
Кафедра інформаційних
систем та мереж
Звіт
до лабораторної роботи №6
Виконання реляційних операцій реляційної алгебри засобами SQL
Виконав:
Студент гр. КН-419
Прийняв:
Завалій
Львів - 2008
Мета роботи: Розробити SQL запити для виконання операцій реляційної алгебри: проекції, селекції, натурального з’єднання, умовного з’єднання.
Хід роботи
Для простоти заповнимо таблиці tblUsergroup і tblUser фіктивними значеннями.
tblUsergroup:
UsergroupID UsergroupName UsergroupDescription
----------- -------------------------------------------------- --------------------------
1 Admin Administrator
2 User Just a user
tblUser:
UserID UserLogin UserName UserUsergroupID
----------- -------------------- -------------------- ---------------
1 aaa a 1
2 bbb b 2
3 ccc c 1
4 ddd d 2
5 eee e 1
6 fff f 2
7 ggg g 1
8 hhh h 2
Створимо на основі останньої дві нові:
DECLARE @tblUser1 AS TABLE (UserID int, UserLogin nvarchar(20), UserName nvarchar(20), UserUsergroupID int)
INSERT INTO @tblUser1 SELECT UserID, UserLogin, UserName, UserUsergroupID FROM tblUser WHERE UserID < 6
DECLARE @tblUser2 AS TABLE (UserID int, UserLogin nvarchar(20), UserName nvarchar(20), UserUsergroupID int)
INSERT INTO @tblUser2 SELECT UserID, UserLogin, UserName, UserUsergroupID FROM tblUser WHERE UserID > 3
@tblUser1:
UserID UserLogin UserName tblUser2
----------- -------------------- -------------------- -----------
1 aaa a 1
2 bbb b 2
3 ccc c 1
4 ddd d 2
5 eee e 1
@tblUser2:
UserID UserLogin UserName tblUser1
----------- -------------------- -------------------- -----------
4 ddd d 2
5 eee e 1
6 fff f 2
7 ggg g 1
8 hhh h 2
Запит для виконання проекції:
SELECT UserLogin FROM @tblUser1
Результат:
UserLogin
--------------------
aaa
bbb
ccc
ddd
eee
Запит для виконання селекції:
SELECT UserLogin FROM @tblUser1
WHERE UserID < 5 AND UserID > 2
Результат:
UserLogin
--------------------
ccc
ddd
Запит для виконання натурального з’єднання:
SELECT * FROM @tblUser1, tblUsergroup
WHERE UserUsergroupID = UsergroupID
Результат:
UserID UserLogin UserName UserUsergroupID UsergroupID UsergroupName UsergroupDescription
----------- -------------------- -------- --------------- ----------- ------------- --------------------
1 aaa a 1 1 Admin Administrator
2 bbb b 2 2 User Just a user
3 ccc c 1 1 Admin Administrator
4 ddd d 2 2 User Just a user
5 eee e 1 1 Admin Administrator
Запит для виконання умовного з’єднання:
SELECT * FROM @tblUser1, @tblUser2
WHERE [@tblUser1].UserUsergroupID > [@tblUser2].UserUsergroupID
Результат:
UserID UserLogin UserName UserUsergroupID UserID UserLogin UserName UserUsergroupID
----------- -------------------- -------------------- --------------- ----------- ------------------ -------------------- ---------------
2 bbb b 2 5 eee e 1
4 ddd d 2 5 eee e 1
2 bbb b 2 7 ggg g 1
4 ddd d 2 7 ggg g 1
Висновок: на цій лабораторній роботі було розглянуто операції реляційної алгебри та
проведено проекцію, селекцію, натуральне з’єднання та умовне з’єднання таблиць.