Определение реляционной полноты
Пусть реляционная база данных содержит множество отношений R{R1, R2, …, Rп}, а множество C(R)
представляет собой множество отношений, полученных из R с помощью операций реляционной алгебры. Множество C(R) отражает все связи, имеющиеся в базе данных. Говорят, что язык обладает реляционной полнотой, если он может охватить все связи, представленные C(R). Это означает, что язык имеет такую же выразительную мощность, как реляционная алгебра и реляционное исчисление [11].
Для обеспечения реляционной полноты при реализации языка необходимы две следующие операции [11]:
1) операция присваивания, т.е. возможность создавать новые отношения для хранения результатов операций реляционной алгебры, являющихся также отношениями. R1 помещается во вновь созданное отношение R1; 2) операция транзитивного замыкания, допускающая рекурсию или вложенность операций реляционной алгебры для построения выражений произвольной сложности. Например, выражение R1<((R2[A, B]*R3)[B]*R4)[C] содержит вложенные выражения и присваивание, необходимые для получения результата.