SQL Server – tvorba aplikací (implementace databáze)
Úvod
- Základní informace o client-server databázích
- Architektura SQL serveru
- Interfaces (ADO/OLE DB, RDO/ODBC, DMO, ADO.NET, Entity Framework)
- Dodávaný software, verze serveru
- Bezpečnost (security); integrace s Windows serverem
- Databáze SQL serveru, databázové objekty
Jazyk Transact - SQL
- Základní informace o jazycích typu SQL
- Nástroje pro zadávání příkazů T-SQL: sqlcmd, Management Studio
- Identifikátory objektů, proměnné (lokální, globální)
- Operátory, výrazy
- Příkazy řízení programu: begin/end, if/else, while
- Funkce jazyka T-SQL
- Dynamické vytváření a provádění příkazů (Execute)
- Batch a script
- Transakce
- Způsob provádění dotazů (caching)
Příkazy typu DDL (tvorba databázových objektů)
- Ukládání dat v SQL serveru
- Vytváření databáze (příkaz CREATE DATABASE)
- Modifikace databáze (ALTER DATABASE)
- Zmenšení velikosti databáze (DBCC SHRINKDATABASE)
- Rušení databáze (DROP DATABASE)
- Tvorba Filegroups
- Datové typy (definované v SQL Serveru)
- Tvorba a rušení uživatelských datových typů
- Vytváření tabulek (CREATE TABLE)
- Rušení tabulek (DROP TABLE)
- Úprava tabulek (ALTER TABLE)
- Identifikace recordu (IDENTITY, GUID, NEWID)
- Generování scriptů
Zajištění integrity dat
- Deklarativní a procedurální integrita
- Constraints: DEFAULT, CHECK, UNIQUE
- Constraints PRIMARY KEY a FOREIGN KEY
- Zablokování constraints
Indexy
- Základní informace o indexech
- Clustered a Nonclustered index
- Přístupy k datům s použitím obou typů idexů
- Vytváření a rušení indexů (CREATE INDEX, DROP INDEX)
- Unique index, Composite index
- Nastavení vlastností indexů (FILLFACTOR, PAD_INDEX)
- Informace o indexech
- Statistické informace
- Optimalizace použití indexů
- Tuning Advisor
- Znovuvytvoření indexů
Příkazy typu DML - základní výběrové dotazy
- Příkaz SELECT
- Výběr sloupců, řádek (klausule WHERE), specifikace tabulky (klausule FROM)
- Práce s řetězcovými daty (operátor LIKE)
- Kombinace podmínek - logické operátory
- Intervaly (BETWEEN) a seznamy hodnot (IN); nedefinované hodnoty (NULL)
- Třídění dat (klausule SORT), eliminace duplicitních hodnot (DISTINCT)
- Přejmenování sloupců (AS), konstantní hodnoty (literály)
Příkazy typu DML - základní modifikační dotazy
- Vkládání řádek (INSERT)
- Vymazávání řádek (DELETE, TRUNCATE TABLE)
- Aktualizace hodnot (UPDATE)
Příkazy typu DML - vícetabulkové výběrové dotazy
- Kombinace tabulek - JOIN
- Cross join, inner join, left/right outer join
- Starší formát zápisu joinů
- Join tabulky se sebou samou (selfjoin)
- Spojování výstupů z více tabulek (UNION)
- Vytváření nové tabulky z výsledku dotazu (SELECT INTO)
Příkazy typu DML - poddotazy
- Vložené dotazy, vracející jednu hodnotu
- Použití poddotazu jako seznamu hodot (IN)
- Použití poddotazu jako tabulky (FROM)
- Závislé (korelované) poddotazy
- Operátory EXISTS a NOT EXISTS
- Použití poddotazu pro vkládání dat (INSERT)
- Použití poddotazu pro výmaz dat (DELETE)
- Použití poddotazu pro aktualizaci dat (UPDATE)
Příkazy typu DML - sumarizační dotazy
- Agregační funkce (SUM, COUNT, ...)
- Klausule GROUP BY
- Klausule HAVING
- Operátory ROLLUP, CUBE, funkce GROUPING
- Klausule COMPUTE a COMPUTE BY
Transakce a zamykání (locks)
- Princip vykonávání transakce, transakční lo
- Checkpoint, recovery
- BEGIN, COMMIT a ROLLBACK TRANSACTION
- Paralelní zpracování transakcí, zamykání zdrojů
- Typy zámků
- Transaction Isolation Level
- Deadlocks
- Distribuované transakce
Views
- Co je View
- Definice View (CREATE VIEW)
- Použití View
- View a vlastnictví (ownerschip) databázových objektů
- Modifikace dat prostřednictvím View
Stored procedures a functions
- Co je Stored Procedure a Function
- Definice Stored Procedure (CREATE PROC) a funkce (CREATE FUNCTION)
- Typy funkcí, jejich vytváření a práce s nimi
- Provádění Stored Procedure (EXEC)
- Úpravy a rušení (ALTER, DROP)
- Stored Procedure s parametry (vstupními, výstupními)
- Extended Stored Procedures
Triggers
- Co je Trigger
- Definice Triggeru (CREATE TRIGGER)
- Úpravy a rušení (ALTER, DROP)
- Použití Triggerů (INSERT, UPDATE, DELETE trigger)
- Kaskádní vyvolávání triggerů (nested triggers)
- Recursivní triggery
- Zajištění komplexní integrity a kaskádních úprav dat pomocí triggerů
- Zajištění logiky aplikace (bussines rules) pomocí triggerů
Ošetřování chyb
- Klasické ošetřování chyb - problémy
- Ošetřování pomocí try - catch
Práce s XML
- Základní informace o XML
- Výstup ve formátu XML - klauzule FOR XML
- Vstup XML dat - OPEN XML
- Datový typ XML, schémata
- Dotazovací jazyk pro XML - XQuery
Integrace .NET Frameworku do SQL Servera
- Základní informace o .NET Frameworku
- Stručný přehled použití jazyků .NET k vytváření SP, funkcí, triggerů a datových typů