
Dans ce premier chapitre de la formation MERISE- Cours et exercices corrigés, on définira la méthode MERISE et son historique, on définira aussi une entreprise, et le système d'information et ses fonctions en vous donnant des exemples.
Pour mieux comprendre MERISE je vous fais une comparaison entre la construction d'un bâtiment et le développement d'un SI (Application) pour une entreprise, avant de se lancer dans la construction du bâtiment, l'entrepreneur exécute le plan offert par l'architecte, MERISE consiste à créer aussi des modèles (plans) de conception pour le prochain SI, ce n'est que des modèles (dessins avec des symboles standardisés). Sachez aussi qu'il existe une autre méthode informatique pour la modélisation des SI, c'est la méthode UML (Unified Modeling Language).
La démarche de modélisation de n'importe quel SI (Système d'Information) est composée de 4 étapes : L'analyse, la conception, la programmation et les tests.
La méthode MERISE utilise 3 découpages sur 4 niveaux qui donnent naissance à 12 modèles, le modèle pivot est le MCD.
Le MCD appelé aussi modèle Entité-Association est le pivot de la méthode MERISE, on va découvrir dans cette première partie les concepts de base de modèle MCD qui sont : L'Entité, les attributs ou propriétés, l'identifiant ou clef, les objets d'une meme entité sont appelé des occurences.
À l'université on avait toujours dessiné le MCD sur papier, il est difficile de prévoir le nombre d'entités et leur emplacement surtout après la liaison avec les associations dans le but d'avoir un MCD lisible. Pour résoudre ce problème je vous propose deux logiciels: Power Designer de SAP qui est un logiciel payant et qui offre 15 jours d'essai, et un autre gratuit et à mon avis qui répond aux mêmes besoins c'est AnalyseSI. Ces deux logiciels offre en plus de dessin fluide du MCD, la possibilité de générer automatiquement le MLDR, le MPD et le script SQL de base de donnée, pour les différents SGBD( MySQL, PostgreSQL et Oracle). Dans ce tutoriel j'utiliserai AnalyseSI pour faire la démonstration.
Dans un MCD, les cardinalités précisent la participation d’une entité à une relation. on les écrit de cette manière (cardinalité_min,cardinalité_max) des cotés da chaque entité reliée.
Dans un MCD, Il est possible d'avoir une relation qui lie 2 entités appelée binaire, une relation qui lie 3 entités appelée ternaire ou encore plus de 3. Dans une relation ternaire, toutes les cardinalités maximales doivent etre définies à plusieurs (N), sinon le modèle est considéré non optimisé.
Une relation réflexive est une relation dont les deux pattes sont liées à une même entité, ces deux pattes doivent avoir un rôle pour bien lire les cardinalités. La relation réflexive permet d'éviter la redondance et l'incohérence des données. Dans ce tutoriel je vous montre deux exemples et comment transformer un MCD avec ce type de relation en MLD et comment les données seront saisies dans les prochaines tables.
Il est temps de mettre en pratique tous ce qu'on a vu jusqu'à maintenant et faire ce premier exercice MCD. On va lire ensemble l'énoncé et construire étape par étape le MCD correspondant. on verra comment identifier les entités, les associations, les attributs, les identifiants, les attributs d'association et les cardinalités. On verra en plus l'exemple d'une relation ternaire.
Une agence immobilière souhaite gérer la location de ces logements (maison, appartement, villa, studio, bureau…). Travail à faire: Établir le modèle conceptuel des données MCD correspondant.
Pour construire un schéma de base de données cohérent il faut avoir un MCD normalisé qui respecte des contraintes appelées les formes normales. Les formes normales s’appuient sur ce qu'on appelle les dépendances fonctionnelles entres attributs. Dans ce cours on va voir la notion de dépendances fonctionnelles et comment construire un graphe de couverture minimale pour ensuite le convertir en MCD.
La normalisation à pour but de:
1) Éviter la redondance des données (Réduire la taille de la BDD);
2) Éviter l’incohérence des données;
3) Éviter les mises à jour multiples des données.
Un schéma entité-association normalisé doit respecter 9 règles de normalisation: 1) Normalisation des entités; 2) Normalisation des identifiants; 3) Normalisation des attributs; 4) Normalisation des attributs des associations; 5) Normalisation des associations; 6) Normalisation des cardinalités; 7) 1FN 8) 2FN 9) 3FN
Un schéma entité-association normalisé doit respecter 9 règles de normalisation: 1) Normalisation des entités; 2) Normalisation des identifiants; 3) Normalisation des attributs; 4) Normalisation des attributs des associations; 5) Normalisation des associations; 6) Normalisation des cardinalités; 7) 1FN 8) 2FN 9) 3FN
Un schéma entité-association normalisé doit respecter 9 règles de normalisation: 1) Normalisation des entités; 2) Normalisation des identifiants; 3) Normalisation des attributs; 4) Normalisation des attributs des associations; 5) Normalisation des associations; 6) Normalisation des cardinalités; 7) 1FN 8) 2FN 9) 3FN
Un schéma entité-association normalisé doit respecter 9 règles de normalisation: 1) Normalisation des entités; 2) Normalisation des identifiants; 3) Normalisation des attributs; 4) Normalisation des attributs des associations; 5) Normalisation des associations; 6) Normalisation des cardinalités; 7) 1FN 8) 2FN 9) 3FN
Un modèle normalisé = relations avec : * Des attribut élémentaires (1FN) * En dépendance de toute la clé (2FN) * Et rien que de la clé (3FN)
Une fois le MCD construit, l'étape suivante consiste à le traduire en MLD. Plusieurs représentations logiques des données sont disponibles, on parle alors des systèmes logiques. Mais le choix durant la formation est fait sur la représentation logique en utilisant les BDD relationnelles. On parle alors plus précisément du modèle logique de données relationnelles (MLDR).
Pour convertir un MCD en MLD il y a quatre 4 règles à suivre, mais avant de passer aux règles on va voir un nouveau vocabulaire utilisé dans le MLD, la notion de schéma relationnel, de clé primaire et clé étrangère ainsi que la représentation graphique et textuelle des relations.
Toute entité devient une table (relation) (les attributs deviennent des colonnes ou champs, et l’identifiant devient clef primaire)
Une association binaire (entre 2 entités) de type un à plusieurs (une des deux cardinalités maximale est n càd : 0.1---1.n ou 1.1---1.n) disparait avec l’ajout d’une clef étrangère dans la table côté 0.1 ou 1.1 (entité fils) qui fait référence à la clef primaire de l’autre table (entité père).
Une association binaire de type n:m plusieurs à plusieurs (many to many) devient une table supplémentaire appelée table de jointure (de jonction ou d’association) dont la clé primaire est composée de deux clés étrangères (qui font référence aux deux clés primaires des deux tables en association) Les attributs de l’association deviennent des colonnes de cette nouvelle table.
Dans cette formation on va découvrir la méthode MERISE (Méthode d’Étude et de Réalisation Informatique des Systèmes d'Entreprise) c'est en bref une démarche de construction de système d'information SI pour Entreprise (Ecole, Cabinet dentaire, Agence ...).
Est-ce qu'il existe une autre méthode d'analyse et conception des SI en informatique? La réponse est oui, c'est la méthode UML qui ne fait pas partie de cette formation.
Le Modèle pivot de la méthode MERISE est le MCD, une fois validé et normalisé on le transforme en MLD (Modèle Logique de Données) via des règles de passage MCD--> MLD. Ce MLD peut être facilement traduit en MPD (Modèle Physique de Données) dans un SGBDR (Système de Gestion de Base de Données Relationnelles). L'équivalent de MLD MERISE est le diagramme de classe en UML.
Une fois la Base De Données BDD crée et validée (souvent par un administrateur de BDD), c'est au développeur (front-end et backend) de développer la partie application en choisissant le langage de programmation adéquat.
Avant de développer donc n'importe quel Système d'information SI pour entreprise, c'est au concepteur ou analyste d'analyser la prochaine application et de fournir différents modèles (conceptuels, organisationnels, logiques et physiques) normalisés et validés avant de passer à la partie programmation.