Первой специальной операцией реляционной алгебры является горизонтальный выбор, или операция фильтрации, или операция ограничения отношений. Для определения этой операции нам необходимо ввести дополнительные обозначения.
Пусть ? - булевское выражение, составленное из термов сравнения с помощью связок И (?), ИЛИ (?), НЕ (-) и, возможно, скобок. В качестве термов сравнения допускаются:
Тогда результатом операции выбора, или фильтрации, заданной на отношении R в виде булевского выражения, определенного на атрибутах отношения R, называется отношение R[?], включающее те кортежи из исходного отношения, для которых истинно условие выбора или фильтрации:
R[?(r)] = {r | r ? R ? ?(r) = "Истина"}
Операция фильтрации является одной из основных при работе с реляционной моделью данных. Условие а может быть сколь угодно сложным.
57
Например, выбрать из R10 детали с шифром "0011003".
R12 = R10 [ Шифр детали = "0011003"]
R12 | ||
Шифр детали | Название детали | Цех |
00011003 | Болт M1 | Цех 1 |
00011003 | Болт M1 | Цех 3 |
Следующей специальной операцией является операция проектирования.
Пусть R - отношение, SR = (А1, ... , Аn) - схема отношения R.
Обозначим через В подмножество [ Аi ]; В ? { Аi }.
При этом пусть В1 - множество атрибутов из { Аi }, не вошедших в В.
Если В - {А1i,А2i, ... ,Аki}. В1 = {А1j,А2j,...,Аkj}и r = 1i, a2i,...,aki >, аki ? Аiki,
то r [В], s = < а2j, а2j, ... , аmj, > ; аmj ? Аmj.
Проекцией отношения R на набор атрибутов В, обозначаемой R[B], называется отношение со схемой, соответствующей набору атрибутов В SR[B] = В, содержащему кортежи, получаемые из кортежей исходного отношения R путем удаления из них значений, не принадлежащих атрибутам из набора В.