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