s является результатом операции r1
Пусть s является результатом операции r1 RIGHT OUTER JOUN r2 WHERE comp (правое внешнее соединение r1 и r2 по условию comp). Тогда Hs = Hr1 union Hr2. Пусть tr1
Br1 и tr2
Br2. Тогда tr1 union tr2
Bs в том и только в том случае, когда comp (tr1 union tr2) = true. Если имеется кортеж tr2
Br2, для которого нет ни одного такого кортежа tr1
Br1, что comp (tr1 union tr2) = true, то tr1null union tr2
Bs, где tr1null – кортеж, соответствующий Hr1, все значения которого являются неопределенными.
Наконец, пусть s является результатом операции r1 FULL OUTER JOUN r2 WHERE comp (полное внешнее соединение r1 и r2 по условию comp). Тогда Hs = Hr1 union Hr2. Пусть tr1
Br1 и tr2
Br2. Тогда tr1 union tr2
Bs в том и только в том случае, когда comp (tr1 union tr2) = true. Если имеется кортеж tr1
Br1, для которого нет ни одного кортежа tr2
Br2, такого, что comp (tr1 union tr2) = true, то tr1 union tr2null
Bs, где tr2null – кортеж, соответствующий Hr2, все значения которого являются неопределенными. Если имеется кортеж tr2
Br2, для которого нет ни одного кортежа tr1
Br1, такого, что comp (tr1 union tr2) = true, то tr1null union tr2
Bs, где tr1null – кортеж, соответствующий Hr1, все значения которого являются неопределенными.
Понятно, что традиционными средствами SQL можно выразить все виды внешних соединений (например, с использованием переключателей), но такие запросы будут очень громоздкими. Компании-производители SQL-ориентированных СУБД пытались обеспечивать выразительные средства внешних соединений путем расширения системы обозначений для операций сравнения. Этот подход был не слишком удачным и не обеспечивал общего решения.
В стандарте языка SQL специфицирован отдельный специализированный подъязык для формирования выражений соединения таблиц. Такие выражения называются соединенными таблицами, и их можно использовать в качестве ссылок на таблицы в списке раздела FROM. Разработчики стандарта SQL не любят мельчить – в языке допускается 14 видов соединений:
- прямое соединение;
- внутреннее соединение по условию;
- внутреннее соединение по совпадению значений указанных одноименных столбцов;
- естественное внутреннее соединение;
- левое внешнее соединение по условию;
- правое внешнее соединение по условию;
- полное внешнее соединение по условию;
- левое внешнее соединение по совпадению значений указанных одноименных столбцов;
- правое внешнее соединение по совпадению значений указанных одноименных столбцов;
- полное внешнее соединение по совпадению значений указанных одноименных столбцов;
- естественное левое внешнее соединение;
- естественное правое внешнее соединение;
- естественное полное внешнее соединение;
- соединение объединением.
Содержание Назад Вперед
Forekc.ru
Рефераты, дипломы, курсовые, выпускные и квалификационные работы, диссертации, учебники, учебные пособия, лекции, методические пособия и рекомендации, программы и курсы обучения, публикации из профильных изданий