Естественное соединение

Операции над отношениями. Реляционная алгебра

Для управления реляционными данными Э.Ф.Кодд ввел реляционные языки обработки данных – реляционную алгебру и реляционные исчисление. Мы будем рассматривать только реляционную алгебру, так как она породила часто встречающие в коммерческих языках баз данных и, более того, некоторые коммерческие языки баз данных основаны на реляционной алгебре. Реляционная алгебра определяет следующие операции:

· Объединение;

· Пересечение;

· Разность;

· Произведение;

· Выбор;

· Создание проекций;

· Соединение;

· Деление.

Первые четыре операции взяты Коддом из математической теории множеств и совпадают с операциями теории множеств. Если считать реляционные таблицы множествами, применимость операции над множествами правомерна. Следующие четыре – новые операции, относящиеся только к реляционной модели данных.

Операции реляционной алгебры делятся на две группы – основные и дополнительные.

Основные операции реляционной алгебры

Объединение

Пусть имеются отношения r и s, тогда отношение t=rÈs называется объединением r и s, если каждый кортеж, принадлежащий t, принадлежит или r, или s, или им обоим.

Разность

Пусть имеются два отношения r и s, тогда отношение t =r – s называется разностью r и s, если каждый кортеж, принадлежащий t, принадлежит r, но не принадлежит s. Операция разности является несимметричной операцией, и ее результат будет различным для разного порядка аргументов.

Декартовое произведение

При выполнении операции произведения двух отношений каждая строка первого отношения-операнда сцепляется (конкатенируется) с каждой строкой второго отношения-операнда. Сцепленные строки образуют отношение-результат. Число строк в отношении-результате равно произведению числа строк в отношениях-операндах.

Проекция(Project)

Оператор проекции (вертикальное подмножество) является унарным оператором на отношениях. Он осуществляет выбор на множестве столбцов.

 

Выбор(Select)

Селекция – это, как и проекция относится к унарным операциям над отношением. Результатом ее применения к отношению r является другое отношение, которое представляет собой подмножество кортежей отношения r, с определенным значением в выделенным атрибуте.

 

Дополнительные операции реляционной алгебры

Пересечение

Пусть имеются два отношения r и s, тогда отношение t =r Ç s называется пересечением r и s, если каждый кортеж, принадлежащий t, одновременно принадлежит r и s.

Естественное соединение

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

Пример. Пусть даны отношения r(R) – штатные_преподаватели и s(S) - совместители. Необходимо осуществить соединение этих отношений, используя атрибут А отношения r и атрибут D отношения s.

D E F
Q a
Q c

r s

А В С
Р a
Р b
Q c

 

При таких условиях оператор выполняется следующим образом: просматриваются по порядку все кортежи по отношению r, и для каждого кортежа анализируется значение атрибута А. Из отношения s выбираются кортежи, у которых значение атрибута совпадают со значением А. Такие кортежи сцепляются. Получается новое отношение.

 

r ⊳⊲ s

А В С Е F
Q c А
Q c с

 

Деление

Деление – это также бинарная несимметричная операция для получения некоторого отношения из двух исходных, причем степень результирующего отношения не совпадает со степенью ни одного из операторов, а вычисляется как разность между степенью отношения - делимого и степенью отношения - делителя.

 

Пример.Даны отношения, содержащие сведения об экзаменах, которые должны были сдавать студенты, и сведения о результатах сдачи этих экзаменов:

 

Ведомости

Номер_зачетки Фамилия Предмет Дата
2004_001 Ягафаров Физика 10.01.05
2004_001 Ягафаров Химия 14.01.05
2004_002 Гимаев Физика 10.01.05
2004_002 Гимаев Химия 14.01.05
2004_005 Бикбаев Химия 14.01.05

 

Расписание

Предмет Дата
Химия 14.01.05
Физика 10.01.05

 

Требуется сформировать ответ на такой запрос: дать сведения о студентах, сдавших все экзамены. Для получения ответа на данный запрос необходимо выполнить операцию деления:

 

t =r ¸ s

Номер_зачетки Фамилия
2004_001 Ягафаров
2004_002 Гимаев

 

 


<== предыдущая лекция | следующая лекция ==>
Классификация систем | Кузова подвижного состава автомобильного транспорта 1 страница




Дата добавления: 2016-03-04; просмотров: 1772;


Поиск по сайту:

При помощи поиска вы сможете найти нужную вам информацию.

Поделитесь с друзьями:

Если вам перенёс пользу информационный материал, или помог в учебе – поделитесь этим сайтом с друзьями и знакомыми.
helpiks.org - Хелпикс.Орг - 2014-2024 год. Материал сайта представляется для ознакомительного и учебного использования. | Поддержка
Генерация страницы за: 0.007 сек.