SQL для тестировщиков
Полуторамесячный онлайн-тренинг из 6 модулей с ежедневными консультациями тренера в скайп-чате. Модуль состоит из 2 лекций по 45-60 минут, материалов для самостоятельного изучения и практического домашнего задания.
Тренер: Абдюшев Павел
21 век — век информации. Она окружает нас везде: дома, на работе, в машине, в метро. Информация хранится в базах данных в удобном для компьютера виде. Какие бы приложения вы не тестировали: десктопные, веб или мобильные, банковские системы или игры — вам нужно будет получать информацию из базы данных. Для этого используют специальный язык запросов — SQL (Structure Query Language). Базовые знания SQL сейчас требуют даже на вакансию джуниор-тестировщика.
Тренинг рассчитан на людей, знакомых с основами тестирования и желающих научиться работе с базами данных. Мы расскажем, как устроена база данных, как в ней хранятся данные и как их получать, начиная с самых простых запросов к одной таблице. Те, кто самостоятельно начинал знакомиться с SQL смогут структурировать свои знания, узнать об особенностях работы с разными СУБД и повысить мастерство написания сложных запросов к нескольким таблицам, используя внешние объединения по любым условиям.
На тренинге вы научитесь применять SQL в различных аспектах тестирования — для поиска интересных для проверки кейсов в БД, для разбиения данных на классы эквивалентности в зависимости от типа, с которым данные хранятся в БД, поймете, какие стандартные ошибки делают программисты при подготовке запросов, научитесь добавлять нужные значения в существующие таблицы и создавать новые. После курса вы сможете писать запросы любой сложности к одной, двум и десятку таблиц с использованием джойнов, группировок и подзапросов.
Программа тренинга
Лекция 0 — Вводная. Строение баз данных и организационные вопросы.
- Структура тренинга и орг.вопросы.
- Основы устройства реляционных БД
- Общие сведения про SQL:
- Определение, отличие от других языков.
- История создания SQL
- Стандарты языка SQL, их плюсы и минусы
Модуль I
Лекция 1 — Исследование БД и структура запроса SELECT.
- Установка Oracle XE и SQL Workbench
- Структура запроса Select
- Простейшие запросы к одной таблице
- Понятие схемы пользователя
- Исследование БД с помощью служебных таблиц
- Применение знаний о структуре БД к тестированию
- Работа с ошибками при составлении запроса
Лекция 2 — Типы данных, применяемые в SQL
- Типы для хранения чисел.
- Типы данных для хранения строк
- Типы данных для хранения дат и времени
- Специальные типы данных для хранения xml, идентификаторов и объектов.
- Типичные ошибки, выявляемые для разных типов данных при тестировании
Модуль II
Лекция 3 — Выбор данных из одной таблицы с разными условиями
- Задание условий для разных типов данных: числа, даты, строки в разной кодировке.
- Условие LIKE и использование регулярных выражений в функции regexp_like
- Значение NULL и работа с ним в запросе. Функция NVL
- Функции конвертации типов данных
- Объединение условий
Лекция 4 — Выбор данных из одной таблицы с разными условиями
- Функции, применяемые для разных типов данных
- Работа с датами и временем
Модуль III
Лекция 5 — Выбор данных из нескольких таблиц
- Объединение таблиц в запросе через where
- Разные типы JOIN
- Отличия задания условий через Where и Join
- Задание псевдонимов для таблиц
Лекция 6 — Примеры решения сложных задач на объединение нескольких таблиц
- Объединение таблиц по неравенству
- Объединение таблицы с самой собой
- Типы сортировки
- Сортировка колонок, содержащих значения NULL
- Возможные ошибки приложений при добавлении сортировки
Модуль IV
Лекция 7 — Запросы с подзапросами
- Работа с операторами In и Exist
- Использование подзапросов
Лекция 8 — Работа с результатами запроса
- Вывод уникальных значений через DISTINCT
- Объединение и пересечение результатов. Union, union all, intersect, minus
- Условный вывод данных с помощью оператора CASE
Модуль V
Лекция 9 — Запросы для анализа данных и подготовки отчетов
- Операции над выбираемыми данными
- Группировка данных. Запросы с GROUP BY и HAVING.
- Отбор значимых для тестирования данных.
Лекция 10 — Изменение данных
- Оператор Update
- Операторы TCL — commit и rollback
- Понятие ограничений и работа с ними
Модуль VI
Лекция 11 — Вставка и удаление данных
- Оператор Insert
- Оператор Delete
Лекция 12 — Работа со структурой БД и управление правами доступа
- Основные операторы DCL. Управление правами доступа
- Основные операторы DDL. Задание и изменение структуры БД.