"Однако существует также большой класс пользователей, которые, хотя они и не являются специалистами по компьютерам, были бы готовы научиться взаимодействовать с компьютером на достаточно высокоуровневом непроцедурном языке запросов. Примерысреди таких пользователей бухгалтеры, инженеры, архитекторы и специалисты по городскому планированию. "
Это работа Дональда Д. Чемберлина и 1974 Раймона Ф. Бойса , представляющая SQL (затем SEQUEL).Я предполагаю, что из их введения они разработали SQL для ваших нетехнических пользователей.
Это не значит, что SQL - идеальный язык.Несмотря на тридцатилетние изменения, у него все еще есть недостатки.Есть шанс, что вы могли бы построить что-то лучше, но две вещи могли бы пойти не так:
- Ваш язык мог бы быть хуже.
- Если один из ваших нетехнических пользователей хотел бы улучшить своинавыки работы с реляционными данными, они будут ограничены вашим языком по сравнению с SQL.Существует множество ресурсов для улучшения навыков SQL и гораздо меньше способов улучшить навыки на новом языке.
Возможно, стоит подумать о компромиссе: предложите пользовательский интерфейс для построения выражений.Менее технические пользователи могут выбрать свойство, оператора и ввести значения, которые затем появятся в текстовой области выражения.Они могут создавать умеренно сложные выражения SQL по частям без необходимости запоминания синтаксиса SQL.Более опытные пользователи могут редактировать SQL напрямую.
Это не решит всех ваших проблем.Вам все еще понадобится способ ограничить SQL, чтобы пользователи не повредили вашу базу данных и не использовали по неосторожности все ваши ресурсы базы данных с ошеломляющим декартовым объединением.