Разделы

Авто
Бизнес
Болезни
Дом
Защита
Здоровье
Интернет
Компьютеры
Медицина
Науки
Обучение
Общество
Питание
Политика
Производство
Промышленность
Спорт
Техника
Экономика

Язык взаимодействия с реляционными базами данных sql. Основные сведения

Структурированный язык запросов SQL (Structured Query Language) – это язык, разработанный корпорацией IBM в 1970 г. Он фактически стал стандартом в качестве языка реляционных баз данных. Cлужащий IBM доктор Е.Ф.Кодд предложил язык SQL (называвший тогда SEQUEL – Structured English Query Language, структурированный английский язык запросов) как средство извлечения информации из реляционной базы данных.

В настоящее время SQL представляет собой не просто язык запросов, а наиболее распространенный язык взаимодействия с реляционными базами данных типа клиент-сервер. Основное достоинство SQL заключается в том, что он унифицирован: стандартный набор инструкций SQL можно использовать в любой системе управления базами данных, которая поддерживает SQL. Первый американский стандарт SQL был зарегистрирован в 1986 г. как ANSI  X3.135-1986. ANSI (Американский национальный институт стандартизации) – это организация, которая занимается созданием и обновлением научных и инженерных стандартов. ANSI-стандарт SQL был принят в качестве всемирного стандарта отделом ООН Международной организацией стандартизации (ISO) в 1989 г. - SQL/89 (SQL/1). В настоящее время в РСУБД поддерживается стандарт ANSI X3.135-1992, широко известный как SQL/92 (SQL/2). В стадии разработки и утверждения находится стандарт SQL/3.

SQL является языком управления реляционными базами данных, а не языком программирования. Таким образом, ANSI SQL не включает ни средств управления выполнением программы (ветвлений и циклов), ни средств для создания форм или отчетов. А функции управления реализуются в языках программирования (например, xBase, C++, COBOL и др.). Однако в некоторые версии (диалекты) SQL, например, в Transact-SQL, используемый в серверах БД Sybase и Microsoft SQL Server, добавлены два оператора (IF ELSE и WHILE).

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

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

Транзакции обладают четырьмя важными свойствами: атомарность, согласованность, изоляция и долговечность.

Атомарность. Транзакции атомарны - выполняется все из транзакции или ничего.

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

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

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

Отсюда вытекает необходимость управления транзакциями, что предусмотрено в стандарте языка SQL. ANSI SQL включает набор стандартных команд, сгруппированных по шести категориям: описание данных, выполнение запросов, манипулирование данными, управление курсором, управление транзакциями, а также администрирование или управление. В 1989 г. в исходный стандарт ANSI были добавлены инструкции для обеспечения целостности данных.

Существует три способа реализации SQL:
1. Непосредственный вызов. Инструкции SQL передаются в систему управления реляционными базами данных, которая их выполняет.
2. Язык модулей. Позволяет записывать в текстовый файл инструкции SQL, которые позднее выполняются приложением.
3. Встроенный SQL. Это наиболее распространенный метод реализации: инструкции SQL генерируются системой управления или включаются как текст в команды языка этой системы.

В настоящее время именно язык SQL является стандартом для работы с реляционными СУБД. SQL стал единственным языком баз данных клиент-сервер. Все реляционные серверы БД являются SQL-серверами. Сервер баз данных (нижний уровень) отвечает за хранение  данных. Приложения-клиенты (верхний уровень) добавляют или обновляют данные. Кроме того, приложение генерирует инструкции SQL. При регулярной работе с базами данных знание SQL обязательно. Это также относится к разработчикам, которым требуется создавать приложения с определяемыми пользователем запросами.
Если приходится работать с несколькими реляционными базами данных разных форматов или необходимо конвертировать файлы из одной базы данных в другую, использование синтаксиса SQL является самым общим и легким решением. Хранимые наборы инструкций SQL, если они имеют общий синтаксис, могут быть легко конвертированы или использованы различными реляционными базами данных.

Источник: Учебное издание - Айтхожаева Евгения Жамалхановна.

Дата публикации:2012-10-30

Просмотров:2134

Вернуться в оглавление:

Комментария пока нет...


Имя* (по-русски):
Почта* (e-mail):Не публикуется
Ответить (до 1000 символов):







 

2012-2018 lekcion.ru. За поставленную ссылку спасибо.