Операции реляционной алгебры
Операции реляционной алгебры лежат в основе языка манипулирования данными СУБД, основанных на РБД. Эти операции выполняются над файлами, и результатом их выполнения также является файл, который в общем случае может оказаться и пустым. При описании операций реляционной алгебры будем использовать обозначения: · ИФ (ИФ1; ИФ2) - имя исходного (первого исходного; второго исходного) файла; · ФР - имя файла результата. Некоторые операции накладывают на исходные файлы ограничения, которые в определенном смысле можно рассматривать как внутренние ограничения целостности. Проектирование. Формальная запись: ФР = proj[список имен полей] (ИФ). Операция не накладывает ограничений на исходный файл. Операция предусматривает следующие действия: · из ИФ исключаются все поля, имена которых отсутствуют в списке имен полей; · из полученного файла удаляются повторяющиеся записи. Пример. Пусть ИФ (КАДРЫ) содержит 4 поля:
КАДРЫ
и требуется выполнить операцию
ФР = proj [П/Я] (КАДРЫ). Тогда после выполнения операции получим результат
Заметим, что с помощью приведенной операции можно выявить, в каких почтовых ящиках работают сотрудники, информация о которых содержится в данном файле. Селекция (выбор). Формальная запись:
ФР = sel [условие] (ИФ).
Эта операция также не накладывает ограничений на ИФ. В файл результата заносятся те записи из ИФ, которые удовлетворяют условию поиска. Условие представляет собой логическое выражение, связывающее значения полей ИФ. Пример. Пусть для приведенного выше ИФ КАДРЫ требуется выявить сотрудников П/Я 34170, имеющих должность "ст. инженер". Для отработки такого запроса достаточно выполнить операцию:
ФР = sel [ДОЛЖНОСТЬ = "ст. инженер" И П/Я = "34170"] (КАДРЫ). ФР
Соединение. Формальная запись:
ФР = ИФ1 ►◄ ИФ2. (список полей)
В реляционной алгебре определено несколько операций соединения. Мы рассмотрим так называемое естественное соединение. Условием выполнения данной операции является наличие в соединяемых файлах одного или нескольких однотипных полей, по которым и осуществляется соединение (эти поля указываются в списке; если список пуст, соединение осуществляется по всем однотипным полям). В файл результата заносятся записи, являющиеся так называемыми конкатенациями (англ, concatenate - сцеплять, связывать) записей исходных файлов. Иными словами, в ФР попадают записи ИФ1 и ИФ2 с совпадающими значениями полей, по которым осуществляется соединение ("сцепка"). Пример 1. Пусть помимо файла КАДРЫ имеется файл ЦЕХ, в котором указаны порядковый НОМЕР сотрудника (как и в первом файле) и НОМЕР_ЦЕХА - номер цеха, в котором данный сотрудник работает. ЦЕХ
Тогда после выполнения операции ФР = КАДРЫ►◄ЦЕХ
получим ФР
Следует обратить внимание, что в формате команды не указаны поля соединения. Следовательно, оно осуществляется по единственному однотипному полю (НОМЕР). Объединение Формальная запись:
ФР = ИФ1Y ИФ2.
Условием выполнения операции является однотипность (одинаковая структура) исходных файлов. В файл результата заносятся неповторяющиеся записи исходных файлов. Пример. Пусть в БД имеются два файла: УЧ_Д_КАФЕДРЫ_1 и УЧ_Д_КАФЕДРЫ_2, в которых содержатся данные о читаемых кафедрами № 1 и № 2 учебных дисциплинах УЧ_Д_КАФЕДРЫ1
УЧ_Д_КАФЕДРЫ2
Тогда после выполнения операции объединения
ФР = УЧ_А_КАФЕДРЫ1 Y УЧ_Д_КАФЕДРЫ2
получим данные об учебных дисциплинах, читаемых обеими кафедрами: ФР
Напомним, что последовательность записей в файлах БД роли не играет. Разность (вычитание) Формальная запись:
ФР = ИФ1-ИФ2.
Условием выполнения операции является однотипность (одинаковая структура) исходных файлов. В файл результата заносятся записи первого исходного файла, которых нет во втором. Пример. В условиях предыдущего примера выполним операцию
ФР = УЧ_Д_КАФЕДРЫ1 - УЧ_Д_КАФЕДРЫ2.
Получим данные об учебных дисциплинах, читаемых кафедрой № 1 без участия кафедры № 2. ФР
Пересечение Формальная запись:
ФР = ИФ1- ИФ2.
Условием выполнения операции является однотипность (одинаковая структура) исходных файлов. В результирующий файл заносятся записи, присутствующие в обоих исходных файлах. Пример. Для уже известных файлов УЧ_Д_КАФЕДРЫ1 и УЧ_Д_КАФЕДРЫ2 выполним операцию пересечения
ФР = УЧ_Д_КАФЕДРЫ1 - УЧ_Д_КАФЕДРЫ2.
Получим данные о совместно читаемых обеими кафедрами дисциплинах:
ФР
3.
Популярное: Как выбрать специалиста по управлению гостиницей: Понятно, что управление гостиницей невозможно без специальных знаний. Соответственно, важна квалификация... Почему человек чувствует себя несчастным?: Для начала определим, что такое несчастье. Несчастьем мы будем считать психологическое состояние... Как вы ведете себя при стрессе?: Вы можете самостоятельно управлять стрессом! Каждый из нас имеет право и возможность уменьшить его воздействие на нас... ©2015-2024 megaobuchalka.ru Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. (215)
|
Почему 1285321 студент выбрали МегаОбучалку... Система поиска информации Мобильная версия сайта Удобная навигация Нет шокирующей рекламы |