• Aucun résultat trouvé

De l’analyse à la base de données

Le modèle de données est une abstraction du monde réel Un modèle de données (data model, en anglais) est une

description formelle et structurée des données et de leurs relations dans un système d'information. La figure 2-1 montre l'exemple d'une entreprise qui, pour gérer ses projets informatiques, doit rassembler des informations sur ses employés, sur ses projets et ses départements.

L'entreprise devra construire un modèle de données où seront définies les classes de données requises (catégories de données) et leurs dépendances. À ce stade, les classes de données, ou ensembles d'entités dans notre terminologie spécialisée, et les ensembles de liaisons sont définis indépendamment des ordinateurs et des systèmes de bases de données qui serviront plus tard à la saisie, au stockage et à la mise à jour des informations. Du point de vue des utilisateurs, cette indépendance a pour but d’assurer la stabilité des données et de leurs relations face au développement des systèmes informatiques et à l'évolution des logiciels.

Les trois phases pour construire un modèle de

données De la description d’une portion du monde réel jusqu’à

l’élaboration d’une base de données proprement dite, la méthode de travail comporte trois phases majeures : l'analyse des données, la construction d'un modèle entité-association et sa conversion en un schéma de base de données relationnelle.

Première phase : analyse des données et de leurs relations La première phase, l'analyse de données, vise à déterminer, en

collaboration avec les utilisateurs, les données nécessaires à un système d'information, leurs relations ainsi que la structure des ensembles qui en résultent. C'est ainsi qu'on parvient à délimiter dès le début les frontières d'un système. À travers une démarche itérative, les interviews, l'analyse des besoins, les questionnaires, les formulaires, etc., doivent permettre de produire une documentation

complète. Elle contient obligatoirement une description narrative du mandat avec des objectifs clairement définis, ainsi qu'une liste des informations factuelles pertinentes (voir l'exemple dans la figure 2-1).

Dans la phase d'analyse, la description narrative des relations entre les données est complétée par leur représentation graphique ou illustrée d’un exemple récapitulatif. Durant cette phase, il est crucial de formuler, dans le langage des utilisateurs, les faits nécessaires au développement ultérieur d'une base de données.

Deuxième phase : définition des ensembles d’entités et de liens

La deuxième phase d'abstraction vise à concevoir un modèle entité-association (entity relationship model, en anglais) où l'on définit les ensembles d'entités et les ensembles de liens entre ces entités. Dans ce modèle, les ensembles d'entités sont représentés graphiquement par des rectangles, et les ensembles de liens par des losanges. Partant de l'analyse des données présentée dans la figure 2 1 on découvre trois principaux ensembles d'entités : DÉPARTEMENT, EMPLOYÉ et PROJET1. Pour savoir dans quel département et sur quel projet travaille chaque employé, on définit deux ensembles de liens : AFFECTATION et APPARTENANCE, que l'on connecte aux trois ensembles d'entités dans le diagramme. Ainsi, un modèle entité-association permet de structurer et de visualiser avec clarté les faits recueillis dans la phase d'analyse des données. Il convient de souligner ici qu'il n'est pas toujours facile d'identifier des ensembles d'entités et de liens ainsi que leurs attributs de manière unique. Bien au contraire, la phase de conception exige de la compétence et de l'expérience pratique de la part de l’architecte de données.

Troisième phase : conception du schéma de la base de données relationnelle

La troisième phase a pour but de convertir le modèle entité-association en un schéma de base de données relationnelle (relational database schema, en anglais). Définir un schéma de base de données, c'est fournir une description formelle des objets dans la base de données considérée. Sachant qu'une base de données relationnelle n'admet que des tables comme objets, on doit donc exprimer tous les ensembles d'entités et de liens sous forme de tables.

1 Comme pour les noms de tables, nous écrivons en majuscules les noms des ensembles d'entités et des ensembles de liens.

Figure 2-1 Les principales phases de la modélisation des données

Dans la figure 2-1, une table est créée pour chacun des trois ensembles d'entités, à savoir DÉPARTEMENT, EMPLOYÉ et PROJET. Pour représenter sous forme tabulaire les liens entre les ensembles d’entités, on définit pour chaque ensemble de liens une table distincte

Pour le contrôle des projets, chaque département doit enregistrer périodiquement des données sur ses employés, les coûts et les durées des projets

1. Chaque employé est affecté à un seul département.

2. Un numéro de projet unique est attribué à chaque projet de manière centralisée.

3. Un employé peut travailler sur plusieurs projets simultanément. Le degré de sa participation à un projet s'exprime en pour-cent.

4. . . . BUT

Date 14.7.2005 Mandat No112 ANALYSE DE DONNÉES

DÉPARTEMENT

EMPLOYÉ AFFECTATION

APPARTE-NANCE PROJET

Modèle entité-association

Ensemble d'entités Ensemble de liens

DÉPARTEMENT D# Description

EMPLOYÉ

E# Nom Rue Ville

AFFECTATION

E# D#

PROJET

P# Contenu

APPARTENANCE

M# P# % Participation

Schéma de la base de données relationnelle

qui contient obligatoirement les clés des ensembles d'entités participant à la liaison considérée, appelées clés étrangères, et éventuellement d'autres attributs qui caractérisent cette liaison. Dans notre exemple, la table AFFECTATION contient deux clés étrangères, le numéro de l'employé et celui du département ; la table APPARTENANCE contient deux clés étrangères, le numéro de l'employé et celui du projet, et un attribut supplémentaire, le degré de participation au projet, exprimé en pour-cent.

L’analyse et la conception se réalisent indépendamment des considérations techniques

Nous venons d'exposer de manière sommaire la conduite d'une analyse des données, le développement d'un modèle entité-association et la définition d'un schéma de base de données relationnelle. Le but principal de l'exposé est de souligner l’importance de concevoir une base de données à partir d’un modèle entité-association. Cette approche permet, dans un premier temps, d'identifier et d'étudier avec les utilisateurs les aspects propres à la modélisation des données indépendamment de tout système de bases de données particulier.

C'est dans une phase de conception ultérieure qu'on définira ensuite un schéma de base de données en appliquant, dans le cas d'un modèle relationnel, des règles de conversion clairement établies (voir section 2.3).