- •Введение в язык sql92.
- •О нотации грамматики языка sql.
- •Оператор select.
- •Выбор строк (фраза where).
- •Сортировка результата (фраза order by).
- •Стандартные обобщающие функции языка sql.
- •Группировка результата (фраза group by).
- •Примеры простой группировки.
- •Подзапросы и другие операции.
- •Многотабличные запросы.
- •Операции union, intersect, except.
- •Операции обновления базы данных.
- •Insert into table_name [ ( colomn_list ) ]
- •Values ( data_value_list )
- •Определение данных в языке sql.
- •Типы данных языка isq sql92.
- •Integer (можно сократить до int)
- •Скалярные операторы языка sql.
- •Создание баз данных.
- •Представления (виды).
Введение в язык sql92.
“Детей надо учить тому, что пригодится им, когда они вырастут.”
АРИСТИПП, 2-я пол.V - 1-я пол. IV вв. до н.э.
SQL(Structure Query Language) является примером языка с трансформирующейся ориентацией. Он предназначен для работы с таблицами с целью преобразования входных данных к требуемому выходному виду. Язык включает в себя только команды определения и манипулирования данными. В нем отсутствуют команды управления вычислительным процессом типа“if...else...”,“while...”, характерных для процедурных языков. Поэтому предусматриваются две технологии использования SQL:
в интерактивном режиме последовательно выполняются операторы языка;
операторы встраиваются в текст программ на процедурном языке типа С\С++.
Язык SQLявляется первым и пока единственныи стандартным языком работы с базами данных, который получил широкое распостранение. Практически все крупные разработки СУБД имеютSQL-интерфейсы. Он стал частью архитектуры приложений (например,System Application Architectue корпорацииIBM), федеральным стандартом обработки информации в США и стратегическим выбором крупных организаций (типа консорциумаX/OPEN создающий стандарты для средыUNIX).
Язык служит основой для появления на рынках программных продуктов типа OnLine Transaction Processing (OLTP) и OnLine Analitycal Processing (OLAP). Активно ведется работа в области расширения стандарта для поддержки динамических представлений, распределённой обработки данных, эффективной поддержки объектно-ориентированного программирования и мультимедиа.
Стандарт ISO SQL не использует терминов «отношение», «атрибут» и «кортеж», вместо них применяются термины «таблица», «столбец» и «строка». Это следствие стратегии «нежесткости использования», предполагающей пониманиеSQLнаивными пользователями.
О нотации грамматики языка sql.
“Лучше быть нищим, чем невеждой ... ”
АРИСТИПП, 2-я пол.V - 1-я пол. IV вв. до н.э.
Для описания грамматикиоператоров языка SQL мы будем использовать следующую расширенную форму BNF – нотации(Backus-Naur Form).
Прописные буквы используются для зарезервированых слов и не изменются;
Строчные буквы используются для записи слов, определяемых пользователем.
Вертикальная черта ( | )означает выбор одного из нескольких вариантов, т.е. a | b | c.
Фигурная скобка означает объязательный элемент, т.е. { a }.
Квадратные скобки обозначают необъязательный элемент, [ b ].
Многоточие ( ... )используется для повторения (ноль и более раз), { a | b } [ , c ... ] .
Структура операторов языка определяется ключевым словом, представляющие собой слова английского языка. Большенство компонентов операторов нечувствительны к регистру (прописные или строчные буквы неразличимы), но важным исключением являются литералы-данные, которые надо вводить с учетом регистра, например при поиске по эталону слова. Формат языка свободный (т.е. не привязан к конкретным позициям в строке). Рекомендуется придерживаться следующих правил для повышения читабельности.
Каждая фраза в операторе начинается с новой строки.
Начало каждой фразы выравнивается с началом остальных фраз оператора.
Фразы, вложенные в данный оператор, начинаются с некоторым отступом, что указывает на их подчиненый характер.
В некоторых СУБД используются диалекты языка SQL, которые могут допускать небольшие различия со стандартом. Например, оператор может заканчиваться символом ( ; ), что отсутствует в стандартеISO SQL92.