Базы данных - модели, разработка, реализация



         

Специальные операции реляционной алгебры


Первой специальной операцией реляционной алгебры является горизонтальный выбор, или операция фильтрации, или операция ограничения отношений. Для определения этой операции нам необходимо ввести дополнительные обозначения.

Пусть ? - булевское выражение, составленное из термов сравнения с помощью связок И (?), ИЛИ (?), НЕ (-) и, возможно, скобок. В качестве термов сравнения допускаются:

  • терм А ос а,
    где А - имя некоторого атрибута, принимающего значения из домена D; а -константа, взятая из того же домена D, a ? D; ос - одна из допустимых для данного домена D операций сравнения;
  • терм А ос В,
    где А, В - имена некоторых ? - сравнимых атрибутов, то есть атрибутов, принимающих значения из одного и то же домена D.
  • Тогда результатом операции выбора, или фильтрации, заданной на отношении 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 путем удаления из них значений, не принадлежащих атрибутам из набора В.




    Содержание  Назад  Вперед