Высшая школа бизнес-информатики

Основы языка SQL

Программа знакомит с языком SQL: от типов данных и создания таблиц до сложных запросов, оптимизации и хранимых процедур. Вы научитесь эффективно работать с реляционными базами данных и получать необходимую информацию для анализа.
Для всех RU
1 900 ₽ 3 000 ₽
или любая сумма на ваше усмотрение,
но не менее 890 ₽
Вы можете оплатить любую сумму, чтобы поддержать наш проект и авторов программы. Объем услуг не зависит от размера вашей оплаты.
Объем

36 час.
Длительность

30 дней
Нагрузка в неделю

9 час.
Формат обучения

Дистанционно (самостоятельно)
Описание Учебный курс посвящен языку SQL Oracle и охватывает его от основ до продвинутых тем. Рассматриваются простые и сложные запросы, создание таблиц базы данных, применение формальной и математической логики в SQL, агрегация и расширения команды SELECT для работы в хранилищах данных, аналитические функции, управление доступом. Включены практикумы для отработки навыков. Материал адресован разработчикам баз данных, аналитикам данных и специалистам по хранилищам, работающим с Oracle.
Цели
  • Сформировать понимание возможностей SQL в среде Oracle.
  • Развить умение писать запросы для аналитической обработки данных.
  • Подготовить к работе с конструкциями SQL в хранилищах данных.
Чему я научусь?
  • Создавать таблицы и формировать запросы на SQL в Oracle.
  • Применять агрегацию и аналитические функции SELECT.
  • Использовать SQL для задач хранилищ данных.
  • Управлять правами доступа к объектам базы.

Авторы

Бекларян Армен
Бекларян Армен
Чему я научусь?
  • Создавать таблицы и формировать запросы на SQL в Oracle.
  • Применять агрегацию и аналитические функции SELECT.
  • Использовать SQL для задач хранилищ данных.
  • Управлять правами доступа к объектам базы.

Учебный план

Занятия
1 Назначение языка и типы данных В лекции излагаются основы языка SQL: его происхождение, назначение, логика стандартизации и возникновения диалектов. Раскрывается двойственная... В лекции излагаются основы языка SQL: его происхождение, назначение, логика стандартизации и возникновения диалектов. Раскрывается двойственная природа языка как средства определения структур данных (DDL) и манипулирования ими (DML). Детально анализируются встроенные типы данных — от целочисленных и строковых с фиксированной/переменной длиной до чисел с плавающей точкой и точного десятичного типа. На примерах показаны компромиссы между точностью хранения и возможностью вычислений, а также обсуждается уместность применения BLOB. Завершается материал переходом к практическому освоению DDL. ещё 75 мин
Тест 1 для курса # 51853 для курса Основы языка SQL 40 мин
2 SQL как язык описания данных. Часть 1 Рассматривается компонент SQL — язык определения данных (DDL), управляющий созданием, изменением и удалением структур базы данных.... Рассматривается компонент SQL — язык определения данных (DDL), управляющий созданием, изменением и удалением структур базы данных. Излагаются три базовых оператора: CREATE, ALTER, DROP и их применение к доменам, таблицам, представлениям, процедурам, триггерам, индексам. На примерах показано создание базы данных с настройкой размера страницы и кодировки, создание таблицы с полями, ограничениями NOT NULL, DEFAULT и вычисляемыми столбцами, а также изменение таблиц. Систематизируются четыре типа ограничений целостности: PRIMARY KEY, UNIQUE, FOREIGN KEY и CHECK, с пояснением их смысла и отличий, включая разницу между первичным ключом и сочетанием уникальности с запретом NULL. ещё 57 мин
Тест 2 для курса # 51853 для курса Основы языка SQL 40 мин
3 SQL как язык описания данных. Часть 2 В материале разбираются четыре типа ограничений целостности данных в SQL: первичный ключ (PRIMARY KEY), уникальность (UNIQUE),... В материале разбираются четыре типа ограничений целостности данных в SQL: первичный ключ (PRIMARY KEY), уникальность (UNIQUE), проверка (CHECK) и внешний ключ (FOREIGN KEY). Показано, как задавать их при создании таблицы и как добавлять к уже существующей через ALTER TABLE. Затем демонстрируется, что операции определения структуры (DDL) можно выполнять не только вручную, но и с помощью графического интерфейса клиента (Management Studio), который сам генерирует нужный SQL-код. Обсуждается зависимость конкретной реализации языка от используемой СУБД и объясняется, почему для практической работы важнее понимать общие концепции SQL, а не заучивать все диалекты. Завершается обзор переходом от DDL к языку манипулирования данными (DML). ещё 57 мин
Тест 3 для курса # 51853 для курса Основы языка SQL 40 мин
4 Оператор SELECT. Часть 1 В материале рассматривается компонент DML языка SQL, отвечающий за манипулирование данными. Основной фокус направлен на детальный... В материале рассматривается компонент DML языка SQL, отвечающий за манипулирование данными. Основной фокус направлен на детальный разбор оператора SELECT: его синтаксиса, логики фильтрации (WHERE, HAVING), группировки (GROUP BY) и сортировки (ORDER BY). Объясняется, как соединять несколько таблиц в одном запросе, использовать агрегатные функции и подзапросы. Теоретической базой выступает реляционная алгебра, однако акцент сделан на практическом применении команд для извлечения, фильтрации и агрегации данных. ещё 135 мин
Тест 4 для курса # 51853 для курса Основы языка SQL 40 мин
5 Оператор SELECT. Часть 2 Рассматриваются продвинутые возможности запросов SELECT: вложенные подзапросы в условиях WHERE и на уровне FROM для создания... Рассматриваются продвинутые возможности запросов SELECT: вложенные подзапросы в условиях WHERE и на уровне FROM для создания виртуальных таблиц, ограничение объёма возвращаемых строк (TOP, FIRST…SKIP, ROWS…TO), явное преобразование типов функцией CAST. Значительное внимание уделено встроенным функциям работы с датой и временем, а также всестороннему разбору поведения неопределённых значений NULL — правилам взаимодействия в выражениях, логических операциях и агрегатных функциях. Логика изложения движется от механизма вложенных запросов к практическим средствам контроля выборки и надёжной обработке данных. ещё 87 мин
Тест 5 для курса # 51853 для курса Основы языка SQL 40 мин
6 Операторы INSERT, DELETE, UPDATE и JOIN Излагаются операторы модификации данных: INSERT, DELETE, UPDATE. Последовательно разбирается их синтаксис, использование подзапросов вместо констант, влияние... Излагаются операторы модификации данных: INSERT, DELETE, UPDATE. Последовательно разбирается их синтаксис, использование подзапросов вместо констант, влияние ограничений NOT NULL и значений по умолчанию. Далее рассматриваются способы объединения таблиц: вертикальное (UNION) для структурно одинаковых наборов и горизонтальное (JOIN). Детализируются типы JOIN — INNER, LEFT OUTER, RIGHT OUTER, FULL OUTER — с акцентом на поведение при несовпадающих строках. Такой порядок даёт целостное представление о том, как модифицировать данные и собирать информацию из нескольких таблиц в реляционной базе. ещё 60 мин
Тест 6 для курса # 51853 для курса Основы языка SQL 40 мин
7 SQL как процедурный язык В лекции последовательно раскрываются процедурные возможности SQL как полноценного языка программирования. Сначала рассматриваются представления (VIEW) —... В лекции последовательно раскрываются процедурные возможности SQL как полноценного языка программирования. Сначала рассматриваются представления (VIEW) — виртуальные таблицы, позволяющие инкапсулировать сложные запросы и многократно использовать их как обычные таблицы. Далее вводятся управляющие конструкции: условный оператор IF, циклы FOR и WHILE, а также операторы SUSPEND, BREAK и EXIT для управления возвратом данных и выполнением кода. Затем обсуждаются генераторы (GENERATOR) для получения уникальных последовательностей, триггеры (TRIGGER) для автоматической реакции на события изменения данных и обработка исключений (EXCEPTION) для устойчивости серверного кода. Завершают изложение хранимые процедуры (STORED PROCEDURE), события (EVENT) и краткое введение в оптимизацию запросов. Логика материала ведёт от пассивного переиспользования запросов к активному императивному программированию на стороне сервера. ещё 105 мин
Тест 7 для курса # 51853 для курса Основы языка SQL 40 мин
8 Оптимизация SQL запроса В материале разбирается логика оптимизации SQL-запроса на примере соединения трёх таблиц: проектов, департаментов и сотрудников. Показано,... В материале разбирается логика оптимизации SQL-запроса на примере соединения трёх таблиц: проектов, департаментов и сотрудников. Показано, как наивное выполнение через полные декартовы произведения с последующей фильтрацией приводит к огромным промежуточным данным. Затем пошагово демонстрируется преобразование плана: раннее применение фильтров, изменение порядка соединений, объединение фильтрации с операцией соединения и отбрасывание лишних столбцов до выполнения соединений. Такой подход сокращает объём обрабатываемых данных и ускоряет получение результата. В завершение обсуждается, что современные СУБД выполняют подобную оптимизацию автоматически, а качество встроенного оптимизатора является ключевым фактором при выборе промышленной платформы. ещё 60 мин
Тест 8 для курса # 51853 для курса Основы языка SQL 40 мин
9 Примеры базовых запросов Лекция знакомит с практическим написанием SQL-запросов на примере базы данных AdventureWorks LT 2017. Сначала подробно разбирается... Лекция знакомит с практическим написанием SQL-запросов на примере базы данных AdventureWorks LT 2017. Сначала подробно разбирается структура таблиц и связи между ними, чтобы стала понятна предметная область — магазин велосипедов и аксессуаров. Затем логика изложения движется от простого к сложному: от выборки всех данных из таблицы через фильтрацию, устранение дубликатов (DISTINCT) и сортировку до агрегации с GROUP BY и фильтрации групп с HAVING. Такой подход подготавливает к дальнейшему изучению соединений таблиц. ещё 126 мин
Тест 9 для курса # 51853 для курса Основы языка SQL 40 мин
10 Запросы к нескольким таблицам В материале рассматривается конструирование SQL-запросов с соединением нескольких таблиц. Изложение выстроено от простого объединения трёх сущностей... В материале рассматривается конструирование SQL-запросов с соединением нескольких таблиц. Изложение выстроено от простого объединения трёх сущностей (покупатель, его адрес, компания) к анализу различий между внутренним (INNER) и левым внешним (LEFT OUTER) соединениями. Демонстрируется, как тип JOIN влияет на полноту возвращаемых данных: внутреннее соединение исключает записи без пары, тогда как внешнее сохраняет все строки ведущей таблицы, подставляя NULL. На практических примерах показана проверка согласованности базы данных и выявление записей с отсутствующими связями. Логика раскрывается через призму внешних ключей и фильтрации, позволяя осмысленно выбирать способ склейки под конкретную аналитическую задачу. ещё 54 мин
Тест 10 для курса # 51853 для курса Основы языка SQL 40 мин
11 Запросы с применением преобразования типа Рассматриваются приёмы преобразования данных прямо в SQL-запросах: объединение строк, изменение типов с помощью стандартной CAST и... Рассматриваются приёмы преобразования данных прямо в SQL-запросах: объединение строк, изменение типов с помощью стандартной CAST и оптимизированной для SQL Server CONVERT, арифметические вычисления с форматированием результата, а также работа с датами — форматирование через стили и расчёт разницы между датами. Логика изложения ведёт от простой конкатенации к вычисляемым столбцам и завершается встроенной функцией DATEDIFF, попутно поясняя различия между стандартными и вендор-специфичными инструментами. ещё 81 мин
Тест 11 для курса # 51853 для курса Основы языка SQL 40 мин
12 Запросы с различными вариантами JOIN В материале последовательно разбирается работа операторов соединения INNER JOIN и LEFT JOIN в SQL на примере... В материале последовательно разбирается работа операторов соединения INNER JOIN и LEFT JOIN в SQL на примере базы данных AdventureWorks2017. Демонстрируется, как наличие или отсутствие пары в связанных таблицах влияет на результат выборки. Логика изложения строится от простого соединения двух таблиц к постепенному усложнению: добавление фильтрации по тексту, условие отбора непустых значений, соединение с дополнительной таблицей и, наконец, объединение трёх связанных таблиц. На каждом шаге сравнивается поведение внутреннего и левого внешнего соединений, что позволяет наглядно усвоить разницу между ними. ещё 42 мин
Тест 12 для курса # 51853 для курса Основы языка SQL 40 мин
13 Запросы с агрегационными функциями Рассматривается практическое применение операторов соединения (JOIN) в SQL на примере базы данных AdventureWorks. Лекция построена на... Рассматривается практическое применение операторов соединения (JOIN) в SQL на примере базы данных AdventureWorks. Лекция построена на последовательном разборе запросов: от простого INNER JOIN до LEFT и RIGHT JOIN. Демонстрируется, как тип соединения и фильтрация влияют на результат, а также как оптимизатор SQL Server обрабатывает запросы. Особое внимание уделяется разнице между соединениями при поиске отсутствующих связей. В завершение вводятся агрегатные функции с группировкой и оператор INTERSECT для поиска пересечений в наборах данных. ещё 159 мин
Тест 13 для курса # 51853 для курса Основы языка SQL 40 мин
14 Сложные запросы с различными операторами Излагаются принципы работы агрегатных функций SQL (COUNT, SUM, AVG, MIN, MAX) без группировки и в сочетании... Излагаются принципы работы агрегатных функций SQL (COUNT, SUM, AVG, MIN, MAX) без группировки и в сочетании с подзапросами. Рассматриваются типовые сценарии: подсчёт строк и суммирование значений, вычисление средних и экстремальных величин, применение DISTINCT для уникальных значений. Особое внимание уделено коррелированным подзапросам — поиску минимальной цены внутри группы товаров, определению максимальной маржи и сравнению агрегированных показателей за разные периоды. В завершение обозначен переход к оператору GROUP BY. ещё 78 мин
Тест 14 для курса # 51853 для курса Основы языка SQL 40 мин
15 Запросы с группировкой Рассматриваются базовые операции группировки и агрегирования данных в SQL. Изложение строится от простых примеров с GROUP... Рассматриваются базовые операции группировки и агрегирования данных в SQL. Изложение строится от простых примеров с GROUP BY и COUNT(*) к более сложным: фильтрация групп через HAVING, влияние разных типов соединений (LEFT/RIGHT JOIN) на результаты группировки, подсчёт уникальных значений с COUNT(DISTINCT), использование подзапросов. На практических данных демонстрируется, как комбинация этих механизмов позволяет получать распределение клиентов по странам, сумму продаж по продуктам, категории с наибольшим числом товаров и обнаруживать записи без категорий. ещё 66 мин
Тест 15 для курса # 51853 для курса Основы языка SQL 40 мин
16 Индексирование таблиц и хранимые процедуры В лекции разбирается практическая работа индексов в SQL Server: как они ускоряют выборку и почему замедляют... В лекции разбирается практическая работа индексов в SQL Server: как они ускоряют выборку и почему замедляют вставку. На примере таблицы клиентов с перекосом данных показаны планы выполнения запросов с фильтрацией по индексированному и неиндексированному столбцу. Далее демонстрируется явление parameter sniffing – когда хранимая процедура кэширует план для первого значения параметра, и это влияет на все последующие вызовы. Рассматриваются способы управления компиляцией: WITH RECOMPILE, OPTION (RECOMPILE) и влияние внутренней переменной на стабильность плана. Материал даёт целостное представление о балансе между производительностью чтения и записи, а также о том, как нюансы параметризации меняют поведение оптимизатора. ещё 144 мин
Тест 16 для курса # 51853 для курса Основы языка SQL 40 мин
Экзамен 120 мин

Какой документ я получу?

Сертификат

Выдаётся автоматически после успешного завершения программы.

Удостоверение о повышении квалификации

Выдается при наличии среднего специального или высшего образования (необходимые документы).

Стоимость программы

1 900 ₽ 3 000 ₽
или любая сумма на ваше усмотрение,
но не менее 890 ₽
Вы можете оплатить любую сумму, чтобы поддержать наш проект и авторов программы. Объем услуг не зависит от размера вашей оплаты.