Соединения

Соединения

Соединение используется в операторах SELECT для генерации ненормализованных наборов, содержащих столбцы из нескольких таблиц, которые хранят связанные данные. Множества столбцов, выбранных из каждой таблицы, называются потоками. Процесс соединения объединяет выбранные столбцы в единый выходной набор данных. Простейшим случаем является соединение двух таблиц, которые связаны соответствием элементов ключа, встречающихся в обеих таблицах.

Для создания связи ключевые столбцы выбираются на основании того, что они реализуют недвусмысленное отношение - т. е. ключ в левой таблице соединения будет отыскивать только те строки из правой таблицы, которые соответствуют отношению, и он будет отыскивать все такие строки. Обычно связь осуществляется между уникальным ключом левой таблицы (первичный или любой другой уникальный ключ) и формальным или подразумеваемым внешним ключом правой таблицы.

Тем не менее условия соединения не ограничены столбцами первичного и внешнего ключей; сервер допускает в выходном наборе данных дубликаты строк. Дублированные строки могут стать причиной нежелательного результата. По этому вопросу обратитесь к замечаниям в разд. "Темы оптимизации".

Поделитесь на страничке

Следующая глава >

Похожие главы из других книг:

14.5.4. Перехват соединения

Из книги автора

14.5.4. Перехват соединения Атака на компьютеры с помощью перехвата соединения была первый раз применена еще несколько десятков лет назад, и до сих пор единственным эффективным методом борьбы с ней является использование шифрования пакетов.Когда компьютеры по протоколу TCP


Настройка соединения

Из книги автора

Настройка соединения В принципе, все готово к подключению, осталось уточнить два момента.– Первый – нужно проверить тип набора номера. Дело в том, что большинство «наших» телефонов набирают номер в импульсном режиме – это когда в трубке слышен характерный треск, а


7.4. Настройка DSL-соединения

Из книги автора

7.4. Настройка DSL-соединения Для начала хотелось бы дать небольшое вступление. Многие телекоммуникационные компании разных стран мира начали внедрять различные варианты цифровых абонентских линий (DSL — Digital Subscriber Line). Наиболее распространенной из них является технология


10.4 Установка соединения

Из книги автора

10.4 Установка соединения Каким образом два приложения соединяются между собой? Перед коммуникацией каждое из них вызывает подпрограмму для формирования блока памяти, который будет использован для хранения параметров TCP и IP данного соединения, например адресов socket,


10.4.1 Сценарий соединения

Из книги автора

10.4.1 Сценарий соединения Процедуру соединения часто называют тройным рукопожатием (three-way handshake), поскольку для установки соединения производится обмен тремя сообщениями — SYN, SYN и ACK.Во время установки соединения партнеры обмениваются тремя важными порциями


4.4. TCP соединения

Из книги автора

4.4. TCP соединения В этом и в последующих разделах мы поближе рассмотрим признаки состояний и порядок их обработки каждым из трех базовых протоколов TCP, UDP и ICMP, а так же коснемся случая, когда протокол соединения не может быть классифицирован на принадлежность к трем,


4.5. UDP соединения

Из книги автора

4.5. UDP соединения По сути своей, UDP соединения не имеют признака состояния. Этому имеется несколько причин, основная из них состоит в том, что этот протокол не предусматривает установления и закрытия соединения, но самый большой недостаток – отсутствие информации об


2.3.3.2 Распределенные соединения

Из книги автора

2.3.3.2 Распределенные соединения Enterprise Gateway может участвовать в распределенных соединениях, координируемых сервером баз данных INFORMIX. Это позволяет импортировать в базы данных INFORMIX и/или интегрировать с ними данные из разнородных внешних источников.


Соединения

Из книги автора

Соединения Для соединений оптимизатор выполняет процесс слияния потоков данных на основании соответствия значений, явно или неявно указанных в критерии ON. Если какой- нибудь индекс доступен для столбца или столбцов на одной стороне соединения, оптимизатор создает свой


Соединения

Из книги автора

Соединения Соединение является одним из наиболее мощных средств реляционной базы данных по причине его способности поиска абстрактных нормализованных данных в хранилище и в контексте передачи приложениям ненормализованных наборов данных. В операторах JOIN две или


Внешние соединения

Из книги автора

Внешние соединения В отличие от внутреннего соединения оператор внешнего соединения выбирает строки участвующих таблиц, даже если в некоторых случаях не найдено соответствие. Когда полное соответствие строк не может быть сформировано соединением, тогда


Перекрестные соединения

Из книги автора

Перекрестные соединения Firebird не поддерживает языковых элементов для перекрестного соединения (CROSS JOIN), которое создает набор данных, являющийся декартовым произведением двух таблиц. То есть для каждой строки левого потока выходной поток будет содержать каждую строку из


Естественные соединения

Из книги автора

Естественные соединения Firebird не поддерживает естественное соединение (NATURAL JOIN), также известное как эквисоединение (EQUI JOIN), которое создает набор данных, связывая два потока на основе соответствия столбцов, использующих общие идентификаторы столбцов с одинаковыми


Реентерабельные соединения

Из книги автора

Реентерабельные соединения Условия проектирования иногда требуют формирования объединенного набора из двух или более потоков, которые поступают из одной и той же таблицы. Часто таблица проектируется с иерархической, или древовидной, структурой, где каждая строка в