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 . Donc : 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. La 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 :
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.
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.
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.
- 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. Que faire après avoir lu ce livre ?- 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 !
- 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.
- 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.
- 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.
- 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.
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.
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 :- Beaucoup d'exemples.
- Idéal pour la plongée « primaire ».
- Des exemples pour divers SGBD sont pris en compte.
- Il existe une bonne traduction.
Analogues de livres
- « 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.
- "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.
- « 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.
GO TO FULL VERSION