Третий манифест Кристофера Дейта и Хью Дарвена


Положительные RM-утверждения - часть 4


RM-утверждение 10) должна иметься возможность использования генерируемого типа RELATION {H} для определения (или, в случае значений, для выбора):

  1. Значений и переменных этого генерируемого типа (RM-утверждения 10 и 13).

  2. Значений атрибутов кортежей и атрибутов заголовка кортежей этого генерируемого типа (RM-утверждение 9).

  3. Компонентов объявленных возможных представлений этого генерируемого типа (RM-утверждение 5).

Генерируемый тип RELATION {H} называется типом отношения, и имя этого типа - TUPLE {H}. К этому типу, его значениям и переменным применима терминология степени, атрибутов и заголовков (RM-утверждение 13), вводимая в RM-утверждении 10. Типы отношения RELATION {H1} и RELATION {H2} совпадают в том и только в том случае, когда H1 = H2. Применимые операции должны включать операции реляционной алгебры (RM-утверждение 18), а также операции реляционного присваивания (RM-утверждение 21) и реляционного сравнения (RM-утверждение 22); кроме того, должна иметься (a) операция выбора отношения (RM-утверждение 10), (b) операция извлечения из указанного отношения указанного кортежа (это отношение должно иметь мощность один - см. RM-утверждение 10) и (c) операции "nesting" и "unnesting" для отношений..

  • Для каждого типа должна быть определена операция сравнения по равенству. Если выражения X1 и X2 вырабатывают значения одного и того же типа T v1 и v2 соответственно, то операция X1 = X2 вырабатывает значение true в том и только в том случае, если v1 и v2 в действительности являются одним элементом T. Если Op - это операция с параметром P типа T, то для всех таких операций при условии, что X1 = X2, то эффект двух успешных вызовов Op, в одном из которых аргументом, соответствующим P, является X1, а в другом - X2, должен быть одним и тем же. Наоборот, если эффект двух таких вызовов Op различается, то значением сравнения X1 = X2 должно быть false.

  • Значение кортежа t (или для краткости кортеж) - это множество упорядоченных триплетов <A, T, v>, где:




      Начало  Назад  Вперед