spinner-it

Разработка баз данных SQL

Цель курса – предоставить слушателям знания и навыки, необходимые для проектирования и разработки базы данных Microsoft SQL Server 2016. Курс знакомит с созданием таких объектов как таблицы, представления, хранимые процедуры и функции, возможностями индексирования, а также предоставляет возможность получения навыков работы с пространственными, XML, BLOB данными.

 

Аудитория

Этот курс предназначен для специалистов в области IT, желающих получить навыки по разработке баз данных для сервера SQL Server 2016. Также курс будет интересен разработчикам продуктов, хранящих данные в базах SQL Server 2016.

 

По окончании курса слушатели смогут:

  • Проектировать и создавать таблицы.
  • Описать расширенные возможности проектирования таблиц.
  • Обеспечить целостность данных путем ограничений.
  • Реализовывать индексы, включая колоночные индексы, а также выполнять их оптимизацию.
  • Проектировать и создавать представления.
  • Проектировать и создавать хранимые процедуры.
  • Проектировать и создавать пользовательские функции.
  • Реагировать на манипулирование данными с помощью триггеров.
  • Разрабатывать и внедрять таблицы в памяти.
  • Реализуйте управляемый код в SQL Server.
  • Обеспечивать хранение и запросы XML-данных.
  • Работать с пространственными данными.
  • Обеспечивать хранение и выполнять запросы двоичных и текстовых документов.

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

Прежде чем приступить к работе с Microsoft SQL Server в роли разработчика или администратора, важно понять сферу применения платформы SQL Server. В частности, полезно знать, что SQL Server - это не просто механизм управления базами данных, а полноценная платформа для управления корпоративными данными. SQL Server предлагает широкие возможности для организаций данных всех размеров в дополнение к комплексному набору инструментов для упрощения разработки и повышения надежности.

 

Темы

  • Введение в платформу SQL Server
  • Использование инструментов SQL Server

 

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

В системе управления реляционными базами данных (РСУБД) пользовательские и системные данные хранятся в таблицах. Каждая таблица состоит из набора строк, которые описывают сущности, и набора столбцов, которые содержат атрибуты объекта. Например, таблица Customer может иметь такие столбцы, как CustomerName и CreditLimit, и строку для каждого клиента. В Microsoft SQL Server программные модули управления таблицами связаны в схемы, напоминающие структуру папок и файлов в операционной системе. Проектирование таблиц - одна из наиболее важных задач, которые выполняет разработчик базы данных, поскольку неправильный дизайн таблиц приводит к невозможности эффективного запроса данных. После создания соответствующей структуры на бумаге важно знать, как правильно перенести планируемую структуру в СУБД.

 

Темы

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

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

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

 

Модуль 3: Расширенное проектирование таблиц

Физическая реализация базы данных может существенно повлиять на способность базы данных удовлетворять требованиям к хранению и производительности, установленными заинтересованными сторонами. Проектирование физической реализации базы данных включает планирование файловых групп, использование секционирования для управления большими таблицами и использование сжатия для улучшения хранения и производительности. Временные таблицы - это новая функция в SQL Server 2016, предлагающая собой решение для сбора изменений данных.

 

Темы

  • Секционирование таблиц
  • Сжатие данных
  • Временные таблицы (Temporal Tables)

Лабораторная работа: Использование расширенного проектирования таблиц

  • Секционирование таблиц
  • Сжатие данных

 

Модуль 4: Поддержание целостности данных посредством ограничений

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

 

Темы

  • Поддержание целостности данных
  • Реализация доменной целостности
  • Реализация сущностной и ссылочной целостности

Лабораторная работа: Поддержание целостности данных через ограничения

  • Добавление ограничения
  • Проверка ограничения

 

Модуль 5: Введение в индексирование

Индекс представляет собой набор страниц, связанных с таблицей. Индексы используются для улучшения производительности запросов или обеспечения уникальности. Прежде чем научиться внедрять индексы, полезно понять, как они работают, насколько эффективны разные типы данных при использовании в индексах и как индексы могут быть построены из нескольких столбцов. В этом модуле рассматриваются структуры таблиц, которые не имеют индексов, и различные типы индексов, доступные в Microsoft SQL Server.

 

Темы

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

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

  • Создание кучи
  • Создание кластерного индекса
  • Создание закрытого индекса

 

Модуль 6: Разработка оптимальной стратегии индексирования

Индексы играют важную роль, позволяя SQL Server быстро и эффективно извлекать данные из базы. В этом модуле обсуждаются дополнительные возможности индексов, включая индексы покрытия запроса, предложение INCLUDE, подсказки для запросов, padding и fill factor, статистику, использование DMO, Database Tuning Advisor и Query Store.

 

Темы

  • Стратегии использования индексов
  • Управление индексами
  • Планы выполнения
  • Использование Database Engine Tuning Advisor
  • Query Store

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

  • Использование Query Store
  • Кучи и кластерные индексы
  • Создание закрытого индекса

 

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

Представленные в Microsoft SQL Server 2012 колоночные индексы хранятся во многих крупных хранилищах. Этот модуль перечисляет преимущества использования колоночных индексов в больших наборах данных; улучшения, внесенные в колоночные индексы в SQL Server 2016; и рекомендации, необходимые для эффективного использования колоночных индексов в решениях проектирования хранилищ данных.

 

Темы

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

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

  • Создание колоночного индекса
  • Создание таблицы колоночных индексов с оптимизированной памятью (Memory Optimized Columnstore Table)

 

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

В этом модуле описывается проектирование и реализация представлений. Представление — это особый тип запроса, который хранится и может использоваться в других запросах - точно так же, как таблица. С представлением на диске сохраняется только определение запроса; а не набор результатов. Единственное исключение - индексированные представления, когда результирующий набор также сохраняется на диске, как и таблица. Представления упрощают дизайн базы данных, формируя слой абстракции и скрывая сложность объединений таблиц. Представления также являются способом защиты данных, предоставляя пользователям разрешения использовать представление, при этом не позволяя им манипулировать исходными объектами. Таким образом данные могут оставаться конфиденциальными и могут просматриваться только соответствующими пользователями.

 

Темы

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

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

  • Создание стандартных представлений
  • Создание обновляемого представления

 

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

В этом модуле описывается проектирование и реализация хранимых процедур.

 

Темы

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

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

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

 

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

Функции - это подпрограммы, которые используются для инкапсуляции часто выполняемой логики. Вместо того чтобы повторять логику функций во многих местах, код может вызывать функцию. Это делает код более удобным для обслуживания и легче для отладки. В этом модуле показано, как разрабатывать и реализовывать пользовательские функции (UDF), которые обеспечивают соблюдение бизнес-правил или согласованности данных, а также как изменять и поддерживать существующие функции.

 

Темы

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

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

  • Форматирование номеров телефонов
  • Изменение существующей функции

 

Модуль 11: Реагирование на изменение данных через триггеры

Триггеры языка манипуляции данными (DML) - это мощные инструменты, которые можно использовать для обеспечения доменной целостности, контроль сущности, реляционных данных и бизнес-логики. Обеспечение целостности помогает создавать надежные приложения. В этом модуле описано, что собой представляют триггеры DML, как они обеспечивают целостность данных, перечислены различные доступные типы триггеров и способы их определения.

 

Темы

  • Проектирование DML триггеров
  • Реализация DML триггеров
  • Дополнительные возможности триггеров

Лабораторная работа: Реагирование на изменение данных через триггеры

  • Создание и тестирование триггера аудита
  • Улучшение триггера аудита

 

Модуль 12: Использование таблиц в оперативной памяти

Microsoft SQL Server 2014 представил функциональные возможности обработки транзакций в оперативной памяти (OLTP) для повышения производительности рабочих нагрузок OLTP. SQL Server 2016 добавляет несколько улучшений, таких как возможность изменять таблицу с оптимизацией памяти без ее воссоздания. Таблицы с оптимизацией памяти в основном хранятся в оперативной памяти, что обеспечивает улучшенную производительность за счет сокращения обращений к жесткому диску. Собственно, скомпилированные хранимые процедуры дополнительно улучшают производительность по сравнению с традиционным интерпретируемым Transact-SQL.

 

Темы

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

Лабораторная работа: Использование таблиц в оперативной памяти

  • Использование таблиц с оптимизацией памяти
  • Использование хранимой процедуры, скомпилированные в исходном коде

 

Модуль 13: Реализация управляемого кода в SQL Server

Специалисту SQL Server требуется создать базы данных, соответствующие бизнес-потребностям. Большинство требований можно выполнить с помощью Transact-SQL. Однако иногда могут понадобиться дополнительные возможности, которые доступны только с использованием кода CLR. Поскольку функциональность добавляется в SQL Server с каждой новой версией, необходимость использования управляемого кода уменьшается. Однако есть моменты, когда может понадобиться создавать агрегаты, хранимые процедуры, триггеры, пользовательские функции или пользовательские типы. Можно использовать любой язык .NET Framework для разработки этих объектов. В этом модуле показано, как использовать управляемый код CLR для создания пользовательских объектов базы данных для SQL Server.

 

Темы

  • Введение в интеграцию со средой CLR SQL
  • Внедрение и публикация сборки CLR

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

  • Оценка предлагаемого кода CLR
  • Создание скалярной функции CLR
  • Создание CLR-функции с табличным значением

 

Модуль 14: Хранение и запросы к XML данным в SQL Server

XML предоставляет правила для кодирования документов в машинном формате, который стал широко распространенным стандартом для представления структур данных, а не только для отправки неструктурированных документов. Серверы, на которых работает Microsoft SQL Server, часто должны использовать XML для обмена данными с другими системами; многие инструменты SQL Server предоставляют интерфейс на основе XML. SQL Server предлагает обширную обработку XML, как для хранения, так и для запросов. Этот модуль представляет XML, показывает, как хранить XML-данные в SQL Server, и показывает, как запрашивать данные XML. Возможность запрашивать данные XML напрямую позволяет не извлекать данные в реляционный формат перед выполнением SQL-запросов. Чтобы эффективно обрабатывать XML, необходимо уметь запрашивать XML-данные несколькими способами: возвращать существующие реляционные данные в виде XML и запрашивать данные в формате XML.

 

Темы

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

Лабораторная работа: Хранение и запросы к XML данным в SQL Server

  • Условия применения XML
  • Тестирование хранения XML-данных в переменных
  • Использование XML-схем
  • Использование запросов FOR XML
  • Создание хранимой процедуры для возврата XML

 

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

Этот модуль описывает пространственные данные и как они могут быть реализованы в SQL Server.

 

Темы

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

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

  • Знакомство с типом данных Geometry
  • Добавление пространственных данных в существующую таблицу
  • Поиск соседних расположений

 

Модуль 16: Хранение и запрос двоичных и текстовых документов в SQL Server

Традиционно базы данных использовались для хранения информации в виде простых значений, таких как целые числа, даты и строки, что контрастирует с более сложными форматами данных, такими как документы, электронные таблицы, файлы изображений и видеофайлы. Поскольку системы, поддерживающие поддержку баз данных, стали более сложными, администраторы сочли необходимым интегрировать эти более сложные данные файла со структурированными данными в таблицы базы данных. Например, в базе данных продукта может быть полезно связать запись продукта с руководством по обслуживанию или учебными видеороликами для этого продукта. SQL Server предлагает несколько способов интеграции этих файлов, которые часто называются двоичными большими объектами (BLOB), и позволяют индексировать их контент и включать в результаты поиска. В этом модуле рассказано, как создавать и оптимизировать базу данных, которая включает BLOB.

 

Темы

  • Соображения при работе с BLOB данными
  • Работа с FileStream
  • Использование полнотекстового поиска

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

  • Включение и использование столбцов FILESTREAM
  • Включение и использование таблиц файлов
  • Использование полнотекстового индекса

 

Модуль 17: Конкурентный доступ к данным в SQL Server

В этом модуле объясняется, как назвать, объявить, присвоить значения и использовать переменные. Также описано, как хранить данные в массиве. Контроль параллелизма является важной особенностью многопользовательских систем баз данных; он позволяет данным оставаться актуальными, когда многие пользователи одновременно изменяют данные. Этот модуль охватывает реализацию параллелизма в Microsoft SQL Server, как SQL Server реализует элементы управления параллелизмом, а также различные способы настройки и работы с параметрами параллелизма.

 

Темы

  • Конкурентный доступ и транзакции
  • Внутренние блокировки

Лабораторная работа: Конкурентный доступ к данным в SQL Server

  • Использование изоляции снапшота
  • Внедрение блокировок на уровне разделов

 

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

В этом модуле рассматривается способ измерения и мониторинга производительности баз данных SQL Server. В первых двух уроках рассмотрены расширенные события SQL Server, гибкая и легкая система обработки событий, встроенная в Microsoft SQL Server Database Engine. Эти занятия сосредоточены на архитектурных концепциях, стратегиях устранения неполадок и сценариях использования.

 

Темы

  • Расширенные события
  • Работа с расширенными событиями
  • Статистика Live Query
  • Оптимизация конфигурации файла базы данных
  • Метрики

Лабораторная работа: Мониторинг, отслеживание и базовые планы

  • Сбор и анализ данных с использованием расширенных событий
  • Внедрение методологии базовых планов

Необходимая подготовка

 

Для эффективного обучения на курсе, слушатели должны обладать следующими знаниями и навыками:

 

  • Базовые знания и навыки работы с операционными системами Windows.
  • Опыт написания запросов T-SQL.
  • Базовые знания о реляционных базах данных.

Запись на курс

Код курсаWSQL16-10
Длительность5 д (40 ч)
Код экзамена
Стоимость без НДС35 000 грн.

У зв'язку з карантином всі наші курси читаються у online-форматі.