JavaRush /Blogue Java /Random-PT /Resenha do livro “SQL. Uma coleção de receitas” de Anthon...

Resenha do livro “SQL. Uma coleção de receitas” de Anthony Molinaro

Publicado no grupo Random-PT
Olá a todos. Pessoas decididas que desejam se tornar desenvolvedores Java se reuniram aqui. E isso é lógico: o JavaRush foi criado para isso. Para se tornar um desenvolvedor completo, você precisa conhecer uma determinada lista de tópicos. Descrevi uma lista de verificação completa de conhecimentos necessários para um desenvolvedor Java neste artigo . Resenha do livro “SQL.  Coleção de receitas” de Anthony Molinaro - 1Então: um dos tópicos obrigatórios desta lista é conhecimento da linguagem SQL e familiaridade com pelo menos um banco de dados relacional. A boa notícia é que você só precisa de um livro para aprender SQL em um nível suficiente para um desenvolvedor Java! Existem muitas opções de livros adequados para um mergulho inicial em SQL, mas hoje gostaria de focar em “SQL. Coleção de receitas” de Anthony Molinaro. Resenha do livro “SQL.  Coleção de receitas” Anthony Molinaro - 2A peculiaridade do livro é que além de estudar SQL em um nível básico, você conhecerá vários bancos de dados ao mesmo tempo e verá como as consultas para eles diferem e quais são as características de um determinado banco de dados. Este livro cobre consultas para os seguintes bancos de dados:
  • DB2;
  • Banco de dados Oracle;
  • PostgreSQL;
  • Servidor SQL;
  • MySQL.

Para quem é o livro?

  • desenvolvedor iniciante

Em primeiro lugar, este livro será útil para um desenvolvedor iniciante, por exemplo, em Java. Você terá que lidar em nível básico com vários bancos de dados relacionais, portanto, este livro o ajudará a obter o conhecimento necessário de SQL.

  • desenvolvedor experiente

Você provavelmente já está familiarizado com a construção de consultas SQL, mas ainda assim este livro irá surpreendê-lo agradavelmente e complementar seu conhecimento. Ou, por exemplo, você muda para um projeto com um banco de dados relacional que não conhece. Então, com a ajuda deste livro, você será capaz de fazer analogias entre consultas de um banco de dados familiar e um novo.

  • desenvolvedor SQL iniciante

Você pode estar pensando em se tornar um desenvolvedor de banco de dados. Então este livro é perfeito para você! Você poderá estudar os fundamentos do SQL, discutidos para vários bancos de dados, e escolher “seu” banco de dados, que estudará com mais detalhes no futuro.

Sobre o que é esse livro

Este livro cobre, capítulo por capítulo, tópicos básicos de SQL, bem como vários problemas de SQL e suas soluções. Portanto, pode ser usado como referência: surgiu um problema, você está procurando formas adequadas de resolvê-lo e então está criando sua solução para se adequar às condições atuais. As páginas deste livro contêm mais de 150 receitas. Sim, exatamente receitas para construir consultas SQL: é por isso que o livro tem esse nome. Resenha do livro “SQL.  Coleção de receitas” Anthony Molinaro - 3O que fazer depois de ler este livro?
  1. Não tenha medo de experimentar, porque somente por tentativa e erro você poderá obter uma experiência tão valiosa, então pratique, pratique e pratique novamente!
  2. Teste-o. O que quero dizer é que ao ler este livro é melhor experimentar os exemplos de consultas dados em paralelo, que, graças a isso, ficarão bem lembrados na sua memória.
  3. A repetição é a mãe do aprendizado. Portanto, é aconselhável introduzir uma nota na qual você possa anotar os pontos-chave e repeti-los periodicamente, para que escrever consultas no futuro não lhe cause problemas.
  4. Você precisa entender que novo nem sempre significa melhor. Só porque você não está usando alguns dos recursos SQL mais recentes (como funções de janela) não significa que seu código seja ineficaz. Afinal, existem muitos exemplos em que as soluções SQL tradicionais não são piores, e às vezes até melhores, do que uma nova solução.
  5. Não tenha medo de experimentar. Seja criativo com seu trabalho! Afinal, todas as soluções ainda não foram inventadas: talvez na sua situação uma abordagem criativa seja a melhor.
Resenha do livro “SQL.  Coleção de receitas” Anthony Molinaro - 4Agora vamos examinar um pouco o conteúdo do livro:

1. Extraindo registros

Este capítulo examina as primeiras e mais simples consultas. Nos exemplos você verá:
  • como a cláusula WHERE pode ser usada para selecionar linhas em um conjunto de resultados comum;
  • como atribuir aliases às colunas de resultados;
  • como você pode usar uma subconsulta para acessar colunas por aliases;
  • como limitar o número retornado nas linhas de resultados;
  • como retornar strings aleatórias e detectar valores NULL.
Via de regra, os exemplos são bastante simples, mas ao mesmo tempo existem alguns que podem surpreender até mesmo desenvolvedores experientes.

2. Classificando os resultados da consulta

Este capítulo discute a classificação dos resultados da consulta. Na verdade, o operador ORDER BY é usado para isso . Você verá exemplos de complexidade variada que vão desde a simples ordenação de uma única coluna até a classificação por substrings e a classificação usando vários condicionais.

3. Trabalhando com múltiplas tabelas

Esta parte do livro apresenta maneiras de combinar dados de múltiplas tabelas. Não estarei mentindo se disser que table joins é um dos pilares fundamentais do SQL, e para ter sucesso com SQL, você precisa adquirir esse conhecimento e saber utilizá-lo. Aqui você verá exemplos de junções internas e externas, produtos cartesianos, operações básicas de conjunto (subtração, união, interseção) e como as junções podem afetar funções agregadas.

4. Inserir, atualizar, excluir

Nesta seção, você aprenderá consultas SQL para inserir, atualizar e excluir dados. Exemplos mais interessantes também são discutidos - operações como inserir linhas de uma tabela em outra ou usar subconsultas relacionadas durante atualizações. Você entenderá as consequências de ter valores NULL, aprenderá sobre inserção de múltiplas tabelas, o comando MERGE, etc.

5. Solicitações de metadados

Este capítulo fala sobre a construção de consultas para acessar os metadados do banco de dados que você está usando: é útil conhecer índices, restrições e tabelas de esquema. As consultas simples aqui propostas permitem obter informações sobre o próprio esquema. Além disso, este capítulo mostra exemplos de "SQL dinâmico", ou seja, SQL gerado por SQL.

6. Trabalhando com cordas

Este capítulo apresenta técnicas para trabalhar com strings. O SQL nunca foi conhecido por seus recursos de análise de strings, mas um pouco de criatividade combinada com a ampla gama de funções fornecidas por vários bancos de dados pode alcançar um sucesso considerável nesse assunto. Na verdade, este capítulo é onde a diversão começa. Alguns exemplos irão surpreendê-lo. Por exemplo:
  • contando instâncias de um caractere em uma string;
  • converter listas e strings delimitadas em linhas de tabela;
  • criação de listas delimitadas a partir de linhas da tabela;
  • separando os dados numéricos e de caracteres de uma string que consiste em caracteres alfanuméricos.

7. Trabalhando com números

Esta parte do livro examinará maneiras de resolver problemas padrão com números. Aqui você pode encontrar exemplos comuns e aprender como as funções de janela podem lidar facilmente com tarefas de cálculo e agregação. Você vai aprender:
  • calcular o valor atual;
  • encontre a média, mediana e moda;
  • calcular percentil;
  • lidar com valores NULL ao realizar a agregação.

8-9. Aritmética de data

Nestes dois capítulos você aprenderá a trabalhar com datas, pois na hora de resolver problemas do cotidiano é importante poder realizar com elas as operações mais simples e comuns. Vários exemplos incluem encontrar o número de dias úteis entre duas datas, calcular a diferença entre duas datas em unidades de tempo diferentes, retornar todos os dias do ano, encontrar anos bissextos, encontrar o primeiro e o último dia de um mês, criar um calendário, etc. . Depois desses capítulos, será muito difícil te assustar com alguma tarefa vinculada a datas (mas você pode te assustar).

10. Trabalhando com intervalos de dados*

Este capítulo apresenta métodos para pesquisar valores já em intervalos de datas. Você aprenderá como gerar sequências de strings automaticamente, inserir valores de intervalo numérico ausentes, determinar o início e o fim de um intervalo de valores e identificar sequências de valores.

11. Pesquisa avançada*

Aqui você encontrará recursos vitais para o trabalho diário com bancos de dados, mas que às vezes causam dificuldades. Os exemplos neste capítulo incluem a pesquisa de valores usando movimentos de cavaleiro, a divisão de um conjunto de resultados em páginas, a pular linhas da tabela, a pesquisa de valores recíprocos e assim por diante.

12. Relatórios e gerenciamento de data warehouse**

Muitas vezes podemos precisar de consultas especiais para gerar relatórios. Este capítulo nos ajudará a fazer exatamente isso: aqui você verá exemplos de conversão de linhas em colunas e vice-versa (relatórios de referência cruzada), criação de grupos de dados, criação de histogramas, cálculo de subsomas simples e completas, agregação de uma janela deslizante de linhas e agrupando linhas por um determinado intervalo de tempo.

13. Consultas hierárquicas**

Este capítulo nos falará sobre as possibilidades de trabalhar com dados hierárquicos. Independentemente do modelo de dados, um dia será necessário formatá-lo como uma árvore hierárquica ou relacionamento pai->filho. Portanto, neste capítulo você analisará os problemas e soluções para isso. Criar conjuntos de resultados estruturados em árvore é difícil usando SQL tradicional, portanto, este tutorial mostra como usar algumas funções especiais extremamente úteis. Nos exemplos, você examinará detalhadamente o relacionamento pai->filho, percorrendo a hierarquia do nó raiz até os nós folha e acumulando a hierarquia.

14. Coisas

E, por fim, você verá todos os recursos restantes que não cabem em nenhum dos capítulos anteriores, mas ao mesmo tempo não são menos interessantes e úteis. Este capítulo também difere dos demais por oferecer soluções apenas para SGBDs específicos. Este é o único capítulo do livro onde apenas um banco de dados é discutido por receita. Isso foi feito para mostrar as capacidades e funcionalidades de SGBDs específicos (para que você possa sentir melhor a diferença entre eles). Prós do livro:
  1. Muitos exemplos.
  2. Ótimo para mergulho “primário”.
  3. Exemplos para vários SGBDs são considerados.
  4. Há uma boa tradução.
Desvantagem: Tarefas/problemas mais complexos, específicos e raros não são considerados.

Análogos de livros

  1. “Aprendendo SQL” - Alan Bewley: também um livro para um mergulho inicial em SQL com consideração de vários SGBDs, mas dá ênfase especial ao MySQL. A desvantagem do livro é a “mastigação” insuficiente de novas informações.
  2. "SQL: A Language Learning Guide" - Chris Fiaily: Um livro que também cobre o básico de vários bancos de dados. Ótimo para iniciantes, mas se você já estiver familiarizado com SQL e precisar aprender mais detalhes, procure outro lugar.
  3. “Head First - Learning SQL” - Lynn Bailey: um livro com uma barreira de entrada muito baixa, que transmitirá muitos pontos fundamentais de uma forma acessível e detalhada (talvez às vezes até de forma muito simples). Em seus exemplos, este livro considera não vários bancos de dados, como os análogos acima, mas um - MySQL.

Resultado final

Se você está determinado a se tornar um desenvolvedor Java, não poderá prescindir do aprendizado de SQL. Mas, felizmente, não precisamos conhecê-lo no mesmo nível que os desenvolvedores de banco de dados, e a quantidade de conhecimento necessária, em princípio, pode ser abordada com apenas um livro sobre SQL. O livro resenhado hoje é “SQL. Uma coleção de receitas”, ou um dos análogos apresentados, pode servir perfeitamente para você. Bem, a escolha do que exatamente ler (ou não ler) é sua)) PS Para praticar a escrita de SQL para resolver vários problemas, você pode usar este site . PSS E aqui você poderá conhecer dúvidas comuns sobre bancos de dados, de preferência após a leitura do livro.
Comentários
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION