
- •Язык запросов sql
- •Введение в sql(0-0)
- •Аннотация к лекции
- •Краткая история развития sql
- •Возможности языка
- •Основы sql
- •Типы данных sql
- •Литералы
- •Операторы и выражения
- •Именование объектов
- •Комментарии
- •Итоги лекции
- •Простейшие запросы (0-0)
- •Аннотация к лекции
- •О предложении select
- •Основные фразы – select и from
- •Фраза select
- •Синтаксис фразы select
- •Указание выводимых столбцов
- •Исключение повторяющихся строк
- •Использование вычисляемых выражений
- •Переопределение имен результирующих столбцов
- •Включение литералов в результат запроса
- •Вывод результатов в файл
- •Фраза from
- •Синтаксис фразы from
- •Синонимы таблиц
- •Запрос в качестве имени таблицы
- •Итоги лекции
- •Отбор строк по условию (0-0)
- •Аннотация к лекции
- •Простейшие условия
- •Операторы сравнения
- •Логические операторы
- •Использование выражений над столбцами
- •Специальные операторы
- •Проверка на принадлежность множеству
- •Проверка на принадлежность диапазону значений
- •Проверка на соответствие шаблону
- •Проверка на неопределенное значение
- •Итоги лекции
- •Многотабличные запросы (0-0)
- •Аннотация к лекции
- •Декартово произведение таблиц
- •Условие соединения
- •Соединение таблиц по равенству
- •Соединение таблиц по неравенству
- •Самосоединение таблицы
- •Внешнее соединение таблиц
- •Соединение с использованием фразы from
- •Итоги лекции
- •Использование функций (0)
- •Аннотация к лекции
- •Агрегатные функции
- •Однострочныефункции
- •Строковые функции
- •Числовые функции
- •Временные функции
- •Функции преобразования
- •Итогилекции(урока)
- •Группировка и сортировка (0)
- •Аннотация к лекции
- •Запросы с группировкой строк
- •Понятие группировки строк
- •Группировка по одному столбцу
- •Группировка по нескольким столбцам
- •Использование выражений
- •Условиеотборагрупп
- •Сортировка строк
- •Сортировка по столбцу или выражению
- •Сортировка по нескольким столбцам или выражениям
- •Итоги лекции
- •Множественные операции над таблицами (0-0)
- •Аннотация к лекции
- •Множественные операции в стандарте sql
- •Объединение таблиц
- •Пересечение таблиц
- •Разность таблиц
- •Дополнительные аспекты использования множественных операций
- •Множественные операции и группировка
- •Множественные операции и сортировка
- •Итоги лекции
- •Определение таблиц и представлений (0-0)
- •Аннотация к лекции
- •Создание таблицы
- •Изменениетаблицы
- •Возможности изменения таблиц
- •Добавление столбца
- •Изменение определения столбца
- •Удаление столбца
- •Переименование таблицы
- •Удаление таблицы
- •Определение индексов
- •Представления
- •Итоги лекции
- •Манипулирование данными (0-0)
- •Аннотация к лекции
- •Добавление новых строк
- •Варианты добавления строк
- •Вставка отдельных строк
- •Использование запроса при вставке строк
- •Вставка значений по умолчанию
- •Обновление существующих данных
- •Удаление существующих строк
- •Импорт и экспорт данных
- •Итоги лекции
- •Определение ограничений целостности, ключей, задание прав доступа к данным (0-18)
- •Аннотация к лекции
- •Виды ограничений целостности
- •Ограничение на отсутствие значения
- •Ограничениеуникальности
- •Ограничение первичного ключа
- •Ограничение ссылочной целостности
- •Изменение ограничений целостности
- •Итоги лекции
- •Программирование бд (19)
Возможности языка
В начале 70-х годов SQL являлся лишь языком запросов (ЯЗ). Он, по сути, содержал только предложение SELECT, которое позволяло формулировать запросы для выборки данных из базы. Затем язык был дополнен двумя другими компонентами, необходимыми для работы с базами данных. Первый из них — средства для определения структуры базы данных, которые в терминологии теории баз данных называютсяязыком определения данных(ЯОД). Второй — средства, позволяющие заполнять базу данными, изменять их и удалять. Этот компонент в теории баз данных называетсяязыком манипулирования данными(ЯМД). Также было принято решение, что весь интерфейс с базами данных должен обеспечиваться одним языком, вследствие чего SQL оброс множеством функций, необходимых для управления базами данных.
Основные возможности:
определение, переопределение и удаление таблиц базы данных и других ее объектов (доменов, представлений, индексов и т. д.);
указание физической организации данных;
поддержка ограничений целостности и непротиворечивости БД;
защита данных от несанкционированного доступа;
манипулирование данными в таблицах БД, включая вставку, изменение и удаление значений;
поиск данных в нескольких таблицах и упорядочение полученных результатов;
организация резервного копирования и восстановления БД;
поддержка целостности транзакций;
поддержка пользовательских процедур и функций, расширяющих
функциональные возможности SQL.
SQL существует в двух формах:
в интерактивном SQLпользователь непосредственно вводит команды и получает результат;
команды встроенного SQLвключаются в тексты программ на других языках; в этом случае обращение к базе данных, а также обработка результатов производится этими программами.
Основы sql
Язык SQLявляется нечувствительным к регистру букв. Все его фразы и выражения могут быть написаны как прописными, так и строчными буквами. Например:
Пример 0
SELECT Номер, Наименование
FROMТовыры
WHEREНаименование = 'ШОКОЛАД';
Однако этот же запрос можно записать следующим образом:
SelectНомер, Наименование
fromТовыры
whereНаименование = ‘ШОКОЛАД’;
Строки символов, ссылающиеся на данные, необходимо записывать в таком же виде, в каком они были введены в базу (см пример 0 – литерал ‘Масло’, имена таблиц и столбцов).
Второе синтаксическое правило заключается в следующем — в любом месте, где согласно синтаксису языка должен стоять пробел, можно использовать любое количество пробелов и табуляций, а также начинать новую строку. Например, предыдущий запрос может быть записан и так:
Пример 0
SELECT Номер, Наименование FROMТовырыWHEREНаименование = 'ШОКОЛАД';
При описании языка мы будем часто пользоваться такими понятиями, как ключевые слова,фразыипредложения.
Ключевое слово — слово, которое в SQL зарезервировано для специального использования и является частью его синтаксиса. В приведенных выше примерах ключевыми словами являются «Select Номер, Наименование». В зависимости от предложения SQL ключевое слово может быть обязательным или не обязательным.
Фраза — часть предложения SQL, имеющая самостоятельный смысл, но не имеющая возможности независимой интерпретации. Любая фраза обязательно включает в себя ключевое слово, по которому она и называется, а также другие конструкции языка. Примером фразы может быть «Select Номер, Наименование». Она называется фразой SELECT. Другой пример — фраза «whereНаименование = ‘ШОКОЛАД’», которая называется фразой WHERE.
Предложение (команда) — конструкция SQL, которая имеет возможность самостоятельной интерпретации. Предложения SQL состоят из фраз, одна из которых считается базовой и по ее имени называется предложение. Примером предложения является «SELECT Номер, Наименование FROM Товыры WHERE Наименование = 'ШОКОЛАД';» Оно состоит из трех фраз: SELECT, FROM и WHERE. Базовой в этом предложении является фраза SELECT, поэтому и предложение называется предложением SELECT.