Rating 4.45 out of 5 (67 ratings in Udemy)
What you'll learn
- Entenderemos o T-SQL de forma detalhada com viés de desenvolvimento de queries com o uso do SQL Server
Description
Para você profissional programador/desenvolvedor ou estudante!
Informação vale ouro e muitas empresas utilizam o SQLServer para armazenar informações de seus negócios, mas você como desenvolvedor/programador está preparado para desenvolver soluções eficientes tratando alto volume de informações?
Sabe se está realmente …
Rating 4.45 out of 5 (67 ratings in Udemy)
What you'll learn
- Entenderemos o T-SQL de forma detalhada com viés de desenvolvimento de queries com o uso do SQL Server
Description
Para você profissional programador/desenvolvedor ou estudante!
Informação vale ouro e muitas empresas utilizam o SQLServer para armazenar informações de seus negócios, mas você como desenvolvedor/programador está preparado para desenvolver soluções eficientes tratando alto volume de informações?
Sabe se está realmente preparado para os desafios e o mercado de trabalho que exige cada vez mais de nós, profissionais de TI?
Aqui neste curso de SQLServer veremos o que é mais importante para você como desenvolvedor de sistemas: como é que eu faço uma query que atenda ao meu negócio e não cause incidentes à medida que o negócio cresce e o volume de informações armazenadas no SQLServer ultrapasse milhões, até bilhões de linhas por dia.
Você aprenderá aqui não só como montar os comandos, mas como fazer de forma eficiente, utilizando as melhores práticas e principalmente entendendo o que você está fazendo e sabendo onde poderá chegar.
O conteúdo aqui apresentado engloba não só os conceitos, melhores práticas, várias formas de se atingir o mesmo objetivo, mas também conta com os itens que vi uso mais comum nos mais de 15 anos de experiência de mercado com uso de SQLServer.
Novidade: Na seção Setup, adicionei mais uma aula mostrando como instalar o SQLServer 2019 no Docker e na seção Colaboração dos Alunos, adicionei mais uma aula sobre CROSSAPPLY e OUTERAPPLY!
Itens abordados no curso:
Setup
- Instalação do SQLServer no Windows 10 como instância local
- Instalação do SQLServer no Ubuntu Server LTS18.04
- (Opcional) Instalação do SQL Server - Docker Desktop
- Instalação do SQLServer Management Studio - nossa principal ferramenta utilizada neste curso
- Criação de banco de dados de exemplo
Fundamentos
- T-SQL: a linguagem SQLproprietária da Microsoft
- Processamento lógico: como conceitualmente funciona o processamento de queries pelo SQLServer
- Terminologia e boas práticas: presente no curso todo, tanto os termos corretos quanto as dicas de boas práticas
Tabelas
- CREATE:como criar tabelas e quais os cuidados na definição das colunas e constraints
- ALTER: como alterar tabelas e quais os cuidados devemos nos atentar
- DROP: como deletar tabelas e quais os cuidados devemos nos atentar
DML
- INSERT: as várias maneiras de inserir linhas nas tabelas
- UPDATE: as várias maneiras de atualizar valores de colunas nas linhas das tabelas
- DELETE: as várias maneiras de excluir linhas das tabelas
- Criação de banco de dados de exemplo
Cláusula FROM
- Como funciona a primeira fase de processamento do SQLServer
- JOINs: as várias maneiras de relacionar tabelas
- Table HINT: o que é e quais os cuidados ao forçar o plano ao sobrepor a estratégia do query optimizer
Cláusula WHERE
- Como funciona a segunda fase de processamento do SQLServer
- Conversões de valores: várias maneiras para converter valores e os cuidados que devemos ter para não afetar performance
- Sub query: como usar sub query como filtro de linhas e como isso impacta o processamento da query
- Conteúdo adicional: outras maneiras de efetuar conversão de valores e operadores especiais para a cláusula WHERE
GROUPBYe HAVING
- GROUPBY: a terceira fase de processamento do SQLServer, para que serve e como usar agrupamentos
- HAVING: a quarta fase de processamento do SQLServer, como podemos filtrar linhas já agrupadas
- WINDOW FUNCTION: como utilizar todo o poder de processamento de agrupamentos para relatórios analíticos
SELECT e ORDERBY
- SELECT: a quinta fase de processamento do SQLServer, como usar ALIAS e CASE
- ORDERBY: a sexta fase de processamento do SQL Server, temos mesmo que ordenar as linhas?Vejamos quando faz sentido
- TOPe OFFSET-FETCH: a "sétima" fase de processamento do SQLServer, veremos como trabalhar com paginação
Set Operators - UNION, INTERSECT eEXCEPT
- UNION: como unir várias queries em um único resultset
- INTERSECT: veremos como unir queries só que trazendo apenas o que for em comum entre as queries
- EXCEPT: veremos como unir queries só que trazendo apenas as diferenças entre as queries
SEQUENCE, OUTPUTe MERGE
- SEQUENCE: veremos como usar este objeto "poderoso" como alternativa ao auto-incremento
- OUTPUT: podemos trabalhar com o resultado de queries (output) servindo de insumo (input) para outros usos que não somente devolver o resultset ao cliente
- MERGE: sabia que é possível à partir de uma origem e destino fazer INSERT, UPDATE e DELETEcom apenas 1 query? Veremos como usando MERGE
VIEWS,FUNCTIONSe SYNONYMS
- VIEWS: como construir consultas reutilizáveis e as formas de obscurecer a consulta original
- FUNCTIONS: como construir funções em que podemos passar parâmetros para termos os resultados de forma reutilizável
- SYNONYMS: como os sinônimos nos ajudam a facilitar o uso de objetos no banco de dados
PROCEDURESe TRIGGERS
- PROCEDURES: precisa efetuar um processamento batch? Vamos ver como as procedures nos ajudam quando precisamos executar várias etapas
- TRIGGERS - AFTER: vamos entender como funcionam os gatilhos no SQLServer após INSERT, UPDATEou DELETE
- TRIGGERS- INSTEADOF:sabia que é possível fazer INSERT(por exemplo) em cima de uma VIEW?Vamos ver como com TRIGGER
Transações, tratamentos de erros e queries dinâmicas
- Transações: como funciona o escopo transacional de uma seção e quais os benefícios de controlar as nossas transações
- Tratamentos de erros: pra quê estourar um erro na cara do cliente se conseguimos tratar eventuais erros?
- Queries dinâmicas: às vezes precisamos criar as queries com base em validações em runtime, veremos como isso é possível e quais os impactos
Índices
- CLUSTEREDINDEXES: pra que servem, quais as diferenças entre uma HEAPe uma BalancedTree e quais os impactos de usar ou um ou outro
- NONCLUSTEREDINDEXES: como esses índices auxiliares nos ajudam no processamento das nossas diversas queries e qual a diferença com a CLUSTEREDINDEX
- INDEXEDVIEWS:sabia que também conseguimos criar índices em cima das VIEWS?Veremos como e quais as vantagens
CURSOR, tabelas temporárias e XML
- CURSOR: precisa iterar linha-a-linha em cima de uma resultset?Então utilize CURSOR!
- Tabelas temporárias: como usar e qual a diferença entre uma temporária física versus em memória
- XML:como transformar um resultset em um XMLe como transformar um XMLem um "formato" de tabela
PIVOT, UNPIVOT e plano de execução
- PIVOT: veremos quando e como transformar uma visão em linhas em uma visão em colunas
- UNPIVOT: veremos quando e como transformar uma visão em colunas em uma visão em linhas
- Plano de execução: vamos aprender detalhadamente como "ler" um plano de execução e como ver oportunidades de melhoria nas queries à partir da análise de um plano de execução
Para programadores
- Como prevenir problemas de performance do SQLServer quando você tem uma aplicação em Java usando Spring DataJPA e em .Net Core usando Entity Framework
Colaboração dos alunos
- CASE, COALSCE e NULLIF: veremos mais no detalhe como utilizar estas 3 funções T-SQL
- JSON: como transformar um resultset em um JSONe como transformar um JSONem um "formato" de tabela
- CROSS APPLY e OUTER APPLY
Paid
Self paced
All Levels
Portuguese (Brazil)
269
Rating 4.45 out of 5 (67 ratings in Udemy)
Go to the Course