+7 (812) 703-02-02 info@hse.spbstu.ru

MOC-20762. Разработка баз данных SQL

Длительность дисциплины: 40 ак.ч.


Аннотация

Этот пятидневный курс предоставляет слушателям знания и навыки, необходимые при разработке и эксплуатации баз данных Microsoft SQL Server 2016. В курсе рассматриваются базовые возможности SQL Server 2016 и инструменты, связанные с разработкой базы данных. Основная аудитория этого курса: Технические специалисты, желающие приобрести навыки по разработке баз данных SQL Server 2016. Также данный курс будет полезен разработчикам приложений, взаимодействующих с базами данных.

Сфера применения слушателями полученных профессиональных компетенций, умений, знаний и навыков:

  • работа с административными утилитами MS SQL Server;
  • создание баз данных;
  • создание и модификация таблиц баз данных;
  • создание представлений, хранимых процедур и функций;
  • разработка индексных структур;
  • анализ планов выполнения;
  • работа с XML и пространственными типами данных;
  • использование полнотекстовых индексов для повышения производительности запросов к BLOB-данным.

Учебные материалы курса на английском языке.


Знания и умения, полученные в результате изучения

На курсе Вы научитесь:

  • Работать с типами данных SQL Server;
  • Проектировать и реализовывать таблицы и работать со схемами;
  • Обеспечивать целостность данных с помощью ограничений;
  • Описывать концепции индексирования и определять соответствующий тип данных для построения структуры простых и композитных индексов;
  • Создавать колоночные индексы;
  • Проектировать и внедрять представления (view);
  • Разрабатывать и внедрять хранимые процедуры и пользовательские функции;
  • Создавать DML триггеры, для обеспечения процедурной целостности базы данных;
  • Разрабатывать и внедрять In-Memory таблицы;
  • Внедрять управляемый код (SQL CLR) в среду SQL Server;
  • Осуществлять хранение и обработку данных в формате XML в среде SQL Server;
  • Создавать пользовательские транзакции и определять необходимые уровни изоляции транзакций для работы в средах с высокой конкуренцией за ресурсы баз данных;
  • Работать с пространственными данными;
  • Сохранять и обрабатывать BLOB данные и текстовые документы.

Содержание дисциплины

Модуль 1. Введение в разработку баз данных

  • Введение в платформу Microsoft SQL Server
  • Задачи разработки баз данных SQL Server

Лабораторная работа: Введение в разработку баз данных

Модуль 2. Проектирование и реализация таблиц

  • Проектирование таблиц
  • Работа с типами данных
  • Работа со схемами
  • Создание и изменение таблиц

Лабораторная работа: Проектирование и создание таблиц

Модуль 3. Расширенные возможности проектирования таблиц

  • Разработка секционированных таблиц
  • Сжатие данных
  • Темпоральные таблицы (Temporal Tables)

Лабораторная работа: Расширенные возможности проектирования таблиц

Модуль 4. Обеспечение целостности данных с помощью ограничений

  • Поддержание целостности данных
  • Обеспечение доменной целостности
  • Обеспечение сущностной и ссылочной целостности

Лабораторная работа: Обеспечение целостности данных с помощью ограничений

Модуль 5. Введение в индексы

  • Базовые концепции индексирования
  • Типы данных и индексы
  • Куча, кластерный и некластерный индексы
  • Одноколоночные и составные индексы

Лабораторная работа: Создание индексов

Модуль 6. Разработка стратегии оптимизированных индексов

  • Стратегии индексации
  • Управление индексами
  • Работа с планами выполнения
  • Использование Database Engine Tuning Advisor
  • Хранилище запросов (Query Store)

Лабораторная работа: Оптимизация индексов

Модуль 7. Колоночные индексы

  • Введение в колоночные индексы
  • Создание колоночных индексов
  • Работа с колоночными индексами

Лабораторная работа: Использование колоночных индексов

Модуль 8. Проектирование и реализация представлений

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

Лабораторная работа: Проектирование и создание представлений

Модуль 9. Проектирование и реализация хранимых процедур

  • Введение в хранимые процедуры
  • Работа с хранимыми процедурами
  • Реализация параметризованных хранимых процедур
  • Контроль контекста выполнения

Лабораторная работа: Проектирование и создание хранимых процедур

Модуль 10. Проектирование и реализация пользовательских функций

  • Обзор функций
  • Проектирование и реализация скалярных функций
  • Проектирование и реализация табличных функций
  • Вопросы использования различных типов функций
  • Альтернативы использования функций

Лабораторная работа: Проектирование и создание пользовательских функций

Модуль 11. Проектирование и реализация DML триггеров

  • Проектирование DML-триггеров
  • Разработка DML-триггеров
  • Расширенные концепции использования триггеров

Лабораторная работа: Проектирование и создание триггеров

Модуль 12. Использование In-Memory таблиц

  • Таблицы, оптимизированные для памяти.
  • Хранимые процедуры, скомпилированные в собственном коде

Лабораторная работа: Использование In-Memory таблиц

Модуль 13. Применение управляемого кода в SQL Server

  • Введение в интеграцию управляемого кода (CLR) в среду SQL Server
  • Реализация интеграции управляемого кода в среду SQL Server

Лабораторная работа: Использование управляемого кода в SQL Server

Модуль 14. Хранение и работа с XML данными в SQL Server

  • Введение в XML и XML-схемы
  • Хранение XML данных и XML схем в SQL Server
  • Использование типа данных XML
  • Использование оператора FOR XML языка T-SQL
  • Основы языка XQuery
  • Преобразование XML данных в реляционный формат

Лабораторная работа: Хранение и обработка XML данных в SQL Server

Модуль 15. Работа с пространственными данными в SQL Server

  • Введение в пространственные типы данных
  • Использование пространственных типов данных SQL Server
  • Использование пространственных данных в приложениях

Лабораторная работа: Работа с пространственными типами данных

Модуль 16. Хранение и обработка BLOB данных и текстовых документов в SQL Server

  • Введение в BLOB данные (Binary Large Objects)
  • Работа с FILESTREAM
  • Использование полнотекстового поиска (Full-Text Search)

Лабораторная работа: Хранение и обработка BLOB данных и текстовых документов в SQL Server

Модуль 17. Обеспечение конкурентного доступа к данным в SQL Server

  • Основы транзакций и механизм хранения данных
  • Блокировки

Лабораторная работа: Обеспечение конкурентного доступа к данным в SQL Server

Модуль 18. Производительность и мониторинг

  • Работа с подсистемой расширенных событий (Extended Events)
  • Использование Live Query Statistics
  • Оптимизация конфигурации файла базы данных

Лабораторная работа: Мониторинг, трассировка и базовая линия производительности