SQL тилининг реляцион тўлиқлиги
SQL тилининг реляцион тўлиқлигини исботлаш учун реляцион алгебрадаги амалларни SQL оператори орқали ёзиш имконияти мавжуд бўлиши керак. Қуйида шу имкониятлар келтирилган.
Декарт кўпайтмаси амали
Реляцион алгебрада: A TIMES B
SQL оператори:
SELECT A.*,B.*
FROM A,B;
ёки
SELECT A.*,B.*
FROM A CROSS JOIN B;
Нусхалаш амали
Реляцион алгебрада: A[X,Y,…,Z]
SQL оператори:
SELECT DISTINCT X,Y,…,Z
FROM A;
Танлаш амали
Реляцион алгебрада: A WHERE c
SQL оператори:
SELECT *
FROM A
WHERE c;
Бирлаштириш амали
Реляцион алгебрада: A UNION B
SQL оператори:
SELECT *
FROM A
UNION
SELECT *
FROM B;
Айириш амали
Реляцион алгебрада: A MINUS B
SQL оператори:
SELECT *
FROM A
EXCEPT
SELECT *
FROM B;
Туташтириш амали
Реляцион алгебрада: (A TIMES B) WHERE c
SQL оператори:
SELECT A.*,B.*
FROM A,B
WHERE c;
ёки
SELECT A.*,B.*
FROM A CROSS JOIN B
WHERE c;
Бошқа турдаги туташтиришларни биз юқорида кўрсатганмиз.
Кесиишш амали
Реляцион алгебрада: A INTERSECT B
SQL оператори:
SELECT *
FROM A
INTERSECT
SELECT *
FROM B;
Бўлиш амали
Реляцион алгебрада: A(X,Y) DEVIDE BY B(Y)
SQL оператори:
SELECT DISTINCT A.X
FROM A
WHERE NOT EXIST
(SELECT *
FROM A A1
WHERE A1.X=A.X AND A1.Y=B.Y));
Do'stlaringiz bilan baham: |