Классика баз данных - статьи

       

Классика баз данных - статьи


Обсуждается высокоуровневый язык управления базами данных, предоставляющий пользователю удобный и унифицированный интерфейс для формирования запросов, обновления, определения и контроля базы данных.

Чтобы выполнить некоторую операцию с базой данных, пользователь строит пример соответствующего решения в схематических таблицах, которые можно ассоциировать с реальными таблицами в базе данных. В настоящее время система используется в экспериментальном режиме в нескольких приложениях.

Query-by-Example [1-4] – высокоуровневый язык управления базами данных, предоставляющий удобный и унифицированный стиль для построения запросов, обновления, определения и контроля базы данных. Согласно философии Query-by-Example, от пользователя требуется весьма скромные знания для начала работы, и сводится к минимуму количество концепций, которые он должен изучить для понимания и использования всего языка. Синтаксис языка прост, но тем не менее он охватывает широкий спектр сложных транзакций. Это достигается за счет использования одних и тех же операций для извлечения, манипулирования, определения и контроля (насколько это возможно). Операции языка имитируют, насколько возможно, ручное манипулирование таблицами, сохраняя тем самым простоту, симметричность и нейтральность реляционной модели [5,6]. Формулировка транзакции должна следовать мыслительному процессу пользователя, предоставляя тем самым свободу при построении такой формулировки. Система должна динамически создавать и уничтожать таблицы базы данных, она должна также предоставлять пользователю возможности динамического определения операторов контроля доступа и средств безопасности.

Архитектура языка Query-by-Example направлена на удовлетворение сформулированных требований. Результаты различных психологических исследований показывают, что для инструктирования непрограммистов требуется менее трех часов, после чего они могут формулировать довольно сложные запросы. Без применения Query-by-Example для формулировки аналогичных запросов от пользователя потребовалось бы знание исчисления предикатов первого порядка. Другими непроцедурными языками в этой области являются SEQUEL [8] и QUEL [9].

Первая реализация Query-by-Example была выполнена Нибуром (K.E. Niebuhr) и Смитом (S.E. Smith) [11]. В настоящее время язык в экспериментальном режиме используется в различных приложениях, среди которых управление библиотечными файлами, ресурсами компьютеров, файлами патентов, почтовыми файлами и платежными счетами. Формальные синтаксис и семантика, обоснование полноты, спецификации авторизации и целостности приведены в работе [12].

В следующих разделах на основе иллюстративных примеров выборки, манипулирования и определения показываются возможности Query-by-Example.



Содержание  Назад  Вперед