La modélisation de base de données a un peu de science, un peu d'art, beaucoup de techniques et pas mal de sagesse générale. Tous les bons modélisateurs de bases de données étudient beaucoup, pratiquent beaucoup, cultivent la créativité et développent des compétences interpersonnelles.
Le chemin pour devenir concepteur de bases de données peut sembler ardu. Mais si vous aimez travailler avec des données, donner une structure là où il n'y en a apparemment pas et aider les gens à trouver des vérités cachées dans des marées d'informations, vous trouverez certainement le voyage agréable.
Qu'est-ce que la modélisation des données ?
Tout d'abord. Soyons clairs sur ce qu'est la modélisation des données. La modélisation des données est le processus de création d'une représentation conceptuelle des informations devant être contenues dans une base de données. Le résultat de ce processus est un modèle de données, avec des objets de données (les entités pour lesquelles les informations doivent être stockées), les associations ou relations entre eux, et les règles ou contraintes qui régissent les informations dans la base de données.
La personne en charge de la modélisation des données est le concepteur de la base de données, bien que la modélisation fasse souvent partie des responsabilités de l'ingénieur ou de l'architecte de la base de données. Le travail du concepteur de base de données ne se limite pas à simplement dessiner des diagrammes, mais comprend l'examen des exigences - soit en lisant la documentation, soit en interrogeant les utilisateurs - puis en créant un modèle de données qui répond à ces exigences. C'est pourquoi vous avez besoin d'une modélisation des données.
Une fois qu'un modèle de données est créé, le concepteur doit prendre en charge ce modèle et le guider tout au long de son évolution et de son cycle de vie. Cela signifie travailler en étroite collaboration avec les programmeurs, les analystes et toute autre personne ayant besoin d'utiliser le modèle. Cela signifie également accepter les demandes de modification du modèle, prendre des suggestions pour l'améliorer ou l'adapter à de nouveaux besoins.
Étapes vers la carrière d'un concepteur de base de données
Rome ne s'est pas construite en un jour et vous ne deviendrez pas concepteur de base de données du jour au lendemain. Pour arriver à la ligne d'arrivée, vous devez suivre une série d'étapes. Cela commence par l'obtention d'un diplôme, puis l'approfondissement de certaines connaissances spécifiques, l'apprentissage de l'utilisation d'outils, la certification, la maîtrise de certaines compétences spécifiques, et enfin l'apprentissage de compétences indirectement liées à l'activité que l'on souhaite exercer - les dites "soft" compétences. Mais allons-y une étape à la fois.
1. Obtention d'un diplôme
La première étape importante dans la carrière de tout concepteur de base de données est d'obtenir un diplôme. Les programmes de diplômes d'associé et de licence sont la meilleure voie pour ceux qui souhaitent acquérir une compréhension préliminaire de la conception de bases de données et du développement de logiciels. Les programmes de diplômes associés couvrent des aspects spécifiques de la conception de bases de données et des logiciels tout en offrant des cours de formation et de commerce plus généraux. Les programmes de licence offrent encore plus de cours liés aux affaires et peuvent préparer les diplômés à des postes plus élevés dans le domaine de l'informatique ou du développement de logiciels.
La différence la plus évidente entre les deux types de diplômes (outre le coût) est le temps qu'il faut pour gagner chacun. Pour un étudiant à temps plein, un programme de diplôme d'associé prend généralement deux ans. Un programme de licence, en revanche, prend généralement quatre ans pour un étudiant à temps plein. De toute évidence, les quatre années du programme de licence vous permettront d'apprendre beaucoup plus que vous ne le feriez dans un programme de diplôme d'associé.
Vous pouvez suivre un court cours sur la conception de bases de données. Mais les cours de courte durée exigent généralement que vous ayez des connaissances préalables dans différents aspects de l'informatique. Il existe également des cours destinés aux personnes qui ne maîtrisent pas l'informatique. Vertabelo Academy propose une large gamme de cours de ce type spécialement conçus pour les non-informaticiens.
Vous avez également la possibilité, si vous êtes suffisamment discipliné, d'apprendre par vous-même sans diplôme ni cours. Il y a beaucoup de choix dans les livres de conception de bases de données que vous pouvez lire. Gardez simplement à l'esprit que, lorsqu'il s'agit de préparer votre CV, cela ne vous servira à rien de mentionner que vous avez lu tel ou tel livre sur le design. En revanche, il est utile d'avoir un diplôme ou au moins un certificat attestant que vous avez suivi un cours.
2. Approfondissez vos connaissances
Une fois que vous avez acquis les connaissances nécessaires sur la conception de bases de données, consolidez-les et renforcez-les par une pratique réelle. La théorie que vous apprenez dans un cours ou une licence, voire les exercices qu'on vous donne à résoudre, ne vous donnent qu'une idée des problèmes que vous rencontrez dans votre travail de concepteur de bases de données. Incidemment, ces connaissances supplémentaires vous préparent mieux lorsque vous devez vous rendre à un entretien d'embauche pour un poste de concepteur de bases de données. Voici les compétences que vous devez maîtriser pour devenir concepteur de base de données.
Normalisation, clés et instinct du concepteur
Que vous ayez suivi un diplôme ou un cours ou que vous ayez simplement lu un livre, vous aurez sans aucun doute appris quelque chose sur les première, deuxième et troisième formes normales. Mais pour renforcer vos connaissances, regardez différents diagrammes entité-relation (je suppose que vous savez déjà ce que sont les ERD et à quoi ils servent) et analysez-les pour voir s'ils sont normalisés. Vous devriez être en mesure de déterminer sous quelle forme normale ils se trouvent.
Dans ce schéma, les mêmes entités sont représentées de deux manières différentes. Pouvez-vous dire d'un coup d'œil sous quelle forme normale se trouve le tableau de gauche et sous quelle forme se trouve le schéma de droite ?
Je recommande également d'étudier les problèmes qu'un schéma sans normalisation peut causer. Vous pouvez comparer l'espace occupé par un schéma non normalisé et un schéma normalisé des mêmes données pour voir les différences - avec les tables peuplées d'une quantité raisonnable de données, évidemment. Ou vous pouvez essayer d'exécuter des requêtes sur des tables non normalisées pour voir les incohérences qui apparaissent.
Il y a quelques choses que vous apprenez avec la pratique. Tout d'abord, vous ne devez jamais laisser une table sans clé primaire. Deuxièmement, lorsque deux tables sont liées, vous devez définir une clé étrangère qui associe les champs concernés des deux tables. Si vous oubliez ces conseils, vous recevez un rappel lorsque vous trouvez des lignes en double dans une table ou des éléments orphelins dans des relations principal-détail, et cela vous donne des cauchemars.
En parlant de clés, vous avez probablement entendu parler de clés naturelles et de clés de substitution. Jusqu'à ce que vous ayez beaucoup d'expérience, vous devez prendre le temps de réfléchir au type de clé que vous donnez à chaque table que vous créez. Une fois que vous aurez fait quelques dizaines d'ERD, vous aurez développé l'instinct du concepteur pour créer des schémas dans la troisième forme normale sans effort, avec les relations correctes et la meilleure clé pour chaque table.
Entrepôts de données :dimensions, mesures, modèles de schéma et autres concepts
Les concepts de conception de bases de données sont généralement enseignés en gardant à l'esprit le traitement transactionnel. Mais aujourd'hui, les concepteurs traitent de plus en plus de bases de données pour le traitement analytique. Ces bases de données sont connues sous le nom d'entrepôts de données et ont des idées de conception et des techniques qui diffèrent de celles des bases de données conventionnelles.
Les entrepôts de données sont construits à l'aide du modèle relationnel traditionnel, mais avec plusieurs nouveaux concepts supplémentaires. Par exemple, certains champs représentent des dimensions, tandis que d'autres représentent des mesures. Certains tableaux rassemblent des faits, tandis que d'autres regroupent des dimensions. Des modèles de conception spécifiques pour les schémas d'entrepôt de données existent désormais, comme l'étoile, le flocon de neige et la galaxie.
Enfin, les entrepôts de données introduisent une technique appelée dénormalisation. Contrairement à ce que vous pourriez penser, la dénormalisation ne signifie pas l'annulation des tentatives précédentes de normalisation. Pour comprendre à quoi sert la dénormalisation, considérez-la comme une technique permettant d'introduire de la redondance dans les conceptions de table afin de simplifier les requêtes et la visualisation des données.
3. Choisissez vos outils
En plus des connaissances théoriques que vos études vous apportent et des connaissances pratiques que vous apporte votre expérience, vous devez maîtriser les outils de conception de bases de données. Les outils du concepteur de base de données sont ceux qui vous aident dans la tâche de création de modèles de données.
La vérité est que les bons designers peuvent faire leur travail sans aucun autre outil que le crayon et le papier. Mais pour être efficaces et accomplir leurs tâches dans les plus brefs délais, ils doivent utiliser des outils qui les aident à être plus efficaces.
Les outils qui font gagner le plus de temps au concepteur de bases de données sont les outils de conception ERD, comme la plateforme Vertabelo.com. Ces outils simplifient le travail du concepteur de base de données consistant à dessiner des diagrammes, automatisent la création de scripts SQL et génèrent des diagrammes à partir de bases de données existantes.
Un autre outil fondamental pour tout concepteur de base de données est le langage SQL. Le DDL (langage de définition de données) est nécessaire pour créer ou modifier des schémas, mais pour être un concepteur de base de données, vous devez également savoir écrire des requêtes SQL pour obtenir des informations à partir d'une base de données.
Il existe d'autres outils utiles pour le concepteur de bases de données, tels que des outils de surveillance et de profilage et des langages de programmation pour l'analyse des données et les administrateurs de bases de données. Si vous connaissez ces outils, les énumérer ajoute de la valeur à votre CV.
4. Obtenez la certification
Nous avons parlé des outils de maîtrise, mais comment prouver dans votre CV que vous savez écrire du SQL ou que vous savez utiliser un outil de conception ERD ? Pour ce faire, vous devez suivre des cours spécifiques, passer des examens et obtenir une certification.
Il existe essentiellement deux types de certifications :celles qui montrent que vous maîtrisez un outil particulier et celles qui montrent que vous avez une certaine compétence. Les deux ajoutent de la valeur lorsqu'ils sont affichés sur votre CV.
Les entreprises qui développent les outils proposent souvent des programmes de formation, et lorsque vous terminez l'un de ces programmes de formation, vous obtenez un certificat comme preuve que vous maîtrisez l'outil. Ces certifications sont souvent gratuites. Ils sont intéressés à certifier de nombreux professionnels dans l'utilisation de leurs outils, il est donc dans leur intérêt de vous former à leur utilisation sans vous facturer (beaucoup) pour cela.
Les certifications dans une certaine compétence - comme, par exemple, la programmation SQL, la gestion de base de données NoSQL ou la conception de processus ETL - sont souvent coûteuses, mais elles ajoutent beaucoup de valeur à votre CV, principalement parce qu'elles évitent aux enquêteurs d'avoir à évaluer si vous vraiment savoir faire son travail. Les cours de troisième cycle sont une option appropriée si vous avez déjà un diplôme.
5. Allez jusqu'au bout
Vous avez déjà étudié et appris les matériaux pour être un concepteur de base de données. Vous avez approfondi vos connaissances. Vous avez suivi des cours et obtenu des certifications. Que vous manque-t-il pour devenir concepteur de base de données ? Savoir effectuer des tâches clés et être capable de les exécuter du début à la fin.
Modéliser une base de données
Vous savez peut-être comment dessiner un ERD, mais la modélisation d'une base de données implique plus que cela. Pour être un concepteur de base de données, vous devez être capable de passer de l'étude et de l'analyse des exigences à la génération et à l'exécution de scripts pour transformer les diagrammes en bases de données fonctionnelles.
Écrire des requêtes complexes en SQL
Il ne s'agit pas simplement pour une requête de renvoyer les données qu'elle est censée renvoyer, mais aussi de les renvoyer le plus rapidement possible. Savoir écrire des requêtes SQL signifie penser avec la même logique que le moteur de base de données pour rassembler les informations demandées et les fournir avec un minimum d'effort.
Optimisation des performances
L'optimisation des performances de la base de données comprend la création d'une conception appropriée et la surveillance des activités de la base de données pour détecter les opérations qui dégradent les performances. Cela implique également de savoir comment résoudre les problèmes de performances, qu'il s'agisse de créer des index, de reconcevoir le schéma ou d'informer le DBA des problèmes potentiels d'optimisation du moteur de base de données.
Sécuriser une base de données
Bien que l'attribution d'autorisations et de privilèges sur les objets de la base de données ne soit normalement pas le travail du concepteur de la base de données, il ou elle peut identifier les domaines de responsabilité dans leurs conceptions qui permettent à un administrateur d'attribuer plus facilement des autorisations à chaque utilisateur de la base de données.
6. Acquérir des compétences générales
Cette dernière étape est souvent négligée dans la carrière d'un concepteur de base de données, mais ne la laissez pas sans réponse. Dans de nombreuses situations, les compétences non techniques mentionnées ci-dessous sont aussi importantes, sinon plus, que les compétences et connaissances techniques traditionnelles, c'est-à-dire les compétences techniques.
Acuité des affaires
Les concepteurs ayant un sens aigu des affaires peuvent mieux interpréter et donner la bonne dimension à chaque exigence qu'ils reçoivent, et cela se traduit par de meilleures décisions de conception. Quelque chose d'aussi simple que de décider d'utiliser une clé naturelle ou une clé de substitution pour une table peut être important pour l'entreprise; aligner vos décisions sur les objectifs commerciaux est la clé du succès de votre travail.
Compétences en communication et en relations interpersonnelles
Créer un bon design n'est qu'une partie du travail. Après avoir créé et perfectionné votre modèle, vous devez être en mesure de le présenter, de l'expliquer et d'aider toute personne qui a besoin de travailler avec. Vous devez également accepter que chaque conception puisse être améliorée, alors soyez prêt à recevoir des suggestions et des critiques. En général, en tant que designer, vous faites partie d'une équipe. Être une partie utile de l'équipe signifie être un joueur d'équipe qui pense toujours aux avantages pour l'équipe.
La ligne d'arrivée :un travail de concepteur de base de données
Si vous avez fait toutes ces choses, vous modélisez probablement déjà des bases de données comme un pro et avez de nombreuses histoires à raconter. L'espace de commentaires ci-dessous vous permet de partager des conseils utiles et des histoires amusantes, et de contribuer à enrichir nos vies de concepteurs de bases de données.