Apprentissage de la conception des bases de données

Cours apprentissage de la conception des bases de données, tutoriel & guide de travaux pratiques en pdf.

CONCEPTION DE LA BASE DE DONNÉES

Dans une première approche, on peut dire que concevoir une base de données c’est notamment mettre en évidence les informations qu’il conviendra de stocker et imaginer pour elles une structure, une organisation qui permette par la suite une gestion facile et rapide de ces informations. Il est à ce moment assez facile de montrer par quelques exemples que le fait de représenter une même information à plusieurs endroits constitue un danger potentiel d’incohérence pour la base de données. Si chaque fiche « Elève » d’une école reprend les nom et adresse des parents, on conçoit bien qu’avec un peu d’inattention un changement d’adresse risque fort de ne pas être répercuté sur toutes les fiches des enfants d’une même famille. L’information que l’on peut alors extraire de la base de données n’est pas cohérente : on dira que la BD a perdu son intégrité.
Il ne faut pas perdre de vue que la base de données et le progiciel qui en permet la gestion ne sont que des outils destinés à être employés par des êtres humains. Il s’ensuit que toute l’attention du concepteur devra être centrée sur la nécessité d’établir un maximum de « garde-fous » pour limiter le plus possible le risque d’introduire des « erreurs » dans la base de données. Au premier rang de ces mesures visant à assurer l’intégrité de l’information, vient la suppression de la redondance : une information spécifique ne peut être présente qu’une seule fois dans la base.
La présentation du modèle relationnel (ou je préfère parler de tables, de colonnes et de lignes que de relations, d’attributs et de n-upplet) montre une méthode d’organisation simple qui permet de résoudre élégamment le problème de la redondance. L’auditoire est généralement très satisfait de la solution proposée. Si l’exemple est simple (une table ELEVE et une table PARENT pour résoudre le problème évoqué plus haut) cela paraît même évident. En intégrant à ce schéma d’autres « éléments » (tels que cours, classes, locaux, profs, …) on arrive vite à se poser des questions au sujet de la répartition des informations dans les différentes tables. Il est dès lors intéressant de s’armer d’une méthode de travail assez systématique pour conduire le concepteur depuis l’observation du « réel » (l’école, par exemple) jusqu’au schéma de la base adaptée à l’outil logiciel qui aura été retenu. Ce sera dBASE III dans notre cas mais R:BASE, Paradox, Ommis, voire même Oracle pourraient très bien convenir.
L’expérience montrera que ce choix n’est certes pas gratuit et conditionne sérieusement la facilité ou la rapidité d’accès aux informations. Il n’en reste pas moins secondaire comparé à la nécessité de mettre en oeuvre une organisation de BD qui permette l’accès à un maximum d’informations tout en veillant à en assurer l’intégrité.
La méthode de conception que je propose n’est autre qu’une synthèse simplifiée des méthodes les plus employées aujourd’hui dans l’informatique de gestion(4). Pour le public qui nous occupe, le fait même de proposer une méthode est à la fois sécurisant et novateur. Ces deux qualités conduisent à éloigner un peu plus le traditionnel « feeling » du professionnel que ne peut espérer le débutant. Par ailleurs, les simplifications apportées n’ont pas seulement pour but d’adapter le discours au public mais aussi de le débarasser des aspects qui ne pourront de toute façon pas être mis en oeuvre avec les progiciels destinés aux micro-ordinateurs(5).

QUE VOIS-JE ?

Voilà bien la première question à se poser : toute base de données est supposée contenir des informations « attachées » à une partie plus ou moins grande du monde réel. Tantôt, il s’agira d’une école, d’une bibliothèque, d’un cabinet médical … Nous allons nous intéresser, à titre d’exemple, à construire une base de données adaptée aux besoins d’une institution qui dispense des formations à des enseignants telle que le CeFIS.
Pour être sûr de réaliser un outil qui « colle » à la réalité (retenir les informations utiles, toutes celles qui sont utiles mais aussi rien que celles qui sont utiles) il convient de réaliser d’abord un portrait le plus fidèle et le plus précis possible de cette « réalité ». Il faudra veiller aussi à être très concis en ne reprenant que les informations qui présentent (ou présenteront dans un avenir raisonnable(6)) un intérêt réel pour l’utilisateur. Répondre à la question « Que vois-je ? », c’est donc établir ce que les professionnels appelleront un schéma conceptuel.
J’ai ici retenu le modèle entité – association comme outil de représentation du schéma conceptuel. Outre le fait qu’il est celui dont l’usage est le plus répandu, il offre l’avantage d’être facilement compréhensible par chacun du fait de son faible niveau de formalisme.
Les étapes préconisées pour l’établissement du schéma conceptuel peuvent être décomposées comme suit :
a) Relever les informations qui sont manipulées et les règles qui sont appliquées lors de la gestion de « l’organisme » que l’on se propose d’informatiser.
Dans le cadre de la démarche décrite ici, l’approche intuitive, basée d’une part sur la discussion avec les utilisateurs réels et d’autre part, sur l’examen des documents existants (fichiers manuels, formulaires, …) est suffisamment efficace si elle est réalisée avec soin. On pourra ainsi dresser une sorte de dictionnaires des informations.
Dans le cas de l’institution de formation, on y trouve notamment :
– Intitulé du cours
– Nom de l’étudiant (7)
(5) Les méthodes « classiques » visent généralement l’informatisation d’entreprises entières et conduisent à des outils (base de données et applications) nécessitant des moyens puissants (mini-ordinateurs ou mainframe).
– Adresse de l’étudiant
– Nom de l’institution (où travaille l’étudiant)
– Adresse de l’institution
– Prix du cours
– Date de début du cours
– Date de naissance de l’étudiant
– …
On perçoit bien ici le rôle de la langue : il s’agit de désigner par un vocable non équivoque toutes les informations manipulées. Cela n’est pas une tâche simple car il faut de plus repérer et éliminer les informations qui peuvent être déduites ou calculées à partir d’autres informations déjà répertoriées. Chacune de ces informations constitueront bientôt les attributs de notre schéma entité – association.
La démarche employée pour effectuer cette recherche peut prendre tour à tour une orientation descendante (on met en évidence des « objets » tels que étudiant, institution, …
et on en relève les caractéristiques pertinentes) ou ascendante (on relève dans des documents ou par des interviews, des informations que l’on rattache ensuite aux entités). L’essentiel est d’obtenir un dictionnaire d’informations le plus complet possible.
Cette description doit nécessairement être accompagnée d’une série d’expressions décrivant les règles de fonctionnement de « l’organisme ». En voici quelques exemples :
* Un étudiant peut s’inscrire à plusieurs cours
* On doit pouvoir enregistrer les paiements des cours
* On ne retient qu’une seule institution par étudiant
* Les étudiants ne peuvent être âgés de plus de 30 ans
* …
Cette phase du travail est particulièrement importante car elle conditionnera toute la suite des opérations. Il convient donc de la mener avec soin en veillant à n’écarter d’office aucune proposition.
Au point de vue méthodologie, j’ai souvent trouvé avantageux de proposer cette phase de travail dans le cadre d’un « devoir à domicile » puis d’organiser ensuite une synthèse commune où toutes les idées sont reprises et confrontées.
La figure suivante illustre cette première phase du « Que vois-je ? » qui va se poursuivre par la
b) Elaborer l’ossature du schéma en regroupant les attributs dans des types d’entités et en installant des types d’associations.
On peut très vite et très naturellement, en examinant le dictionnaire des attributs, regrouper ceux d’entre eux qui vont « manifestement » ensemble. On regroupe ainsi d’une part nom de l’étudiant et adresse de l’étudiant, d’autre part intitulé du cours, prix du cours, date de début du cours, et ainsi de suite. Chaque groupement reçoit un nom de type d’entité.

Cours gratuitTélécharger le cours complet

Télécharger aussi :

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *