Лекция 4 Действия над отношениями.pptx
- Количество слайдов: 26
Действия над отношениями Элементы реляционной алгебры
Процессы обработки отношений Описание процессов обработки отношений может быть выполнено двумя способами: • указанием перечня операций, выполнение которых приводит к требуемому результату (процедурный подход), • описанием свойств, которым должно удовлетворять результирующее отношение (декларативный подход).
Процедурное описание процессов обработки • Проекция - переносит в результирующее отношение те столбцы исходного отношения, которые указаны в условии операции • Выборка - переносит в результирующее отношение те строки из исходного отношения, которые удовлетворяют условию выборки • Объединение - переносит строки, присутствующие в одном из отношений
• Пересечение - переносит строки, присутствующие в отношениях одновременно. • Вычитание - переносит те строки, которые отсутствуют в отношении. • Соединение - выполняется над двумя исходными отношениями, создавая одно результирующее. • Деление - результатом операции деления является отношение, содержащее пересечение образов всех строк отношения-делителя, вычисленных на основе отношения-делимого. Процедурное описание процессов обработки
Деление Пусть отношение R, называемое делимым, содержит атрибуты (A 1, A 2, . . . , An). Отношение S - делитель содержит подмножество атрибутов A: (A 1, A 2, . . . , Ak)(k<n). Результирующее отношение C определено на атрибутах отношения R, которых нет в S, т. е. Ak+1, Ak+2, . . . , An. Кортежи включаются в результирующее отношение C только в том случае, если его декартово произведение с отношением S содержится в делимом R.
Вычетание
Соединение Отношения-операнды в этом случае должны быть определены по одной схеме. Результирующее отношение содержит все строки операндов за исключением повторяющихся.
Схема результирующего отношения включает все атрибуты исходных. Кроме того: Ø степень результирующего отношения равна сумме степеней исходных отношений Ø мощность результирующего отношения равна произведению мощностей исходных отношений.
Проекция • называется операция, которая переносит в результирующее отношение те столбцы исходного отношения, которые указаны в условии операции. Алгебраическая запись проекции имеет вид: Т = R[X], где Т - результирующее отношение, R - исходное отношение, X - список атрибутов в структуре отношения Т (условие проекции).
Проекция W 1 Магазин Продукция План W 2 Факт Продукция Цена Компл Динамо Эдв-12 З Динамо ЭВИ 120 200 140 200 Эдв-12 40 40 Вк-15 P-20 АТЭ Эдв-12 80 120 Эдв-30 20 Вк-15 АТЭ Эдв-30 150 130 Эдв-30 ЗВИ 20 120 P-20
Проекция X 1 = W 1 [Магазин, Продукция, Факт] Х 1 Магазин Продукция Факт Динамо Эдв-12 140 Динамо ЗВИ 200 АТЭ Эдв-12 120 АТЭ Эдв-30 130 Столбцы результирующего отношения могут указываться в любом порядке: Х 2 = W 1 [Продукция, Магазин, Факт].
Выборка называется операция, которая переносит в результирующее отношение те строки из исходного отношения, которые удовлетворяют условию выборки. Условие выборки проверяется в каждой строке отношения по отдельности и не может охватывать информацию из нескольких строк.
Существуют две простейшие разновидности условия выборки: 1. Условие вида Имя_атрибута <знак сравнения> Значение допускаются знаки сравнения =, #, >, =>, <, <=. 2. Условие вида Имя_атрибута_1 <знак сравнения> Имя_атрибута_2. Алгебраическая запись выборки имеет вид Т = R[p], где Т - результирующее отношение; R - исходное отношение; р - условие выборки. Выборка
Выборка • получим значения • Х 2 = W 1[Продукция = "Эдв-12"] Х 2 Магазин Продукция План Динамо АТЗ Эдв-12 120 80 Факт 140 120
Операции объединения, пересечения и вычитания производятся над двумя исходными отношениями R 1 и R 2 с одинаковой структурой. Объединение Т = U(R 1, R 2) содержит строки, присутствующие либо в отношении R 1, либо в R 2. Пересечение Т = I(R 1, R 2) содержит строки, присутствующие в отношениях R 1 и R 2 одновременно. Вычитание Т = M(R 1, R 2) содержит те строки из R 1, которые отсутствуют в R 2.
Объединение (соединение) Условие соединения имеет вид: • Имя_атрибута_1 <знак сравнения> Имя_атрибута_2 Имя_атрибута_1 находится в одном исходном отношении, а Имя_атрибута_2 - в другом. Обозначение операции соединения: T = R 1[p]R 2, где R 1 и R 2 - исходные отношения, Т - результирующее отношение, р - условие соединения.
Натуральное соединение имеет следующие особенности: • знаком сравнения в условии соединения является "=", • Имя_атрибута_1 и Имя_атрибута_2 должны совпадать, а точнее, содержать пересечение списков атрибутов исходных отношений, • список атрибутов результирующего отношения образуется в результате объединения списков атрибутов исходных отношений. Т = R 1 * R 2.
Натуральное соединение Операция натурального соединения имеет ряд свойств, например коммутативность и ассоциативность. • Свойство коммутативности означает, что операции X 1 = R*S и X 2 = S*R порождают, в сущности, одно и то же отношение. • Свойство ассоциативности означает, что операция Y 1 = (R*S)*T и операция Y 2 = R*(S*T) дают одинаковый результат. Различия, безусловно, состоят в неодинаковом порядке строк X 1 и Х 2 (Y 1 и Y 2 соответственно). Кроме того, промежуточные отношения при вычислении Y 1 и Y 2 могут иметь резко различающиеся размеры (число строк), хотя Y 1 и Y 2 содержат равное число строк.
Деление Результатом операции деления является отношение Q(B), содержащее пересечение образов всех строк отношения-делителя V(A), вычисленных на основе отношенияделимого W(A, B) Q = D (W, V), где D - знак операции деления.
Декларативный подход Понятия математической логики Символы переменных и констант. В языковых конструкциях реляционного исчисления им соответствуют имена атрибутов и переменных, а также константы. 2. Логические связки "и", "или", "не" и знаки сравнения =, # (не равно), >, <, >=, <=. 3. Термы, т. е. любые константы и переменные, а также функции, аргументами которых служат термы. 1.
4. Элементарные формулы - предикаты, аргументами которых являются термы. Предикаты, связанные операциями "и", "или", "не", также являются элементарными формулами. 5. Формулы, т. е. результат применения кванторов общности или существования к элементарным формулам. Формула соответствует запросу к реляционной базе данных, выраженному средствами реляционного исчисления. Команда SQL, служащая средством доступа к БД – SELECT Параметры команды: FROM, WHERE, GROUP BY, HAVING, ORDER BY Декларативный подход
Лекция 4 Действия над отношениями.pptx