Modélisation de BDD avec MS VISIO
Quand nous construisons directement les tables d’une base de données dans un logiciel de gestion des bases de données, nous sommes exposés à deux difficultés:
1. Nous ne savons pas toujours dans quelle table placer certaines colonnes (par exemple l’adresse de livraison se met dans la table des clients ou dans la table des commandes?).
2. Nous avons du mal à prévoir les tables de jonction intermédiaires (par exemple une table des articles vendus qui est indispensable entre les tables des clients et la table des articles)
Il est donc nécessaire de recourir à une étape préliminaire de conception et il s’agit d’une partie importante du travail du développeur est la modélisation de la base de données (sinon le coût de correction est très important!). Pour exercer cela correctement (sans passer par une feuille A0 collée sur un mur et gribouillée de part en part), il existe des logiciels spéciaux tels que Merise ou MS Visio (pour ne citer que ceux que l’auteur connaît relativement bien).
Remarque: Il existe des cours de modélisation sur 2 jours, mais le sujet est au fait beaucoup plus étendu et fait l’objet d’un métier à lui seul. Le spécialiste dans le domaine est souvent informaticien théoricien ou mathématicien avec un excellent bagage d’algèbre relationnelle. De plus je conseille aux personnes travaillant avec des PME ou des consultants indépendants de travailler plutôt avec le logiciel gratuit MySQL Workbench pour la modélisation plutôt que MS Visio qui est très coûteur pour un indépendant ou une PME.
Nous allons nous restreindre dans le cadre de ce cours à l’utilisation de MS Visio 2000. La démarche a changé dans la 2002 et la 2003 et le forward-engineering (le fait d’exporter le schéma d’une base de données existante dans MS Visio) n’est disponible depuis la version 2007 que dans la version Vision Enterprise Architect (il y a quatre versions de Microsoft Office Visio à ma connaissance). Par contre, le reverse-engineering (le fait d’importer le schéma d’une base de données existante dans MS Visio) est toujours disponible dans la version pro et premium.
L’utilisation en étant très simple, le formateur va vous orienter sur la manière de procéder pour créer par exemple les schémas de base de données auxquels doivent arriver les participants à un cours MS Access après 3 à 4 jours de cours. Le schéma de notre base de données pour l’ensemble de la formation ressemblera au tout début au modèle logique de données (MLD) présenté ci-dessous. Sur la gauche de l’écran, se trouvent les deux formes « Entity » et « Relations » nécessaires à la modélisation des données de la page suivante: Légende: PK = Primary Key, FK = Foreign Key, I = Index
Lors de l’insertion d’une table, après un double clic sur cette dernière
Concernant le typage des colonnes ci-dessus, celui-ci a nettement changé dans les ultérieures. Il a été standardisé pour proposer une compatibilité vers différentes normes SQL, raison pour laquelle on trouvera par exemple les typages LONGTEXT et LONGCHAR (ce dernier étant à privilégier pour MS Access) qui pour un forward engineering vers MS Access se retrouveront de toute façon convertis en type émo.
Pour le registre « Trigger » le lecteur se référera à une formation SQL Server, DBL2, Oracle. Pour le registre « Check » l’auteur de ce document donne sa langue au chat… Les deux autres registres « Entended » et « Notes » ne sont pas absolument indispensables, nous en ferons donc pas mention. Concernant les relations, il suffit de « glisser » une forme représentative de cette dernière entre les deux tables et de l’y accrocher (il faut que les tables deviennent alors rouge). Pour relier la clé primaire (PK) idArticles de la table tblArticles à la clé étrangère strNbArticles (oui… la dénomination des champs est mauvaise…sur les captures d’écran) de tblEntrees (un article peut être entré plusieurs fois…) il suffit par un double clic sur la relation pour faire apparaître la boîte suivante: Avec la touche Ctrl du clavier, sélectionnez dans la liste de droite et de gauche, les champs à lier et cliquez sur le bouton Associate.
Bonjour
Je voulais juste vous remercier pour l’application ! Et vous demande si vous pouvez avoir : des Classeurs pour s’exercer, et documents VBA
Merci