Объединение.
Реляционная алгебра.
Реляционная алгебра и реляционное исчисление.
Рассмотрение операций над отношениями, предусмотренных реляционной моделью, необходимо для более полного понимания сути модели. Кроме того, хотя реляционные СУБД и не реализуют реляционную алгебру и реляционное исчисление напрямую, понимание этих методов помогает формулировать запросы на языке SQL и манипулировать данными с его помощью.
Поэтому, хотя ежедневной необходимости использования реляционной алгебры у специалиста по базам данных нет, мы кратко рассмотрим операции, входящие в ее состав. Подробное рассмотрение выходит за рамки настоящего конспекта, а интересующиеся могут обратиться к литературе. Хорошее рассмотрение этой темы имеется в фундаментальной работе Дейта [1].
Первоначально, при определении реляционной модели данных, Кодд сформулировал восемь операций реляционной алгебры. Этот набор избыточен, одни операции могут быть выражены через другие, но он формировался с учетом удобства использования. Со временем набор операций расширился, но рассмотрение расширений не входит в наши задачи. Для понимания сути реляционной алгебры достаточно познакомиться с восемью первыми операциями.
|
|
При рассмотрении операций мы ограничимся их словесным описанием. Конечно, применение формульной записи делает изложение строже, но не всегда – понятнее.
Начнем рассмотрение с четыре базовых операций реляционной алгебры: объединения, пересечения, разности и декартова произведения.
Объединением двух отношений называется отношение, содержащее кортежи, принадлежащие либо первому отношению, либо второму отношению, либо обоим отношениям одновременно.
Проще говоря, в результате объединения двух отношений получается третье, содержащее все кортежи исходных отношений. Очевидно, что кортежи, входящие в оба исходных отношения, включаются в объединение в единственном экземпляре.
Надо также отметить, что операция объединения (как и операции пересечения и разности) может применяться только к отношениям, имеющим одинаковую структуру, то есть, наборы атрибутов которых совпадают.
На рисунке 3.1 приведено схематичное изображение операции объединения. Круги означают исходные отношения, цветом выделена часть, попадающая в результат объединения. Очевидно, что попадает все содержимое исходных отношений.
Рис. 3.1 Объединение отношений.
Пересечением двух отношений называется отношение, содержащее множество кортежей, которые входят одновременно и в первое, и во второе исходные отношения.
Другими словами, в результате пересечения двух отношений мы получим третье, содержащее общую часть двух исходных отношений.
Рисунок 3.2 представляет схематичное изображение операции пересечения. Цветом выделен результат операции.
Рис. 3.2 Пересечение отношений.