|
所在平台: Udemy |
课程主页: https://www.udemy.com/course/sql-server-para-programadores-desenvolvedores/
课程评论:没有评论
课程名称:SQL Server para programadores/desenvolvedores 课程概述:本课程专为程序员和开发者以及学生设计,旨在帮助您在使用 SQL Server 的过程中开发高效解决方案,处理大量数据。随着企业信息存储需求的不断增长,您需要掌握如何撰写高效的查询,以应对不断变化的市场需求和IT行业的挑战。课程涵盖了从基础到进阶的 SQL Server 知识,包括命令构建、最佳实践、概念理解等,帮助您不仅学会命令而且懂得其背后的原理。有一个特别的“零基础”环节,针对完全没有数据库经验的学员,帮助他们入门。 课程内容包括: 1. SQL Server 环境设置:在 Windows 10 和 Ubuntu Server 上的安装,Docker Desktop 的使用及 SQL Server Management Studio 的安装。 2. T-SQL 基础:了解 Microsoft 的 SQL 语言及其特性,查询处理逻辑及最佳实践。 3. 数据库操作:创建、修改和删除表格,如何进行有效的数据插入、更新和删除。 4. 查询处理:深入了解 SQL Server 中的 FROM 和 WHERE 子句及其工作原理,使用 JOINs 和子查询。 5. 数据分组与排序:掌握 GROUP BY 和 HAVING 的使用方法,以及聚合查询的窗口函数。 6. 选择与排序:学习 SELECT 和 ORDER BY 的用法,如何进行分页处理。 7. 集合操作:了解 UNION、INTERSECT 和 EXCEPT 的用法。 8. 高级功能:使用 SEQUENCE、OUTPUT 和 MERGE 简化数据操作。 9. 视图、函数与同义词:构建可重用查询及其管理。 10. 存储过程与触发器:学习如何使用存储过程批量处理数据,以及触发器在数据库中的作用。 11. 交易、错误处理与动态查询:掌握事务管理、错误处理及运行时创建查询的方法。 12. 索引优化:理解聚集索引与非聚集索引的区别及其影响。 13. 游标与临时表:学习如何逐行处理结果集及临时表的使用。 14. 数据转换与执行计划分析:掌握 PIVOT 和 UNPIVOT 的使用及如何解读执行计划,寻找查询优化机会。 15. 编程人员专题:预防 SQL Server 性能问题的方法,特别针对 Java 和 .NET Core 应用进行讲解。 16. 学员共同学习:探讨 CASE、COALESCE 和 NULLIF 等函数的使用,JSON 数据处理等。 通过本课程,您将全面提升使用 SQL Server 的能力,为您的职业发展奠定坚实基础。
Para você profissional programador/desenvolvedor ou estudante!Informação vale ouro e muitas empresas utilizam o SQL Server 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 SQL Server 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 SQL Server 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 SQL Server.Novidade: Adicionei uma seção Aula "Zero", direcionado para pessoas que nunca viram um banco de dados na vida e que precisam dessa ajudinha antes de botar pra quebrar!Itens abordados no curso:Setup - Instalação do SQL Server no Windows 10 como instância local - Instalação do SQL Server no Ubuntu Server LTS 18.04 - (Opcional) Instalação do SQL Server - Docker Desktop - Instalação do SQL Server Management Studio - nossa principal ferramenta utilizada neste curso - Criação de banco de dados de exemploFundamentos - T-SQL: a linguagem SQL proprietária da Microsoft - Processamento lógico: como conceitualmente funciona o processamento de queries pelo SQL Server - Terminologia e boas práticas: presente no curso todo, tanto os termos corretos quanto as dicas de boas práticasTabelas - 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 atentarDML - 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 exemploCláusula FROM - Como funciona a primeira fase de processamento do SQL Server - 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 optimizerCláusula WHERE - Como funciona a segunda fase de processamento do SQL Server - 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 WHEREGROUP BY e HAVING - GROUP BY: a terceira fase de processamento do SQL Server, para que serve e como usar agrupamentos - HAVING: a quarta fase de processamento do SQL Server, como podemos filtrar linhas já agrupadas - WINDOW FUNCTION: como utilizar todo o poder de processamento de agrupamentos para relatórios analíticosSELECT e ORDER BY - SELECT: a quinta fase de processamento do SQL Server, como usar ALIAS e CASE - ORDER BY: a sexta fase de processamento do SQL Server, temos mesmo que ordenar as linhas? Vejamos quando faz sentido - TOP e OFFSET-FETCH: a "sétima" fase de processamento do SQL Server, veremos como trabalhar com paginaçãoSet Operators - UNION, INTERSECT e EXCEPT - 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 queriesSEQUENCE, OUTPUT e 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 DELETE com apenas 1 query? Veremos como usando MERGEVIEWS, FUNCTIONS e 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 dadosPROCEDURES e 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 SQL Server após INSERT, UPDATE ou DELETE - TRIGGERS - INSTEAD OF: sabia que é possível fazer INSERT (por exemplo) em cima de uma VIEW? Vamos ver como com TRIGGERTransaçõ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 - CLUSTERED INDEXES: pra que servem, quais as diferenças entre uma HEAP e uma Balanced Tree e quais os impactos de usar ou um ou outro - NON CLUSTERED INDEXES: como esses índices auxiliares nos ajudam no processamento das nossas diversas queries e qual a diferença com a CLUSTERED INDEX - INDEXED VIEWS: sabia que também conseguimos criar índices em cima das VIEWS? Veremos como e quais as vantagensCURSOR, 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 XML e como transformar um XML em um "formato" de tabelaPIVOT, 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çãoPara programadores - Como prevenir problemas de performance do SQL Server quando você tem uma aplicação em Java usando Spring Data JPA e em.Net Core usando Entity FrameworkColaboraçã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 JSON e como transformar um JSON em um "formato" de tabela - CROSS APPLY e OUTER APPLY