Цель занятия: усвоить знания о назначении языка SQL; об основных командах языка.
План
Назначение языка, классификация операторов.
Структура команды языка.
Работа SQL со множеством пользователей.
Назначение языка, классификация операторов
Большинство современных СУБД содержат средства генерации запросов, позволяющих изменять данные (и др. операции). Один из способов манипулирования данными – QBE (queries by example), запрос по образцу. Это средство для визуального связывания таблиц и выбора полей, которые надо отобразить в результате выполнения запроса.
Другое средство – язык запросов SQL (Structured Query Language), представляет собой непроцедурный язык, используемый для управления данными и метаданными реляционных СУБД. Термин «непроцедурный» означает, что на этом языке можно сформулировать, что именно нужно сделать с данными, но нельзя проинструктировать, как это следует сделать. Иными словами, в языке SQL отсутствуют алгоритмические конструкции, такие кап метки, операторы цикла, условные переходы и т.п.
Язык SQL был создан в начале 70-х годов в результате исследовательского проекта IBM, целью которого была разработав языка манипуляции реляционными данными. Первоначально он назывался SEQUEL (Structured English Query Language), затем — просто SQL. Официальный стандарт SQL был опубликован ANSI (American National Standards Institute - Американский национальный институт стандартизации) в 1981 году, и это наиболее часто используемая ныне реализация SQL. Данный стандарт был расширен в 1989 и 1992 годах, поэтому последний стандарт SQL носит название SQL92. В настоящее время ведется работа над стандартом SQL3, содержащим некоторые объектно-ориентированные расширения.
Существует три уровня соответствия стандарту ANSI: начальный, промежуточный и полный. Многие производители серверных СУБД такие как IBM, Informix, Microsoft, Oracle и Sybase, применяют собственные реализации SQL, основанный на стандарте ANSI (отвечающие как минимум начальному уровню соответствия стандарту) и содержащие некоторые расширения, специфические для той или иной СУБД.