Язык структурированных запросов SQL

Информация о курсе:


Стоимость курса: 3 000 грн 

Длительность курса: 1 месяца (25 часов)
Вечерние группы: 10 занятий х 2,5 часа
Субботние группы: 5 занятий х 5 часов
Возможно обучение On-line

Дата начала курса:



21 октября 10:00-14:15

(занятия проходят по субботам)

Записаться в группу
 

Что знают все айтишники? Конечно, язык структурированных запросов SQL! Программисты используют его для создания, модификации и управления данными в реляционных базах данных. Тестировщики программного обеспечения – для написания автоматизированных модульных тестов, проверяющих правильность работы вызовов программ, которые работают с базами данных. Для администраторов баз данных это вообще родной язык )))

Базы данных сейчас используются везде – от обычных смартфонов до сложнейших систем управления полетом космического корабля.

Данный курс предназначен как для начинающих изучать язык SQL, так и для тех, кто хочет систематизировать и расширить свои знания. Этот курс будет полезен и программистам, и тестировщикам, и администраторам баз данных. А еще маркетологам, финансистам, банковским работникам и всем, кому приходится работать с большими объемами данных.

Введение. Основные понятия и определения

  • Что такое SQL и для чего он нужен
  • Стандарты SQL
  • Преимущества и недостатки
  • Что такое СУБД? СУБД MySQL

Реляционная теория

  • Базовые понятия
  • Отношения. Ключи отношений
  • Нормальные формы. Результаты нормализации
  • Операции реляционной алгебры

Начало работы с SQL

  • Отличия и совпадения языка SQL с реляционной теорией
  • Знакомство с учебной средой. СУБД MySQL. Клиент Squirrel
  • Замечания по синтаксису SQL

Создание объектов БД и манипулирование данными

  • Средства определения таблиц
  • Отношения подчинённости таблиц
  • Ограничения целостности
  • Манипулирование данными в таблицах
  • Пакетная вставка данных

Выборка данных из таблиц – основы

  • Разбор постановки задачи на выборку данных
  • Общая структура оператора выборки - SELECT
  • Семантика выборки
  • Пошаговое создание конструкции SELECT

Выборка данных из таблиц – предикаты

  • Понятие предиката. Правила работы с логическими выражениями
  • Предикаты сравнения, LIKE, BETWEEN, IN, IS NULL, MATCH

Выборка данных из таблиц - агрегирование

  • Агрегатные функции
  • Раздел HAVING
  • Операторы DISTINCT и LIMIT

Практическое занятие №1

Выборка данных из таблиц – подзапросы

  • Общая схема работы подзапросов
  • Подзапросы в условиях WHERE. Предикаты EXISTS, IN, ANY, ALL
  • Подзапросы в столбцах
  • Подзапросы в разделе FROM

Выборка данных из таблиц - связывание таблиц

  • Связь с реляционной теорией
  • Оператор JOIN. Внутреннее соединение таблиц
  • Внешние соединения таблиц
  • Соединение по неравенству
  • Объединение таблиц. Оператор UNION
  • Операция вычитания
  • Операция деления

Манипулирование данными

  • Вставка данных в таблицы. Оператор INSERT
  • Изменение данных. Оператор UPDATE
  • Удаление данных. Оператор DELETE
  • Слияние данных

Практическое занятие №2

Рекурсивные запросы

  • Понятие иерархического представления данных
  • Обработка данных иерархии при использовании смежной модели данных
  • Обработка данных иерархии при использовании модели вложенных множеств

Создание триггеров

  • Общая концепция применения триггеров
  • Триггеры BEFORE и AFTER
  • Триггеры ROW и STATEMENT

Создание представлений – VIEW

  • Преимущества и недостатки создания представлений
  • Обновляемые представления
  • Представления с ограничениями

Средства авторизации и доступа к данным.

  • Создание и удаление пользователей
  • Выдача и отбор прав
  • Уровни доступа к данным

Управление транзакциями

  • ACID транзакция
  • Фиксация и откат изменений
  • Феномены транзакций
  • Уровни изоляции транзакций

Производительность выполнения запросов

  • Большие объёмы данных
  • Планировщик запросов в СУБД
  • Индексирование
  • Партиционирование
  • Алгоритмы запросов на соединение таблиц

Проект по созданию системы биллинга (тарификация звонков и выставление счетов) абонентов оператора мобильной связи

  • Получение Функциональных требований к проекту
  • Составление Технических требований
  • Создание базы данных системы
  • Наполнение системы данными и расчёт необходимых показателей
  • Создание счётов абонентам