Хомоненко А.Д., Цыганков В.М., Мальцев М.Г. - Базы данных. Учебник для высших учебных заведений (6-е изд.) - 2009, страница 14
Описание файла
PDF-файл из архива "Хомоненко А.Д., Цыганков В.М., Мальцев М.Г. - Базы данных. Учебник для высших учебных заведений (6-е изд.) - 2009", который расположен в категории "". Всё это находится в предмете "информационное обеспечение разработок" из 8 семестр, которые можно найти в файловом архиве МГТУ им. Н.Э.Баумана. Не смотря на прямую связь этого архива с МГТУ им. Н.Э.Баумана, его также можно найти и в других разделах. Архив можно найти в разделе "книги и методические указания", в предмете "информационное обеспечение разработок" в общих файлах.
Просмотр PDF-файла онлайн
Текст 14 страницы из PDF
3.7. Таблицы поставщиков, деталей и поставок68Часть 1. Основыпостроениябазданныхлов длиной 15, Д # — строка символов длиной 6, Тип — строка символов длиной 6, Вес — цифровое длиной 5, Количество — цифровое длиной 5.3 . 6 . Реляционная алгебраРеляционная алгебра как теоретический язык запросов по сравнениюс реляционным исчислением более наглядно описывает выполняемые над отношениями действия.Примером языка запросов, основанного на реляционной алгебре, является ISBL (Information System Base Language — базовый язык информационных систем). Языки запросов, построенные на основе реляционной алгебры,в современных СУБД широкого распространения не получили.
Однако знакомство с ней полезно для понимания сути реляционных операций, выражаемых другими используемыми языками.Вариант реляционной алгебры, предложенный Коддом, включает в себяследующие основные операции: объединение, разность (вычитание), пересечение, декартово (прямое) произведение (или произведение), выборка (селекция, ограничение), проекция, деление и соединение.
Упрощенное графическое представление этих операций приведено на рис. 3.8.По справедливому замечанию Дейта, реляционная алгебра Кодда обладает несколькими недостатками. Во-первых, восемь перечисленных операцийпо охвату своих функций, с одной стороны, избыточны, так как минимальнонеобходимый набор составляют пять операций: объединение, вычитание, произведение, проекция и выборка.
Три другие операции (пересечение, соединение и деление) можно определить через пять минимально необходимых. Так,например, соединение — это проекция выборки произведения.Во-вторых, этих восьми операций недостаточно для построения реальнойСУБД на принципах реляционной алгебры. Требуются расширения, включающие операции: переименования атрибутов, образования новых вычисляемых атрибутов, вычисления итоговых функций, построения сложных алгебраических выражений, присвоения, сравнения и т. д.Рассмотрим перечисленные операции более подробно, сначала — операции реляционной алгебры Кодда, а затем — дополнительные операции, введенные Дейтом.Операции реляционной алгебры Кодда можно разделить на две группы:базовые meopemuKO-множественные и специальные реляционные.
Первая группа операций включает в себя классические операции теории множеств: объединение, разность, пересечение и произведение. Вторая группа представляетсобой развитие обычных теоретико-множественных операций в направлениик реальным задачам манипулирования данными, в ее состав входят следующие операции: проекция, селекция, деление и соединение.3. Реляционнаямодельданных69ОбъединениеРазностьПересечениеПроизведениеВыборкаПроекция•WW\\\ч>r sswflX>J\S4VДелениеСоединение (естественное)г0Гb•ВггаашРис. 3.8. Основные операции реляционной алгебрыОперации реляционной алгебры могут выполняться над одним отношением (например, проекция) или над двумя отношениями (например, объединение).
В первом случае операция называется унарной, а во втором — бинарной. При выполнении бинарной операции участвующие в операцияхотношения должны быть совместимы по структуре.Часть 1. Основы построения70базданныхСовместимость структур отношений означает совместимость имен атрибутов и типов соответствующих доменов. Частным случаем совместимостиявляется идентичность (совпадение). Для устранения конфликтов имен атрибутов в исходных отношениях (когда совпадение имен недопустимо), а такжедля построения произвольных имен атрибутов результирующего отношенияприменяется операция переименования атрибутов.
Структура результирующего отношения по определенным правилам наследует свойства структур исходных отношений. В большинстве рассматриваемых бинарных реляционныхопераций будем считать, что заголовки исходных отношений идентичны, таккак в этом случае не возникает проблем с заголовком результирующего отношения (в общем случае, заголовки могут не совпадать, тогда нужно оговаривать правила формирования заголовка отношения-результата).Объединением двух совместимых отношений R1 и R2 одинаковой размерности (R1 UNION R2) является отношение R, содержащее все элементы исходных отношений (с исключением повторений).Пример 1.
Объединение отношений.Пусть отношение обозначает R1 множество поставщиков из Лондона, а отношение R2 — множество поставщиков, которые поставляют деталь Р1. Тогда отношение R обозначает поставщиков, находящихся в Лондоне, или поставщиков, выпускающих деталь Р1, либо тех и других.R1п#ИмяСтатусГород_ПS1Сергей20МоскваS4Николай20МоскваП#ИмяСтатусГород_ПS1Сергей20МоскваS2Иван10КиевR2R (R1 UNION R2)П#ИмяСтатусГород_ПS1Сергей20МоскваS2Иван10КиевS4Николай20МоскваВычитание совместимых отношений R1 и R2 одинаковой размерности (R1MINUS R2) есть отношение, тело которого состоит из множества кортежей,3. Реляционнаямодельданных71принадлежащих R1, но не принадлежащих отношению R2. Для тех же отношений R1 и R2 из предыдущего примера отношение R будет представлятьсобой множество поставщиков, находящихся в Лондоне, но не выпускающихдеталь Р1, то есть R={(S4, Николай, 20, Москва)}.Заметим, что результат операции вычитания зависит от порядка следования операндов, то есть R1 MINUS R2 и R2 MINUS R1 — не одно и то же.Пересечение двух совместимых отношений R1 и R2 одинаковой размерности (R1 INTERSECT R2) порождает отношение R с телом, включающимв себя кортежи, одновременно принадлежащие обоим исходным отношениям.
Для отношений R1 и R2 результирующее отношение R будет означатьвсех производителей из Лондона, выпускающих деталь Р1. Тело отношенияR состоит из единственного элемента (S1, Сергей, 20, Москва).Произведениеотношения R1 степени к1 и отношения R2 степени к2(R1 T I M E S R2), которые не имеют одинаковых имен атрибутов, есть такоеотношение R степени (к1+к2), заголовок которого представляет сцеплениезаголовков отношений R1 и R2, а тело имеет кортежи такие, что первые к1элементов кортежей принадлежат множеству R1, а последние к2 элементов —множеству R2.
При необходимости получить произведение двух отношений,имеющих одинаковые имена одного или нескольких атрибутов, применяетсяоперация переименования RENAME, рассматриваемая далее.Пример 2. Произведение отношений.Пусть отношение R1 представляет собой множество номеров всех текущих поставщиков {SI, S2, S3, S4, S5}, а отношение R2 — множество номероввсех текущих деталей {PI, Р2, РЗ, Р4, Р5, Р6}. Результатом операции R1 TIMESR2 является множество всех пар типа «поставщик — деталь», то есть {(S1,P1),(S1,P2), (S1,P3), (S1,P4), (S1,P5), (S1,P6), (S2,P1),..., (S5,P6)}.Заметим, что в теории множеств результатом операции прямого произведения является множество, каждый элемент которого является парой элементов, первый из которых принадлежит R1, а второй — принадлежит R2.Поэтому кортежами декартова произведения бинарных отношений будуткортежи вида: ((а, б), (в, г)), где кортеж (а, б) принадлежит отношениюR1, а кортеж (в, г) — принадлежит отношению R2.
В реляционной алгебреприменяется расширенный вариант прямого произведения, при которомэлементы кортежей двух исходных отношений сливаются, что при записикортежей результирующего отношения означает удаление лишних скобок,то есть (а, б, в, г).Выборка (R W H E R E f) отношения R по формуле f представляет собойновое отношение с таким же заголовком и телом, состоящим из таких кортежей отношения R, которые удовлетворяют истинности логического выражения, заданного формулой f. Для записи формулы используются операнды —имена атрибутов (или номера столбцов), константы, логические операции(AND — И, OR — ИЛИ, NOT — НЕ), операции сравнения и скобки.Часть 1.
Основы72построениябазданныхПримеры 3. Выборки.Р W H E R E Вес < 1 4д#Р1НазваниеТипВесГород_ДгайкакаленыйМоскваР5палецтвердый1212КиевSP W H E R E П# = "SI" AND Д # = "Р1"П#д#КоличествоS1Р1300Проекция отношения А на атрибуты X, Y,..., Z (А [X, Y,..., Z]), где множество {X, Y,..., Z} является подмножеством полного списка атрибутов заголовкаотношения А, представляет собой отношение с заголовком X, Y,..., Z и телом,содержащим кортежи отношения А, за исключением повторяющихся кортежей.Повторение одинаковых атрибутов в списке X, Y,..., Z запрещается.Операция проекции допускает следующие дополнительные варианты записи:• отсутствие списка атрибутов подразумевает указание всех атрибутов(операция тождественной проекции);• выражение вида R[ J означает пустую проекцию, результатом которойявляется пустое множество;• операция проекции может применяться к произвольному отношению,в том числе и к результату выборки.Примеры 4.