Запросы возвращают одинаковое значение. Но во втором примере вы также можете попросить ученика G.grade
, тогда как в первом вы не сможете. Правая часть выражения Tulle Relational Calculus описывает набор кортежей, из которых сохраняются только атрибуты с левой стороны. Здесь два выражения правой стороны описывают разные наборы кортежей, но проекция на левую сторону оставляет одно и то же значение.
Разница между
r IN R AND EXISTS s IN S (
etc
)
r IN R AND s IN S AND
etc
является то, что отношение описывается первый имеет только атрибуты R
, тогда как отношение описывается второй имеет атрибуты R
& S
.
Предположим, что любое отношение T
с атрибутами ...
содержит строки, в которых выполняется некоторое выражение T(...)
. Тогда <...> IN T
, если и только если T(...)
.
Тогда можно описать два соотношения выше как кортежи, удовлетворяющие (соответственно)
R(...) AND EXISTS
attributes in S & etc but not in R
(S(...) AND
etc
)
R(...) AND S(...) AND
etc
Это обозначение (более или менее) называется домена Реляционное исчисление.
Предположим, мы определим следующие операторы в отношениях:
PROJECT
some attributes of T
T
держит строки, где EXISTS
other attributes of T
T(...)
T NATURAL JOIN U
держит строки, где T(...) AND U(...)
Тогда мы можем описать два отношения выше, как кортежи в (соответственно)
R NATURAL JOIN PROJECT
attributes in S & etc also in R
(S NATURAL JOIN
etc
)
R NATURAL JOIN S NATURAL JOIN
etc
Это обозначение называется Реляционная алгебра .
I thnk это похоже на ваш вопрос, который я также смотрел вверх: http://cs.stackexchange.com/questions/37861/when-should-you-use-the-existential-and-universal-quantifiers -for-relational-cal Проблема заключается в том, что нет конкретного ответа, кроме, может быть, потому, что количественный вид делает связанные переменные частными (а свободные переменные - аргументами)? Предоставьте ответ, если найдете его. – abhink
Просьба дать ссылку на вариант TRC, который вы используете. – philipxy
Честно говоря, я даже не очень хорошо себя чувствую. – user1766555