1. К каждой таблице нужно хранить дополнительную информацию, описывающую, что она содержит. Как минимум, список слов, обозначающих объекты в таблице и их свойства. Для твоего примера: Запись в целом - ученик, учащийся, школьник, студент 1-е поле - фамилия 2-е поле - имя 3-е поле - балл, средний балл, оценка, отметка
2. При разборе предложения можно сперва искать упоминания существующих таблиц. Например в твоём примере встретив слово "учеников" нужно отметить, что обращение будет именно к этой таблице.
3. Рядом с этим словом (или словами) должно быть вопросительное слово. Например: Какие - просто вывести записи Сколько - посчитать записи Какое среднее значение - по тексту и т.д.
3. Далее ищи слова, идентифицирующие поля, относящиеся к этой таблице (в данном случае мы найдем поле "балл").
4. Теперь ищем известные ограничения к этим полям. Под ограничениями я имею ввиду "больше", "меньше", и так далее.
5. Можно строить запрос по собранной информации.
Это если по минимуму.
PS Все имхо =)
--------------------
Close the World...txeN eht nepO
|