Учебное пособие: Базы данных и информационные технологии

Набор основных алгебраических операций состоит из восьми операций, которые делятся на основные и дополнительные.

Основные – это объединение, разность, декартово произведение, проекция, выбор. К дополнительным относят пересечение, естественное соединение, соединение и деление.

Объединение

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

Синтаксис операции объединения:

Замечание . если некоторый кортеж входит и в отношение , и отношение , то в объединение он входит один раз.

Пример . Пусть даны два отношения и с информацией о сотрудниках:

Таблица 1 - Отношение A

Табельный номер
Фамилия Зарплата
1 Иванов 1000
2 Пушников 2500
4 Сидоров 3000

Таблица 2 - Отношение B

Табельный номер Фамилия Зарплата
1 Иванов 1000
2 Петров 2000
3 Сидоров 3000
2 Пушников 2500

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

Пересечение

Определение 3 . Пересечением двух совместимых по типу отношений и называется отношение с тем же заголовком, что и у отношений и , и телом, состоящим из кортежей, принадлежащих одновременно обоим отношениям и .

Пример 3 . Для тех же отношений и , что и в предыдущем примере пересечение имеет вид:

Таблица 4 - Отношение A INTERSECT B

Табельный номер Фамилия Зарплата
1 Иванов 1000

Замечание . Казалось бы, что в отличие от операции объединения, потенциальные ключи могли бы наследоваться пересечением отношений. Однако это не так. Вообще, никакие реляционные операторы не передают результатирующему отношению никаких данных о потенциальных ключах . В качестве причины этого можно было бы привести тривиальное соображение, что так получается более просто и симметрично - все операторы устроены одинаково. На самом деле причина более глубока, и заключается в том, что потенциальный ключ - семантическое понятие, отражающее различимость объектов предметной области. Наличие потенциальных ключей не выводится из структуры отношения, а явно задается для каждого отношения, исходя из его смысла. Реляционные же операторы являются формальными операциями над отношениями и выполняются одинаково, независимо от смысла данных, содержащихся в отношениях. Поэтому, реляционные операторы ничего не могут "знать" о смысле данных. Трактовка результата реляционных операций - дело пользователя.

Примеры использования реляционных операторов

Пример 12 . Получить имена поставщиков, поставляющих деталь номер 2.

Решение:

Пример 13 . Получить имена поставщиков, поставляющих по крайней мере одну гайку.

Решение:

Ответ на этот запрос можно получить и иначе:


Пример 14 . Получить имена поставщиков, поставляющих все детали.

Решение:

Пример 15 . Получить имена поставщиков, не поставляющих деталь номер 2.

Решение:

Ответ на этот запрос можно получить и пошагово:

К-во Просмотров: 263
Бесплатно скачать Учебное пособие: Базы данных и информационные технологии