JavaRush /Blog Java /Random-FR /Critique du livre « SQL. Un recueil de recettes » par Ant...

Critique du livre « SQL. Un recueil de recettes » par Anthony Molinaro

Publié dans le groupe Random-FR
Salut tout le monde. Des personnes déterminées qui souhaitent devenir développeurs Java se sont rassemblées ici. Et c'est logique : JavaRush a été créé pour cela. Pour devenir un développeur à part entière, vous devez connaître une certaine liste de sujets. J'ai décrit une liste de contrôle complète des connaissances requises pour un développeur Java dans cet article . Critique du livre « SQL.  Recueil de recettes” par Anthony Molinaro - 1Donc : l'un des sujets requis sur cette liste est la connaissance du langage SQL et la familiarité avec au moins une base de données relationnelle. La bonne nouvelle est que vous n’avez besoin que d’un seul livre pour apprendre SQL à un niveau suffisant pour un développeur Java ! Il existe de nombreuses options de livres adaptés à une première plongée dans SQL, mais aujourd'hui, j'aimerais me concentrer sur « SQL. Recueil de recettes » par Anthony Molinaro. Critique du livre « SQL.  Recueil de recettes” Anthony Molinaro - 2La particularité du livre est qu'en plus d'étudier SQL à un niveau de base, vous vous familiariserez avec plusieurs bases de données à la fois et verrez en quoi les requêtes les concernant diffèrent et quelles sont les caractéristiques d'une base de données particulière. Ce livre couvre les requêtes pour les bases de données suivantes :
  • DB2 ;
  • Base de données Oracle ;
  • PostgreSQL ;
  • Serveur SQL;
  • MySQL.

A qui s'adresse le livre ?

  • développeur débutant

Tout d'abord, ce livre sera utile à un développeur novice, par exemple en Java. Vous devrez gérer à un niveau de base diverses bases de données relationnelles, ce livre vous aidera donc à acquérir les connaissances nécessaires en SQL.

  • développeur expérimenté

Vous êtes probablement déjà familiarisé avec la création de requêtes SQL, mais ce livre vous surprendra agréablement et complétera vos connaissances. Ou, par exemple, vous passez à un projet avec une base de données relationnelle qui ne vous est pas familière. Ensuite, avec l'aide de ce livre, vous serez en mesure de faire des analogies entre les requêtes d'une base de données familière et une nouvelle.

  • développeur SQL débutant

Vous envisagez peut-être simplement de devenir développeur de bases de données. Alors ce livre est parfait pour vous ! Vous pourrez étudier les bases de SQL, abordées pour différentes bases de données, et choisir « votre » base de données, que vous étudierez plus en détail dans le futur.

De quoi parle ce livre

Ce livre couvre, chapitre par chapitre, les sujets de base de SQL, ainsi que divers problèmes SQL et leurs solutions. Par conséquent, il peut être utilisé comme référence : un problème est survenu, vous recherchez des moyens appropriés pour le résoudre, puis vous créez votre solution adaptée aux conditions actuelles. Les pages de ce livre contiennent plus de 150 recettes. Oui, exactement des recettes pour créer des requêtes SQL : c'est pourquoi le livre porte ce nom. Critique du livre « SQL.  Recueil de recettes” Anthony Molinaro - 3Que faire après avoir lu ce livre ?
  1. N'ayez pas peur d'expérimenter, car ce n'est que par essais et erreurs que vous pourrez acquérir une expérience aussi précieuse, alors pratiquez, pratiquez et pratiquez encore !
  2. Essaye-le. Ce que je veux dire, c'est qu'en parcourant ce livre, il vaut mieux essayer les exemples de requêtes donnés en parallèle, qui, grâce à cela, resteront bien en mémoire dans votre mémoire.
  3. La répétition est la mère de l'apprentissage. Par conséquent, il est conseillé d'introduire une note dans laquelle vous pouvez noter les points clés et les répéter périodiquement, afin que l'écriture de requêtes à l'avenir ne vous pose aucun problème.
  4. Vous devez comprendre que ce qui est nouveau ne signifie pas toujours mieux. Ce n'est pas parce que vous n'utilisez pas certaines des dernières fonctionnalités SQL (telles que les fonctions de fenêtre) que votre code est inefficace. Après tout, il existe de nombreux exemples dans lesquels les solutions SQL traditionnelles ne sont pas pires, et parfois même meilleures, qu'une nouvelle solution.
  5. N'ayez pas peur d'expérimenter. Soyez créatif avec votre travail ! Après tout, toutes les solutions n’ont pas encore été inventées : peut-être que, dans votre situation, une approche créative sera la meilleure.
Critique du livre « SQL.  Recueil de recettes” Anthony Molinaro - 4Parcourons maintenant un peu le contenu du livre :

1. Extraction des enregistrements

Ce chapitre examine les premières requêtes les plus simples. Dans les exemples, vous verrez :
  • comment la clause WHERE peut être utilisée pour sélectionner des lignes dans un jeu de résultats commun ;
  • comment attribuer des alias aux colonnes de résultats ;
  • comment utiliser une sous-requête pour accéder aux colonnes par alias ;
  • comment limiter le nombre renvoyé dans les lignes de résultats ;
  • comment renvoyer des chaînes aléatoires et détecter les valeurs NULL.
En règle générale, les exemples sont assez simples, mais en même temps certains peuvent surprendre même les développeurs chevronnés.

2. Tri des résultats de la requête

Ce chapitre traite du tri des résultats des requêtes. En fait, l' opérateur ORDER BY est utilisé pour cela . Vous verrez des exemples de complexité variable allant du simple classement d'une seule colonne au tri par sous-chaînes, en passant par le tri à l'aide de diverses conditions.

3. Travailler avec plusieurs tables

Cette partie du livre présente les moyens de combiner les données de plusieurs tables. Je ne mentirai pas si je dis que les jointures de tables sont l'un des piliers fondamentaux de SQL, et pour réussir avec SQL, vous devez acquérir ces connaissances et être capable de les utiliser. Vous verrez ici des exemples de jointures internes et externes, de produits cartésiens, d'opérations d'ensemble de base (soustraction, union, intersection) et comment les jointures peuvent affecter les fonctions d'agrégation.

4. Insérer, mettre à jour, supprimer

Dans cette section, vous apprendrez les requêtes SQL pour insérer, mettre à jour et supprimer des données. Des exemples plus intéressants sont également abordés : des opérations telles que l'insertion de lignes d'une table dans une autre ou l'utilisation de sous-requêtes associées lors des mises à jour. Vous comprendrez les conséquences d'avoir des valeurs NULL, découvrirez l'insertion multi-table, la commande MERGE, etc.

5. Demandes de métadonnées

Ce chapitre parle de la création de requêtes pour accéder aux métadonnées de la base de données que vous utilisez : il est utile de connaître les index, les contraintes et les tables de schéma. Les requêtes simples proposées ici permettent d'obtenir des informations sur le schéma lui-même. De plus, ce chapitre présente des exemples de « SQL dynamique », c'est-à-dire du SQL généré par SQL.

6. Travailler avec des chaînes

Ce chapitre présente les techniques pour travailler avec des chaînes. SQL n'a jamais été connu pour ses capacités d'analyse de chaînes, mais un peu de créativité combinée au large éventail de fonctions fournies par diverses bases de données peut obtenir un succès considérable dans ce domaine. En fait, c'est dans ce chapitre que le plaisir commence. Quelques exemples vous surprendront. Par exemple:
  • compter les instances d'un caractère dans une chaîne ;
  • convertir des listes et des chaînes délimitées en lignes de tableau ;
  • créer des listes délimitées à partir des lignes du tableau ;
  • séparer les données numériques et caractères d'une chaîne composée de caractères alphanumériques.

7. Travailler avec des chiffres

Cette partie du livre examinera les moyens de résoudre des problèmes standards liés aux nombres. Vous trouverez ici des exemples courants et découvrir comment les fonctions de fenêtre peuvent facilement gérer les tâches de calcul et d'agrégation. Tu vas apprendre:
  • calculer le montant actuel ;
  • trouver la moyenne, la médiane et le mode ;
  • calculer le centile ;
  • gérer les valeurs NULL lors de l'exécution de l'agrégation.

8-9. Arithmétique des dates

Dans ces deux chapitres, vous apprendrez à travailler avec les dates, car pour résoudre des problèmes quotidiens, il est important de pouvoir effectuer avec elles les opérations les plus simples et les plus courantes. Divers exemples incluent la recherche du nombre de jours ouvrables entre deux dates, le calcul de la différence entre deux dates dans différentes unités de temps, le retour de tous les jours de l'année, la recherche des années bissextiles, la recherche du premier et du dernier jour d'un mois, la création d'un calendrier, etc. . Après ces chapitres, il sera très difficile de vous faire peur avec n'importe quelle tâche liée aux dates (mais vous pouvez vous faire peur).

10. Travailler avec des plages de données*

Ce chapitre présente les méthodes de recherche de valeurs déjà présentes dans des plages de dates. Vous apprendrez à générer automatiquement des séquences de chaînes, à insérer des valeurs de plage numérique manquantes, à déterminer le début et la fin d'une plage de valeurs et à identifier des séquences de valeurs.

11. Recherche avancée*

Vous trouverez ici des fonctionnalités essentielles au travail quotidien avec des bases de données, mais qui posent parfois des problèmes. Les exemples de ce chapitre incluent la recherche de valeurs à l'aide de mouvements de chevalier, la division d'un ensemble de résultats en pages, le saut de lignes de tableau, la recherche de valeurs réciproques, etc.

12. Reporting et gestion de l'entrepôt de données**

Nous pouvons souvent avoir besoin de requêtes spéciales pour générer des rapports. Ce chapitre nous aidera à faire exactement cela : vous examinerez ici des exemples de conversion de lignes en colonnes et vice versa (rapports de références croisées), de création de groupes de données, de création d'histogrammes, de calcul de sous-sommes simples et complètes, d'agrégation d'une fenêtre glissante de lignes. et regrouper les lignes selon un intervalle de temps donné.

13. Requêtes hiérarchiques**

Ce chapitre nous parlera des possibilités de travailler avec des données hiérarchiques. Quel que soit le modèle de données, il faudra un jour le formater sous forme d'arborescence hiérarchique ou de relation parent->enfant. Par conséquent, dans ce chapitre, vous analyserez les problèmes et les solutions à cela. La création de jeux de résultats arborescents est difficile avec le SQL traditionnel. Ce didacticiel vous montre donc comment utiliser certaines fonctions spéciales extrêmement utiles. Dans les exemples, vous examinerez en détail la relation parent->enfant, en parcourant la hiérarchie du nœud racine aux nœuds feuilles et en accumulant la hiérarchie.

14. Des trucs

Et enfin, vous verrez toutes les fonctionnalités restantes qui ne rentrent dans aucun des chapitres précédents, mais en même temps elles n'en sont pas moins intéressantes et utiles. Ce chapitre diffère également des autres en ce qu'il propose des solutions uniquement pour des SGBD spécifiques. C'est le seul chapitre du livre où une seule base de données est abordée par recette. Cela a été fait pour montrer les capacités et les fonctionnalités de SGBD spécifiques (afin que vous puissiez mieux sentir la différence entre eux). Avantages du livre :
  1. Beaucoup d'exemples.
  2. Idéal pour la plongée « primaire ».
  3. Des exemples pour divers SGBD sont pris en compte.
  4. Il existe une bonne traduction.
Inconvénient : Les tâches/problèmes plus complexes, spécifiques et rares ne sont pas pris en compte.

Analogues de livres

  1. « Learning SQL » - Alan Bewley : également un livre pour une première plongée dans SQL avec prise en compte de divers SGBD, mais il met un accent particulier sur MySQL. L’inconvénient du livre est la « mastication » insuffisante de nouvelles informations.
  2. "SQL : A Language Learning Guide" - Chris Fiaily : Un livre qui couvre également les bases de diverses bases de données. Idéal pour les débutants, mais si vous êtes déjà familier avec SQL et avez besoin d'en apprendre davantage sur les subtilités, vous voudrez peut-être chercher ailleurs.
  3. « Head First - Learning SQL » - Lynn Bailey : un livre avec une très faible barrière à l'entrée, il transmettra de nombreux points fondamentaux de manière accessible et détaillée (peut-être même parfois trop simplement). Dans ses exemples, ce livre ne considère pas plusieurs bases de données, comme les analogues ci-dessus, mais une seule - MySQL.

Conclusion

Si vous êtes déterminé à devenir développeur Java, vous ne pouvez pas vous passer de l'apprentissage de SQL. Mais heureusement, nous n’avons pas besoin de le connaître au même niveau que les développeurs de bases de données, et la quantité de connaissances requises peut en principe être couverte par un seul livre sur SQL. Le livre examiné aujourd'hui est « SQL. Une collection de recettes», ou l'un des analogues présentés, peut vous convenir parfaitement. Eh bien, le choix de ce qu'il faut lire (ou ne pas lire) exactement vous appartient)) PS Pour mettre la main sur la pratique de l'écriture SQL pour résoudre divers problèmes, vous pouvez utiliser ce site . PSS Et ici, vous pourrez vous familiariser avec les questions courantes sur les bases de données, de préférence après avoir lu le livre.
Commentaires
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION