5. Наконец, пользователь может обратиться к системе, задав ей некоторое языковое выражение, содержащее имя соматического объекта (в частности, войти в систему просто с одним-единственным словом, обозначающим соматический объект). Грамматическая форма выражения, подаваемого на вход, существенна, поскольку в систему пока еще не встроены блоки синтаксического и морфологического анализа. Поэтому система выдает только наиболее частотные способы выражения значения признака соматического объекта и при этом накладывает существенные языковые ограничения на вид запроса. Так, имя соматического объекта, если он непарный[147]
, должно быть в форме единственного числа именительного падежа (а в случае, если объект парный, такой как глаза, уши, ноздри и т. п., — в форме множественного числа). Глагол при этом должен быть в форме инфинитива несовершенного вида и т. п.При реакции на запрос об установлении соответствия между языковым выражением, содержащим имя данного соматического объекта, и определенным значением какого-то признака этого объекта наша система ищет в памяти нужное языковое выражение, но находит его только в том случае, если оно отражает значение признака данного объекта. Тогда система ставит в соответствие вводимому языковому выражению множество значений признака данного объекта (в минимальном случае — одноэлементное множество). В случае, если системе задается просто имя соматического объекта, она ставит ему в соответствие множество всех значений всех признаков объекта — референта данного имени.
Приведем пример подобного запроса системе и ответа на него. Предположим, что некто обратился к системе с выражением
15.3. Общая архитектура системы и ее внутреннее устройство
Поскольку обычный пользователь системы не обязан знать, как она устроена, данный раздел главы мы адресуем прежде всего тем людям, которым интересны технология построения и программирование баз данных.
С формальной точки зрения наша система представляет собой совокупность связанных друг с другом таблиц (их число на сегодняшний день — более 25). Каждая из таблиц имеет свою структуру и наполнение. Чтобы описать внутреннее устройство базы данных, следует, таким образом, охарактеризовать все таблицы по отдельности и эксплицитно указать связи между ними.
Чтобы не усложнять техническими деталями описание системы в целом, мы приведем здесь только основные таблицы, которые демонстрируют центральные элементы архитектуры системы, и раскроем некоторые важные связи между этими таблицами.
Среди основных таблиц есть та, в которой хранятся имена телесных объектов, причем не все возможные, а только стандартные, типовые. Другими словами, в этой таблице есть, например, слово
Входом в каждую таблицу является кортеж, то есть упорядоченная последовательность, из нескольких элементов. Обязательными элементами каждого такого кортежа являются имя таблицы и идентификатор. Формально говоря, идентификатор — это множество, состоящее из трехэлементных кортежей (троек). В тройку входит порядковый номер элемента таблицы (это первый элемент кортежа), имя некоторой языковой или жестовой единицы, которая содержательно характеризует данную тройку (второй элемент кортежа), и название таблицы (третий элемент кортежа).
Пусть таблица имеет заголовок «имя соматического объекта». Ее идентификатором является множество троек следующего вида: <1,
Связи между таблицами также явным образом фиксируются в системе. Например, таблица с номером 1, которая называется «имя соматического объекта», связана с таблицей с номером 2 — «признаки соматического объекта», и связь этих таблиц эксплицитно отмечается при каждой из них.
То, о чем мы говорили в предыдущем пункте, касается исключительно разработчиков системы. Обычный же пользователь обращается к интерфейсу, то есть к совокупности технических средств, которыми обладает система, для обеспечения взаимодействия пользователей с различными ее устройствами и программами.