Cтраница 2
Интерпретатор может запрашивать у пользователя значения переменных в реляционном выражении и затем сохранять их для дальнейшего использования при других оцениваниях в программе. [16]
Как вам уже известно, самая трудная часть оценивания реляционного выражения - преобразование компонент алгебраического выражения в число. Следующая же часть программы с операторами отношения достаточно проста. [17]
Таким образом, класс ограниченных реляционных выражений является подклассом класса монотонных реляционных выражений. [18]
Для этой оболочки на Турбо Прологе был написан модуль, который оценивает реляционные выражения методом RPN. [19]
Предикат expr-eval собирает воедино все механизмы, необходимые для применения правил с реляционными выражениями в посылке. Теперь отвлечемся от деталей expr-eval и рассмотрим, каким образом правила, использующие реляционные выражения, включаются в остальную часть. [20]
Соответствие между ISBL и реляционной алгеброй. [21] |
Как в ISBL, так и в реляционной алгебре, R и S могут быть любыми реляционными выражениями, a F - булевской формулой. Компонентам отношения присваиваются имена, и мы обращаемся к компонентам в F по этим именам. [22]
Ап, Таким образом, если в языке нет каких-либо более удобных возможностей, можно вычислять любое реляционное выражение, применяя последовательно по одному оператору и присваивая результат имени временного отношения. Заметим, что в отличие от ISBL присваивание в SQUARE всегда предполагает непосредственное вычисление. Отложенные вычисления не допускаются. [23]
Главный предикат имеет имя expr-eval и два аргумента, первый из которых - строка - служит для передачи реляционного выражения. Второй аргумент возвращает результат. [24]
Реляционные выражения в этих правилах будут восприниматься оболочкой, по существу, как данные, поскольку факты-импликации и есть данные. Для оценки реляционного выражения произвольной формы, представленного в качестве данных, требуется провести значительную работу. Необходимо понять, что сложность состоит не в написании на Прологе программы для оценки конкретного выражения, а в том, что при ее создании не известно, какое выражение будет использовано в дальнейшем. [25]
Оглавление таблицы может содержать только различимые переменные, константы и пробел. Как и каждому реляционному выражению, каждой таблице может быть сопоставлено множество кортежей, которое называется значением таблицы. Оценивание р для Т есть отображение множества 5 на множество констант. [26]
Третий способ требует пояснения. Иногда полезно допускать использование в реляционном выражении переменной, которая определена в терминах других, более фундаментальных переменных, внутренне связанных с проблемой. Если предикат expr-eval устанавливает, что переменная определяется формулой ( в другом месте системы), то он находит это определение и работает в терминах новых переменных, а не исходных. [27]
Приведенная ниже программа в этом разделе является интерпретатором в том же смысле, что и поставляемая вместе с персональным компьютером версия Бейсика, с более ограниченными целями. Ее основная функция заключается в оценке реляционных выражений произвольной формы. Она возвращает 1, если выражение истинно, и - 1 - если ложно. Предполагается, что интерпретатор может быть включен в программу высокого уровня, которая нуждается в средствах подобного типа. [28]
Рассмотрим подход, использующий табличное представление. В виде таблиц не могут быть представлены любые реляционные выражения. [29]
После применения второго правила получим зависимость включения между двумя выражениями реляционной алгебры. ЛЧ этой зависимости есть отношение-переменная, а его ПЧ - реляционное выражение, которое можно трансформировать с помощью обычных алгебраических преобразований. [30]