Стандартный язык баз данных sql.

Введение

SQL (ˈɛsˈkjuˈɛl; англ. structured query language — «язык структурированных запросов») — язык программирования, применяемый для создания, модификации и управления данными в реляционной базе данных, управляемой соответствующей системой управления базами данных.

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

Изначально SQL был основным способом работы пользователя с базой данных и позволял выполнять следующий набор операций:

  • создание в базе данных новой таблицы;
  • добавление в таблицу новых записей;
  • изменение записей;
  • удаление записей;
  • выборка записей из одной или нескольких таблиц (в соответствии с заданным условием);
  • изменение структур таблиц.

Со временем SQL усложнился — обогатился новыми конструкциями, обеспечил возможность описания и управления новыми хранимыми объектами (например, индексы, представления, триггеры и хранимые процедуры) — и стал приобретать черты, свойственные языкам программирования.

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

Каждое предложение SQL — это либо запрос данных из базы, либо обращение к базе данных, которое приводит к изменению данных в базе. В соответствии с тем, какие изменения происходят в базе данных, различают следующие типы запросов:

  • запросы на создание или изменение в базе данных новых или существующих объектов (при этом в запросе описывается тип и структура создаваемого или изменяемого объекта);
  • запросы на получение данных;
  • запросы на добавление новых данных (записей);
  • запросы на удаление данных;
  • обращения к СУБД.

Основным объектом хранения реляционной базы данных является таблица, поэтому все SQL-запросы — это операции над таблицами. В соответствии с этим, запросы делятся на:

  • запросы, оперирующие самими таблицами (создание и изменение таблиц);
  • запросы, оперирующие с отдельными записями (или строками таблиц) или наборами записей.

Каждая таблица описывается в виде перечисления своих полей (столбцов таблицы) с указанием



  • типа хранимых в каждом поле значений;
  • связей между таблицами (задание первичных и внешних ключей);
  • информации, необходимой для построения индексов.

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

  • вставка новой строки;
  • изменение значений полей строки или набора строк;
  • удаление строки или набора строк.

Самый главный вид запроса — это запрос, возвращающий (пользователю) некоторый набор строк, с которым можно осуществить одну из трёх операций:

  • просмотреть полученный набор;
  • изменить все записи набора;
  • удалить все записи набора.

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

Описание

Язык SQL представляет собой совокупность

  • операторов
  • инструкций
  • вычисляемых функций

Операторы

Согласно общепринятому стилю программирования, операторы (и другие зарезервированные слова) в SQL обычно рекомендуется писать прописными буквами.[6]

Операторы SQL делятся на:

  • операторы определения данных (Data Definition Language, DDL):
    • CREATE создает объект БД (саму базу, таблицу, представление, пользователя и т. д.),
    • ALTER изменяет объект,
    • DROP удаляет объект;
  • операторы манипуляции данными (Data Manipulation Language, DML):
    • SELECT выбирает данные, удовлетворяющие заданным условиям,
    • INSERT добавляет новые данные,
    • UPDATE изменяет существующие данные,
    • DELETE удаляет данные;
  • операторы определения доступа к данным (Data Control Language, DCL):
    • GRANT предоставляет пользователю (группе) разрешения на определенные операции с объектом,
    • REVOKE отзывает ранее выданные разрешения,
    • DENY задает запрет, имеющий приоритет над разрешением;
  • операторы управления транзакциями (Transaction Control Language, TCL):
    • COMMIT применяет транзакцию,
    • ROLLBACK откатывает все изменения, сделанные в контексте текущей транзакции,
    • SAVEPOINT делит транзакцию на более мелкие участки.

Преимущества



Наши рекомендации