logo search
Информатика конспект лекций

11.5. Языки доступа к базам данных

Выделяют два типа языков доступа к базам данных:

1) язык описания данных – высокоуровневый язык, предназначенный для описания логической структуры данных;

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

Самыми распространенными языками доступа являются два стандартизированных языка:

1) QBE (Query by Example) – язык запросов по образцу, характеризующийся свойствами языка манипулирования данными;

2) SQL (Structured Query Language) – структурированный язык запросов, состоящий из свойств языков обоих типов.

Язык QBE был разработан на основе реляционного исчисления с переменными-доменами. Он помогает формировать сложные запросы к базе данных с применением заполнения предлагаемой системой управления базой данных запросной формы. Любая из реляционных СУБД обладает своим вариантом языка QBE. Достоинствами подобного способа задания запросов к БД являются:

1) высокая наглядность;

2) отсутствие необходимости указания алгоритма выполнения операции.

Структурированный язык запросов SQL появился на основе реляционного исчисления с переменными кортежами. Было разработано несколько стандартов данного языка, самыми известными из которых являются SQL-89 и SQL-92. Язык SQL применяется для выполнения операций над таблицами и данными, которые содержатся в этих таблицах, и некоторых сопутствующих операций. Он не применяется как отдельный язык и чаще всего служит частью встроенного языка программирования СУБД (например, FoxPro СУБД Visual FoxPro, ObjectPAL СУБД Paradox, Visual Basic for Applications СУБД Access).

Язык SQL ориентирован только на доступ к данным, поэтому его относят к средствам разработки программ и называют встроенным. Выделяют два основных метода использования встроенного SQL:

1) статический – характеризуется тем, что в текст программы помещены вызовы функций языка SQL, жестко включаемые в выполняемый модуль после компиляции. Изменения в вызываемых функциях могут производиться на уровне отдельных параметров вызовов с помощью переменных языка программирования;

2) динамический – отличается динамическим построением вызовов SQL-функций и интерпретацией этих вызовов при выполнении программы. Чаще всего применяется в тех случаях, когда в приложении вид SQL-вызова заранее неизвестен, и он выстраивается в диалоге с пользователем.