Язык структурированных запросов Informix
Это базовый курс для пользователей баз данных и разработчиков приложений. В этом курсе Вы научитесь писать запросы, используя стандарт ANSI Structured Query Language (SQL) с расширениями IBM Informix. Вы начнете с простых запросов для выбора строк из одной таблицы, а затем перейдёте к более сложным запросам, включая вложенные запросы или многотабличные объединения. Вы узнаете, как использовать функции и выражения в SQL-операторах, как форматировать результаты запроса. Кроме того, вы узнаете, как выполнять операции вставки, обновления и удаления, и как выбрать строки, которые содержат большие объекты и других нестандартные типы данных.
Содержание курса
Введение в язык структурированных запросов
- Знакомство со различными средами выполнения запросов.
- Определение терминов SQL.
- Категории SQL.
- Описание базовой конструкции SQL-оператора SELECT.
Типы данных Informix
- Описание основных типов данных Informix.
- Описание расширенных типов данных Informix.
Демонстрационная база данных
- Описание основных понятий теории реляционных баз данных.
- Описание таблиц в демонстрационной базе данных.
- Описание связей между таблицами в демонстрационной базе данных.
- Создание или копирование демонстрационной базы данных.
- Использование среды DB-Access для ввода и выполнения запросов.
Однотабличные операторы SELECT
- Структура оператора SELECT.
- Выборка строк из одной таблицы.
- Список необязательных параметров оператора SELECT.
- Использование конструкции WHERE в операторе SELECT.
- Использование конструкции ORDERBY в операторе SELECT.
Основные выражения оператора SELECT
- Использование арифметических выражений.
- Использование агрегатных функций в операторе SELECT.
- Использование конструкции GROUP BY.
- Использование конструкции HAVING.
- Выборка INTOTEMP выражения помощью с таблицу временную во данных
- Использование NULL значений в выражениях.
Встроенные функции оператора SELECT
- Использование встроенных функций даты и времени.
- Конвертация значений типов DATE и DATETIME в символьные строки.
- Использование поиска, нечувствительного к регистру.
- Использование функций манипулирования строками.
- Использование оператора конкатенации.
- Удаление передних и/или завершающих символов в строках.
- Использование арифметических функций.
- Написание выражений с условиями.
Объединение таблиц в операторе SELECT
- Выборка данных из двух или более таблиц.
- Создание запросов, использующих простые соединения с таблицами.
- Создание алиасов для названий таблиц.
- ANSI соединения между таблицами.
- Расширения Informix для соединений между таблицами.
- Как избежать прямого произведения таблиц (avoidaCartesianproduct).
Сложные объединения таблиц
- Описание различий между внутренними и внешними соединениями.
- Описание различных типов внешних соединений.
- Использование различных типов соединений в запросах.
- Описание self-join и использование его в запросах.
- Использование оператора UNION.
Подзапросы
- Написание запросов с использованием подзапросов.
- Написание оператора SELECT, который использует вложенные подзапросы.
- Описание назначения коррелированного подзапроса.
Временные таблицы
- Написание запросов для явного создания временных таблиц.
- Описание причин использования временных таблиц в запросах.
- Написание запросов с использованием временных таблиц.
- Использование опции WITHNOLOG при создании временных таблиц.
Операторы вставки, изменения и удаления записей
- Использование оператора INSERT для ввода данных в таблицу.
- Использование оператора UPDATE для изменения данных в таблице.
- Использование оператора DELETE для удаления данных из таблицы.
- Использование оператора LOAD для добавления записей в таблицу из файла.
- Использование оператора UNLOAD для создания файла содержащего данные из базы данных.
Другие возможности SQL
- Использование синонимов и представлений вместо таблиц в запросах.
- Удаленный доступ к таблицам в запросах.
- Написание запросов для выборки и вставки простых и сложных больших объектов.
- Описание запросов к таблицам, содержащим значения пользовательских типов данных.
- Написание пользовательских функций и процедур.
Оптимизация SQL-запросов
- Назначение оптимизатора Informix.
- Определение доступных путей выполнения запроса оптимизатором.
- Описание различных типов индексов и их влияние на оптимизатор запросов.
- Использование оператора SETEXPLAIN для получения информации о плане выполнения запроса.
- Идентификация различных путей выполнения запроса на основе информации, записанной в файл sqexplain.out.
- Использование директив оптимизатора для влияния на план выполнения запроса.
Предварительная подготовка
- Базовые знания операционной системы UNIX или Linux.
- Базовые понятия о проектировании реляционных баз данных.