2015-07-19 2 views
0

Какова мощность (количество строк) для нескольких соединений с внешними ключами из разных таблиц? И почему?Объединение внешних ключей (реляционная алгебра)

Например

(R1⋈(b=d)R2) ⋈(f=g)R3 

отношения являются:

  • R1 (а, б, в) - это является первичным ключом
  • R2 (д, д, е) - д и е первичные ключи
  • R3 (G, H, I) - г является первичным ключом

где b ссылки d и f ссылки g. Число строк в точности R1 или они находятся между R1 и R1 * R3? Надеюсь, вы, ребята, поняли мой вопрос.

ответ

0

При наличии внешнего ключа RA, ссылающегося на SB-средство (a), каждое значение SA появляется в SB и b) B является ключом S. Если вы присоедините R к S на A = B, то по per (a) каждый R имеет совпадение по S и per (b) имеет только одно совпадение в S. Таким образом, соединение имеет такое же количество строк, что и S.

Если в таблице есть внешний ключ из столбца таблицы, результат соединения в этом столбце имеет тот же внешний ключ. Это связано с тем, что результат имеет только значения этого столбца, которые была сделана в этой таблице, поэтому каждое значение этого столбца в результате также находится в таблице и столбце, на который они ссылаются.

Итак, для вашего примера: первое соединение имеет строки S1. Результат имеет внешний ключ от f до R3 g, поскольку S2. Таким образом, результат второго соединения имеет строки S1.