1

1: Объяснение, данное для этого запроса «множество всех кортежей т такое, что существует кортеж ы в отношении одолжить, для которых значения т и с для атрибута CNAME равны, и значение с для количества атрибута больше, чем 1200" . Но мы никогда не говорили о том, к какому поводу относится t. Какое отношение это и почему?Пожалуйста, удалите эту путаницу относительно реляционной алгебры/кортежей исчисления

enter image description here

2: В основном образе, означает «И» Инги этих два выступа (содержащий атрибут «CustomerID» от «клиента» отношения & атрибута «OrderId» от «порядка» отношений) дают Декартово произведение этих двух одноколоночных соотношений? enter image description here

+0

@philipxy проверьте это в отношении объяснения: http://www.cs.sfu.ca/Course/Corral/354/zaiane/material/notes/Chapter3/node12.html#SECTION00131000000000000000 –

+0

@philipxy Извините, я не видел этого , но даже тогда почему t не было связано кванторами с каким-либо отношением? Я имею в виду, какой кортеж они говорят в «наборе всех кортежей t» –

ответ

0

1:

Кортеж т, появляясь на левой стороне, является кортежем ответа на вызов. {t | ... t ...} означает «набор каждого значения, t сказать, что такой ... t ... is true». Для каждого значения кортежа мы называем его t, и если он удовлетворяет условию, то он переходит в ответ.

2:

В части 1 «∧» используются для соединительных и в логическом выражении предиката в реляционном запросе кортежа исчисления. Здесь в 2 вы используете его между двумя выражениями отношений как оператор реляционной алгебры. Обычно «⋈» используется для NATURAL JOIN, а «⨯» используется для CARTESIAN PRODUCT (aka CROSS JOIN). Иногда есть только оператор NATURAL JOIN, и если он используется без общих атрибутов, то его использование/значение просто называется декартовым произведением.

Это два разных вида выражения. Однако «∧» можно использовать в обоих, хотя и для разных вещей. Это не проблема, потому что между двумя предикатными логическими выражениями, очевидно, И и между двумя выражениями реляционной алгебры это, очевидно, оператор реляционной алгебры. Я ожидал, что это ПРИРОДНЫЙ ПРИСОЕДИНЯЙТЕСЬ. Я не видел, чтобы он использовался для CARTESIAN PRODUCT, но помните, что NATURAL JOIN без каких-либо общих атрибутов/возвращает «декартово произведение». Таким образом, ваш пример «дает декартово произведение этих двух».

Некоторые варианты реляционной алгебры имеют кортежи, которые неупорядочены с уникальными именами атрибутов. Тогда, как правило, CARTESIAN PRODUCT принимает два отношения, которые не имеют каких-либо общих атрибутов и возвращают их NATURAL JOIN. Так как атрибуты названий кортежа t в вашем примере исчисления не дают никакого порядка, возможно, это такое отношение.

Некоторые варианты реляционной алгебры имеют упорядоченные кортежи, где имена атрибутов могут появляться несколько раз. Затем, как правило, CARTESIAN PRODUCT возвращает кортежи с общими именами атрибутов, появляющимися несколько раз. Это, по-видимому, имеет место в the slides for the textbook by Silberschatz, Korth & Sudarshan. (Который использует «∧» только как AND.) Тогда NATURAL JOIN имеет только одну копию общих атрибутов, но CARTESIAN JOIN имеет два, поэтому они могут отличаться.Но в вашем примере два результата PROJECTION имеют несвязанные наборы атрибутов. Таким образом, NATURAL JOIN и CARTESIAN PRODUCT возвратят такое же отношение. (Предположим, что порядок атрибутов один и тот же.)

[Причина, по которой тот же символ иногда используется для AND и NATURAL JOIN (и может использоваться для CARTESIAN PRODUCT), состоит в том, что если выражение реляционной алгебры R содержит кортежи, где r (...) и выражение реляционной алгебры S содержит кортежи, где s (...), тогда R NATURAL JOIN S содержит кортежи, где r (...) AND s (...). Фактически каждое выражение реляционной алгебры является значением соответствующего выражения реляционного исчисления, где имена отношений соответствуют заданным предикатам (значениям), а логические операторы соответствуют операторам отношений.]

Используйте отношения, операторы и символы, которые вам сказали для использования вашим инструктором/учебником. В случае сомнений определите свои символы или используйте слова.

+0

Во втором пункте я задал этот вопрос, так как «AND» также использовался для получения декартова произведения двух отношений с использованием исчисления кортежа (я знаю, что AND можно использовать где угодно, чтобы поставить условие). –

+0

Нет, я имею в виду исчисление Tuple (от korth) –

+0

Я не упомянул ∧ для естественного объединения, я нашел вопрос, чтобы выразить декартово произведение двух отношений r и s в исчислении кортежа, я не смог задать вопрос & ответ ∧ использовался, поэтому я спросил, можно ли использовать used для декартова продукта или нет. –

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

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