

Présentation du langage
Le SQL (Structured Query Language) est un langage permettant de gérer et exploiter des bases de données relationnelles. Le langage SQL a rapidement imposé différents standards pour tout ce qui est manipulation de données grâce à sa syntaxe accessible et une grande puissance d’expression. Initialement élaboré pour interroger et modifier des ensembles de données, le SQL a su s’adapter aux différentes évolutions technologiques des environnements professionnels. Par exemple, lors de projets comme EasyJob, j’ai mis en œuvre une structuration rigoureuse des schémas de données en créant des tables optimisées, des index efficaces et en élaborant des requêtes complexes intégrant des jointures multiples et des agrégations poussées, des techniques validées par des tests de performance précis et une documentation détaillée qui atteste de ma maîtrise technique du SQL.
Le SQL est maintenant utilisé non seulement dans des contextes industriels en entreprise mais également pour des applications plus personnelles. La compatibilité du SQL grâce à différents systèmes de gestion de base de données comme MySQL, PostgreSQL, Oracle ou encore SQL Server, permet au SQL de créer des schémas de base de données fiables ou encore également de faciliter l’exécution de requêtes de plus en plus complexes, incluant des jointures multiples, des agrégations poussées ou encore des sous-requêtes permettant ainsi une manipulation plus précise et performante des informations stockées.
L’utilisation du SQL étant de plus en plus utilisé combinée à sa puissance et sa flexibilité en fait un outil incontournable et indispensable pour la mise en place de projets ou solutions simples que ce soit pour la gestion de base de données simples ou de grande envergure.
Mon expérience vécue
Lors de la réalisation de mes différents projets lors de ma formation au sein de l’ESIEA, j’ai pu amélioré grandement ma maîtrise du langage SQL en réalisant au début des requêtes simples pour extraire, insérer et modifier de simples données, j’ai été rapidement confronté à différentes problématiques techniques comme la conception de schémas relationnels devant être toujours plus optimisés ou encore l’indexation des tables permettant d’améliorer leurs performances ou encore d’optimiser les requêtes pour des environnements ayant une forte charge de données dans de grosses base de données. Dans ce cadre, j'ai appliqué des techniques avancées telles que la normalisation poussée, l’optimisation d’index et la mise en place de mécanismes de sauvegarde et de récupération, prouvant ainsi mon expertise à gérer des environnements à forte charge, comme cela a été démontré lors du projet EasyJob.
Par exemple, lors du développement du projet EasyJob, J’ai pu réaliser une base de données MySQL. J’ai dû mettre en place une architecture relationnelle de la base de données pouvant gérer un grand nombres de requêtes et d’informations en assurant une communication fluide entre l’api créée en Java Enterprise (Java EE), mais aussi je devais faire en sorte de rendre fluide également les données des utilisateurs. Le projet EasyJob m’a permis d’être confronté à différents défis techniques, que ce soit de la normalisation des données à la mise en place de mécanismes de sauvegarde et de récupération ou encore l’optimisation des requêtes pour garantir une réactivité optimale, même lors d’un pic d’activité.
Pour finir avec le recul, je conseillerais à un ou une débutant(e) en SQL de toujours ce documenter et de documenter ses schémas et de tester les performances dès les premières requêtes.
Mon niveau de compétence
Aujourd’hui, mon niveau en SQL s'est beaucoup amélioré. Je me sens beaucoup plus à l’aise avec l'ensemble des aspects du SQL. Je maîtrise la création et la gestion de tables, la définition de relations complexes, ainsi que l’optimisation de requêtes pour assurer des performances maximales. Je suis maintenant également capable de mettre en place différents mécanismes permettant de garantir l’intégrité des données dans différents environnements critiques. Ma formation continue, incluant des cours spécialisés en optimisation et en sécurité des bases de données, ainsi que mon expérience concrète sur des projets structurants comme EasyJob, confirment que je maîtrise parfaitement la création, la gestion et l'optimisation de systèmes de bases de données complexes, une compétence validée par des tests de charge et de performance rigoureux.
Aujourd'hui, je continue à améliorer mes connaissances en suivant les différentes innovations proposées par différents systèmes de gestion de données comme le GraphQL qui permet de réaliser plusieurs requêtes en 1 seule ainsi qu’en étudiant les bonnes pratiques en matière de sécurité et de performance. Je peux également intervenir de manière autonome sur des projets exigeants et assurer leurs maintenance ainsi que l’évolution de systèmes de bases de données complexes. Cette progression que j’ai pu avoir témoigne de ma volonté à toujours rester informé sur l’innovation dans le domaine du développement et de l’optimisation des bases de données.