- •Язык запросов 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)
Лекции. Язык запросов SQL. 17 часов.
Язык запросов sql
Введение в sql(0-0)
Аннотация к лекции
Лекция представляет собой краткое введение в язык SQL.
Язык SQL является стандартным языком реляционных СУБД. Международная организация стандартизации (ISO) и Американский национальный институт стандартов (ANSI) уже более двадцати лет ведут работы по поддержанию стандарта этого языка, и практически все современные реляционные СУБД используют его в качестве языка интерфейса пользователей с базами данных.
Таким образом, знание SQL открывает путь к успешному освоению и использованию практически любой современной реляционной СУБД.
Цели лекции:
раскрыть значение и вклад языка SQLв развитие современных реляционных БД;
познакомить слушателя с историей развития языка SQL;
перечислить основные возможности языка SQL;
перечислить основные понятия языка SQL(ключевые слова, предложения, типы данных и т.д.).
Краткая история развития sql
Первая публикация описания языка SQL относится к 1974 году, когда в исследовательской лаборатории компании IBM в штате Калифорния была разработана его первая версия, используемая в экспериментальной реляционной СУБД System/R. В то время язык назвали SEQUEL (Structured English Query Language — структурированный английский язык запросов). Затем язык был переименован в SQL. Исследовательский проект System/R был завершен в 1979 году. Он подтвердил возможность создания эффективных промышленных реляционных СУБД. [sql_andon].
В 1977 г. фирмой Oracleбалы выпущена промышленная реляционная СУБД с одноименным названием. С тех пор фирмаOracleявляется крупнейшим поставщиком реляционных СУБД на базе SQL.
Одновременно с этим в середине 70-х годов в исследовательской лаборатории Калифорнийского университета в Беркли был открыт проект по созданию экспериментальной реляционной СУБД, получившую название Ingress, на которой отрабатывались результаты научных исследований в области реляционных БД. Затем в 1981 г. была выпущена промышленная версия СУБД Ingres. Затем в 1986 г. СУБДIngresбыла переведена на SQL.
В 1980 году компания IBM на основании опыта, полученного при разработке экспериментальной System/R, приступила к созданию собственной промышленной СУБД реляционного типа, которая начала поставляться в 1982 году под названием SQL/DS. Затем в компании был разработан более совершенный продукт - DB2, поставки которого начались в 1985 году. Эта СУБД стала стратегическим программным продуктом компании IBM. [sql_andon]
К середине 80-х годов SQL уже общепризнан как язык реляционных СУБД, а его диалект, поддерживаемый СУБД DB2, фактически стал стандартом для управления реляционными базами данных. К этому времени реляционные базы данных господствовали среди СУБД других типов и считались основной технологией баз данных будущего.
К началу 80-х годов в связи с широким распространением реляционных СУБД появилась необходимость анализа возможной стандартизации языка для управления реляционными базами данных и разработки такого стандарта, если это будет признано целесообразным.
В с связи с широким распространением реляционных СУБД 1982 году американским национальным институтом стандартов (AmericanNationalStandardsInstitute—ANSI) был создан специальный комитет (X3H2), перед которым была поставлена задача разработки стандарта языка для управления реляционными базами данных. Учитывая широкую распространенность SQL в промышленных СУБД и тот факт, что он фактически уже стал стандартом к тому времени, комитет остановился на этом языке. Взяв за основу его диалект, реализованный в СУБД DB2, комитет постарался его обобщить, учитывая реализованные в других реляционных СУБД возможности. После четырех лет работы,
в 1986 году предложенный комитетом вариант SQL был официально утвержден как стандарт ANSI. В 1987 году он был принят в качестве стандарта Международной организацией стандартов (InternationalStandardsOrganization—ISO). Затем стандарт ANSI/ISO приняло правительство США как федеральный стандарт в области обработки информации (FederalInformationProcessingStandard— FIPS). В 1989 году стандарт был незначительно изменен и получил название SQL-89 (или SQL1). [sql_andon]
В 1992 году ANSI принял новый стандарт, который был назван SQL-92 (или SQL2). Далее комитет приступил к решительным изменениям в SQL, которые отразились в стандарте SQL-99 (или SQL3). Наконец, в 2003 году был опубликован последний стандарт — SQL-2003.