SQL (Structured Query Languages) est un langage qui est utilisé pour communiquer avec des bases de données relationnelles. Il permet entre autres de lire, créer, modifier ou bien supprimer des données et donne la possibilité de gérer les utilisateurs d'une base ainsi que leurs droits.
Ayant travaillé uniquement avec des bases de données relationnelles depuis mes débuts en tant que développeur, SQL est un langage que j'ai utilisé bien plus régulièrement que les autres. Sachant également que la majorité des applications que j'ai développées fonctionnaient avec l'une de ces bases, j'ai eu l'occasion de manipuler le langage avec différents systèmes de gestion de bases de données relationnelles tels que SQLite, PostgreSQL, MySQL ou encore SQL Server.
Un bon exemple de projet qui m'a demandé l'utilisation de SQL est le projet de Doctors' Papers. Il s'agit d'une application web permettant à des patients de suivre leurs démarches pré et post-opératoires. L'objectif était d'avoir une sorte de « back-office » permettant de simplifier l'accompagnement des patients pour les médecins.
La particularité de cette application est que la base de données permettant de la faire fonctionner était conséquente en nombre de tables. L'utilisation du langage SQL a donc été l'un des points centraux pour aboutir à la finalisation et à la mise en production de cette application web tout en répondant à la plupart des besoins spécifiés.
SQL est aujourd'hui le langage de requête le plus connu et le plus utilisé dans le monde. De plus, un grand nombre d'applications que ce soit du web, du mobile ou encore des Microservices, utilisent des bases de données relationnelles et donc en général le langage SQL. C'est pourquoi il apparaît indispensable aux développeurs de connaître SQL et ses fondamentaux car quoi qu'il arrive, ils devront faire face à cette technologie un jour ou l'autre.
En plus d'être supporté par la plupart des systèmes de gestion de bases de données sur le marché, il est très simple d'utilisation et il peut s'apprendre très rapidement, même pour un débutant dans le développement. Enfin, la plupart des langages back-end intègrent nativement des connecteurs tout faits pour utiliser SQL dans les meilleures conditions.
Concernant ma vitesse d'acquisition, j'ai rapidement compris le fonctionnement des bases de données relationnelles et je situe mon niveau de compétence comme étant performant. Au niveau de ma marge de progression, j'ai envie d'apprendre et pratiquer plus avec des bases de données non relationnelles. À l'heure actuelle, nous n'utilisons uniquement des bases de données relationnelles à INFOMIL (mon lieu de travail) et donc je ne suis pas impacté par mon manque d'expérience dans les bases non relationnelles.
Toutefois, j'aimerais en apprendre d'avantages sur leurs inconvénients et leurs avantages. C'est dans cette démarche que je souhaite m'autoformer sur mon temps personnel et profiter de formation à mon travail si l'occasion se présente.
De mon point de vue, SQL fut le langage qu'il ne fallait pas mettre de côté tant il est important. Le prenant en main très souvent, je me sens très à l'aise lorsque je dois l'utiliser.
De plus, le langage m'a été utile dans chacun des projets que j'ai réalisés et encore aujourd'hui, il me permet facilement et intuitivement de gérer les différentes interactions entre les applications que je développe et les bases de données que je manipule.