INTRODUCTION A LA CREATION DES BASES DE DONNEES 1. INTRODUCTION La mise en place des systèmes d information est un atout décisif dans le monde actuel [1]. On considère que le fonctionnement normal de toute entreprise 1 conduit à une suite de décisions qui ont chacune plus ou moins de conséquences selon la position hiérarchique du décideur. Le rôle du système d information va être de recueillir, de mémoriser, de véhiculer et de fournir les informations pertinentes liées au bon fonctionnement d une organisation Système d organisation Système décisionnel (pilotage) Système d information Flux matières premières, d argent ou d informations Système opérant (réalisation) Flux de produits finis, d argent ou d informations 1 Entreprise : n.f. 1. Ce que quelqu un entreprend ; œuvre, opération. Echouer dans son entreprise. 2 Affaire commerciale ou industrielle ; Unité économique de production. Entreprise publique. Libre entreprise : liberté de créer des entreprises. Entreprendre : verbe transitif. 1 Commencer à exécuter. Entreprendre un travail. 2 fam Tenter de convaincre, de persuader, de séduire. Entreprendre qqun sur un sujet. Page 1 sur 14
2. DEFINITION D UN SYSTEME D INFORMATION D un point de vue général un système d information doit permettre La production d information La mise en œuvre des moyens destinés à la réalisation cette production D un point de vue strictement informatique d un système d information doit permettre de Collecter des informations : Ces informations doivent être formelles (connues et existantes) Traiter et transmettre : Font référence à des opérations techniques Mémoriser : Doit être réalisé de façon ordonnée et non anarchique, archivage judicieux, structuration de façon à pouvoir retrouver rapidement l information 3. CONCEPTION D UN SYSTEME D INFORMATION Pour concevoir un système d information, il est nécessaire de s appuyer sur les concepts de modèle (modèles de traitement et modèles de données) Un modèle de données est un outil intellectuel qui permet une représentation du monde réel perçu au travers des informations. Il est suffisement puissant pour capter la sémantique des données et représente le lien qu il existe entre elles. Un modèle de traitement permet de modéliser l aspect dynamique de l organisation Un modèle possède bien souvent une représentation graphique Une méthode d analyse (méthode de conception ou d aide à la conception) représente un ensemble ordonné de règles opératoires qui permet de résoudre un problème en accord avec les concepts du modèle considéré Les informations en sortie peuvent être différentes selon les utilisateurs : le chef des ventes veut des statistiques de vente mensuelles pour les transmettre au service achat alors qu un employé veut les commandes au jour le jour. Pour pouvoir réaliser ces deux opérations, les données doivent suivre un formalisme rigoureux. Plusieurs méthodes d aide à la conception d un système d information existent : On peu se tourner vers la méthode merise qui malgré son âge reste toujours d actualité pour la conception des outils simples [2] et [3]. Je ne vous cache pas que la conception orientée (très en vogue actuellement) objet présente des difficultés importantes tant au niveau des concepts maniés que des outils à maîtriser (voir plus avant dans ce document) [4]. En ce qui concerne la suite de ce chapitre, qui détaille les aspects de conception, la méthode reste identique quelque soit les outils utilisés par la suite. Dans tout projet (que l on cherche à réussir) on doit mettre en place un cycle de développement qui passe par les étapes suivantes Page 2 sur 14
3.1. LA PHASE D ANALYSE Cette phase définie les attentes par rapport au projet. Elle coûte environ 20 à 30% des efforts liés au projet. C est une phase clé : Si elle est négligée, on risque de gros ennuis par la suite. 3.1.1. PROPOSITION INITIALE C est un document bref qui justifie de l intérêt de cette étude. On doit identifier les personnes impliquées et leur rôle, les structures intéressées dans l entreprise et définir les besoins de façon sommaire. Un état de l existant peut trouver sa place dans cette phase (description de l existant, avantages et contraintes) 3.1.2. ETUDE DE FAISABILITE Elle doit examiner l intérêt du nouvel outil en terme d avantages et de contraintes (ressources humaines, matérielles, ). Cette étude doit juger des capacités techniques : En disposons nous en interne? Devons nous faire appel à des ressources externes? Quel serait le coût? On devra étudier la faisabilité technique, économique, l analyse des motivations, le calendrier, la faisabilité opérationnelle (évaluation de l utilisation potentielle du système). Cette étude de faisabilité est donc une étude de risques associés au futur projet : risque technique, économique, humain, de délais et de risque lié aux évolutions de l entreprise. 3.1.3. ANALYSE DES BESOINS C est une étape primordiale et indispensable. Elle doit permettre d exprimer ce que doit réaliser le futur outil. Elle s exprime donc en terme de résultats attendus. Quels sont les besoins des utilisateurs? En fonction des organisations on pourra opter pour deux types d approches Descendante : Du responsable aux subalternes mais les soucis du chef peuvent être différents de ceux des subalternes Ascendante : Du personnel vers le responsable. On risque une profusion de détails et du coup une vision par trop parcellaire et donc une synthèse inadéquate. Cet aspect de définition des besoins est clairement la partie qui souvent pèche dans les PME 2. Arriver à motiver les utilisateurs et les responsables autour d un tel projet n a rien de simple. Il faut motiver les participants arriver à les intéresser aux résultats, à les impliquer. C est le rôle (pas toujours simple) du porteur de projet. 2 PME : Petite et Moyennes Entreprises. Page 3 sur 14
Pour cela il convient de réaliser des entretiens de groupe avec chacune des structures de l entreprise, des entretiens individuels, des réunions de mis en commun des idées (créativité). Il peut être intéressant de demander aux futurs utilisateurs de concevoir sur papier les écrans sur lesquels ils vont devoir travailler (Quelles informations ont ils besoin?), classer ces différentes informations de la plus essentielle à la moins nécessaire. Par exemple les questions à poser pourraient être : Au responsable commercial : Quelle forme doivent prendre les états mensuels? Avez vous besoin d exporter les données sous un tableur pour en réaliser des graphiques (par exemple)? Au gestionnaire des commandes au jour le jour : désirez-vous une alerte lorsque vous ouvrirez l outil? Quelle pourrait être la forme sous laquelle vous voulez voir apparaître les données? Par commande? Par client? Par date? Est il nécessaire d avoir une liaison vers les coordonnées du client concerné? Comment voulez vous voir cette information une fenêtre bondissante suite à un clic sur un bouton? Il est également important de prévoir les évolutions de l outil et son adaptabilité : changement de la définition des écrans (de 800 x 600 vers 1200 x 800) changement du type de programme de tableur (d Excel de Microsoft vers Calc d Openoffice par exemple). Enfin il convient de s intéresser à la sécurité. La sécurité en matière d accès : Qui doit avoir accès aux données? L accès en consultation est elle suffisante ou l accès en écriture est nécessaire? La sécurité en matière de sauvegarde : Quelle méthode de sauvegarde, incrémentiel, totale, incrémentiel tous les jours et totale une fois par semaine, sécurité de ces sauvegardes Cette étape de définition des besoins doit aboutir à un cahier des charges exhaustif et précis. 3.1.4. DESCRIPTION FONCTIONNELLE C est l analyse fonctionnelle. Les flux entrant et sortant, la séparation des opérations manuelles et automatiques, les fonctions réalisées par l application, l organigramme générale des traitements, les processus de contrôle et d audit Page 4 sur 14
3.2. CONCEPTION ET REALISATION 3.2.1. DESCRIPTION ORGANIQUE Cette étape à pour but de préciser les choix techniques. La phase d analyse joue un rôle très important dans la qualité du produit fini. Le logiciel (ou l application) est décomposé en éléments unitaires eux même décomposés en opérations unitaires pour faciliter la maintenance et les lectures ultérieurs 3.2.2. DESCRIPTION DES BASES DE DONNEES C est la description physique qui est réalisée à partir de la description conceptuelle du modèle. 3.2.3. ECRITURES DES PROGRAMMES C est du ressort des informaticiens. Ils doivent tenir compte des spécificités décrites dans les éléments précédents 3.2.4. PREPARATION DES PROCEDURES OPERATIONNELLES C est la réalisation du mode d emploi : manuel utilisateur, manuel de formation et manuel de maintenance. Ces manuels sont primordiaux quant à la pérennité de l outil malheureusement c est une phase qui est souvent négligée. 3.3. MISE EN PLACE Cette phase est délicate. Elle «coûte» environ 20% du temps. 3.3.1. BASCULEMENT VERS LE NOUVEAU SYSTEME Cela comprend les phases de test, la récupération des anciennes données, la formation des utilisateurs et l implantation du nouvel outil. 3.3.2. MAINTENANCE Matériel et logiciel : La prudence est de rigueur. Il ne faut pas croire que l on passe aisément d une version à une autre sans qu il y ait des «effets de bord». L installation d un nouveau pilote d impression peut tout compromettre (ça s est déjà vu ). Ne rien changer tant que l on aura pas pris le temps de réaliser des tests validés. Page 5 sur 14
3.3.3. AUDIT A POSTERIORI L audit est toujours nécessaire. Il permet de détecter les soucis et de prévoir leur correction Si le système est correctement conçu, on ne devrait pas avoir de problèmes insurmontables. Les modifications devrait être que mineures. Par contre si on doit réaliser des modifications de fond c est qu une des étapes a été négligée. Un manque d exhaustivité ou de précision dans le cahier des charges peut être? 4. LES BASE DE DONNEES 4.1. QU'EST-CE QU'UNE BASE DE DONNEES? Une base de données (son abréviation est BD, en anglais DB, database) est une entité dans laquelle il est possible de stocker des données de façon structurée et avec le moins de redondance possible. Ces données doivent pouvoir être utilisées par des programmes, par des utilisateurs différents. Ainsi, la notion de base de données est généralement couplée à celle de réseau, afin de pouvoir mettre en commun ces informations, d'où le nom de base. On parle généralement de système d'information pour désigner toute la structure regroupant les moyens mis en place pour pouvoir partager des données. 4.2. UTILITE D'UNE BASE DE DONNEES? Une base de données permet de mettre des données à la disposition d'utilisateurs pour une consultation, une saisie ou bien une mise à jour, tout en s'assurant des droits accordés à ces derniers. Cela est d'autant plus utile que les données informatiques sont de plus en plus nombreuses. Une base de données peut être locale, c'est-à-dire utilisable sur une machine par un utilisateur, ou bien répartie, c'est-à-dire que les informations sont stockées sur des machines distantes et accessibles par réseau. L'avantage majeur de l'utilisation de bases de données est la possibilité de pouvoir être accédées par plusieurs utilisateurs simultanément. Page 6 sur 14
4.3. LA GESTION DES BASES DE DONNEES Afin de pouvoir contrôler les données ainsi que les utilisateurs, le besoin d'un système de gestion s'est vite fait ressentir. La gestion de la base de données se fait grâce à un système appelé SGBD (système de gestion de bases de données) ou en anglais DBMS (Database management system). Le SGBD est un ensemble de services (applications logicielles) permettant de gérer les bases de données, c'est-à-dire: Permettre l'accès aux données de façon simple Autoriser un accès aux informations à de multiples utilisateurs Manipuler les données présentes dans la base de données (insertion, suppression, modification) 5. LES PRINCIPAUX SGBD Les principaux systèmes de gestion de bases de données sont les suivants: Borland Paradox Filemaker IBM DB2 Ingres Interbase Microsoft SQL server Microsoft Access Microsoft FoxPro Oracle Sybase MySQL PostgreSQL msql SQL Server 11 5.1. LES NIVEAUX ANSI/SPARC On définit des niveaux d'abstraction pour un système de gestion de bases de données: 1. Niveau interne (ou physique): Il définit la façon selon laquelle sont stockées les données et les méthodes pour y accéder 2. Niveau conceptuel: appelé aussi MCD (modèle conceptuel des données) ou MLD (modèle logique des données). Il définit l'arrangement des informations au sein de la base de données 3. Niveau externe: Il définit les vues des utilisateurs Page 7 sur 14
5.2. LES CARACTERISTIQUES D'UN SGBD L'architecture à trois niveaux définie par le standard ANSI/SPARC permet d'avoir une indépendance entre les données et les traitements. D'une manière générale un SGBD doit avoir les caractéristiques suivantes: Indépendance physique : Le niveau physique peut être modifié indépendamment du niveau conceptuel. Cela signifie que tous les aspects matériels de la base de données n'apparaissent pas pour l'utilisateur, il s'agit simplement d'une structure transparente de représentation des informations Indépendance logique : le niveau conceptuel doit pouvoir être modifié sans remettre en cause le niveau physique, c'est-à-dire que l'administrateur de la base doit pouvoir la faire évoluer sans que cela gêne les utilisateurs Manipulabilité : des personnes ne connaissant pas la base de données doivent être capables de décrire leurs requêtes sans faire référence à des éléments techniques de la base de données Rapidité des accès : le système doit pouvoir fournir les réponses aux requêtes le plus rapidement possible, cela implique des algorithmes de recherche rapides Administration centralisée : le SGBD doit permettre à l'administrateur de pouvoir manipuler les données, insérer des éléments, vérifier son intégrité de façon centralisée Limitation de la redondance : le SGBD doit pouvoir éviter dans la mesure du possible des informations redondantes, afin d'éviter d'une part un gaspillage d'espace mémoire mais aussi des erreurs Vérification de l'intégrité : les données doivent être cohérentes entre elles, de plus lorsque des éléments font référence à d'autres, ces derniers doivent être présents Partageabilité des données : le SGBD doit permettre l'accès simultané à la base de données par plusieurs utilisateurs Sécurité des données : Le SGBD doit présenter des mécanismes permettant de gérer les droits d'accès aux données selon les utilisateurs Les bases de données sont apparues à la fin des années 60, à une époque où la nécessité d'un système de gestion de l'information souple se faisait ressentir. Il existe cinq modèles de SGBD, différenciés selon la représentation des données qu'elle contient : 5.2.1. LE MODELE HIERARCHIQUE Les données sont classées hiérarchiquement, selon une arborescence descendante. Ce modèle utilise des pointeurs entre les différents enregistrements. Il s'agit du premier modèle de SGBD 5.2.2. LE MODELE RESEAU Comme le modèle hiérarchique ce modèle utilise des pointeurs vers des enregistrements. Toutefois la structure n'est plus forcément arborescente dans le sens descendant Page 8 sur 14
5.2.3. LE MODELE RELATIONNEL Les données sont enregistrées dans des tableaux à deux dimensions (lignes et colonnes). La manipulation de ces données se fait selon la théorie mathématique des relations 5.2.4. LE MODELE DEDUCTIF Les données sont représentées sous forme de table, mais leur manipulation se fait par calcul de prédicats 5.2.5. LE MODELE OBJET (SGBDO, SYSTEME DE GESTION DE BASES DE DONNEES OBJET) Les données sont stockées sous forme d'objets, c'est-à-dire de structures appelées classes présentant des données membres. Les champs sont des instances de ces classes. Cette méthode permet de regrouper dans une même entité les structures et les traitements. Ainsi l'approche 3 conceptuelle orientée objets repose sur quatre principes de base : l'abstraction des données, le partage des comportements, la prise en compte de l'évolution, la validité. L'abstraction des données consiste à permettre une approche à haut niveau d'abstraction offrant à l'utilisateur une vision externe des données proche de sa définition conceptuelle. Cette approche est possible grâce à la modularisation, qui consiste à structurer un problème en sous problèmes récursivement, et à la décision de cacher les détails d'implémentation à l'utilisateur, lui laissant pour seule tâche de comprendre le concept du produit et son mode d'emploi, sans se préoccuper de sa structure. Le principe de partage des comportements consiste à définir les entités par leur comportement, c'est à dire leur interface externe, et à faire partager ces comportements par les entités de nature identique ou semblable. Ce partage peut se faire par classification, c'est à dire en regroupant des entités semblables, donc possédant le même comportement, en classes. De plus, une taxonomie des classes peut être mise en oeuvre, permettant l'utilisation de mécanismes de spécialisation et d'inclusion. La prise en compte de l'évolution est facilitée par les deux aspects précédents. L'évolution peut avoir deux formes : l'évolution des besoins, nécessitant des modifications et des ajouts, et le développement d'un produit par la méthode incrémentale. L'approche objet permet de traiter ces deux aspects de manière similaire, et applique à l'ensemble du cycle de développement le modèle incrémental. L'approche objet est par essence évolutionnaire. 3 Le texte en italique provient de : http://membres.lycos.fr/pierret/ Copyright 1996, Christophe Pierret (pach2@club-internet.fr) et Patrice Lacouture Page 9 sur 14
Enfin, le souci de validité consiste à fournir au développeur des moyens de vérifier a priori la validité de la structure du système qu'il conçoit. Cette préoccupation n'a pas toujours été respectée par les systèmes orientés objets, mais elle est tout particulièrement importante dans des domaines où l'impossibilité pour un objet de répondre à un message potentiel est inacceptable et doit être détectée au plus tôt, en tous cas avant l'exécution en exploitation (applications temps réel ). A la fin des années 90 les bases relationnelles sont les bases de données les plus répandues (environ trois quarts des bases de données). De plus en plus de système s oriente vers le modèle orienté objet. 6. LES BASE DE DONNEES RELATIONELLES 6.1. INTRODUCTION Le fondement du modèle relationnel trouve son origine dans la théorie des ensembles aux fichiers informatiques. Les objectifs sont : 1. D utiliser des structures simples 2. Proposer des langages par différents types d utilisateurs 3. De proposer une indépendance entre données et traitement 4. De permettre des vues utilisateurs différentes des relations implantées La relation est la raison d être du modèle relationnel. On nomme relation une table mettant en relation des données ou plusieurs tables en relations entre elles. On caractérise une relation par : L occurrence : C est une ligne de la table La cardinalité : C est le nombre de lignes de cette relation Le degré : C est le nombre de colonnes d une relation L attribut : Cela défini les champs mémorisés dans la relation La clé : Attribut ou ensemble d attributs dont la valeur permet de distinguer de façon certaine les occurrences entre elles Je suis sincèrement désolé mais les bases des données sont comme l amour. Pour aller plus lion il faut aller plus prêt. C est pour cette raison que nous devrons aborder des notions peu simples mais parfaitement compréhensibles (puisque je les ai comprises) pour peu que l on s en donne la peine. Si vraiment vous êtes allergique à tout cela je vous conseille de lire, au moins, le présent chapitre. Page 10 sur 14
6.2. LA CONCEPTION Maintenant que vous connaissez tout sur les relations nous allons aborder quelques points particuliers de conception. 6.2.1. COMMENT FAIRE? UNE OU PLUSIEURS TABLES? C est simple. La question a poser est : Cette donnée risque-t-elle de se retrouver plusieurs fois dans ma table? Par exemple on conçoit un outil de gestion d adresse d entreprise. Il nous faut inclure plusieurs champs : raison_social, perm_adress, second_adress, code_postal, ville, pays, index_téléphonqie_pays, téléphone On remarque que le champ pays et que le champ index_téléphonique_pays risque de stocker souvent la même information (sans compter que l on aura à taper à chaque fois). La table ressemblera à : id_entrep raison_s ocial perm_ad ress second_a dress code_pos tal ville pays index_tél éphonqie _pays 1 Pamann Rue de la SA liberté BP 18 01 970 Berlin Allemagne 49 2 IMT Route de Monde Lyon 07 876 Paris France 33 3 Cassetout Rue de la démolition BP 32 98 654 Brest France 33 4 DB Rue vielle 04 568 Berlin Allemagne 49 5 ADSA Rue V Hugo BP 12 25 765 Viriat France 49 6 ATD Rue Foch 33 678 Brest France 49 7 Alpha Rue Joffre BP 26 98 765 Lyon France 33 8 DLT Rue des pommes 20 987 Londres Angleterre 44 9 APO Rue de la paix 17 675 Mâcon France 49 10 Longe Rue de la joie BP 1 14 876 Londres Angleterre 44 11 Croissant Rue des 19 765 Macon France 49 12 Pain et vin oiseaux Rue des plantes BP 18 08 678 Brest France 33 Page 11 sur 14
On peut donc «sortir» cette donnée de la table pour en faire une table secondaire qui stockerai les pays avec leurs indicatifs téléphoniques. Par une liaison on fera en sorte de ne pas perdre cette information que l on pourra retrouver aisément dans une requête. PAYS id_pays nom_pays index_téléphonqie_pays ENTREP id_entrep raison_social perm_adress second_adress code_postal ville pays téléphone id_entrep raison_s ocial perm_ad ress second_a dress code_pos tal 1 Pamann Rue de la SA liberté BP 18 01 970 Berlin 2 2 IMT Route de Monde Lyon 07 876 Paris 1 3 Cassetout Rue de la démolition BP 32 98 654 Brest 1 4 DB Rue vielle 04 568 Berlin 2 5 ADSA Rue V Hugo BP 12 25 765 Viriat 1 6 ATD Rue Foch 33 678 Brest 1 7 Alpha Rue Joffre BP 26 98 765 Lyon 1 8 DLT Rue des pommes 20 987 Londres 3 9 APO Rue de la paix 17 675 Mâcon 1 10 Longe Rue de la joie BP 1 14 876 Londres 3 11 Croissant Rue des 19 765 Macon 1 12 Pain et vin oiseaux Rue des plantes ville id_pays BP 18 08 678 Brest 1 id_pays pays index_téléphonqie_pays 1 France 33 2 Allemagne 49 3 Angleterre 44 Page 12 sur 14
En terme de stockage, le fait de stocker France «coûte» environ 6 octets et l indicatif téléphonique «coûte» 2 octets. Dans le premier cas où l on aurait 1000 adresses, le coût total serait de 8000 octets. Dans la seconde solution on stockera «France» et «33» une seule fois soit 8 octets. La liaison «coûtera» 1 octet par adresse soit 1000 octets. 1038 contre 8000. Il n y a pas photo. 6.2.2. L AUTO LIAISON Il existe des cas où on a besoin de rattacher des éléments à d autres éléments de la même table. Par exemple on veut faire la liste des composants d un groupe d ordinateur. Les éléments sont La carte réseau, l écran, le clavier la souris, la carte son,. Les informations saisies pour chacun de ces éléments sont identiques : définition, identification, fabricant, date achat, prix, référence, numéro de série. On fera en sorte de relier chacun de ses composants à l un des éléments de cette table. La table ressemblera à : clé définition fabricant date numéro de prix référence achat série n de clé parente 1 C réso 3 com 12/01 100 509tx 00AA6CF278 7 2 C réso 3 com 05/01 400 609tx 00AA6CF278 9 3 C réso 3 com 03/02 100 509tx 00AA6CF278 8 4 Clavier IBM 06/01 50 108 touches 818 8 5 Clavier Logitec 09/01 35 108 touches 659 7 6 Clavier HP 06/02 29 108 touches 200 9 7 PC Dell 06/01 800 Opt GX1 AFT-67HUC 8 PC Ass 09/01 478 KKKYT 9 PC HP 12/01 900 Vectra JH68975433 10 Ecran Yama 06/02 100 Vision2 HG765 9 On rattache chaque élément à un élément de la table. En ordonnant cette table on aura : clé définition fabricant date achat prix référence numéro de série n de clé parente 7 PC Dell 06/01 800 Opt GX1 AFT-67HUC 1 C réso 3 com 12/01 100 509tx 00AA6CF278 7 5 Clavier Logitec 09/01 35 108 touches 659 7 8 PC Ass 09/01 478 KKKYT 3 C réso 3 com 03/02 100 509tx 00AA6CF278 8 4 Clavier IBM 06/01 50 108 touches 818 8 9 PC HP 12/01 900 Vectra JH68975433 2 C réso 3 com 05/01 400 609tx 00AA6CF278 9 6 Clavier HP 06/02 29 108 touches 200 9 10 Ecran Yama 06/02 100 Vision2 HG765 9 Page 13 sur 14
7. BIBLIOGRAPHIE ET DEFINITION [1] Les bases de données relationnelles. André FLORY et Frédéric LAFOREST. Edition Economica. ISBN : 2-7178-4361-2 [2] Merise conception et mise en œuvre. Drifa SEBA. Collection Ressources informatiques. Edition ENI. ISBN : 2-7460-7460-2125-0 [3] L essentiel sur merise. Dominique DIONISI. Edition Eyrolles. ISBN : 2-212-09046-3 [4] Introduction à UML. Tom PENDERS. Edition OEM.ISBN : 2-7464-0442-7 [5] http://www.commentcamarche.net/ [6] http://membres.lycos.fr/pierret/ Page 14 sur 14