Галерея
7757 8119 8300 8698 8817 9504 9722 9937
Интересные записи
Топовые новости
Новое

Идея объединения таблицы с самой собой

Идея объединения таблицы с самой собойИдею объединения таблицы с самой собой можно назвать наиболее интуитивно понятной концепцией SQL. Несмотря на простоту звучания самого термина, объединение таблицы с самой собой может привести к множеству недоразумений. В данном вопросе главное понять, что, несмотря на логическое объединение таблицы с самой собой, фактически объединяются Два экземпляра этой таблицы. Таким образом, самообъединение можно рассматривать как частный случай объединения нескольких таблиц Также очень важно понимать отличие таблицы от ее экземпляра. Два экземпляра можно рассматривать как образы одной таблицы, загруженные в два независимых сегмента памяти. Представьте себе, что в компании ACME принято решение реализовать некоторый тип модели многоуровневого маркетинга. Процесс начинается с продажи товара дилеру, который, в свою очередь, перепродает товар другому, связанному с ним дилеру, и т. д., пока товар не поступит конечному покупателю. Это значит, что любой клиент компании ACME может выступать и в качестве дилера (который покупает и перепродает товары), и в качестве поставщика (от которого товары поступают), причем в обоих ипостасях одновременно. Отношение должно быть реализовано в таблице RESELLER. В столбце RESELLER_SUPPLIERE_ID у компании ACME Inc. содержится значение NULL, так как она находится на вершине пирамиды продаж и сама является изначальным поставщиком. Все остальные компании имеют в этом поле значение первичного ключа другой компании. В следующем примере использовано объединение таблицы с самой собой для извлечения идентификатора дилера и его имени наряду с именем и идентификатором его поставщика. Применен синтаксис стандарта Эту информацию можно интерпретировать следующим образом. Компания ACME INC. продает товары напрямую фирмам MAGNETICS USA INC. и MAGNETOMETRIC DEVICES INC.. Последняя из этих фирм перепродает товары, полученные от ACME INC., компаниям WILE ELECTRONICS INC. и INTEREX USA и т. д.

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *