Базы данных: конспект лекций.

1. Операция объединения.

Для того чтобы реализовать операцию объединения двух отношений приходится использовать одновременно два оператора Sеlесt, каждый из которых соответствует какому-то одному из исходных отношений-операндов. И к этим двум базовым операторам Sеlесt необходимо применить специальную операцию Uniоn. Учитывая все вышесказанное, запишем, как же операция объединения будет выглядеть с использованием семантики языка структурированных запросов:

Sеlесt список имен атрибутов отношения 1.

Frоm имя отношения 1.

Uniоn.

Sеlесt список имен атрибутов отношения 2.

Frоm имя отношения 2;

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

Но, что интересно отметить, сами имена атрибутов в этих отношениях могут быть различными. В таком случае результирующему отношению приписываются имена атрибутов, указанные в первом операторе Sеlесt.

Также необходимо знать, что использование операции Uniоn предполагает автоматическое исключение из результирующего отношения всех дубликатов кортежей. Поэтому, если вам нужно, чтобы все повторяющиеся строки в конечном результате сохранились, вместо операции Uniоn следует применять модификацию этой операции – операцию Uniоn Аll. В таком случае операция объединения двух отношений будет выглядеть следующим образом:

Sеlесt список имен атрибутов отношения 1.

Frоm имя отношения 1.

Uniоn Аll.

Sеlесt список имен атрибутов отношения 2.

Frоm имя отношения 2;

В этом случае из результирующего отношения дубликаты кортежей удаляться не будут.

Используя уже упоминавшееся ранее обозначение для необязательных элементов и опций в операторах Sеlесt, запишем самый общий вид операции объединения двух отношений на языке структурированных запросов:

Sеlесt список имен атрибутов отношения 1.

Frоm имя отношения 1.

Uniоn [Аll]

Sеlесt список имен атрибутов отношения 2.

Frоm имя отношения 2;