Мегаобучалка Главная | О нас | Обратная связь


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



2020-03-17 215 Обсуждений (0)
Операции реляционной алгебры 0.00 из 5.00 0 оценок




Операции реляционной алгебры лежат в основе языка манипулирования данными СУБД, основанных на РБД. Эти операции выполняются над файлами, и результатом их выполнения также является файл, который в общем случае может оказаться и пустым.

При описании операций реляционной алгебры будем использовать обозначения:

· ИФ (ИФ1; ИФ2) - имя исходного (первого исходного; второго исходного) файла;

·   ФР - имя файла результата.

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

Проектирование. Формальная запись: ФР = proj[список имен полей] (ИФ). Операция не накладывает ограничений на исходный файл. Операция предусматривает следующие действия:

· из ИФ исключаются все поля, имена которых отсутствуют в списке имен полей;

·   из полученного файла удаляются повторяющиеся записи.

Пример. Пусть ИФ (КАДРЫ) содержит 4 поля:

 

КАДРЫ

НОМЕР ДОЛЖНОСТЬ ФАМИЛИЯ П/Я
01 инженер Петров 34170
02 инженер Горин 11280
03 старший инженер Сидоров 34170
04 начальник цеха Фомин 27220
05 начальник цеха Николаев 11280

 

и требуется выполнить операцию

 

ФР = proj [П/Я] (КАДРЫ).

Тогда после выполнения операции получим результат

 

ФР
П/Я
34170
11280
27220

 

Заметим, что с помощью приведенной операции можно выявить, в каких почтовых ящиках работают сотрудники, информация о которых содержится в данном файле.

Селекция (выбор). Формальная запись:

 

ФР = sel [условие] (ИФ).

 

Эта операция также не накладывает ограничений на ИФ. В файл результата заносятся те записи из ИФ, которые удовлетворяют условию поиска. Условие представляет собой логическое выражение, связывающее значения полей ИФ.

Пример. Пусть для приведенного выше ИФ КАДРЫ требуется выявить сотрудников П/Я 34170, имеющих должность "ст. инженер". Для отработки такого запроса достаточно выполнить операцию:

 

ФР = sel [ДОЛЖНОСТЬ = "ст. инженер" И П/Я = "34170"] (КАДРЫ).


ФР

НОМЕР ДОЛЖНОСТЬ ФАМИЛИЯ п/я
03 старший инженер Сидоров 34170

 

Соединение. Формальная запись:

 

ФР = ИФ1 ►◄ ИФ2.

(список полей)

 

В реляционной алгебре определено несколько операций соединения. Мы рассмотрим так называемое естественное соединение.

Условием выполнения данной операции является наличие в соединяемых файлах одного или нескольких однотипных полей, по которым и осуществляется соединение (эти поля указываются в списке; если список пуст, соединение осуществляется по всем однотипным полям).

В файл результата заносятся записи, являющиеся так называемыми конкатенациями (англ, concatenate - сцеплять, связывать) записей исходных файлов. Иными словами, в ФР попадают записи ИФ1 и ИФ2 с совпадающими значениями полей, по которым осуществляется соединение ("сцепка").

Пример 1. Пусть помимо файла КАДРЫ имеется файл ЦЕХ, в котором указаны порядковый НОМЕР сотрудника (как и в первом файле) и НОМЕР_ЦЕХА - номер цеха, в котором данный сотрудник работает.

ЦЕХ

НОМЕР НОМЕР_ЦЕХА
01 Ц1
02 Ц2
03 Ц1
04 Ц2
05 Ц1

 

Тогда после выполнения операции

ФР = КАДРЫ►◄ЦЕХ

 

получим

ФР

НОМЕР ДОЛЖНОСТЬ ФАМИЛИЯ П/Я НОМЕР ЦЕХА
01 инженер Петров 34170 Ц1
02 инженер Горин 11280 Ц2
03 старший инженер Сидоров 34170 Ц1
04 начальник цеха Фомин 27220 Ц2
05 начальник цеха Николаев 11280 Ц1

 

Следует обратить внимание, что в формате команды не указаны поля соединения. Следовательно, оно осуществляется по единственному однотипному полю (НОМЕР).

Объединение

Формальная запись:

 

ФР = ИФ1Y ИФ2.

 

Условием выполнения операции является однотипность (одинаковая структура) исходных файлов.

В файл результата заносятся неповторяющиеся записи исходных файлов.

Пример. Пусть в БД имеются два файла: УЧ_Д_КАФЕДРЫ_1 и УЧ_Д_КАФЕДРЫ_2, в которых содержатся данные о читаемых кафедрами № 1 и № 2 учебных дисциплинах

УЧ_Д_КАФЕДРЫ1

НОМЕР ДИСЦИПЛИНЫ УЧЕБНАЯ ГРУППА
2011-12 99/ЭВ. 3-02
5300-43 96/ЭИ. 6-01
5140-11 98/ЭВ. 4-03

УЧ_Д_КАФЕДРЫ2

НОМЕР ДИСЦИПЛИНЫ УЧЕБНАЯ ГРУППА  
5110-15 97/ЭИ. 5-02
5413-23 98/ЭВ. 4-01
2010-19 01/ЭИ. 1-03
5300-43 96/ЭИ. 6-01

 

Тогда после выполнения операции объединения

 

ФР = УЧ_А_КАФЕДРЫ1 Y УЧ_Д_КАФЕДРЫ2

 

получим данные об учебных дисциплинах, читаемых обеими кафедрами:

ФР

НОМЕР ДИСЦИПЛИНЫ УЧЕБНАЯ ГРУППА
5110-15 97/ЭИ. 5-02
5413-23 98/ЭВ. 4-01
2010-19 01/ЭИ. 1-03
5300-43 96/ЭИ. 6-01
2011-12 99/ЭВ. 3-02
5140-11 98/ЭВ. 4-03

 

Напомним, что последовательность записей в файлах БД роли не играет.

Разность (вычитание)

Формальная запись:

 

ФР = ИФ1-ИФ2.

 

Условием выполнения операции является однотипность (одинаковая структура) исходных файлов.

В файл результата заносятся записи первого исходного файла, которых нет во втором.

Пример. В условиях предыдущего примера выполним операцию

 

ФР = УЧ_Д_КАФЕДРЫ1 - УЧ_Д_КАФЕДРЫ2.

 

Получим данные об учебных дисциплинах, читаемых кафедрой № 1 без участия кафедры № 2.

ФР

НОМЕР ДИСЦИПЛИН УЧЕБНАЯ ГРУППА
2011-12 99/ЭВ. 3-02
5140-11 98/ЭВ. 4-03

Пересечение

Формальная запись:

 

ФР = ИФ1- ИФ2.

 

Условием выполнения операции является однотипность (одинаковая структура) исходных файлов.

В результирующий файл заносятся записи, присутствующие в обоих исходных файлах.

Пример. Для уже известных файлов УЧ_Д_КАФЕДРЫ1 и УЧ_Д_КАФЕДРЫ2 выполним операцию пересечения

 

ФР = УЧ_Д_КАФЕДРЫ1 - УЧ_Д_КАФЕДРЫ2.

 

Получим данные о совместно читаемых обеими кафедрами дисциплинах:


 

ФР

НОМЕР ДИСЦИПЛИНЫ УЧЕБНАЯ ГРУППА
5300-13 533

 

3.
СЕТЕВЫЕ ТЕХНОЛОГИИ

 



2020-03-17 215 Обсуждений (0)
Операции реляционной алгебры 0.00 из 5.00 0 оценок









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

Обсуждений еще не было, будьте первым... ↓↓↓

Отправить сообщение

Популярное:
Как выбрать специалиста по управлению гостиницей: Понятно, что управление гостиницей невозможно без специальных знаний. Соответственно, важна квалификация...
Почему человек чувствует себя несчастным?: Для начала определим, что такое несчастье. Несчастьем мы будем считать психологическое состояние...
Как вы ведете себя при стрессе?: Вы можете самостоятельно управлять стрессом! Каждый из нас имеет право и возможность уменьшить его воздействие на нас...



©2015-2024 megaobuchalka.ru Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. (215)

Почему 1285321 студент выбрали МегаОбучалку...

Система поиска информации

Мобильная версия сайта

Удобная навигация

Нет шокирующей рекламы



(0.007 сек.)