Використання об’єднань

У реляційній алгебрі обєднанням називають добуток двох наборів даних із застосуванням до результату наступного обмеження: він містить тільки перетин двох множин В цілому обєднання зливає два набори даних по горизонталі (цими наборами даних можуть бути вкладені запити, подання, загальні табличні вирази і призначені для користувача функції) і отримує новий результат, комбінуючи рядки одного набору даних з відповідними рядками іншого (рис 91) У цьому розділі будуть описані різні типи обєднань та їх використання для відбору даних

Рис 91 Обєднання зливає рядки одного набору даних з рядками іншого, створюючи нове безліч рядків, що включає стовпці обох наборів даних На цій діаграмі код 101 є загальним для клієнта Smith і замовлення з номером 1 – він використовується для обєднання двох вихідних рядків в одну результуючу рядок

Повязуючи інформацію за допомогою обєднання, інструкція SELECT здатна отримати доступ до даних обох таблиць і застосувати до них вирази для стовпців, функції агрегування, угруповання і умови WHERE Ці можливості є серцем і душею мови SQL і визначають його основну силу

Я прошу вибачення, якщо це нагадає вам домашню роботу вашої дитини з математики, але обєднання засновані на ідеї перетину множин даних Як показано на рис 92, реляционное обєднання має справу з двома наборами даних із загальним значенням, і саме ці значення визначають, як перетинаються таблиці

Рис 92 Реляційні обєднання засновані на накладенні, або перетині, двох множин даних

v Цей набір діаграм є одним з типів діаграм Венна Більш докладно

на замітку ную інформацію про діаграми Венна ви можете отримати на сторінці:

wwwcombinatoricsorg/Surveys/ds5/VennEJChtml

Перетин демонструє той факт, що деякий загальний атрибут може звязати деяку рядок одного набору даних з рядком іншого набору Ці загальні значення зазвичай є парою первинного та зовнішнього ключів, як у наступному прикладі з бази даних OBXKites

■ Поле Contact ID повязує таблиці Contact і [Order]

■ Поле Order ID повязує таблиці [Order] і OrderDetail

■ Поле Product ID повязує таблиці Product і OrderDetail

Мова SQL містить безліч типів обєднань, що визначають, як саме відбираються рядки з різних кінців обєднання У табл 91 перераховані ці типи обєднань, а докладно вони будуть розглянуті в наступних розділах

Таблиця 91 Типи обєднань

Тип

Визначення

Внутрішнє обєднання

Включає тільки відповідні рядки

Ліве зовнішнє

Включає всі рядки з лівої таблиці, незалежно від того, чи існують в

обєднання

правій таблиці відповідні їм, а також повязані рядки правої таблиці

Праве зовнішнє обєд

Включає всі рядки з правої таблиці, незалежно від того, чи існують

нання

в лівій таблиці відповідні їм, а також відповідні рядки лівої

таблиці

Повне зовнішнє обєд

Включає всі рядки з обох таблиць, незалежно від того, чи існують

нання

відповідності між ними

Тета-обєднання

Відповідності між рядками шукаються з використанням нерівностей (<,>,

< =,> = І о)

Перехресне

Декартовій твір – відповідність між кожним рядком першого і

обєднання

другого джерела даних, без яких би то не було умов і обмежень

Джерело: Нільсен, Пол Microsoft SQL Server 2005 Біблія користувача : Пер з англ – М: ООО ІД Вільямс , 2008 – 1232 с : Ил – Парал тит англ

Схожі статті:


Сподобалася стаття? Ви можете залишити відгук або підписатися на RSS , щоб автоматично отримувати інформацію про нові статтях.

Коментарів поки що немає.

Ваш отзыв

Поділ на параграфи відбувається автоматично, адреса електронної пошти ніколи не буде опублікований, допустимий HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

*

*