Язык работы с базами данных sql Общие положения
Неотъемлемой и важнейшей частью любой системы, применяющей базы данных, являются языковые средства, обеспечивающие доступ к данным, их модификацию, определение структуры и другие операции. Язык SQL появился в 70-е годы прошлого века как одно из таких средств. Его прототип был разработан фирмой IBM под названием Sequel. Особенностью этого языка является сравнительно небольшое число операторов, относительно простой синтаксис, приближенный к английскому языку. Благодаря своим качествам язык SQL стал (вначале де-факто, а затем и официально) стандартным языком для работы с базами данных. Этот стандарт поддерживается всеми ведущими мировыми фирмами, специализирующимися в этой области.
Язык SQL относится к непроцедурным языкам программирования. Это означает, что в отличие от универсальных процедурных языков, которые тоже могут быть ориентированы на работу с базами данных, SQL не описывает способ получения данных. В нем задаются лишь условия, которым должны удовлетворять кортежи результирующего отношения, сформулированные в терминах входных отношений. Другими словами, запрос в SQL – это операция над отношениями, и ее результатом также является отношение.
Существуют и используются две формы языка SQL – интерактивный и встроенный SQL. Интерактивная версия языка используется для формулирования пользователем запросом к базе данных при работе в интерактивном режиме (например, с использованием пакета SQL*Plus). Встроенный SQL состоит из команд SQL, помещенных внутрь программ, написанных на каком-то языке программирования. Механизм встраивания может быть самым различным – от прямой записи команд в исходных текстах до вызова специальных функций, одним из параметров которых является команда SQL.
Команды языка SQL могут быть разбиты на несколько категорий. Наиболее распространенной является классификация, связанная с разбиением команд на две большие группы:
язык определения данных (data definition language, DDL), который дает возможность создания, изменения и удаления различных объектов базы данных (таблиц, индексов, пользователей, привилегий и т.д.). В число дополнительных функций DDL могут также быть включены ограничения целостности данных, описания элементов физического хранения данных;
язык манипулирования данными (data manipulation language, DML), который предоставляет возможность выборки информации из базы данных и ее преобразования.
Функции языка SQL обширны и включают:
организацию данных в таблицах;
обновление данных – добавление в базу данных новых данных, удаление и изменение уже имеющихся;
чтение данных – SQL дает возможность пользователю или прикладной программе извлекать данные из БД;
управление доступом – с помощью SQL можно ограничить возможности пользователя по чтению и изменению данных и защитить их от несанкционированного доступа;
совместное использование данных – SQL координирует совместное использование данных пользователями, работающими одновременно;
целостность данных – SQL позволяет защитить БД от разрушения из-за несогласованных изменений или отказа компьютерной системы.
При изучении синтаксиса любого языка необходимо использовать специальные соглашения. В рамках настоящего курса при описании синтаксиса будет использоваться следующая нотация:
используется шрифт Arial 10;
необязательные конструкции берутся в квадратные скобки;
значение по умолчанию подчеркивается;
курсивом задаются метапеременные;
жирным цветом выделяются зарезервированные слова, входящие в синтаксис языка;
запись {конструкция}…означает многократное повторение конструкции;
запись {конструкция1 | конструкция2} означает выбор одного из нескольких вариантов;
все остальные символы, записанные прямым шрифтом, представляют собой элементы языка и должны быть записаны так, как указано в описании.