Kurz je určen pro vývojáře, kteří se chtějí detailně seznámit s možnostmi programování databází v Microsoft SQL Serveru a to od vytvoření databáze, správného návrhu tabulek až po tvorbu velmi pokročilých objektů a indexů. U úvodu kurzu se [...]
  • GOC632
  • Duration 4 days
  • 40 ITK points
  • 5 terms
  • Praha (28 900 Kč)

    Brno (28 900 Kč)

    Bratislava (1 100 €)

  • Intermediate

Kurz je určen pro vývojáře, kteří se chtějí detailně seznámit s možnostmi programování databází v Microsoft SQL Serveru a to od vytvoření databáze, správného návrhu tabulek až po tvorbu velmi pokročilých objektů a indexů. U úvodu kurzu se naučíte navrhovat schéma databáze a následně vytvářet databázové tabulky, včetně vhodného vynucení integrity ukládaných dat. Dále se dozvíte, jak vytvářet databázové pohledy, uložené procedury, funkce a triggery. Stranou nezůstane ani úvod do monitoringu a optimalizace výkonu vaší databáze (pokud je ladění výkonu váš hlavní cíl, doporučujeme kurz GOC631). Získané znalosti si vyzkoušíte na řadě praktických úkolů a jsou uplatnitelné na všechny podporované verze SQL Serveru (2012-2019) včetně cloudové varianty 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.