Назначение, стандарты и преимущества языка SQL
SQL (Structured Query Language) – Структурированный Язык Запросов – это стандартный язык запросов по работе с реляционными базами данных.
Сам по себе SQL не является ни системой управления базами данных, ни отдельным программным продуктом. SQL – это неотъемлемая часть СУБД, инструмент, с помощью которого осуществляется связь пользователя с ней.
SQL нельзя в полной мере отнести к традиционным языкам программирования, т.к. он не содержит традиционных операторов, управляющих ходом выполнения программ, он содержит только набор стандартных операторов доступа к данным, хранящимся в базе данных. SQL является так называемым непроцедурным языком. Термин «непроцедурный» означает, что на этом языке можно сформулировать, что именно нужно сделать с данными, но нельзя проинструктировать, как это следует сделать. Иными словами, в языке отсутствуют алгоритмические конструкции, такие как метки, операторы цикла, условные переходы и т.п. Операторы SQL встраиваются в базовый язык программирования, которым может быть любой стандартный язык программирования С++, Pascal и т.д.
В 1986 г. в результате совместных усилий двух организаций ANSI (American National Standarts) и ISO (International Standarts Organisation) был принят официальный стандарт SQL-86 (SQL-1). После появления первого международного стандарта языка работа в этой области продолжилась. В 1992 г. был принят второй международный стандарт SQL-92 (SQL-2). В 1999 г. появляется объектно-ориентированный язык SQL:1999 (SQL-3), а в 2003 г. принят стандарт SQL:2003. Каждый стандарт представляет собой многостраничный документ сложной структуры. К примеру, текст стандарта SQL-92 составляет около 600 страниц.
В настоящее время язык SQL воплощен практически во всех коммерческих СУБД – все фирмы-производители СУБД провозглашают реализацию стандарта SQL. Таким образом, освоив один раз стандарт этого языка, пользователь посредством SQL может работать с базой данных в среде любой SQL-ориентированной СУБД.
Язык SQL можно использовать для доступа к базе данных в двух режимах: при интерактивной работе и в прикладных программах.
С помощью SQL пользователь может в интерактивном режиме быстро получить ответы на любые, в том числе достаточно сложные запросы, тогда как для реализации этих запросов на другом языке пришлось бы разрабатывать соответствующую программу. В прикладных программах, написанных на определенных языках программирования, SQL используются как встроенный язык для обращения к базе данных.
Характеризуя язык SQL в целом, можно выделить следующие его черты:
· высокоуровневая структура, напоминающая английский язык;
· независимость от конкретных СУБД;
· межплатформенная переносимость;
· наличие развивающихся стандартов;
· возможность выполнения интерактивных запросов извлечения данных и модификации их структуры;
· обеспечение программного доступа к базам данных;
· поддержка архитектуры клиент/сервер;
· возможность изменять и расширять структуру базы данных даже в то время, когда пользователи обращаются к ее содержимому (динамическое определение данных);
· расширяемость и поддержка объектно-ориентированных технологий;
· возможность доступа к данным в среде Интернет.
Структура команды SQL.
SQL(Structure Query Language) –является общепринятом языком написания запросов к реляционной базе данных. Не является языком программирования и СУБД, т. к. не содержит команд создания интерфейса, а имеет только команды обработки данных.
SQL запрос - команды, написанные на языке SQL
Способы применения SQL в прикладных программах:
1. Встроенные – SQL запрос записываются в тексте программы. Компиляция приложения специальным перепроцессором SQL преобразует исходный текст в исполняемую программу. SQL встроен почти во все СУБД и языки программирования, способные работать с базой данных (Delphi, FoxPro, Access и т.д.).
2. Интерактивный – имеются специальные оболочки мгновенного создания и выполнения SQL запроса. Прикладная программа, передает SQL запрос и при помощи специальных функций SQL получает результат запроса без применения перепроцесора.
1.Структура языка SQL (типы команд):
В SQL существует несколько основных категорий (типов) команд, реализующих выполнение различных функций. Среди таких функций — построение объектов базы данных, управление объектами, пополнение таблиц базы данных новыми данными, обновление данных, уже имеющихся в таблицах, выполнение запросов, управление доступом пользователей к базе данных, а также осуществление общего администрирования базы данных.
1.Язык определения данных (DDL – Data Definition Language) – команды создания (удаление, изменение структуры) объектов базы данных (таблицы, триггеры и т. д.)Create, Drop, Alter
2.Язык изменения данных (DML – Data Manipulition Language) – команды для обработки записей (т.е. метаданных).Insert, Delete, UpDate, Select, Commit, RollBack,
3.Команды администрирования базы данных – команды по разграничению прав и архивированию данныхGRAND, Revoke
4 DQL (Data Query Language — язык запросов к данным);
5 DCL (Data Control Language — язык управления данными);
6 команды администрирования данных;
7 команды управления транзакциями.