Помощь в написании студенческих работ
Антистрессовый сервис

Основы языка SQL

РефератПомощь в написанииУзнать стоимостьмоей работы

В настоящее время SQL (англ. structured query language — язык структурированных запросов) является стандартным реляционным языком БД и поддерживается всеми распространенными реляционными и объектнореляционными СУБД. Версия стандарта SQL-92, также известная как SQL2, значительно расширила предыдущую версию, определив средства манипулирования схемой БД, управление транзакциями и сессиями… Читать ещё >

Основы языка SQL (реферат, курсовая, диплом, контрольная)

В настоящее время SQL (англ. structured query language — язык структурированных запросов) является стандартным реляционным языком БД и поддерживается всеми распространенными реляционными и объектнореляционными СУБД.

В 1970;х гг. в IBM для проверки возможностей практической реализации реляционной модели данных разрабатывалась экспериментальная СУБД System R. Для нее был создан язык SEQUEL (англ. Structured English QUEry Language). Язык получил достаточно широкую популярность и несколько позже, из-за существования зарегистрированной торговой марки SEQUEL, был переименован в SQL.

Поддержка языка SQL, независимо реализуемая в СУБД ряда производителей, привела к необходимости разработки стандартов этого языка. Разработка спецификации SQL была начата Американским национальным институтом стандартов (ANSI) в 1982 г. Стандарт был принят ANSI в 1986 г. и в 1987 г. одобрен Международной организацией по стандартизации (ISO). Эта версия стандарта SQL обычно обозначается как SQL-86.

Следующая версия выпущена в 1989 г. (SQL-89). В ней, в частности, были четко стандартизованы синтаксис и семантика операторов выборки данных и манипулирования данными, определены средства ограничения целостности БД [15].

Версия стандарта SQL-92, также известная как SQL2, значительно расширила предыдущую версию, определив средства манипулирования схемой БД, управление транзакциями и сессиями, подключения к БД и т. д.

В выпущенную в 1999 г. версию SQL: 1999 (SQL3) добавлена поддержка регулярных выражений, рекурсивных запросов, поддержка триггеров, базовые процедурные расширения, нескалярные типы данных и некоторые объектно-ориентированные возможности.

Последующие версии — SQI-:2003, SQL:2006, SQL:2008 — внесли поддержку данных в формате XML, совместного использования в запросах SQL и языка запросов к XML-данным XQuery (SQL:2006) и ряд других новшеств.

Начиная с SQL:1999 стандарт разбивается на части, каждая из которых оформляется в виде отдельного документа. После утверждения в ISO эти документы выпускаются также в виде стандартов этой организации (серия 9075). Например, вторая часть SQL:2008 выпущена как ISO/IEC 9075−2:2011 Information technology — Database languages — SQL — Part 2: Foundation (SQL/Foundation) («Информационные технологии. Языки базы данных. Язык структурированных запросов (SQL). Часть 2. Основа»).

Язык SQL включает три подъязыка:

  • Data Definition Language (DDL) — язык определения данных, включающий такие операторы, как CREATE, ALTER, DROP;
  • Data Manipulation Language (DML) — язык обработки данных, который позволяет запрашивать и изменять данные и включает операторы SELECT, INSERT, UPDATE, DELETE;
  • Data Control Language (DCL) — язык управления данными, позволяет управлять разрешениями на доступ к данным и включает операторы GRANT и REVOKE.

Следует учитывать, что стандарт SQL может не в полной мере поддерживаться конкретной СУБД. И наоборот, конкретная СУБД может давать возможность использования в SQL-выражениях дополнительных функций, не предусмотренных стандартом. Таким образом, большинство компанийразработчиков поддерживает собственный диалект языка SQL, который может быть совместим с одной из версий стандарта SQL. Ниже приведен перечень некоторых популярных СУБД и наименования диалектов SQL:

  • • Microsoft SQL Server — Transact-SQL или T-SQL;
  • • Microsoft Access — Jet SQL;
  • • Oracle Database — PL/SQL;
  • • IBM DB2 — SQL PL.

По ходу изложения материала в качестве примеров будут приводиться некоторые расхождения в правилах записи отдельных выражений в стандарте SQL и Transact-SQL. Подобные расхождения есть и у других производителей СУБД.

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

Показать весь текст
Заполнить форму текущей работой