The course is designed for developers who want to learn in detail about the possibilities of database programming in Microsoft SQL Server, from creating a database, proper table design to the creation of very advanced objects and indexes. In [...]
  • GOC632
  • Duration 5 days
  • 50 ITK points
  • 5 terms
  • Praha (36 200 Kč)

    Brno (36 200 Kč)

    Bratislava (1 380 €)

  • Intermediate

The course is designed for developers who want to learn in detail about the possibilities of database programming in Microsoft SQL Server, from creating a database, proper table design to the creation of very advanced objects and indexes. In this introductory course, you will learn how to design a database schema and then create database tables, including appropriate enforcement of the integrity of stored data. You will also learn how to create database views, stored procedures, functions, and triggers. An introduction to monitoring and optimizing the performance of your database is also included (if performance tuning is your primary goal, we recommend the GOC631 course). The knowledge you gain will be put to the test in a series of hands-on exercises and is applicable to all supported versions of SQL Server (2012-2019), including the cloud variant of Azure SQL Database.

»
  • Seznámíte se s platformou Microsoft SQL Server a nástroji, které využíváme pro vývoj databází
  • Naučíte se navrhovat schéma databáze a vytvářet databázové tabulky
  • Dozvíte se, jak vhodně vynutit integritu uložených dat s pomocí integritních omezení
  • Vyzkoušíte si vytvářet databázové pohledy
  • Naučíte se programovat uložené procedury
  • Dozvíte se, jak vytvořit a využít vlastní uživatelsky definované funkce
  • Naučíte se vytvářet různé typy triggerů
  • Seznámíte se s možnostmi zabezpečení databáze z pohledu vývojáře
  • Vyzkoušíte si monitorovat náročné databázové dotazy ve vaší databázi
  • Zjistíte, jak správně navrhovat indexy a kdy a proč se vaše indexy nepoužijí
  • Seznámíte se s možnostmi columnstore indexů a naučíte se je používat v datových skladech i OLTP aplikacích
  • Představíme si technologii In-Memory OLTP a vysvětlíme si, kdy je výhodné ji využít
  • Dozvíte se, jak funguje transakční zpracování v SQL Serveru, jaké jsou vlastnosti transakcí, jak fungují zámky a jaký dopad na výkon mají izolační úrovně

Kurz je cílen na databázové vývojáře, kteří se chtějí detailně seznámit s možnostmi programování databází v Microsoft SQL Serveru nebo v Azure SQL Database.

  • Znalost prostředí Microsoft SQL Serveru a jazyka T-SQL na úrovni kurzu GOC 278
1 Úvod do vývoje databází
  • Představení platformy Microsoft SQL Server
  • Seznámení s nástroji pro vývoj databází
  • Představení nejčastějších úkolů spojených s vývojem databází
2 Návrh a nasazení tabulek
  • Seznámení s principy návrhu relačních databází
  • Modelování schématu databáze s využitím ER diagramu
  • Vysvětlení principu normalizace schématu relační databáze
  • Představení dostupných datových typů
  • Seznámení se schématy
  • Ukázka vytvoření databázové tabulky
  • Vysvětlení možností úprav existující tabulky
  • Ukázka práce s dočasnými tabulkami
  • Představení historických tabulek, které automaticky verzují své změny
3 Zajištění datové integrity
  • Představení způsobů zajištění datové integrity a validace dat
  • Vysvětlení použití primárního a cizího klíče
  • Použití check constraints
4 Implementace a použití databázových pohledů
  • Vysvětlení principů použití a tvorby databázových pohledů
  • Ukázka implementace databázového pohledu
  • Vysvětlení výkonnostního dopadů databázových pohledů a tvorba indexovaného pohledu
5 Implementace a použití uložených procedur
  • Seznámení s implementací a vhodným použitím uložených procedur
  • Práce s vstupními i výstupními parametry uložené procedury
  • Ošetření výjimek při běhu uložené procedury
  • Předání tabulkového parametru uložené proceduře
6 Implementace a použití uživatelsky definovaných funkcí
  • Představení různých typů uživatelsky definovaných funkcí
  • Vysvětlení rozdílů mezi inline a multi-statement tabulkovými funkcemi a jejich dopad na výkon dotazů
  • Ukázka implementace vlastní tabulkové a skalární funkce
7 Implementace a použití triggerů
  • Seznámení s DML triggery a jejich použitím
  • Porovnání AFTER a INSTEADOF DML triggerů a ukázky jejich vhodného použití
  • Ukázka implementace DDL triggerů
8 Implementace databázových objektů v managed code (.NET)
  • Představení možností a omezení integrace .NETu do Microsoft SQL Serveru
  • Vysvětlení principů implementace uložených procedur a funkcí v .NETu
  • Nasazení .NET kódu do databáze
9 Zabezpečení databáze
  • Vysvětlení klíčových principů bezpečnostního modelu Microsoft SQL Serveru
  • Zabezpečení přístupu k databázovým objektům
  • Práce s databázovými rolemi
  • Vysvětlení principu ownership chain
  • Ukázka klasifikace citlivých dat v databázi
  • Představení možností ochrany citlivých dat s pomocí šifrování
10 Monitoring výkonu databázových dotazů
  • Vysvětlení klíčových metrik, jak měřit a porovnávat výkon databázových dotazů
  • Ukázka sledování náročných dotazů spouštěných aplikací s pomocí Extended Events
  • Představení technologie Query Store na efektivní monitoring všech spouštěných dotazů v databázi
11 Analýza, návrh a strategie použití indexů
  • Vysvětlení, jak jsou uložena data na SQL Serveru, jaký je formát datové stránky, řádku a jaké typy datových stránek existují
  • Porovnání datových struktur halda (Heap) a clustered indexu a doporučení pro vhodné použití
  • Ukázka uložení dat na haldě, porovnání výhod a nevýhod
  • Vysvětlení struktury B+ stromu v clustered indexu, doporučení pro správnou volbu clustered klíče
  • Seznámení s non-clustered indexy, vysvětlení principu fungování a ukázka volby vhodných klíčů
  • Vysvětlení, proč se někdy navržené non-clustered indexy nepoužijí a jak zde pomůže covering index
  • Ukázka filtrovaného indexu a indexovaných computed columns
  • Seznámení s údržbou indexů
12 In-Memory OLTP a Columnstore indexy
  • Představení technologie In-memory OLTP a ukázka jejího vhodného použití
  • Seznámení s columnstore indexy, vysvětlení principů fungování a jejich vhodného použití
  • Nasazení clustered columnstore indexů v datových skladech
  • Možnosti využití non-clustered columnstore indexů v OLTP aplikacích
13 Zámky, transakce a izolační úrovně
  • Vysvětlení vlastností databázové transakce
  • Ukázka správného použití transakcí
  • Představení mechanizmů pro řízení souběžného přístupu
  • Seznámení s fungováním zámků v SQL Serveru a problémů z toho vyplývajících
  • Vysvětlení vhodného nastavení izolační úrovně a problémů souběžného zpracování, před kterými nás chrání
  • Použití izolační úrovně SNAPSHOT s využitím verzování řádků
Current offer
Training location
Course language

The prices are without VAT.