ЗНАЕТЕ ЛИ ВЫ?

Язык управления данными — DML.



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

К операциям управления данными относятся:

• вставка в базу данных новых сведений;

• модификация сведений, хранимых в базе данных;

• извлечение сведений, содержащихся в базе данных;

• удаление сведений из базы данных.

Таким образом, одна из основных функций СУБД заключается в поддержке языка манипулирования данными, с помощью которого пользователь может создавать выражения для выполнения перечисленных выше операций с данными. Понятие манипулирования данными применимо как к внешнему и концепту­альному уровням, так и к внутреннему уровню. Однако на внутреннем уровне для этого необходимо определить очень сложные процедуры низкого уровня, по­зволяющие выполнять доступ к данным весьма эффективно. На более высоких уровнях, наоборот, акцент переносится в сторону большей простоты использова­ния, и основные усилия направляются на обеспечение эффективного взаимодей­ствия пользователя с системой.

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

Языки DML имеют разные базовые конструкции извлечения данных. Сущест­вуют два типа языков DML: процедурный и непроцедурный. Основное различие между ними заключается в том, что процедурные языки указывают то, как можно получить результат оператора языка DML, тогда как непроцедурные языки описывают то, какой результат будет получен. Как правило, в процедурных языках записи рассматриваются по отдельности, тогда как непроцедурные языки оперируют с целыми наборами записей.

Процедурный язык DML.

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

С помощью процедурного языка DML пользователь, а точнее — программист, указывает на то, какие данные ему необходимы и как их можно получить. Это значит, что пользователь должен определить все операции доступа к данным (осуществляемые посредством вызова соответствующих процедур), которые должны быть выполнены для получения требуемой информации. Обычно такой процедурный язык DML позволяет извлечь запись, обработать ее и, в зависимо­сти от полученных результатов, извлечь другую запись, которая должна быть подвергнута аналогичной обработке, и т.д. Подобный процесс извлечения данных продолжается до тех пор, пока не будут извлечены все запрашиваемые дан­ные. Обычно операторы процедурного языка DML встраиваются в программу на языке программирования высокого уровня, которая содержит конструкции для обеспечения циклической обработки и перехода к другим участкам кода. Языки DML сетевых и иерархических СУБД обычно являются процедурными .

Непроцедурные языки DML

Непроцедурный язык DML. Язык, который позволяет указать лишь то, какие данные требуются, но не то, как их следует извлекать.

Непроцедурные языки DML позволяют определить весь набор требуемых дан­ных с помощью одного оператора выборки или обновления. С помощью непроцедурных языков DML пользователь указывает, какие данные ему нужны, без определения способа их получения. СУБД транслирует выражение на языке DML процедуру (или набор процедур), которая обеспечивает манипулирование затре­бованным набором записей. Такой подход освобождает пользователя от необхо­димости знать подробности внутренней реализации структур данных и особенно­сти алгоритмов, используемых для извлечения и возможного преобразования данных. В результате работа пользователя становится в определенной степени независимой от данных. Непроцедурные языки часто также называют деклара­тивными языками.

Реляционные СУБД в той или иной форме обычно включают поддержку непроцедурных языков манипулирования данными, разрабатываемыми на основе реляционного исчисление. Его непроцедурная природа является весьма перспективной и стимулирует поиск других, более простых в употреблении непроцедурных методов. Подобные исследования вызвали появление двух категорий реляционных языков: трансформационных и графических.

Трансформационные языки являются классом непроцедурных языков, которые используют отношения для преобразования исходных данных к требуемому виду. Эти языки предоставляют простые в работе структуры для формулированиятребований к результатам имеющимися средствами. Примерами трансформационных языков являются SQUARE , SEQUEL и его версии, а также SQL.

Графические языки предоставляют пользователю схему или другое графическое отображение структуры отношения. Пользователь создает некий образец ожидаемого результата, и система возвращает затребованные данные в указанном формате. Примером подобного языка является язык (QBE (<Query-Ву-Ехаmple>).

Непроцедурные языки обычно проще понять и использовать, чем процедурные языки DML, поскольку иользователем выполняется меньшая часть работы, а СУБД — большая.

Языки 4GL

Аббревиатура 4GL представляет собой сокращенный английский вариант на писания термина язык четвертого поколения (Fourth Generation Language). Четкого определения этого понятия не существует, хотя, по сути, речь идет некотором стенографическом варианте языка программирования. Если для организации некоторой операции с данными на языке третьего поколения (3GL), потребуется написать сотни строк кода, то для реализации этой же операции на языке четвертого поколения достаточно 10-20 строк, в то время как языки третьего поколения являются процедурными, языки 4GL выступают как непроцедурные, поскольку пользователь определяет, что должно быть сделано, но не сообщает, как именно должен быть достигнут желаемый результат. Пользователю не требуется определять все этапы выполнения программы, необходимые для решения поставленной задачи, а достаточно лишь задать нужные параметры, на основании которых упомянутые выше инструменты автоматически осуществят генерацию приложения. Языки четвертого поколения позволят повысить производительность работы на порядок, но за счет ограничения типов задач, которые можно будет решать с их помощью.

Выделяют следующие типы языков четвертого поколения:

l языки представления информации, например языки запросов или генера-оры отчетов;

l специализированные языки, например языки электронных таблиц и баз данных;

l генераторы приложений, которые при создании приложений обеспечивают определение, вставку, обновление или извлечение сведений из базы данных;

l языки очень высокого уровня, предназначенные для генерации кода приложений.

В качестве примеров языков четвертого поколения можно указать упоминавшиеся выше языки SQL и QBE. Рассмотрим вкратце некоторые другие типы в четвертого поколения.

Генераторы форм

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

Генераторы отчетов

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

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





Последнее изменение этой страницы: 2017-01-26; Нарушение авторского права страницы

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 18.234.255.5 (0.007 с.)