Skip to content

БД3. Реляционное исчисление (вариант кортежей).

Winterpuma edited this page Jul 5, 2021 · 2 revisions

Формула реляционного исчисления только устанавливает условия, которым должны удовлетворять кортежи результирующего отношения. Поэтому языки реляционного исчисления являются более непроцедурными или декларативными.

RANGE

RANGE - оператор, который используется для определения кортежной переменной.

RANGE СОТРУДНИК IS СОТРУДНИКИ

определение переменной СОТРУДНИК, областью определения которой является отношение СОТРУДНИКИ.

Атрибуты переменной

Атрибуты переменной - для того, чтобы сослаться на значение атрибута СОТР_ИМЯ переменной СОТРУДНИК, нужно употребить конструкцию СОТРУДНИК.СОТР_ИМЯ.

Правильно построенные формулы

Правильно построенные формулы (WFF - Well-Formed Formula) служат для выражения условий, накладываемых на кортежные переменные.

  • простые сравнения - операции сравнения скалярных значений. Например СОТРУДНИК.СОТР_НОМ = 140.
  • логические связки NOT, AND, OR и IF ... THEN.
  • кванторы EXISTS var (form) и FORALL var (form)

Переменные, входящие в WFF, могут быть свободными или связанными.

  • Все переменные, входящие в WFF, при построении которой не использовались кванторы, являются свободными. Фактически, это означает, что если для какого-то набора значений свободных кортежных переменных при вычислении WFF получено значение true, то эти значения кортежных переменных могут входить в результирующее отношение.
  • Если же имя переменной использовано сразу после квантора при построении WFF вида EXISTS var (form) или FORALL var (form), то в этой WFF и во всех WFF, построенных с ее участием, var - это связанная переменная. Это означает, что такая переменная не видна за пределами минимальной WFF, связавшей эту переменную. При вычислении значения такой WFF используется не одно значение связанной переменной, а вся ее область определения.

Целевой список

Целевой список - компонент, который определяет набор и имена столбцов результирующего отношения.

  • var.attr, где var - имя свободной переменной соответствующей WFF, а attr - имя атрибута отношения, на котором определена переменная var;
  • var, что эквивалентно наличию подсписка var.attr1, var.attr2, ..., var.attrn, где attr1, attr2, ..., attrn включает имена всех атрибутов определяющего отношения;
  • new_name = var.attr; new_name - новое имя соответствующего атрибута результирующего отношения.
Clone this wiki locally