2016-10-22 6 views
2

Почему кванторы необходимы в корреляционном исчислении Tuple?
Допустим, у меня есть это заявление:Почему кванторы необходимы в корреляционном исчислении Tuple?

{S.sname | S в Student и (существует G в классе) (S.s # = G.s #)};

Почему я не могу использовать это вместо этого?

{S.sname | S в Student и G в классе и S.s # = G.s #};

+0

I thnk это похоже на ваш вопрос, который я также смотрел вверх: http://cs.stackexchange.com/questions/37861/when-should-you-use-the-existential-and-universal-quantifiers -for-relational-cal Проблема заключается в том, что нет конкретного ответа, кроме, может быть, потому, что количественный вид делает связанные переменные частными (а свободные переменные - аргументами)? Предоставьте ответ, если найдете его. – abhink

+0

Просьба дать ссылку на вариант TRC, который вы используете. – philipxy

+0

Честно говоря, я даже не очень хорошо себя чувствую. – user1766555

ответ

2

Запросы возвращают одинаковое значение. Но во втором примере вы также можете попросить ученика G.grade, тогда как в первом вы не сможете. Правая часть выражения Tulle Relational Calculus описывает набор кортежей, из которых сохраняются только атрибуты с левой стороны. Здесь два выражения правой стороны описывают разные наборы кортежей, но проекция на левую сторону оставляет одно и то же значение.

Разница между
r IN R AND EXISTS s IN S (etc)
r IN R AND s IN S ANDetc
является то, что отношение описывается первый имеет только атрибуты R, тогда как отношение описывается второй имеет атрибуты R & S.

Предположим, что любое отношение T с атрибутами ... содержит строки, в которых выполняется некоторое выражение T(...). Тогда <...> IN T, если и только если T(...).

Тогда можно описать два соотношения выше как кортежи, удовлетворяющие (соответственно)
R(...) AND EXISTSattributes in S & etc but not in R(S(...) ANDetc)
R(...) AND S(...) ANDetc
Это обозначение (более или менее) называется домена Реляционное исчисление.

Предположим, мы определим следующие операторы в отношениях:
PROJECTsome attributes of TT держит строки, где EXISTSother attributes of TT(...)
T NATURAL JOIN U держит строки, где T(...) AND U(...)

Тогда мы можем описать два отношения выше, как кортежи в (соответственно)
R NATURAL JOIN PROJECTattributes in S & etc also in R(S NATURAL JOINetc)
R NATURAL JOIN S NATURAL JOINetc
Это обозначение называется Реляционная алгебра .

 Смежные вопросы

  • Нет связанных вопросов^_^