Cours N°1 La bibliographie pour ce cours est disponible sur le répertoire de téléchargement : bibliographie.doc La conception d'un Système d'Information (SI). La conception d'un système d'information n'est pas évidente car il faut réfléchir à l'ensemble de l'organisation que l'on doit mettre en place. La phase de conception nécessite des méthodes permettant de mettre en place un modèle sur lequel on va s'appuyer. La modélisation consiste à créer une représentation virtuelle d'une réalité de telle façon à faire ressortir les points auxquels on s'intéresse. Ce type de méthode est appelée analyse. Il existe plusieurs méthodes d'analyse, la méthode la plus utilisée en France étant la méthode MERISE. MERISE est une méthode de conception, de développement et de réalisation de projets informatiques. Le but de cette méthode est d'arriver à concevoir un système d'information. La méthode MERISE est basée sur la séparation des données et des traitements à effectuer en plusieurs modèles conceptuels et physiques. La séparation des données et des traitements assure une longévité au modèle. En effet, l'agencement des données n'a pas à être souvent remanié (stabilité des données), tandis que les traitements le sont plus fréquemment. L'analyse des données constitue le point de passage obligé de toute conception d'application mettant en oeuvre un SGBDR (système de Gestion de Base de Données Relationnelle). La méthode MERISE, basée sur le modèle entité-association, est un outil simple et efficace, très répandue chez les développeurs français. La plupart des bases de données sont imprégnées de cette technique pour montrer les relations entre les tables au sein d'une base. Notre objectif n'est pas de développer la méthode Merise dans sa globalité mais bien de s'intéresser à une façon de faire afin d'obtenir un modèle physique de base de données, modèle relationnel sur lequel est basé l'ensemble du cours. Le cours commence donc par une introduction qu SGBD/R : Fichier SGBDR.ppt Liens complémentaires sur le net : http://www.commentcamarche.net/bdd/bddintro.php3 http://www.commentcamarche.net/merise/concintro.php3 Pour informations complémentaires sur le SGBDR ORACLE : Oracle Press.doc Documentations Oracle 9i Server et SQL.doc 9ifonction.doc 10g_1.pdf 10G_2.pdf Puis par une étude de cas : Fichier CAS0.txt dont l'objectif est de définir le périmètre fonctionnel du futur SI. La démarche reste simple : ETAPE I ETAPE II ETAPE III ETAPE IV DD (Dictionnaire des Données) -> MCD (Modéle Conceptuel de Données) -> MPD (Modéle physique de données) -> scripts de création de table Il est donc important de bien 'digérer' le chapitre I (la modélisation conceptuelle) du livre du cours intitulé Conception des bases de données relationelles En pratique de Jacky Akoka et Isabelle Comyn-Wattiau aux éditions Vuibert Informatique. Présentation de l'étude de cas : voir Fichier CAS0.txt Conception du SI de la société Tartempion Cette étude de cas sera reprise dans le cours SQL LDD SGBD OLTP 1er Version et 2ème version dans la mesure ou nous allons générer les scripts de création de ce MPD pour le SGBD Oracle. C'est aussi sur cette base de données que nous developperons la partie requête SQL. En synthèse : 1) Constitution du dictionnaire des données : Rescencement des attributs : nom, type (caractère, numérique, date, ...), longueur, Caractère Obligatoire ou Facultatif, Commentaire et règles de gestion sur attributs tels que les contraintes (Majuscule/Minuscule, ...) (Attention au choix d'une convention de nommage des attributs : Modèle Homogène) voir fichier Dictionnaire des données CAS0.doc 2) Elaboration du modèle conceptuel de données Phase I : Détermination des objets de type entité CLIENT, PRODUIT, FOURNISSEUR, ... L'ensembles des attributs du dictionnaire de données doivent appartenir à une et une seule entité. Attention à la non redondance d'information. Les entités doivent avoir un nom unique mais aussi un identifiant. Cet identifiant a pour objectif d'identifier de manière unique une occurenre d'un objet. (Exemple: Le champ NUM_CLIENT est l'indentifiant unique d'un client). voir fichier mcd0phase1.gif 3) Elaboration du modèle de données Phase II: Détermination des relations entre les différentes entités. Toutes les entités doivent être reliées par au moins une relation entre elles. Les relations doivent avoir un nom unique (a pour, designe, comprend, ...) (Sauf exception pour les entités contenant des paramètres du SI). voir fichier Modele Conceptuel CAS0.doc Les outils de modélisation : AMCDesignor (c'est son nom d'origine) a été conçu à la base pour pallier au manque d'outil de modélisation graphique pour Oracle (d'où le or final). Il était basé sur la méthodologie Merise. Lors de son rachat par Powersoft, l'application a été traduite en anglais et le module modèle conceptuel de données a été refondu pour la méthodologie IE (Information engineering), plus exactement selon la méthode Yourdon-DeMarco. 2 versions apparurent donc parallèlement: * PowerAMC, méthodologie Merise, application en français * PowerDesigner, méthodologie IE, application en anglais Sybase, lors de son rachat de Powersoft, essaya de supprimer la version francophone, mais face à la levée de bouclier des analystes merisiens, la tentative fut un échec. Dans leur version actuelle (v.10.1), PowerDesigner et PowerAMC ne se différencient plus que par la langue. L'application est multi-méthodes depuis sa refonte (version 7) et gère même les 9 diagrammes UML et les Processus métiers dans sa version la plus complète. http://www.sybase.com/downloads PowerAMC est un outil commercial qui permet d'éditer les MCD et MPD (et en option les MCT). Sous linux (ou windows) vous pouvez utiliser DBdesigner qui est un outils appartenant au monde de l'Open Source et qui est gratuit seulement celui-ci reste limité aux MPD. http://www.fabforce.net/dbdesigner4/