Язык манипулирования данными (DML)
Часть непроцедурного языка DML, которая отвечает за извлечение данных, называется языком запросов данных (Data Query Language — DQL). Язык запросов данных можно определить как высокоуровневый узкоспециализированный язык, предназначенный для удовлетворения различных требований по выборке информации из базы данных. В этом смысле термин «запрос» больше подходит для обозначения оператора извлечения… Читать ещё >
Язык манипулирования данными (DML) (реферат, курсовая, диплом, контрольная)
Этот язык включает в себя набор операторов для поддержки основных операций над данными, содержащимися в базе. К операциям манипулирования данными относятся:
- — вставка в базу данных новых сведений;
- — модификация сведений, хранимых в базе данных;
- — извлечение сведений, содержащихся в базе данных;
- — удаление сведений из базы данных.
Таким образом, одна из основных функций СУБД заключается в поддержке языка манипулирования данными, с помощью которого пользователь может создавать выражения для выполнения перечисленных выше операций с данными.
Понятие манипулирования данными применимо как к внешнему и концептуальному уровням, так и к внутреннему уровню. Однако на внутреннем уровне для этого приходится определять очень сложные низкоуровневые процедуры, позволяющие выполнять доступ к данным с высокой эффективностью. На более высоких уровнях, наоборот, упор делается на большую простоту использования, и основные усилия связаны с обеспечением эффективного взаимодействия пользователя с системой.
Языки DML имеют разные базовые конструкции извлечения данных. Существуют два типа языков DML: процедурный и непроцедурный. Основное различие между ними заключается в том, что процедурные языки указывают то, как можно получить необходимый результат, тогда как непроцедурные языки описывают то, какой результат требуется получить. Как правило, в процедурных языках записи рассматриваются по отдельности, тогда как непроцедурные языки оперируют с целыми наборами записей.
Часть непроцедурного языка DML, которая отвечает за извлечение данных, называется языком запросов данных (Data Query Language — DQL). Язык запросов данных можно определить как высокоуровневый узкоспециализированный язык, предназначенный для удовлетворения различных требований по выборке информации из базы данных. В этом смысле термин «запрос» больше подходит для обозначения оператора извлечения данных, выраженного с помощью языка запросов данных.
Процедурный язык DML сообщает системе о том, какие данные необходимы, и точно указывает, как их можно извлечь. С помощью процедурного языка DML пользователь, а точнее — программист, указывает, какие данные ему необходимы и как их можно получить. Это значит, что пользователь должен определить все операции доступа к данным (осуществляемые посредством вызова соответствующих процедур), которые должны быть выполнены для получения требуемой информации. Обычно такой процедурный язык DML позволяет извлечь запись, обработать ее и, в зависимости от полученных результатов, извлечь другую запись, которая должна быть подвергнута аналогичной обработке, и т. д. Подобный процесс извлечения данных продолжается до тех пор, пока не будут извлечены все запрашиваемые данные. Обычно операторы процедурного языка DML встраиваются в программу на языке программирования высокого уровня, которая содержит конструкции для обеспечения циклической обработки и перехода к другим участкам кода. Языки DML сетевых и иерархических СУБД обычно являются процедурными.
Непроцедурный язык DML позволяет указать лишь то, какие данные требуются, но не то, как их следует извлекать. Непроцедурные языки DML задают весь набор требуемых данных с помощью одного оператора выборки или обновления. С помощью непроцедурных языков DML пользователь указывает, какие данные ему нужны, без определения способа их получения. СУБД транслирует выражение на языке DML в процедуру (или набор процедур), которая обеспечивает манипулирование указанным набором записей. Такой подход освобождает пользователя от необходимости знать подробности внутренней реализации структур данных и особенности алгоритмов, используемых для извлечения и возможного преобразования данных. В результате работа пользователя становится в определенной степени независимой отданных. Непроцедурные языки часто также называют декларативными языками. Реляционные СУБД в той или иной форме обеспечивают поддержку непроцедурных языков манипулирования данными, примерами которых являются структурированный язык запросов SQL и язык запросов по образцу QBE. Непроцедурные языки обычно проще понять и использовать, чем процедурные языки, поскольку пользователю достается меньшая часть работы, а СУБД — большая.