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

Информация о курсе:
Длительность курса: 1 месяц (25 часов)
Вечерние группы: 10 занятий х 2,5 часа
Субботние группы: 5 занятий х 5 часов
Возможно обучение On-line
Дата начала курса:
2 февраля 10:00-15:00
(занятия проходят по субботам)
Записаться в группу
Что знают все айтишники? Конечно, язык структурированных запросов 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 транзакция
- Фиксация и откат изменений
- Феномены транзакций
- Уровни изоляции транзакций
Производительность выполнения запросов
- Большие объёмы данных
- Планировщик запросов в СУБД
- Индексирование
- Партиционирование
- Алгоритмы запросов на соединение таблиц
Проект по созданию системы биллинга (тарификация звонков и выставление счетов) абонентов оператора мобильной связи
- Получение Функциональных требований к проекту
- Составление Технических требований
- Создание базы данных системы
- Наполнение системы данными и расчёт необходимых показателей
- Создание счётов абонентам
