РЕЛЯЦИОННАЯ АЛГЕБРА_7.ppt
- Количество слайдов: 22
РЕЛЯЦИОННАЯ АЛГЕБРА
РЕЛЯЦИОННАЯ АЛГЕБРА • Алгебра – это множество объектов с заданной на нем совокупностью операций, замкнутых относительно этого множества, называемого основным множеством. • Реляционная алгебра – множество отношений с замкнутым на нем множеством операций над отношениями. • Основным множеством в реляционной алгебре является множество отношений. Э. Ф. Кодд предложил 8 операций над отношениями. В общем случае это множество операций является избыточным, т. к. одни операции можно выразить через другие. Однако, именно такой минимальный состав операций был выбран для того, чтобы обеспечить максимальное удобство при работе с отношениями. • Все множество операций над отношениями можно разделить на две группы : 1. теоретико-множественные операции; 2. специальные операции.
Теоретико-множественные операции реляционной алгебры • Теоретико-множественные операции реляционной алгебры – это операции, привнесенные в реляционную алгебру из теории множеств. • Выделяют следующие теоретико-множественные операции: 1. объединение; 2. пересечение; 3. разность; 4. расширенное декартово произведение. • Объединением двух отношений называется отношение, содержащее множество кортежей, принадлежащих либо первому, либо второму исходным отношениям, либо обоим отношениям одновременно.
• Рассмотрим пример данной операции. Предположим, имеются отношения R 1 и R 2, которые содержат перечни деталей, изготавливаемых соответственно на первом и втором участках цеха. • Отношение R 3 содержит общий перечень деталей, изготавливаемых в цехе.
• Пересечением отношений называется отношение, которое содержит множество кортежей, принадлежащих одновременно и первому и второму отношениям. • В отношении R 4 содержится перечень деталей, которые выпускаются одновременно на двух участках цеха.
• Разностью отношений R 1 и R 2 называется отношение, содержащее множество кортежей, принадлежащих R 1 и не принадлежащих R 2. • R 5 содержит перечень деталей, изготавливаемых только на участке 1, • отношение R 6 – только на участке 2.
• Операции объединения и пересечения являются коммутативными, т. е. результат этих операций не зависит от порядка следования аргументов в операции. • Операция разности является несимметричной, т. е. результат операции будет различным для различного порядка аргументов.
• Расширенное декартово произведение – это операция, сходная с полным декартовым произведением множеств. В полном декартовом произведении участвуют домены, т. е. полное декартово произведение множеств – это сцепление всех возможных значений доменов друг с другом в определенном порядке. Расширенное декартово произведение – это сцепление реальных множеств, реальных наборов атрибутов отношения друг с другом.
• Сцеплением, или конкатенацией кортежей c 1, с2 , с3 , . . . , сn и q q 1 , q 2 , . . . , q m, называется кортеж, полученный добавлением значений второго в конец первого. Сцепление кортежей c и q обозначается как (с, q). • c 1, c 2 , c 3 , . . . , c n, q 1 , q 2 , . . . , qm, • где n – число элементов в первом кортеже, m – число элементов во втором кортеже. • Расширенным декартовым произведением отношения R 1 степени n со схемой SR 1 = (A 1, A 2 , . . . , An ) и отношения R 2 степени m со схемой SR 2 = (B 1, B 2 , . . . , Bm) называется отношение R 3 степени n+m со схемой SR 3 = (A 1, A 2 , . . . , An , B 1, B 2 , . . . , Bm), содержащее кортежи, полученные сцеплением каждого кортежа r отношения R 1 с каждым кортежем q отношения R 2.
Например, пусть существует отношение R 7, содержащее обязательную номенклатуру деталей для всех цехов, и отношение R 8, содержащее перечень всех цехов. Требуется получить отношение, в котором была бы отражена ситуация, когда каждый цех изготавливает все детали.
• Универсум или расширенное декартово произведение не имеет самостоятельного значения, но может активно использоваться в операциях над данными. Так, операцию расширенного декартова произведения (или получения универсума) нужно использовать во всех ситуациях, которые характеризуются словом «все» . • Например, нужно узнать, какие детали в каких цехах из общей обязательной номенклатуры не выпускаются (R 11). В данном случае универсумом является общая обязательная номенклатура (R 9). Имеется также отношение R 10, характеризующее реальный выпуск деталей в каждом цехе. Для получения искомого результата необходимо выполнить следующую операцию: • R 11 = R 9 R 10.
Специальные операции реляционной алгебры • Операция горизонтального выбора (фильтрации) представляет собой выбор тех кортежей исходного отношения, которые удовлетворяют некоторому условию. • Терм сравнения – это элементарное (неделимое) логическое выражение, состоящее из сравниваемых выражений левой и правой части, разделенных операцией сравнения. • Пусть a - логическое выражение, состоящее из термов сравнения с помощью связок (И, ИЛИ, НЕ). В качестве термов сравнения допускаются: • а) терм А ос а, • где А – имя некоторого атрибута, принимающего значения из домена D; а –константа или выражение, областью значений которого является домен; ос –одна из допустимых для данного домена D операций сравнения;
• б) терм А ос B, • где A, B – имена некоторых сравнимых атрибутов, т. е. атрибутов, принимающих значение одного и того же домена. • Тогда результатом выбора, или фильтрации, заданной на отношении R в виде булевского выражения a, называется отношение R[a], включающее те кортежи из исходного отношения, для которых истинно условие выбора или фильтрации • Таким образом, результатом операции фильтрации является новое отношение, состоящее из тех кортежей исходного отношения, которые удовлетворяют некоторому условию. Условие может быть сколь угодно сложным. • При выполнении операции фильтрации происходит выбор тех кортежей исходного отношения, для которых истинно логическое выражение. Поэтому операцию фильтрации часто называют выбором или операцией выбора.
Вертикальный выбор (проекция) • Проекцией отношения R на набор атрибутов B (R[B]) называется отношение со схемой, соответствующей набору атрибутов SR[B] = B, содержащему кортежи, получаемые из исходного отношения R путем удаления из них значений, не принадлежащих атрибутам из набора B. • Результатом операции вертикального выбора (операция проекции) является новое отношение, полученное из исходного путем исключения некоторых его атрибутов. • Операция проекции позволяет получить только требуемые характеристики моделируемого объекта.
Операция условного соединения. • В отличие от рассмотренных выше операций фильтрации и проекции, операция условного соединения является бинарной, т. е. исходными для нее являются два отношения, а результатом одно. • Операция условного соединения представляет собой процесс получения нового отношения на основании двух исходных, соединенных друг с другом на основании какого-либо условия.
• • • Предположим, что имеется некоторое отношение R 15 (Схема отношения = {Шифр детали, Название материала}), которое содержит перечень деталей с указанием материалов, из которых они изготавливаются. Рассмотренное выше отношение R 10 (Схема отношения = {Шифр детали, Название детали, Цех}) содержит список деталей, которые фактически производятся в цехах. Требуется определить перечень деталей, которые изготавливаются в цехе «Цех 1» из материала «сталь-ст1» .
Дополнительные операции с отношениями • Одной из самых частых операций над отношениями при обработке данных является группировка. • Группировка представляет собой такое обобщение исходного отношения, при котором происходит объединение кортежей по значениям атрибутов группировки, а по другим атрибутам рассчитывается какое-либо арифметическое выражение, позволяющее оценить значение группы кортежей. Это может быть сумма, среднее значение, минимум, максимум и др.
• Пример: • Информация о продаваемых товарах собирается в отношении R 20. • R 20 Тогда группировка по атрибуту «Покупатель» будет означать объединение кортежей (строк). R 21 = Группировка по атрибуту «Покупатель» ( R 20 ) В результате получим из отношения R 20 список покупателей продукции.
• Рассмотренная выше операция группировки является простой и может использоваться только для получения множества значений одного или нескольких атрибутов. Например, если необходимо получить не только список покупателей продукции, а список покупателей с указанием товара, который они покупали, необходимо выполнить следующую операцию: • R 22 = Группировка по атрибуту «Покупатель» и атрибуту «Товар» ( R 20 ) • В результате получим новое отношение R 22 на основе исходного отношения R 20 путем объединения строк таблицы, у которых значения атрибутов «Покупатель» и «Товар» являются одинаковыми.
• Как следует из данного выше определения операции группировки, ее применение не ограничивается только лишь получением различного рода списков – по остальным полям могут рассчитываться арифметические выражения (сумма, среднее значение, количество значений и т. п. ). При этом арифметическое выражение рассчитывается для каждой группы записей, имеющих одинаковые значения полей группировки. • Предположим, необходимо на основе отношения R 20 получить объемы продаж по каждому товару. Операцию группировки запишем в следующем виде: • R 23 = Группировка по атрибуту «Покупатель» ( R 20 )
РЕЛЯЦИОННАЯ АЛГЕБРА_7.ppt