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-форматі.