- •1 Операція вибірки
- •2 Операція проекції
- •3 Декартовий добуток
- •4 Операція з'єднання по двох відношеннях (таблицям)
- •4.1 Операція тета-з'єднання
- •4.2 Природне з'єднання
- •4.3 Ліве зовнішнє з'єднання
- •4.4 Напівз'єднання
- •5 Операція об'єднання
- •6 Операція перетину
- •7 Операція різниці
- •8 Операція ділення відношень
8 Операція ділення відношень
Результат операції ділення R:S - набір кортежів відношення R, визначених на безлічі атрибутів S, які відповідають комбінації всіх кортежів відношення S .
T1=ПC( R );
T2=ПC( (S X T1) -R );
T=T1 - T2.
Відношення R визначено на безлічі атрибутів А, а відношення S - на безлічі атрибутів B, причому і C=A - B.
Хай А ={ім'я, стать, зріст, вік, вага}; B ={ім'я, стать, вік}; З ={зріст, вага}.
Таблиця 6.6. Відношення R
ім'я стать зріст вік вага
а ж 160 20 60
b м 180 30 70
з же 150 16 40
Відношення S
ім'я стать вік
а ж 20
T1=ПC(R)
зріст вага
160 60
180 70
150 40
TT=(S X T1) -R
ім'я стать вік зріст вага
а ж 20 180 70
а ж 20 150 40
T2=ПC((S X T1)-R)
зріст вага
180 70
150 40
T=T1-T2
зріст вага
160 60
Приклад 6.16. Розподіл відношень в SQL.
Створення відношення R
CREATE TABLE R
(i int primary key,
ім'я varchar(3),
стать varchar(3),
зріст int,
вік int,
вага int)
Приклад 6.16a. Розподіл відношень в SQL.
Створення відношення S
CREATE TABLE S
(i int primary key
ім'я varchar(3)
стать varchar(3)
вік int)
Приклад 6.16b. Розподіл відношень в SQL.
Створення відношення T1
CREATE VIEW T1
AS
SELECT зріст, вага
FROM R
Приклад 6.16c. Розподіл відношень в SQL.
Створення відношення TT
CREATE VIEW TT AS
SELECT S.ім’я, S.стать, S.вік
T1.зріст, T1.вага
FROM S, T1
Приклад 6.16d. Розподіл відношень в SQL.
Створення відношення T2
CREATE VIEW T2
AS
SELECT TT.зріст, TT.вага
FROM TT
WHERE NOT EXISTS
(SELECT R.зріст, R.вага
FROM R
WHERE TT.ім’я=R.ім’я AND TT.стать=R.стать
AND TT.вік=R.вік
AND TT.зріст=R.зріст
AND TT.вага=R.вага)
Приклад 5.16e. Розподіл відношень в SQL.
Створення відношення T
SELECT T1.зріст, T1.вага
FROM T1
WHERE NOT EXISTS
(SELECT T2.зріст,T2.вага
FROM T2
WHERE T1.зріст=T2.зріст AND T1.вага=T2.вага)
Приклад 6.16f. Розподіл відношень в SQL.
Контрольні питання
-
Дайте коротку характеристику операції вибірки.
-
В чому полягає її призначення?
-
Наведіть формальний синтаксис операції та поясніть його складові.
-
Дайте коротку характеристику операції проекції.
-
В чому полягає її призначення?
-
Наведіть формальний синтаксис операції та поясніть його складові.
-
Дайте коротку характеристику операції декартового добутку.
-
В чому полягає її призначення?
-
Наведіть формальний синтаксис операції та поясніть його складові.
-
Як визначити результуючу кількість записів декартового добутку?
-
Дайте коротку характеристику операції з'єднання.
-
В чому полягає її призначення?
-
Наведіть формальний синтаксис операції та поясніть його складові.
-
Перерахуйте відомі вам різновиди з'єднання та охарактеризуйте кожен з них.
-
Дайте характеристику та поясніть призначення тета-з'єднання.
-
Дайте характеристику та поясніть призначення з'єднання по еквівалентності.
-
Дайте характеристику та поясніть призначення природного з'єднання.
-
Дайте характеристику та поясніть призначення зовнішнього з'єднання.
-
Дайте характеристику та поясніть призначення напівз'єднання.
-
Що таке предикат?
-
Дайте коротку характеристику операції об'єднання.
-
В чому полягає її призначення?
-
Наведіть формальний синтаксис операції та поясніть його складові.
-
Що буде отримано в результаті виконання операції?
-
Дайте коротку характеристику операції перетину.
-
В чому полягає її призначення?
-
Наведіть формальний синтаксис операції та поясніть його складові.
-
Що буде отримано в результаті виконання операції?
-
Дайте коротку характеристику операції різниці.
-
В чому полягає її призначення?
-
Наведіть формальний синтаксис операції та поясніть його складові.
-
Що буде отримано в результаті виконання операції?
-
Дайте коротку характеристику операції ділення відношень.
-
В чому полягає її призначення?
-
Наведіть формальний синтаксис операції та поясніть його складові.
-
Що буде отримано в результаті виконання операції?
