Database
 sql >> Base de données >  >> RDS >> Database

Conception de base de données avec Vertabelo

La conception de bases de données va bien au-delà du simple dessin de lignes et de cases. Dans cet article, je réfléchis au processus de modélisation des données en mettant l'accent sur les meilleures pratiques, ainsi que sur la façon d'utiliser des outils pour mettre en œuvre ces meilleures pratiques afin de créer une bonne conception de base de données.

La conception de base de données est le processus de production d'un modèle détaillé d'une base de données. Le début de la modélisation d'une base de données consiste à comprendre le domaine d'activité et les fonctionnalités en cours de développement.

Si vous n'êtes pas sûr des étapes impliquées dans le processus de conception de base de données, je vous renvoie à cette description des étapes de conception de base de données.

Commencer à modéliser :parler à l'entreprise

Il s'agit d'un principe clé dans les technologies de l'information. Nous résolvons un problème commercial du côté des données afin que les données requises soient disponibles. Nous devons parler aux gens d'affaires pour comprendre leurs besoins.

Nous devons nous poser des questions telles que :

  • "Quel est le domaine ?"
  • "Quels sont les défis dans ce domaine ?"
  • "Quels sont les problèmes à résoudre ?"
  • "Quelles informations devons-nous conserver ?"

En discutant avec l'entreprise, nous pouvons envisager des compromis susceptibles d'affecter le modèle de base de données. Nous posons également les bases de la modélisation.

Prenons un exemple concret. Prenez une application comptable pour une entreprise :vous auriez besoin de modéliser des clients, des fournisseurs, des factures, des paiements, des comptes, des soldes, etc. Vous devez apprendre ces concepts et la comptabilité. Vous ne pouvez le faire qu'en parlant aux gens d'affaires.

Mettre les concepts en ordre

Ce premier travail avec les entreprises vous conduira dans un modèle de quels "concepts" doivent être stockés dans la base de données (lisez cette explication des différents niveaux de modèles). Du concept de ce que nous devons stocker dans la base de données, c'est-à-dire notre modèle conceptuel, nous passons à un modèle logique. Le modèle logique documente les concepts et les règles métier sur lesquels nous superposons les détails (vous pourriez être intéressé de lire cette discussion sur la question de savoir si la modélisation logique des données est obsolète).

Si vous n'êtes pas sûr des différents types de modèles de données, consultez notre article sur la façon de mettre en œuvre des modèles de données conceptuels, logiques et physiques avec Vertabelo.

Le modèle de données logique ajoute plus d'informations aux concepts que nous avons déjà documentés. Il décrit comment les données sont structurées et comment les entités sont liées les unes aux autres. En outre, il comprend des informations sur les types de données que nous gérons.

Dans Vertabelo, nous pouvons créer un modèle de données logique via un diagramme entité-relation logique (ERD). Vérifiez les détails sur la façon d'effectuer une modélisation logique des données avec Vertabelo.

Voici un modèle de données logique simple et pas encore complet des clients, des fournisseurs, des factures, des paiements et des comptes.

Un autre avantage que je trouve en travaillant avec Vertabelo est que je n'ai pas trop à me soucier de la notation exacte. L'outil de modélisation vous permet de vous soucier de la conception et non des spécificités des notations et des symboles du diagramme entité-relation (ERD), qui, évidemment, devraient être le cadet de vos soucis lors du processus de conception de la base de données.

Soyons physiques

Pour travailler réellement avec la base de données, nous devons passer de notre modèle logique à un modèle physique. L'outil Vertabelo nous permet de générer facilement un modèle physique de données à partir d'un modèle logique. Vous créez d'abord un modèle de données logique, puis vous pouvez "auto-magiquement " générer un modèle physique en sélectionnant le modèle logique et en cliquant sur "Générer un modèle de données physique" (voir ce guide détaillé pour les étapes exactes).

Évidemment, le modèle physique de données généré sera similaire au modèle logique; cependant, les types de données logiques seront traduits en types de données autorisés pour le système de gestion de base de données (SGBD) particulier pour lequel vous générez le modèle physique. Le modèle physique indiquera également quels attributs sont des clés étrangères entre les tables. Vous pouvez également effectuer une modélisation supplémentaire liée aux aspects physiques de la base de données - par exemple, les index et les vues.

De plus, il est possible de créer directement un modèle physique de données; vous n'avez pas besoin d'en créer un logique au préalable. Passer directement à un modèle physique sera logique pour les activités de modélisation plus petites et plus dirigées, où le domaine métier est mieux défini. Le processus de modélisation physique de la base de données est simple et ne devrait pas présenter trop de défis. Avoir un modèle de données logique s'avérera utile pour les projets plus importants, mais en avoir au moins un physique vaut mieux que de n'en avoir aucun.

Évolution de la conception de votre base de données

Les développeurs pensent généralement que le modèle de base de données doit tourner autour du code réel, tandis que les modélisateurs de données pensent que le code doit être créé sur la base d'un modèle de données relativement statique. Aujourd'hui, la modélisation des données doit être collaborative . Le code et le modèle de données s'influencent mutuellement.

Nous avons donc besoin d'un outil qui prend en charge un processus de conception et de modélisation de base de données collaborative. En plus de travailler avec l'entreprise pour créer la conception conceptuelle, les modélisateurs de données doivent collaborer pendant le cycle de développement pour mettre à jour les modèles de données logiques et physiques selon les besoins. Les modélisateurs et les développeurs doivent adapter le modèle jusqu'à ce qu'il prenne réellement en charge les exigences commerciales et non fonctionnelles du système.

Évidemment, les changements peuvent conduire à des erreurs. Encore une fois, avoir un outil peut aider; un outil qui valide constamment votre modèle de données est inestimable. Vertabelo dispose d'une validation en ligne intégrée et en direct pour les modèles de données logiques et physiques afin que les problèmes soient détectés lors de la modélisation, et non lors de la mise en œuvre. Et les erreurs restent visibles pour tous ceux qui y collaborent. En outre, vous pouvez ajuster les paramètres de validation selon vos besoins. Voici un exemple de mon modèle de données incomplet avec plusieurs erreurs et avertissements.

Pour en revenir à l'exemple comptable, vous découvrirez peut-être au cours du développement qu'il ne suffit pas de modéliser une seule devise comme l'euro ou le dollar pour les factures et les paiements. Au lieu de cela, vous devrez stocker les montants avec leur devise respective et les convertir dans la devise "de base" dans laquelle la comptabilité de l'entreprise est tenue. Vous pouvez également avoir besoin des taux de change et des informations historiques sur les taux qui ont été utilisés pour la conversion des devises dans le passé.

C'est là qu'un outil collaboratif de modélisation de base de données comme Vertabelo fait vraiment ses preuves. Vous pouvez trouver plus d'informations sur l'utilisation de Vertabelo pour la modélisation collaborative. Il vous suffit de cliquer et de partager votre modèle avec les membres de votre équipe.

Physique à la mise en œuvre

Une fois que vous aurez votre première version du modèle physique, vous aurez probablement hâte de commencer à travailler avec la base de données réelle. Pour ce faire, Vertabelo va générer des scripts SQL DDL (Data Definition Language) pour créer la base de données. Je n'écrirai pas tous les détails ici, car vous pouvez les trouver dans l'article de la base de connaissances en ligne sur la façon de générer un script SQL créant une base de données.

Laissez-moi vous dire par expérience - c'est une fonctionnalité tellement bienvenue. Vous évitez d'avoir à gérer les aléas des différentes syntaxes SQL DDL de la base de données et vous pouvez vous concentrer sur votre conception .

Versionnement

Maintenant, comme je l'ai écrit plus haut, vos modèles vont évoluer, que ce soit lors de la conception de la base de données, lors du développement logiciel ou après lors de l'utilisation réelle de votre base de données. Il y a deux grandes fonctionnalités de Vertabelo dont je veux m'assurer que vous êtes au courant.

Premièrement, Vertabelo inclut la gestion des versions. Vous pouvez suivre les modifications et gérer les versions des modèles de données, il est donc facile de "remonter le temps" et de revenir à une version précédente si nécessaire. Si vous êtes discipliné, vous pouvez étiqueter les différentes versions avec des noms précis, qu'il s'agisse de brouillons ou de versions réelles de la base de données.

L'autre fonctionnalité, dont je rêvais depuis de nombreuses années lors de ma modélisation de base de données, est la capacité de l'outil Vertabelo à automatiquement générer des scripts de migration entre les versions de votre modèle de données. J'ai perdu le compte des fois où j'ai dû écrire et corriger manuellement des scripts de migration à plusieurs reprises. Voici un exemple de génération des scripts de migration entre deux versions d'une base de données pour une enquête en ligne.

Quelle aubaine pour les modélisateurs de données de disposer d'un outil qui gère efficacement les versions et calcule l'impact des changements entre les versions !

Grands modèles

Tout d'abord, permettez-moi d'être honnête. Je ne travaille pas toujours avec de grands modèles, mais parfois je dois les créer. Là encore, Vertabelo nous propose une solution pour organiser nos maquettes.

Nous pouvons regrouper visuellement des tableaux avec des domaines; Si vous souhaitez savoir comment procéder, vous pouvez également regarder une vidéo sur la gestion de modèles de données volumineux dans Vertabelo.

Vous pouvez également utiliser cette technique lors de la rétro-ingénierie d'un script SQL DDL vers un modèle de données.

Débuter avec la conception de bases de données

Si vous recherchez des bonnes pratiques de conception de bases de données, je vous recommande de consulter cet article. Pour obtenir des conseils pour une meilleure conception de base de données, vous n'avez pas besoin de chercher plus loin que cet article. Et consultez celui-ci pour obtenir des conseils sur la façon de commencer à utiliser Vertabelo pour la conception de votre base de données.