Мне было интересно, что преобразование будет для этой алгебры πA, D (R ⋈ σB = 8 (S)) - PullRequest
0 голосов
/ 05 сентября 2018

В упражнении задается вопрос:

Рассмотрим отношение R (A, B, C) и S (A, B, D) , содержащее следующие кортежи:

A  B  C          A  B  D
-------          -------
6  8  7          5  8  7
6  6  7          6  6  7
7  8  6          6  8  6

Что должно быть произведено из выражения π A, D (R⋈σ B = 8 (S))

И дает ответ как:

A  D
----
6  6

Почему это?

Я понимаю, что pi - это проекция, поэтому она будет выводить только таблицы A и D. Во-первых, я не понимаю, почему это не AAD в новой таблице, поскольку есть 2 A, а во-вторых, я не делаю понять, что означают критерии выбора.

Ответы [ 2 ]

0 голосов
/ 05 сентября 2018

Давайте работать изнутри. Сначала рассмотрим σ B = 8 (S). Это выбор. Мы используем S в качестве нашего источника, но мы пропускаем только кортежи, которые соответствуют условию B=8. Итак, давайте обозначим это новое отношение T (A, B, D) :

A  B  D
-------
5  8  7
6  8  6

Кортеж 6,6,7 не был выбран, поскольку его значение B не равно 8.


Теперь давайте рассмотрим R⋈T. Это естественное соединение между моим T кортежем и R. Естественное объединение основано на всех столбцах с одинаковыми именами, используемых для объединения отношений. Мы не получаем два A или B s в этом результате, потому что а) они всегда равны, и б) элементы кортежа различаются по имени, поэтому вы не можете иметь несколько элементов с одинаковым именем. Итак, мы производим U (A, B, C, D) :

A  B  C  D
----------
6  8  7  6

(поскольку только кортежи (6,8,7) из R и (6,8,6) из T имеют совпадающие значения A и B).

Наконец, мы планируем сохранить только A и D из U. Надеюсь, мне не нужно это объяснять.

0 голосов
/ 05 сентября 2018

Выбор B = 8 из S даст

A B D 
5 8 7 
6 8 6 

Соединение с R даст

A B C D
6 8  7 6

, поскольку A = 6 и B = 8 в таблице R (1-я строка) и результирующей таблице S (2-я строка)

Из проекции вы увидите ответ

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...