0% ont trouvé ce document utile (0 vote)
94 vues74 pages

MERISE

Cours sur les bases de données

Transféré par

Salimou Diaby
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
94 vues74 pages

MERISE

Cours sur les bases de données

Transféré par

Salimou Diaby
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

LES SYSTEMES DE GESTION DE

BASES DE DONNEES

VERSION 2.0

MANUEL DE L'ETUDIANT
Préface
Symboles utilisés à l'intérieur de cet ouvrage:

Paragraphe important

Exercice

Exercice TP

Remarque pédagogique

Manipulation sur logiciel


Table des matières:

1. Analyse des systèmes d'information 4


1.1 Introduction 4
1.2 Définition de l'information et des systèmes d'information 5
1.3 Les données, les traitements et les informations 6
1.4 La représentation informatique des données 7
2. Démarche de modélisation des données 8
2.1 Le groupe d'étude (angl. Project group) 8
2.2 Les étapes 9
2.3 Sources d'information 10
3. Méthode de modélisation des données 11
3.1 Définition 11
3.2 Pourquoi modéliser ? 12
3.3 Le modèle conceptuel des données (MCD) 14
3.3.1 Définition 14
3.3.2 La notion d'entité 15
3.3.3 La notion de propriété 16
3.3.4 La notion d'identifiant 18
3.3.5 La notion d'association 19
[Link] Définition 19
[Link] Les cardinalités d'une association 20
[Link] Propriétés d'une association 24
3.3.6 Exemple "KaafKaaf" 25
3.3.7 Exemple "Gestion d'école" 29
3.3.8 L’utilisation d’une association ternaire 31
3.3.9 Les contraintes d'intégrité fonctionnelle (CIF) 32
3.3.10 Exercices 34
3.3.11 Cas particuliers du MCD 42
[Link] Plusieurs associations différentes entre deux entités 42
[Link] Association réflexive et rôle d'une patte d'association 42
[Link] La notion d'identifiant relatif 43
[Link] Historisation 44
3.3.12 Exercices 45
3.4 Le modèle logique des données (MLD) 51
3.4.1 Définition 51
3.4.2 Règles de transformation du MCD au MLD 53
[Link] Transformation des entités 53
[Link] Transformation des associations binaires du type (x,n) – (x,1) 53
[Link] Transformation des associations binaires du type (x,1) – (x,1) 54
[Link] Transformation des associations binaires du type (x,n) – (x,n) 55
[Link] Transformation des associations ternaires 55
[Link] Transformation de plusieurs associations entre 2 entités 56
[Link] Transformation des associations réflexives 56
[Link] Transformation de l'identifiant relatif 57
[Link] Transformation de l'historisation 58
3.4.3 Exemple "KaafKaaf" 60
3.4.4 Exercices 61
Modélisation d'un système d'information

Modélisation d'un système d'information


1. Analyse des systèmes d'information

1.1 Introduction
La compétitivité d'une entreprise ainsi que sa valeur sur le marché sont déterminées par plusieurs éléments,
d'une importance différente selon le secteur d'activité. On peut généralement regrouper ces éléments en deux
classes:

1. Les éléments matériels


 L'infrastructure
 Les supports financiers

2. Les éléments intellectuels


 La compétence des employés
 La motivation des employés
 Le recueil et l'exploitation optimale des informations utiles

Depuis quelques années, les responsables des entreprises (banques, assurances, industrie etc. ) ont davantage
reconnu et admis que la gestion et l'exploitation des informations sont un facteur de compétitivité à ne pas
négliger.

Le développement rapide de l'informatique a donné aux entreprises la possibilité d'utiliser des moyens
avancés et puissants pour gérer et exploiter de très grands volumes de données. Il y a quelques années, le
domaine de la gestion informatique des données était réservé aux informaticiens. Actuellement, les tendances
à l'intérieur des entreprises ont changé de façon à ce que tous les employés soient de plus en plus impliqués
dans les différents procédés liés à la gestion et l'exploitation des données. De cette façon, un certain niveau
de connaissance des principes et des outils standards de l'informatique est aujourd'hui requis pour la
plupart des postes disponibles dans les entreprises.

Toutefois, il ne suffit pas d'utiliser les ressources informatiques les plus sophistiquées pour exploiter au mieux
les données. En parallèle avec les outils informatiques utiles pour gérer des données, tels que les ordinateurs
de plus en plus puissants et les logiciels adaptés (SGBD, Tableur etc.), ont été développées des méthodes
d'analyse et de conception de systèmes d'information. Ces méthodes nous offrent la possibilité d'analyser un
système d'information naturel, tel que par exemple la gestion des livres d'une librairie ou la gestion des
sinistres d'une compagnie d'assurances, de concevoir ensuite un modèle qui représente ce système et
d'implémenter finalement un système informatique, basé sur ce modèle.

Proposé par M. Mohamed Lamine Keita 4 UNISIM/IPROSIM


Modélisation d'un système d'information

1.2 Définition de l'information et des systèmes


d'information

Une information est un élément qui permet de compléter notre connaissance sur une personne, un
objet, un événement … .

Exemple: Le nom d'une personne est une information concernant cette personne.
La couleur d'une voiture est une information concernant cette voiture.
La date de la fête scolaire est une information concernant cet événement.

Un système d'information est constitué par l'ensemble des informations relatives à un domaine
bien défini.

Exemple: Toutes les informations relatives à la gestion d'une librairie constituent le système d'information de
cette librairie. Ce système peut couvrir le simple stockage des livres, mais également la gestion des
commandes, des ventes et même des clients.

Un système d'information ne doit pas nécessairement être informatisé. Bien que la plupart des systèmes
actuels se basent sur la technologie de l'informatique, il existe encore des systèmes d'information où
l'information est stockée, manipulée et communiquée à l'aide de moyens "traditionnels" tels que armoires,
classeurs, calculatrices, fiches sur papier etc. .

Un système d'information existe indépendamment des techniques informatiques.

Le système d'information ne doit pas être confondu avec le système informatique qui est constitué par les
éléments suivants:

 Les ordinateurs
 Les programmes
 Les structures de données (Fichiers, Bases de données)

Dans ce chapitre nous allons découvrir une démarche d'informatisation, qui nous permet de modéliser un
système d'information et de le représenter à l'aide d'un système informatique. Le but de cette démarche est de
concevoir des systèmes stables et optimisés en termes de performance, de fiabilité et de convivialité.

Proposé par M. Mohamed Lamine Keita 5 UNISIM/IPROSIM


Modélisation d'un système d'information

1.3 Les données, les traitements et les informations


Bien que les deux termes "informations" et "données" soient souvent utilisés comme synonymes1, il existe une
différence subtile entre eux.

Prenons un exemple:

Dans une librairie, un client demande au vendeur si le livre "L'étrange destin de Wangrin" (Amadou
Hampaté Bah) est disponible en stock. Le vendeur consulte la base de données de la librairie à l'aide de son
ordinateur et confirme au client que le livre est disponible. Le vendeur a donc donné au client l'information
que le livre est en stock. Afin de pouvoir donner cette information, le vendeur a du consulter les données qui
représentent le stock de la librairie. Le fait de consulter le stock constitue un traitement sur les données du
stock.

Nous pouvons généraliser:

Informations Informations
Système
entrantes sortantes
d'information

Un système d'information contient les données et les traitements nécessaires pour assimiler et
stocker les informations entrantes et produire les informations sortantes.

Dans les systèmes d'information nous retrouvons généralement les traitements suivants:
 Consultation des données;
 Ajout de données;
 Suppression de données;
 Modification de données.

Exemple:

Le propriétaire d'une vidéothèque reçoit une livraison avec des nouvelles cassettes vidéo. Pour chaque
cassette vidéo, il lit le titre, la langue et la durée et sauvegarde ces informations dans la base de données de la
vidéothèque. Il a donc utilisé un traitement d'ajout de données afin de transformer les informations entrantes
(titre, langue, durée) en données.

1
Deux mots sont synonymes quand ils désignent une même chose.

Proposé par M. Mohamed Lamine Keita 6 UNISIM/IPROSIM


Modélisation d'un système d'information

1.4 La représentation informatique des données


Les données d'un système d'information peuvent être stockées et manipulées à l'aide d'un outil informatique
spécialisé dans ce domaine. Actuellement les Systèmes de Gestion de Bases de Données (SGBD)
constituent le type de logiciel le mieux adapté pour implémenter la plupart des systèmes d'information.
Sachant que les tables forment la base de stockage d'une base de données, on peut représenter n'importe quel
système d'information par un ensemble de tables dont chacune contient un certain nombre de champs de
données. Nous allons voir qu'on peut même définir des liens entre ces tables via des champs communs.

Proposé par M. Mohamed Lamine Keita 7 UNISIM/IPROSIM


Modélisation d'un système d'information

2. Démarche de modélisation des données

2.1 Le groupe d'étude (angl. Project group)


Un système d'information qui n'est pas trop complexe et volumineux en terme d'informations, peut facilement
être informatisé par une seule personne, qui ne doit pas nécessairement être un informaticien. Il suffit d'être
un peu familiarisé avec une méthode de modélisation, et de savoir manipuler un SGBD pour réaliser une
implémentation informatique, cohérente et fonctionnelle, d'un tel système d'information.

Dès que le système d'information atteint une certaine envergure (par exemple: informatiser la gestion des
sinistres d'une compagnie d'assurances), un groupe d'étude est généralement créé.

Ce groupe ne devra en aucun cas contenir seulement des informaticiens mais également:

 Un ou plusieurs représentants des futurs utilisateurs du système informatisé


(Par exemple: Un employé du service qui gère les sinistres) ;

 Un ou plusieurs représentants de chaque département impliqué


(Par exemple: Un employé du service des contrats ) ;

 Un représentant de la direction.

Généralement, un responsable du groupe (angl. Project Manager) est nommé, afin de coordonner les travaux
effectués par le groupe et de suivre le déroulement à partir de l'analyse jusqu'à la mise en place du système
informatisé.

Proposé par M. Mohamed Lamine Keita 8 UNISIM/IPROSIM


Modélisation d'un système d'information

2.2 Les étapes


Chaque projet d'informatisation, qu'il soit exécuté par une seule personne, ou géré par un groupe d'étude,
prévoit plusieurs étapes.

En général, nous avons les étapes suivantes:

1. Analyse de la situation existante et des besoins

2. Création d'une série de modèles qui permettent de représenter tous les aspects importants

3. A partir des modèles, implémentation d'une base de données

Proposé par M. Mohamed Lamine Keita 9 UNISIM/IPROSIM


Modélisation d'un système d'information

2.3 Sources d'information


La première étape de chaque projet est donc l'analyse de l'existant et des besoins. Afin de pouvoir réaliser une
analyse correcte sur laquelle on peut baser la suite du projet, il faut d'abord identifier les sources
d'information, et puis collectionner exactement les informations importantes pour le projet.

Sources d'information primaires:


 L'interview avec les utilisateurs;
 L'étude de documents provenant du système d'information actuel (Rapports, Bons de commandes, Factures
…).

Pour les projets d'une certaine envergure s'ajoutent:


 L'interview avec les responsables des services impliqués;
 Pourvu que la tâche d'analyse soit partagée entre plusieurs membres du groupe d'études, il faut coordonner
les actions et comparer les résultats avec les autres membres.

Pour les projets qui se basent sur un système déjà partiellement informatisé s'ajoute:
 L'étude de l'application informatique existante.

Proposé par M. Mohamed Lamine Keita 10 UNISIM/IPROSIM


Modélisation d'un système d'information

3. Méthode de modélisation des données

3.1 Définition
Nous avons vu que la démarche classique d'un projet informatique comprend les étapes suivantes:
1. Analyse de la situation existante et des besoins;
2. Création d'une série de modèles, qui permettent de représenter tous les aspects importants;
3. A partir des modèles, implémentation d'une base de données.
En ce qui concerne la première étape, nous n'allons pas introduire de vraies règles, mais simplement utiliser
nos connaissances de gestion d'une entreprise, notre esprit ouvert et même notre fantaisie pour analyser
correctement la situation existante et les besoins des utilisateurs. Le résultat de l'analyse est généralement un
ou plusieurs documents, qui contiennent les indications principales sur le fonctionnement désiré du système
informatisé. Le document d'analyse contient souvent déjà des prototypes de certains documents importants,
que le futur système devra être capable de produire.
Une fois que l'analyse est terminée, il s'agit d'élaborer une série de modèles, basés sur le document d'analyse.
Ces modèles nous permettront plus tard d'implémenter une base de données, qui contiendra toutes les
informations nécessaires au bon fonctionnement du système informatisé.
La création de ces modèles se fait selon une certaine méthode. Nous allons baser notre cours sur la
méthode MERISE (Méthode d'Etude et de Réalisation Informatique de Systèmes d'Entreprise), qui a été
développée pendant les années '70 sous l'impulsion du ministère français de l'industrie. Merise est aujourd'hui
largement répandue au Luxembourg, mais également dans beaucoup d'autres pays européens.

MERISE prévoit une conception par niveaux, et définit pour cela 3 niveaux essentiels:

1. Le niveau conceptuel, qui se base directement sur l'analyse, décrit l'ensemble des données du système
d'information, sans tenir compte de l'implémentation informatique de ces données. Ce niveau, qui
représente donc la signification des données, se traduit par un formalisme que nous appelons:

Modèle conceptuel des données (MCD)

2. Le niveau logique, qui se base sur le modèle conceptuel des données, prend en considération
l'implémentation du système d'information par un SGBD. Ce niveau introduit la notion des tables logiques,
et constitue donc le premier pas vers les tables des SGBD. Ce niveau est représenté par le:

Modèle logique des données (MLD)

3. Le niveau physique, qui se base sur le modèle logique des données, contient finalement les tables définies
à l’aide d’un SGBD spécifique ([Link]. MS Access, dBASE, Oracle …). Ce niveau est représenté par le:

Modèle physique des données (MPD)

Voici donc les 4 étapes nécessaires pour traduire un système d'information naturel en une base de données:

Analyse

MCD

MLD

MPD
Proposé par M. Mohamed Lamine Keita 11 UNISIM/IPROSIM
Modélisation d'un système d'information

3.2 Pourquoi modéliser ?


Nous avons vu qu’une base de données est constituée par un ensemble de tables qui contiennent toutes les
données de la base. Une méthode de modélisation nous permet de trouver le bon nombre de tables pour une
base de données et de déterminer quelles données sont représentées à l’intérieur de quelle table.

Pour l’instant, il nous suffit de savoir qu’une table est un ensemble d’enregistrements, dont chacun est
composé par les mêmes champs de données. On pourrait comparer une table à une liste en MS-Excel1.
Voici un exemple d’une table :
Un champ
de données

Marque Modèle Cylindrée Poids


BMW 525i 2500 1360
Ford Orion 1800 1080 Un enregistrement
BMW 320i 2000 1200
... ... ... ...

A l’aide d’un exemple précis, nous allons voir pourquoi il est important de bien réfléchir sur le nombre de
tables d’une base de données et sur la structure de chaque table.

Il s’agit de créer une base de données pour une caisse de maladie. On veut stocker tous les employés-membres
de la caisse avec leur société-employeur. Afin de faciliter l’exercice, nous allons uniquement stocker les
informations suivantes pour chaque employé:

 le numéro de l’employé
 le nom de l’employé
 le prénom de l’employé
 le numéro de son entreprise
 le nom de son entreprise
 la localité où se trouve l’entreprise

A première vue, la solution suivante s’impose :

NoEmp Nom_Emp Prénom_Emp NoEntr Nom_Entr Localité


102 Boesch Emil 1 Schaffgaer S.à r.l. Differdange
103 Midd Erny 2 Gudjär Colmar Berg
104 Witz Evelyne 1 Schaffgaer S.à r.l. Differdange
105 Kuhl Menn 1 Schaffgaer S.à r.l. Differdange
106 Super Jhemp 2 Gudjär Colmar Berg
... ... ... ... ... ...
Nous voyons ici uniquement quelques enregistrements. Une caisse de maladie ayant des miliers de membres,
et cette table possédant un enregistrement par membre, on peut bien s’imaginer la taille réelle de la table.

Hors cette solution, bien qu’elle soit correcte dans le sens le plus large du terme, nous impose un certain
nombre de problèmes .

1
voir cours de la classe 12CG

Proposé par M. Mohamed Lamine Keita 12 UNISIM/IPROSIM


Modélisation d'un système d'information

Exercice 1

Essayez de trouver en discussion quelques problèmes qui peuvent se manifester lors du travail journalier avec
cette table.

Exercice 2

Comment est-ce qu’on pourrait éviter ces problèmes sans toutefois perdre des informations ?

Proposé par M. Mohamed Lamine Keita 13 UNISIM/IPROSIM


Modélisation d'un système d'information

3.3 Le modèle conceptuel des données (MCD)


3.3.1 Définition

En se basant sur un document d'analyse, le modèle conceptuel des données (MCD) fait référence à tous les
objets du système d'information et à des associations entre ces objets. Le formalisme utilisé dans ce modèle
est encore connu sous le nom de "Schéma Entité-Association". Ce formalisme se base autour de 3 concepts
principaux, les entités, les associations et les propriétés.

Voici par exemple un MCD qui représente une entreprise avec ses employés.

Entité

Relation Propriété

Nous allons par la suite détailler le rôle de ces 3 concepts de base du MCD.

Proposé par M. Mohamed Lamine Keita 14 UNISIM/IPROSIM


Modélisation d'un système d'information

3.3.2 La notion d'entité

Une entité permet de modéliser un ensemble d'objets concrets ou abstraits de même nature.

Dans l'exemple du chapitre précédent , l'entité Entreprise spécifie donc l'ensemble des entreprises, qui nous
intéressent dans le contexte de notre système d'information. De même, l'entité Employés représente tous les
employés de notre système d'information.

Une entité est caractérisée par son nom et ses propriétés.

Représentation graphique:

Prenons par exemple une entité Client:

Voici quelques exemples de clients:

Chacun de ces clients représente une occurrence de l'entité Client.

Proposé par M. Mohamed Lamine Keita 15 UNISIM/IPROSIM


Modélisation d'un système d'information

3.3.3 La notion de propriété

Une propriété est une donnée élémentaire d'une entité.

Une propriété est unique dans un MCD; et ne peut pas être rattachée à plusieurs entités
différentes.

Représentation graphique d'une propriété:


Le nom de la propriété est indiqué à l'intérieur du rectangle qui représente l'entité correspondante.

Voici quelques exemples de propriétés:

Pour une entité Client:


 Nom du client
 No.Tél. du client

Pour une entité Salarié:


 Nom du salarié
 No. Matricule
 Salaire mensuel

Pour une entité Contrat d'assurance:


 No Contrat
 Type d'assurance
 Montant assuré

A l'intérieur des occurrences, les propriétés prennent des valeurs

Exemple:

L'entité Client est définie par les propriétés suivantes:

A l'intérieur de chaque occurrence, chaque propriété prend une valeur, qui est dans la plupart des cas une
valeur numérique, une valeur sous forme de texte ou encore une date.

Proposé par M. Mohamed Lamine Keita 16 UNISIM/IPROSIM


Modélisation d'un système d'information

La propriété Nom prend [Link]. les valeurs "Meier", "Muller" et "Weber" dans les 3 occurrences.

A l’intérieur de chaque occurrence, chaque propriété ne prend qu’une seule valeur au maximum.

Le client 002 par exemple ne peut pas avoir 2 adresses.

Proposé par M. Mohamed Lamine Keita 17 UNISIM/IPROSIM


Modélisation d'un système d'information

3.3.4 La notion d'identifiant

Afin de pouvoir distinguer les différentes occurrences d'une même entité, l'entité doit être dotée
d'un identifiant. L'identifiant est composé d'une ou de plusieurs propriétés de l'entité. Chaque
occurrence d’une entité doit avoir une valeur différente pour l’identifiant Le choix d'un identifiant
correcte est très important pour la modélisation:

Comme choix pour l'identifiant d'une entité nous distinguons généralement 3 possibilités:

1. Une propriété naturelle


Exemple: Le nom d'un pays pour une entité Pays

2. Une propriété artificielle qui est inventée par le créateur du MCD


Exemple: Le numéro d'un client pour une entité Client

3. Une propriété composée d'autres propriétés naturelles


Exemple: Le nom et la localité pour une entité Entreprise

Représentation graphique de l'identifiant d'une entité:


La ou les propriétés qui constituent l'identifiant d'une entité sont soulignées.

Exercice

Indiquez graphiquement les entités qui représentent :

1. les passagers d’un vol d’une société aérienne. Nous supposons que la société garde ces informations après
le vol ;

2. les résultats sportifs de l’entrainement d’un coureur ;

3. les médicaments d’une pharmacie.

Proposé par M. Mohamed Lamine Keita 18 UNISIM/IPROSIM


Modélisation d'un système d'information

3.3.5 La notion de association

[Link] Définition

Une association1 décrit un lien entre deux ou plusieurs entités.


Chaque association possède un nom, généralement un verbe à l'infinitif.
Bien qu'une association n'ait pas d'identifiant propre, elle est implicitement identifiée par les
identifiants des entités auxquelles elle est liée.

Nous distinguons deux types de associations:


 les associations binaires, qui sont liées à 2 entités;
 les associations ternaires, qui sont liées à 3 entités.

Exemple d'une association binaire:

L'occurrence d'une association est représentée par les occurrences des entités liées à la association. Voici
quelques occurrences de la association Ecrire.

Une occurrence d’une association est uniquement déterminée par les occurrences des entités liées à la
association.

Pour chaque occurrence d’une association, l’identifiant composé des identifiants des entités liées
à la association doit être unique.

1
dans certains livres on parle encore d’une association pour désigner une relation

Proposé par M. Mohamed Lamine Keita 19 UNISIM/IPROSIM


Modélisation d'un système d'information

[Link] Les cardinalités d'une association

Une association est liée à chacune de ses entités par une patte. Sur la patte, on indique les
cardinalités.
Les cardinalités précisent la participation de l'entité concernée à la association. Le premier nombre
indique la cardinalité minimale, le deuxième la cardinalité maximale.

Patte

Cardinalité
Cardinalité
minimale
maximale

Quelle est la signification des cardinalités ?

Exemple 1:

Dans le MCD précédent, entre l'entité Client et la association Passer, nous avons les cardinalités suivantes:
 Cardinalité minimale = 1 , ce qui veut dire que chaque client passe au moins une commande.
 Cardinalité maximale = n , ce qui veut dire que chaque client peut passer plusieurs (n) commandes.

Entre l'entité Commande et la association Passer, nous retrouvons les cardinalités suivantes:
 Cardinalité minimale = 1 , donc chaque commande est passée par au moins un client.
 Cardinalité maximale =1 , chaque commande est passée au maximum par un seul client.

Proposé par M. Mohamed Lamine Keita 20 UNISIM/IPROSIM


Modélisation d'un système d'information

Exemple 2:

Entre l'entité Employé et la association Utiliser, nous avons:

 Cardinalité minimale = 0 :
Certains employés n'utilisent pas d'ordinateur

 Cardinalité maximale = n:

Entre l'entité Ordinateur et la association Utiliser, nous avons:

 Cardinalité minimale = 1 :

 Cardinalité maximale = n :

De façon générale, on peut dire:

La cardinalité minimale exprime le nombre minimum de fois q’une occurrence d'une entité participe à
une association. Cette cardinalité est généralement 0 ou 1.
 Cardinalité minimale = 0 : Certaines occurrences de l'entité ne participent pas à la association
 Cardinalité minimale = 1 : Chaque occurrence de l'entité participe au moins une fois à la association
La cardinalité maximale exprime le nombre maximum de fois q’une occurrence d'une entité participe à
une association. Cette cardinalité vaut souvent 1 ou n, avec n indiquant une valeur >1 mais pas connue
à priori.
 Cardinalité maximale = 1 : Chaque occurrence de l'entité participe au maximum une seule fois à la
association.
 Cardinalité maximale = n : Chaque occurrence de l'entité peut participer plusieurs fois à la association.

En pratique, afin de déterminer les bonnes cardinalités, le concepteur doit se référer aux résultats de l'analyse.

Exemple 3:

Pour les deux cas suivants, on peut affirmer qu'une commande est toujours passée par au moins
un client. Une commande est également passée au maximum par un client. Une commande est
donc toujours passée par un et un seul client.

Proposé par M. Mohamed Lamine Keita 21 UNISIM/IPROSIM


Modélisation d'un système d'information

Un client passe au moins une


commande et au maximum
plusieurs (n) commandes.

Cette modélisation ne tient pas


compte des clients qui ne
passent aucune commande. Un
client est uniquement considéré
comme tel s'il passe au moins
une commande.

Un client peut passer aucune


commande et au maximum
plusieurs (n) commandes.

Cette modélisation tient compte


des clients qui ne passent
aucune commande.

Laquelle des deux modélisations est correcte ?

Les deux modélisations sont bien sûr correctes. Le choix dépend uniquement du résultat de l'analyse.
Imaginez que vous avez fait pendant l'analyse une interview avec un futur utilisateur du système. Il vous a dit
qu'il veut enregistrer dans son système des clients potentiels, c.à.d. des personnes dont la compagnie dispose
des données personnelles, mais qui n'ont encore jamais passé de commande auprès de la compagnie. La
compagnie désire enregistrer les données de ces personnes afin de leur envoyer de temps en temps des
publicités. Dans ce cas vous devez opter pour la deuxième modélisation.

Exemple 4:

Proposé par M. Mohamed Lamine Keita 22 UNISIM/IPROSIM


Modélisation d'un système d'information

Interprétez cette modélisation :

On dit que Client est l'entité indépendante par rapport à la association disposer (cardinalité minimale = 0) ,
tandis que Carte_membre est l'entité dépendante par rapport à la association disposer (cardinalité minimale
= 1).
Une occurrence d'un client peut donc très bien exister sans carte de membre, mais une carte de membre ne
peut jamais exister sans client. La cardinalité minimale nous indique donc si une entité est indépendante
ou dépendante.

On dit qu'une entité est indépendante par rapport à une association lorsque sa cardinalité
minimale vaut 0, et dépendante par rapport à une association lorsque sa cardinalité minimale vaut 1.

Une association ne peut pas être liée uniquement à des entités dépendantes ayant en plus une
cardinalité maximale de 1 ! ! !

Proposé par M. Mohamed Lamine Keita 23 UNISIM/IPROSIM


Modélisation d'un système d'information

La modélisation suivante par exemple n'est pas correcte:

Dans ce cas, il faut réunir les propriétés des deux entités dans une seule.

[Link] Propriétés d'une association

Une association peut généralement être dotée de propriétés.

Exemple:

Exercice

Pourquoi est-ce qu’on ne peut pas associer la propriété Année à une des entités ?

Attention: Cette propriété peut même devenir une partie de l'identifiant. Dans ce cas, elle doit
être soulignée.

Proposé par M. Mohamed Lamine Keita 24 UNISIM/IPROSIM


Modélisation d'un système d'information

Exemple:

Comme un professeur peut avoir la même classe pendant plusieurs années ([Link]. Jos Weber  12CG2), un
identifiant composé de No_Matricule et Code_Classe n'est pas suffisant, puisqu’il ne garantit pas l’unicité.
On y ajoute l'Année.

Attention: Une association à cardinalité (1,1) n'est jamais porteuse de propriétés. Dans ce cas,
les propriétés migrent dans l'entité portant cette cardinalité (1,1).

Exemple:

Cette modélisation n'est pas correcte ! Chaque facture ne possède qu'une et une seule date d'émission, ce qui
fait que la propriété Date_émission doit migrer dans l'entité Facture.

Voici la modélisation correcte:

3.3.6 Exemple "KaafKaaf"

PARTIE 1

La société "KaafKaaf" désire informatiser son système de facturation. Les factures devraient se présenter de
la façon suivante:

Proposé par M. Mohamed Lamine Keita 25 UNISIM/IPROSIM


Modélisation d'un système d'information

Créez un MCD, qui permet de modéliser correctement le système d'information nécessaire, sachant que:
 Un client peut bien sûr recevoir plusieurs factures, mais il est uniquement considéré comme tel à partir du
moment où il reçoit sa première facture.
 Une facture concerne un et un seul client.

Remarque:

Bien que le numéro du client n'apparaisse pas en tant que tel sur la facture, il est préférable d'ajouter cette
propriété artificielle à l'entité Client, et de la définir comme identifiant de cette entité. Cela nous empêche de
devoir définir un identifiant composé de trop de propriétés.

PARTIE 2

Il s'agit d'étendre le MCD de la partie 1.

Proposé par M. Mohamed Lamine Keita 26 UNISIM/IPROSIM


Modélisation d'un système d'information

Le responsable de la facturation de la société désire rendre les factures plus informatives. Comme un client
peut acheter plusieurs articles différents en même temps, la facture devrait indiquer pour chaque article le
numéro , un libellé, le prix unitaire, la quantité vendue et le prix total pour ce type d'article.

Voici l'aspect que la facture devrait avoir:

Proposez un nouveau MCD qui reflète ces modifications, en respectant que:


 Tous les articles disponibles sont stockés ([Link]. No=234 Libellé="Marteau" PU=470 Luf.). Même si un
article n'est pas encore considéré par une facture, il existe dans le système d'information.

Proposé par M. Mohamed Lamine Keita 27 UNISIM/IPROSIM


Modélisation d'un système d'information

Remarques:

 L'entité Facture ne contient plus la propriété Montant. Il existe une règle générale de conception qui dit:

Aucune propriété qui peut être calculée à partir d'autres propriétés existantes, ne devra
être stockée dans le MCD.

Pour la même raison, on n'a pas besoin de modéliser explicitement le prix à payer pour l'achat d'une
quantité d'articles donnés. Le prix pour chaque article figurant sur la facture peut être calculé à partir du
prix unitaire et de la quantité

 Nous retrouvons ici le cas d'une association qui a une propriété. En fait, la propriété Quantité n'est pas
spécifique à un article, mais à l'achat de cet article à l'aide d'une facture. Cette façon de modéliser la
situation est la plus facile, mais il existe une alternative. On peut introduire l'entité abstraite
Ligne_de_facture, qui représente une ligne de détail d'une facture, [Link] celle pour le marteau.

Proposé par M. Mohamed Lamine Keita 28 UNISIM/IPROSIM


Modélisation d'un système d'information

3.3.7 Exemple "Gestion d'école"

PARTIE 1

Dans une école, on veut informatiser le système d'information qui gère les classes.

Elaborez un MCD sachant que:


 Un élève est caractérisé par son no. matricule, son nom et prénom, ainsi que sa date de naissance.
 Une classe est caractérisée par le nom de la classe ([Link] 13CG2) et par une indication du cycle (valeurs
possibles: "inférieur", "moyen", "supérieur").
 Il faudra prévoir de connaître la fréquentation des classes des élèves sur plusieurs années consécutives.
 Un élève enregistré dans le système fréquente au moins une classe au cours des années.

Proposé par M. Mohamed Lamine Keita 29 UNISIM/IPROSIM


Modélisation d'un système d'information

PARTIE 2

Il s'agit maintenant de concevoir une extension au MCD précédent qui permet de représenter la situation
suivante:

 La direction de l'école désire également saisir tous les professeurs dans le système d'information. Un
professeur est caractérisé par un code interne unique ([Link]. Jemp Muller aura le code JEMU), son nom et
prénom et la matière qu'il enseigne. Nous supposons que chaque professeur enseigne une seule matière.

 Modélisez le fait que chaque classe est enseignée chaque année par un ou plusieurs enseignants. Un
enseignant peut bien sûr donner des cours dans plusieurs classes, mais peut également ne pas donner des
cours pendant une ou plusieurs années.

Proposé par M. Mohamed Lamine Keita 30 UNISIM/IPROSIM


Modélisation d'un système d'information

3.3.8 L’utilisation d’une association ternaire

Lors de l’introduction des associations nous avons déjà mentionné la notion de association ternaire. Une
association ternaire est une association à laquelle sont liée 3 entités.

Bien que dans la pratique la plupart des associations soient binaires (2 entités) il existe cependant des
situations où l’utilisation d’une association ternaire s’impose.

Exemple :

A partir des 3 entités Professeur (CodeProf, Nom, Prénom); Matière(CodeMatière, Libellé) et


Classe(Nom,Cycle) il s’agit de créer un MCD qui renseigne sur le fait quelle matière est enseignée dans quelle
classe par quel professeur pour une année scolaire donnée.

Exercice

Essayez de montrer les limites/défauts d’un MCD qui représente l’énoncé de l’exemple précédent en utilisant
uniquement des associations binaires.

Solution de l’exemple précédent :

Voici une solution qui utilise une association ternaire

Il existe 3 façons pour lire/interpréter ce modèle:

 Un professeur peut enseigner 1 à n fois une matière dans une classe.


 Une matière peut être enseignée 1 à n fois par un professeur dans une classe.
 Une classe peut être enseignée 1 à n fois dans une matière par un professeur.

On peut dire que chaque occurrence de la association enseigner associe un professeur à une matière et une
classe pour une année donnée. Ou encore, ce modèle nous permet de montrer pour chaque année scolaire
quelle matière est enseignée dans quelle classe par quel professseur.

Il n’est pas toujours facile de déterminer quand il faut utiliser une association ternaire. Généralement, on peut
déjà affirmer que si une ou plusieurs des entités liées à une association ternaire possèdent une cardinalité
maximale de 1, la modélisation n’est pas optimisée dans le sens qu’il faudrait mieux décomposer la
association ternaire, c.à.d. la représenter par 2 associations binaires.

Exemple :

Proposé par M. Mohamed Lamine Keita 31 UNISIM/IPROSIM


Modélisation d'un système d'information

La direction d’une chaîne d’hôtels désire gérer les séjours des clients dans les différents hôtels. Comme on
peut effectivement dire "Un client effectue un séjour dans un hôtel" on est ammené à proposer la modélisation
suivante.

Il existe 3 façons pour lire/interpréter ce modèle:

 Un client peut effectuer 1 à n fois un séjour dans un hôtel.


 Dans un hôtel peut être effectué 0 à n fois un séjour par un client.
 Un séjour peut être effectué une et une seule fois par un client dans un hôtel.

Chaque occurrence de la association effectuer associe donc un séjour à un client et à un hôtel.

Hors, cette modélisation porte une contrainte supplémentaire, puisque la cardinalité 1,1 entre l'entité Séjour et
la association nous indique que pour chaque occurrence de Séjour il ne peut exister qu'une et une seule
occurrence de la association. Donc chaque séjour est associé une et une seule fois à une combinaison
client/hôtel. Dans ce cas il vaut mieux décomposer l’association ternaire de la façon suivante:

3.3.9 Les contraintes d'intégrité fonctionnelle (CIF)

Quand on détermine entre une association et une entité une cardinalité qui présente les valeurs 0,1
ou 1,1, alors cette association est particulière et on dit qu'elle représente une Contrainte d'Intégrité
Fonctionnelle (CIF).

Proposé par M. Mohamed Lamine Keita 32 UNISIM/IPROSIM


Modélisation d'un système d'information

Exemple:

L’association Obtenir représente une CIF.

Une CIF indique que l'une des entités est totalement déterminée par la connaissance de l'autre. Dans notre
exemple on peut dire que connaissant une facture bien précise, on connaît avec certitude le client
correspondant.

Comment est-ce qu'on représente une CIF dans un MCD ?

Une CIF est représentée par une flèche sur la patte opposée à celle ayant une cardinalité 0,1 ou 1,1. L'entité
qui est attachée à cette patte est appelée entité cible de la CIF, tandis que l'autre entité constitue l'entité
émettrice de la CIF.

Proposé par M. Mohamed Lamine Keita 33 UNISIM/IPROSIM


Modélisation d'un système d'information

3.3.10 Exercices

Exercice 1

Voici le résultat simplifié d'une analyse faite auprès d'une compagnie d'assurance qui désire informatiser la
gestion des contrats auto.

 Un client peut assurer plusieurs voitures auprès de la compagnie. Chaque voiture est assurée par un seul
contrat. Un contrat assure une seule voiture.
 En ce qui concerne un client, la compagnie désire connaître son nom, prénom, adresse complète, numéro
de téléphone ainsi qu'un numéro de compte bancaire avec indication de la banque.
 Chaque contrat contient un numéro de contrat unique, la prime annuelle à payer, la date de paiement
annuel, la marque de la voiture, le modèle de la voiture, le numéro d'immatriculation de la voiture, la
valeur de la voiture et la date d'acquisition de la voiture.

En ignorant la méthode de modélisation, on pourrait créer une BD avec une seule table ayant un champ pour
chaque donnée indiquée dans l'analyse. On aurait donc les données des clients et des contrats dans une seule
table. Quelles en seraient les inconvénients ?

Créez le modèle conceptuel des données correspondant à cette situation

Proposé par M. Mohamed Lamine Keita 34 UNISIM/IPROSIM


Modélisation d'un système d'information

Exercice 2

Le responsable d'un magasin de location de cassettes vidéo désire informatiser le système de gestion des
locations. Voici les informations recueillies pendant l'analyse:
 Un membre est caractérisé par son numéro membre, son nom, son prénom, son adresse ainsi que sa date de
naissance. Dès que la carte de membre est payée (paiement unique), le membre est enregistré dans le
système et il peut désormais louer des cassettes vidéo.
 Un film est caractérisé par un numéro film, un titre, un code langue, un code genre et une durée. Le même
film peut être disponible en plusieurs exemplaires. Un exemplaire est déterminé par un numéro exemplaire
ainsi que la date d'achat de l'exemplaire.
 Lors d'une location, un membre peut louer plusieurs films en même temps. En principe, une location a une
durée d'un jour, mais cette durée peut être prolongée. Nous supposons qu'un membre rend tous les
exemplaires loués en une seule fois.

Créez le modèle conceptuel des données

Proposé par M. Mohamed Lamine Keita 35 UNISIM/IPROSIM


Modélisation d'un système d'information

Exercice 3

Afin d'informatiser la gestion des séances du cinéma Limelight, vous disposez des informations suivantes.

 Un film est enregistré dans le système d'information dès que la (les) copie(s) sont arrivées au cinéma. A
partir de ce moment, on commence à programmer des séances pour le film en question. Comme le même
film n'est jamais joué dans deux séances parallèles, on peut ignorer la gestion des copies.
 Un film est représenté par un numéro courant interne, qui lui est affecté par le gestionnaire des séances.
En plus, on s'intéresse pour le titre, la langue et la durée du film. Lorsqu'un film apparaît en plusieurs
langues différentes, on crée dans le système d'information simplement un enregistrement par langue.
 Chaque film est accompagné en général d'une fiche technique, qui renseigne en outre sur le système son
du film ([Link]. DOLBY, THX etc.). Cette information est importante, puisque les capacités en ce qui
concerne la reproduction du son varient d'une salle dans une autre. Une salle peut supporter plusieurs
systèmes différents, tandis qu'un film est tourné en utilisant un seul système son. Un système son est
caractérisé par un code identificateur ainsi qu'un libellé.
 Le cinéma dispose actuellement de 12 salles, avec 3 nouvelles salles en construction. Une salle est prise
en compte dans le système d'information, dès qu'elle est prête pour accueillir des séances. Une salle est
caractérisée par son numéro, sa capacité ainsi que des informations concernant le support des différents
systèmes son.
 Le système d'information doit permettre de vendre des tickets pour une séance donnée, même plusieurs
jours en avance. La réservation des sièges n'étant pas demandée, il est toutefois nécessaire que le système
soit capable de prévenir un excès de la capacité d'une salle en ce qui concerne le nombre de tickets
vendus.
 La gestion des prix pour les tickets se fait au niveau des séances, puisque le prix pour voir un même film
peut varier d'une séance à une autre ([Link]. Tarif réduit les lundis à 16h00).
 Une séance, qui se déroule évidemment dans une seule salle, est identifiée par un numéro courant.

Créez le modèle conceptuel des données

Proposé par M. Mohamed Lamine Keita 36 UNISIM/IPROSIM


Modélisation d'un système d'information

Exercice 4

Un club de vente de livres par correspondance propose à ses membres l'achat d'un ou de plusieurs livres via
des bons de commandes. Pour cela, des bons de commandes ainsi qu'un catalogue sont envoyés à tous les
membres deux fois par an.
Le responsable du club désire informatiser la gestion des commandes de livres. Voici à titre d'exemple un bon
de commande:

Bicherwuerm S.à r.l.


Commande de livres
Votre numéro membre : 123578

 Veuillez nous indiquer des changements éventuels de vos coordonnées personnelles.

Nom: _________________ Prénom: _____________


Adresse: _________________ CP: _____________
Localité: _________________ No. Téléphone: _____________

Votre commande :

 Indiquez s.v.p. pour chaque livre le numéro ISBN et le titre (voir catalogue).

Numéro ISBN Titre


1
2
3
4
5

Cher membre

Les livres commandés vous seront envoyés le plus vite possible. Une facture vous parviendra après livraison
complète.

 Au moment où un membre retourne un bon de commande, une nouvelle commande est créée dans le
système. Une commande est identifiée par un numéro de commande et caractérisée en plus par une date
de commande. Les livres disponibles de la commande sont envoyés tout de suite au membre.
 Pour devenir membre du club, il suffit d'effectuer une fois une commande via des bons de commandes
légèrement modifiés ([Link]. pas de numéro de membre), et d'indiquer les coordonnées personnelles.
 Tous les livres présents dans le catalogue sont également stockés dans le système. Un livre est identifié
par son numéro ISBN et caractérisé en plus par un titre, un genre ([Link]. ROMAN, HISTOIRE,
BIOGRAPHIE, TECHNIQUE ...), une langue ([Link]. ALL, FRA ...), le nom de l'auteur, le prix de vente et
le nombre d'exemplaires disponibles en stock.
 Une facture est identifiée par un numéro de facture et caractérisée en plus par une date de facture.
 Afin de garantir qu'une facture n'est créée et envoyée au membre qui a effectué la commande
correspondante qu'au moment où tous les livres de la commande ont été livrés, le système doit être
capable de vous informer quels livres de la commande ont déjà été envoyés au membre et quels livres

Proposé par M. Mohamed Lamine Keita 37 UNISIM/IPROSIM


Modélisation d'un système d'information

n'ont pas encore été envoyés au membre ([Link]. livre non disponible en stock au moment de la réception de
la commande).
 A chaque commande est affectée un seul employé. Un employé est identifié par un code employé ([Link].
WEBJO = Weber Jos). Le responsable du club de vente veut également savoir quel employé (Nom &
Prénom) traite quelle commande. Nous supposons que chaque employé a déjà traité des commandes.
 De temps en temps, le responsable de la facturation désire avoir un relevé des factures non encore payées.

Créez le modèle conceptuel des données

Proposé par M. Mohamed Lamine Keita 38 UNISIM/IPROSIM


Modélisation d'un système d'information

Exercice 5

Le commandant de la brigade municipale des Sapeurs-Pompiers de Matoto se propose d'informatiser la


gestion des différentes interventions. Etant responsable de l'administration de la brigade, vous êtes en charge
de créer une base de données pour stocker les informations relatives aux interventions.

PARTIE 1

Voici le résultat de l'analyse préliminaire menée auprès des responsables de la brigade ([Link]. le commandant,
le sous-commandant …)

 Chaque intervention est identifiée par un numéro unique


 Une intervention est en plus caractérisée par une date, une adresse et un type d'intervention ([Link].
Incendie, Accident, Inondation)
 Pour chaque intervention, on veut savoir quels sapeurs-pompiers y ont participé
 Un sapeur-pompier est caractérisé par un numéro d'identification, son nom, son prénom, son âge ainsi
qu'un grade ([Link]. sapeur, chef de section, sous-commandant, commandant)

Travail à réaliser:

Créez le modèle conceptuel des données

PARTIE 2

Le commandant vous demande de représenter également l'utilisation des véhicules de la brigade. Lors d'une
intervention, les sapeurs-pompiers sont affectés aux différents véhicules selon les circonstances. Jusqu'à
présent, le commandant a rempli une fiche pour chaque intervention (Exemple: voir page suivante)

 Un véhicule est identifié par son numéro d'immatriculation


 Un véhicule est en plus caractérisé par un type de véhicule ([Link]. Echelle, Transport ...), une marque, et le
nombre de places disponibles

Travail à réaliser:

Créez le modèle conceptuel des données

Proposé par M. Mohamed Lamine Keita 39 UNISIM/IPROSIM


Modélisation d'un système d'information

Service Incendie – Matoto


Fiche d'intervention

No-Intervention: 00235 Date: 11/11/1997 Type: Incendie

Adresse: 12, bvd. Hubert Clement L-4076 Esch-Sur-Alzette

Véhicule Sapeur

Echelle Magirus-Deutz Emilio Pegaso


Jang van der Heck
Camion à double pompe Toto Alnasso
Jemp Grisu
Transport Ford Transit Emil Zweemil
Kathrin Allburn
Metti Paletti
Jacques Guddebuer
Hary Beau

Signature responsable: _____________________

Proposé par M. Mohamed Lamine Keita 40 UNISIM/IPROSIM


Modélisation d'un système d'information

Exercice 6

Il s'agit d'informatiser la gestion des séjours des patients d'un hôpital, ainsi que la gestion des interventions
effectuées par les médecins. Jusqu'à présent, cette gestion s'est effectuée à l'aide des fiches suivantes.

Hôpital Municipal de Ratoma


Gestion des séjours et interventions

PATIENT SEJOUR
No Matricule: No Séjour:
Nom: Date Arrivée:
Prénom: Date Départ:
Adresse: Frais à charge du patient:
Code Postal: No Chambre:
Localité: Etage:
Caisse de maladie: Classe:

INTERVENTION(S):
Code Description: Date: Code Médecin: Nom: Prénom:
intervention:

 Nous supposons qu'un patient occupe la même chambre pendant toute la durée de son séjour.

 A part des informations concernant les médecins, qui se trouvent déjà sur les fiches, on désire stocker
dans le système d'information le numéro de téléphone et la spécialité de chaque médecin.

 Les interventions sont identifiées par un code et une description. L'hôpital dispose d'une liste
d'interventions prédéfinies. ([Link]. 0236 Tomographie du crâne)

 Les données actuelles sont migrées dans la nouvelle application informatique.

Proposé par M. Mohamed Lamine Keita 41 UNISIM/IPROSIM


Modélisation d'un système d'information

3.3.11 Cas particuliers du MCD

[Link] Plusieurs associations différentes entre deux entités


Exemple:

Une personne qui habite dans une maison n'est pas toujours propriétaire de cette maison, tandis que le
propriétaire d'une maison ne doit pas nécessairement habiter dans celle-ci. Il incombe donc de représenter le
fait de posséder une maison par une association séparée et le fait d'habiter dans une maison par une
association séparée.

[Link] Association réflexive et rôle d'une patte d’association


Exemple 1:

Une association réflexive est une association dont les deux pattes sont liées à une même entité. En
général, la signification des pattes d'une association réflexive devrait être clarifiée par l'indication d'un rôle.
Nous avons donc:

Exemple 2:
Afin d'obtenir une licence pour piloter un avion de ligne, un pilote doit effectuer un certain nombre de
brevets. Il existe une hiérarchie prédéfinie en ce qui concerne les brevets (structure arborescente). A chaque

Proposé par M. Mohamed Lamine Keita 42 UNISIM/IPROSIM


Modélisation d'un système d'information

fois qu'un pilote a réussi un brevet, il a la possibilité d'effectuer un certain nombre d'autres brevets, qui sont
dépendants du brevet réussi. Tous les brevets sont dépendants du brevet de base.

[Link] La notion d'identifiant relatif


Sachant que chaque entité doit obligatoirement être dotée d'un identifiant, certaines entités ont cependant une
existence complètement dépendante et liée à une autre entité. Une entité A est complètement dépendante
d'une entité B, c.à.d. qu'une occurrence de l'entité A ne peut pas exister sans être reliée à une occurrence de
l'entité B, lorsque les deux conditions suivantes sont vraies:
1. L'entité A est émettrice d'une CIF tandis que l'entité B est cible de la même CIF.
2. L'entité A n'est pas indépendante par rapport à la CIF (Cardinalité minimale = 1)

Proposé par M. Mohamed Lamine Keita 43 UNISIM/IPROSIM


Modélisation d'un système d'information

Exemple:

L'entité Tâche est complètement dépendante de l'entité Projet.


Dans le cas d'une telle dépendance complète, on peut avoir recours à un identifiant relatif. Dans notre
exemple, l’attribut No_Tâche constitue l'identifiant relatif de l'entité Tâche. Cet attribut ne remplit dans ce
cas pas les conditions pour devenir identifiant absolu (Le même numéro de tâche est susceptible d'apparaître
dans plusieurs projets). Toutefois, on peut affirmer qu'en association à un certain numéro de projet, le numéro
de tâche est un identifiant absolu.
On note cette identification relative par la lettre (R) sur la patte reliée à l'entité qui contient l'identifiant relatif.

[Link] Historisation

Pour certaines propriétés, entités ou associations, on désire parfois conserver les valeurs antérieures en cas de
modification. On parle dans ce contexte d'historisation. Théoriquement, cette idée n'est pas tout à fait en
accord avec les règles de conception d'un système d'information. Prenons l'exemple suivant:

Pour une occurrence de cette entité, c.à.d. pour un assuré spécifique, il existe uniquement une seule valeur
pour chaque propriété. Selon cette modélisation, un assuré ne peut par exemple pas habiter en même temps
dans deux localités différentes. En général, ceci ne pose aucun problème, comme un assuré indique
normalement une seule adresse de référence.

Toutefois, cette modélisation ne permet pas de représenter le tracé historique des adresses, lorsqu'un assuré
déménage une ou plusieurs fois. Dans la plupart des cas, cette modélisation de l'historique n'est pas demandée,
mais elle est quand même réalisable à l'aide de la méthode Merise. Au niveau conceptuel, nous indiquons
simplement ce que nous voulons historiser.
Nous distinguons 3 cas:

1. Propriété historisée
La conservation des valeurs historiques s'applique à une ou plusieurs propriétés d'une entité ou d'une
association. Dans le MCD, on indique une historisation de propriété par la lettre (H) derrière la resp. les
propriétés concernées.
Exemple:

Proposé par M. Mohamed Lamine Keita 44 UNISIM/IPROSIM


Modélisation d'un système d'information

2. Entité historisée

La conservation des valeurs s'applique à toutes les propriétés d'une l'entité. On indique l'historisation par
la lettre (H) derrière le nom de l'entité.

Exemple:

3. Association historisée

La conservation des valeurs s'applique à toutes les propriétés d'une association. On indique l'historisation
par la lettre (H) derrière le nom de la association.

Exemple:

On ne peut pas historiser une association sans propriétés, puisque l'expression 'historiser une association'
n'est qu'un abus de langage, il s'agit en fait d'historiser toutes les propriétés d'une association. On peut
remarquer à ce moment que la méthode MERISE présente une particularité en ce qu'elle ne prévoit pas
l'historisation d'une propriété individuelle d'une association

3.3.12 Exercices

Exercice 1

Un club de tennis vous demande d'informatiser la gestion des réservations des différents terrains. A ces fins,
vous disposez des informations suivantes.

 Le club dispose d'une liste de membres. Quiconque veut jouer sur un des terrains, doit devenir membre du
club.
 Un membre est caractérisé par un numéro interne au club, par son nom, prénom, adresse, code postal,
localité, numéro de téléphone ainsi qu'une indication s'il est un joueur licencié auprès de la fédération de
tennis ou non.

Proposé par M. Mohamed Lamine Keita 45 UNISIM/IPROSIM


Modélisation d'un système d'information

 Pour chaque réservation, on désire connaître l'identité des deux joueurs membres. Au cas où quatre
joueurs réserveraient un terrain, uniquement deux joueurs sont enregistrés dans le système.
 Le club dispose de plusieurs terrains, dont certains sont couverts. On distingue en plus le type du terrain
selon la nature du sol ([Link]. Sable, Herbe etc.)
 Une réservation se fait pour une date précise par tranches d'une heure.

Créez le MCD correspondant.

Proposé par M. Mohamed Lamine Keita 46 UNISIM/IPROSIM


Modélisation d'un système d'information

Exercice 2

Une société aérienne utilise à présent les fiches suivantes pour la gestion des ressources.

Vol No. : 98-8-798

Date Heure Code Aéroport Nom Aéroport Ville Pays


Départ 24/08/98 7h45 FIN Findel Lux Lux
Arrivée 24/08/98 9h00 LHR Heathrow Lon UK

Avion
No Marque Type Portée (km) Capacité Passagers
23 Boeing 737-400 3810 147

Commandant
No Nom Prénom Date de naissance Brevet
726 Weber Jos 13/06/65 PP-IFR/EP/DA

Co-pilote
No Nom Prénom Date de naissance Brevet
813 Meier Emil 23/04/73 PP-IFR

Personnel de cabine
No Nom Prénom
1072 Feller Nathalie
1014 Pinto Tania
1103 Weis Laurent

Sachant que la société entretient déjà une BD avec tous les pilotes et qu'un pilote peut être commandant d'un
vol et co-pilote d'un autre vol, proposez un MCD, qui permet l'informatisation de la gestion des ressources.

Proposé par M. Mohamed Lamine Keita 47 UNISIM/IPROSIM


Modélisation d'un système d'information

Exercice 3

Un nouveau parc de vacances va prochainement ouvrir ses portes au Luxembourg. Dans ce parc, les visiteurs
sont logés dans des bungalows. Vous êtes chargé de l'implémentation d'un système informatisé pour gérer les
réservations des bungalows.

Après plusieurs réunions avec les responsables de la gestion du parc, vous avez collectionné les informations
suivantes.

 Le parc est subdivisé en plusieurs zones, dont chacune contient environ 40 – 50 bungalows. Chaque zone
dispose de ses propres magasins, restaurants, piscines etc. .

Pour l'ouverture du parc, les zones suivantes sont prêtes à accueillir des visiteurs.

Zone Situation Description


Texas Nord Imitation "Kloondike-City" avec Saloon, Sheriff Office . . .
Chine Est Chine traditionnelle avec temple, palais . . .
Hawaï Sud-est Atmosphère tropicale avec palmiers, mer artificielle . . .
Camelot Sud Ambiance médiévale autour d'un magnifique château ...
Liliput Centre Zone comportant plein d'éléments des contes bien connus

Les bungalows sont parfaitement intégrés dans l'atmosphère correspondante de leur zone.

 Chaque bungalow du parc appartient à une des catégories suivantes, de façon indépendante à sa situation
(zone).

Catégorie Description Capacité Prix par nuit


A Bain ou douche / WC sép. / TV 3 1200
B Bain et douche / WC sép. / TV / Terrasse 3 1500
C Bain ou douche / WC sép. / TV 5 2000
D Bain et douche / WC sép. / TV / Terrasse 5 2300
E Bain et douche / WC sép. / TV / Terrasse 7 3000

 Afin de faciliter la gestion des bungalows, le responsable du service Comptabilité vous demande de
prévoir uniquement des nombres avec 2 positions pour numéroter les bungalows.

 Les clients peuvent effectuer des réservations. Une réservation concerne un seul bungalow. Suite à une
réservation, une fiche de réservation est immédiatement envoyée au client. Deux semaines avant la date
d'arrivée au parc, une facture correspondante est envoyée au client. Cette facture doit être réglée avant
l'arrivée au parc. Le responsable de la facturation veut évidemment garder trace des informations
contenues sur les factures. Le responsable de la réception désire voir dans le système si une facture
correspondant à une réservation a déjà été payée ou non.

Proposé par M. Mohamed Lamine Keita 48 UNISIM/IPROSIM


Modélisation d'un système d'information

 Lors de la réservation d'un bungalow, le client a le choix entre les suppléments suivants.

Code supplément Description Prix (par personne)


par jour
01 Literie 100
02 Livraison à domicile du petit déjeuner 300
03 Livraison à domicile du quotidien 50

 Voici un modèle d'une fiche de réservation

Wonderland S.à r.l.


Parc de bungalows
3, am Boesch
L-8899 Schlindermanderscheid
[Link]
Tél: (Lux)+345566 / Fax: (Lux)+345567

Fiche de réservation

Client Réservation
Numéro: 340 No: 589
Nom: Weber Date d'arrivée: 03/09/98
Prénom: Jos Date de départ: 07/09/98
Adresse: 23, rue Principale Nombre de personnes: 4
Code postal: L-8765 Bungalow
Localité: Grevenmacher Zone: Liliput
Pays: Luxembourg Numéro: 19
Catégorie: Bain et douche / WC sép. / TV /
No. Passeport: 87699
Terrasse
No. Téléphone: (Lux)+348845 Capacité: 5

Suppléments
Code supplément Description
01 Literie
03 Livraison à domicile du quotidien

Une facture vous sera envoyée environ 2 semaines avant votre arrivée au parc. Cette facture est à
régler avant l'arrivée au parc. Nous vous souhaitons un beau séjour au parc Wonderland. Si vous
avez encore des questions, n'hésitez pas à nous contacter.

Arsène Lupin
RESERVATION MANAGER

 Une facture reprend exactement les mêmes informations, avec en plus la date d'envoi de la facture et le
prix total à payer.

Proposé par M. Mohamed Lamine Keita 49 UNISIM/IPROSIM


Modélisation d'un système d'information

 Afin d'établir des statistiques, la direction du parc est intéressée de sauvegarder dans le système
l'évolution des prix par nuit pour les différentes catégories de bungalows.

 Un client est uniquement considéré comme tel à partir de la première fois qu'il effectue une réservation.

Créez le modèle conceptuel

Proposé par M. Mohamed Lamine Keita 50 UNISIM/IPROSIM


Modélisation d'un système d'information

3.4 Le modèle logique des données (MLD)


3.4.1 Définition

Jusqu'à présent nous avons établi des MCD basés sur une analyse d'un domaine bien défini ([Link]. Gestion des
séances d'un cinéma, Gestion des séjours des patients d'un hôpital etc.). La finalité d'un MCD est de nous
faciliter la création d'une base de données pour gérer un tel domaine.

Nous savons également qu'une base de données est constituée par un ensemble de tables, dont chacune est
composée de champs de données.

Hors le MCD ne connaît pas la notion de table, tandis qu'une base de données ne connaît pas le concept des
entités reliées entre elles via des associations portant des cardinalités.

Pour cela, il existe un autre modèle, le modèle logique des données (MLD), qui utilise essentiellement le
formalisme des tables logiques. Un MLD, qui est toujours basé sur un MCD donné, contient donc toutes les
informations de ce MCD, mais les représente à l'aide d'un formalisme différent qui est très adapté aux
structures d'une base de données.

Tandis que le MCD représente un système d'information d'une façon générale et indépendante d'un système
informatique, le MLD tient compte de la réalisation par le biais d'un SGBD.

Un MLD est essentiellement composé de tables logiques reliées entre elles par des flèches.

Voici un exemple qui montre un MCD avec son MLD correspondant:

MCD

MLD

Exercice

En vous référant à l'exemple précédant, répondez brièvement aux questions suivantes.

1. Comment est-ce qu'on traduit une entité du MCD dans le MLD ?

Proposé par M. Mohamed Lamine Keita 51 UNISIM/IPROSIM


Modélisation d'un système d'information

2. Comment est-ce qu'on traduit une propriété d'une entité du MCD dans le MLD ?

3. Comment est-ce qu'on traduit un identifiant d'une entité du MCD dans le MLD ?

4. Comment est-ce qu'on traduit l’association Ecrire avec ses cardinalités du MCD dans le MLD ?

5. Le MCD nous dit que chaque livre est uniquement écrit par un seul auteur (cardinalité max.), tandis qu'un
auteur peut écrire plusieurs livres. Comment est-ce qu'on peut retrouver ces informations dans le MLD ?

Remarque:

La méthode MERISE définit de façon générale certaines règles qui nous permettront de transformer n'importe
quel MCD en MLD.

Proposé par M. Mohamed Lamine Keita 52 UNISIM/IPROSIM


Modélisation d'un système d'information

3.4.2 Règles de transformation du MCD au MLD

Nous allons définir les règles de transformation pour le passage du MCD au MLD, en respectant les différents
cas qui se posent.

[Link] Transformation des entités

Règle : Toute entité est transformée en table. Les propriétés de l'entité deviennent les attributs de la
table. L'identifiant de l'entité devient la clé primaire de la table.

Exemple:
Lettres
Entité "Entreprise" Table "Entreprise"
majuscules

[Link] Transformation des associations binaires du type1 (x,n) – (x,1)

Règle : Afin de représenter l’association, on duplique la clé primaire de la table basée sur l'entité à
cardinalité (x,n) dans la table basée sur l'entité à cardinalité (x,1). Cet attribut est appelé clé étrangère.
Les deux tables sont liées par une flèche nommée selon l’association, qui pointe de la table à clé
étrangère vers la table qui contient la clé primaire correspondante.

Exemple:

L'attribut No_Auteur qui est clé primaire de la table Auteur, devient clé étrangère dans la table Livre.

1
x peut prendre les valeurs 0 ou 1

Proposé par M. Mohamed Lamine Keita 53 UNISIM/IPROSIM


Modélisation d'un système d'information

[Link] Transformation des associations binaires du type (x,1) – (x,1)

Nous devons distinguer plusieurs cas. Sachant qu'une association binaire du type (1,1)-(1,1) ne doit pas
exister il nous reste les 2 cas suivants:

Association binaire du type (0,1)-(1,1)

Règle : On duplique la clé de la table basée sur l'entité à cardinalité (0,1) dans la table basée sur l'entité
à cardinalité (1,1).

Exemple:

Le No_Client, qui est clé primaire de la table Client, devient clé étrangère dans la table Carte_Membre.

Association binaire du type (0,1)-(0,1)

Règle : On duplique la clé d'une des tables dans l'autre. Lorsque l’association contient elle-même des
propriétés, celles-ci deviennent également attributs de la table dans laquelle a été ajoutée la clé
étrangère.

Exemple:

ou

Soit on migre la clé primaire de la table Entreprise dans la table Salarié, soit on fait l'inverse.

Proposé par M. Mohamed Lamine Keita 54 UNISIM/IPROSIM


Modélisation d'un système d'information

[Link] Transformation des associations binaires du type (x,n) – (x,n)

Règle : On crée une table supplémentaire ayant comme clé primaire une clé composée des clés
primaires des 2 tables. Lorsque l’association contient elle-même des propriétés, celles-ci deviennent
attributs de la table supplémentaire. Une propriété de l’association qui est soulignée devra appartenir à
la clé primaire composée de la table supplémentaire.

Exemple:

On crée une table Porter, qui contient comme clé primaire une clé composée de No-Commande et
Code_Article. Elle contient également la propriété Quantité issue de l’association Porter.

[Link] Transformation des associations ternaires

Règle : On crée une table supplémentaire ayant comme clé primaire une clé composée des clés
primaires de toutes les tables reliées. Cette règle s'applique de façon indépendante des différentes
cardinalités. Lorsque l’association contient elle-même des propriétés, celles-ci deviennent attributs de la
table supplémentaire. Une propriété de l’association qui est soulignée devra appartenir à la clé
primaire composée de la table supplémentaire.

Exemple:

La table Enseigner contient une clé composée de No_Enseignant, Code_Matière et Nom_Classe.

Proposé par M. Mohamed Lamine Keita 55 UNISIM/IPROSIM


Modélisation d'un système d'information

[Link] Transformation de plusieurs associations entre 2 entités

Règle : Les règles générales s'appliquent

Exemple:

L’association habiter du type (x,n)-(x,1), est traduite par la migration de l'attribut Adresse dans la table
Personne. L’association posséder du type (x,n)-(x,n) est traduite par la création d'une table supplémentaire du
même nom. Cette table contient comme clé primaire composée, les clés des deux tables reliées Personne et
Maison. On a donc simplement appliqué 2 fois de façon indépendante les règles de transfert MCD  MLD.

[Link] Transformation des associations réflexives

Règle : Nous appliquons les règles générales avec la seule différence que l’association est 2 fois reliée à
la même entité

Exemple 1:

Comme il s'agit d'une association (x,n)-(x,n), une table supplémentaire est créée. Cette table contient comme
clé primaire composée, la clé des "deux" entités reliées. Comme la même entité est liée 2 fois à l’association,
on ne peut pas utiliser 2 fois le même nom pour la clé. Dans ce cas il convient d'utiliser des rôles dans le
MCD, et d'intégrer le rôle dans le nom d'une des clés migrées dans le MLD.

Proposé par M. Mohamed Lamine Keita 56 UNISIM/IPROSIM


Modélisation d'un système d'information

Exemple 2:

Comme il s'agit d'une association (0,1)-(0,1), nous avons en général le choix en ce qui concerne quelle entité
contiendra la clé étrangère. Comme cette association est liée deux fois à la même entité, il est évident que
nous devons dupliquer la clé primaire, tout en veillant que le même nom de clé ne sera pas utilisé pour la clé
primaire et la clé étrangère. Dans notre exemple, tous les hommes mariés, ont comme valeur de la clé
étrangère la matricule de leur épouse actuelle. Pour les hommes non mariés et les femmes, la clé étrangère est
sans valeur. On pourrait bien sûr utiliser la modélisation inverse avec une clé étrangère
NO_MATRICULE_MARI, qui indique pour chaque femme mariée, la matricule de son mari.

[Link] Transformation de l'identifiant relatif

Règle : Sachant que l'entité dépendante est toujours liée à l’association par les cardinalités (1,1), nous
pouvons appliquer les règles générales. Dans chaque cas, la table issue de l'entité dépendante contient
donc comme clé étrangère, la clé primaire de l'autre table.
L'identification relative est représentée par le fait que la table issue de l'entité dépendante contient une
clé primaire composée, constituée de la clé primaire transformée de l'identifiant de cette entité et de la
clé étrangère.

Exemple:

Tout en respectant les règles générales du passage MCDMLD, la clé primaire de la table Projet migre
comme clé étrangère dans la table Tâche. L'identification relative est représentée par le fait que la table tâche
contient une clé primaire composée de No_Tache et No_Projet.

Proposé par M. Mohamed Lamine Keita 57 UNISIM/IPROSIM


Modélisation d'un système d'information

[Link] Transformation de l'historisation

1. Historisation d'un attribut

Règle : Pour chaque attribut à historiser, on crée une table qui contient:
 Une clé primaire composée de la clé primaire de la table qui contient l’attribut à historiser et de la
date d'historisation.
 L’attribut à historiser

Exemple:

2. Historisation d'une entité

Règle : Pour toute modification de valeur d'un des attributs de l'entité, on historise l'ensemble des
valeurs des attributs dans une table qui contient:
 Une clé primaire composée de la clé primaire de l'entité à historiser et de la date d'historisation
 Tous les autres attributs de l'entité à historiser

Exemple:

3. Historisation d'une association

Pour toute modification de valeur d'une des propriétés de la association, on historise l'ensemble
des valeurs des propriétés dans une table qui contient:
 Une clé primaire composée de la clé primaire de la table qui représente la association à historiser et
de la date d'historisation
 Toutes les autres propriétés de la association à historiser
Exemple:

Proposé par M. Mohamed Lamine Keita 58 UNISIM/IPROSIM


Modélisation d'un système d'information

Proposé par M. Mohamed Lamine Keita 59 UNISIM/IPROSIM


Modélisation d'un système d'information

3.4.3 Exemple "KaafKaaf"

Transformez le MCD suivant, qui représente la facturation de la société "KaafKaaf" (voir chapitre 3.3.6
Exemple "KaafKaaf"), en un MLD en respectant toutes les règles du passage MCD  MLD.

Voici une solution:

Proposé par M. Mohamed Lamine Keita 60 UNISIM/IPROSIM


Modélisation d'un système d'information

3.4.4 Exercices

Exercice 1

Transformez les MCD que vous avez réalisés pour les exercices 1 à 6 du chapitre 3.3.10 et les exercices 1 à 3
du chapitre 3.3.12 en MLD.

Proposé par M. Mohamed Lamine Keita 61 UNISIM/IPROSIM


Modélisation d'un système d'information

Exercice 2

Transformez le MCD suivant en MLD en respectant toutes les règles de passage MCDMLD.

Remarques:

 En ce qui concerne le rapport médical, une conclusion médicale pourrait par exemple être "Infection" ou
"Cancer de la gorge", tandis que la conclusion professionnelle qui s'en suit serait par exemple "Apte" ou
"Inaptitude temporaire <x> jours".
 L'entité Salarié est historisée.

Proposé par M. Mohamed Lamine Keita 62 UNISIM/IPROSIM


Modélisation d'un système d'information

Exercice 3

Voici un MCD qui représente de façon très simplifiée la gestion d'une compagnie d'assurances. Transformez
le MCD en MLD en respectant toutes les règles de passage MCDMLD.

Remarques:

 Le type de contrat indique les garanties prévues.


Exemple: Type AUTO-SIMPLE contient (RC-AUTO et Protection juridique)
Type AUTO-SPECIAL contient (Garanties AUTO-SIMPLE + FEU + VOL)
Type AUTO-DELUXE contient (Garanties AUTO-SPECIAL + Dégâts matériels)
 Un contrat couvre un seul risque. Ce risque peut être une voiture ou une habitation.
 Afin d'améliorer l'exploitation statistique des données concernant les garanties, le tarif d'une garantie est
historisé.

Proposé par M. Mohamed Lamine Keita 63 UNISIM/IPROSIM


Modélisation d'un système d'information

3.5 Le modèle physique des données (MPD)


3.5.1 Définition

Le modèle physique des données (MPD) est la traduction du modèle logique des données (MLD) dans une
structure de données spécifique au système de gestion de bases de données (SGBD) utilisé.

Le MPD est donc représenté par des tables définies au niveau du système de gestion de bases de données.
C'est donc au niveau du MPD que nous quittons la méthode générale de création d'un MCD et de sa
transformation en MLD, pour nous tourner vers la manipulation d'un SGBD spécifique.

3.5.2 Passage du MLD au MPD

Le passage MLD  MPD se fait par les étapes suivantes:

 Implémentation physique de chaque table du MLD dans le SGBD utilisé.


 Pour chaque table, indiquer au SGBD quel(s) champ(s) constitue(nt) la clé primaire.
 Pour chaque table, indiquer au SGBD la (les) clé(s) étrangère(s), et la (les) clé(s) primaire(s)
correspondante(s).

Pour ce faire, la plupart des SGBD actuellement sur le marché nous offrent 2 possibilités.

Prenons à titre d'exemple l'implémentation du modèle logique suivant.

Proposé par M. Mohamed Lamine Keita 64 UNISIM/IPROSIM


Modélisation d'un système d'information

1. Utilisation d'une ou de plusieurs interfaces graphiques, qui nous aident dans la création des tables
physiques, dans la définition des clés primaires et dans la définition des associations.

Exemple:

Définition de la table des employés avec le champ idEmployé étant défini comme clé primaire.

Définition de la association entre les deux tables.

Remarquez que les noms des différents champs ont été modifiés lors de l'implémentation du modèle
logique. Cette mesure dépend uniquement de la convention des noms utilisée et n'affecte pas du tout le
fonctionnement correcte de la BD.

Proposé par M. Mohamed Lamine Keita 65 UNISIM/IPROSIM


Modélisation d'un système d'information

2. Utilisation de commandes spéciales, faisant partie d'un langage de définition de données ([Link].
SQL-DDL)

Exemple:

Implémentation du même modèle logique à l'aide de commandes spécifiques

REM -----------------------------------------------------------------------------
REM Génération d'une base de données
REM SQL Générique (SQL 2)
REM (6/9/1998 [Link])
REM -----------------------------------------------------------------------------
REM Nom de la base : Entreprises
REM Projet :
REM Auteur : Pierre Stockreiser
REM Date de dernière modification : 6/9/1998 [Link]
REM -----------------------------------------------------------------------------
REM -----------------------------------------------------------------------------
REM TABLE : tblEntreprises
REM -----------------------------------------------------------------------------

CREATE TABLE tblEntreprises


(
idEntreprise INTEGER NOT NULL ,
fldNom CHAR (20) NOT NULL ,
fldAdresse CHAR (25) NOT NULL ,
fldCodePostal CHAR (7) NOT NULL ,
fldLocalité CHAR (20) NOT NULL ,

PRIMARY KEY (idEntreprise) CONSTRAINT PK_ENTREPRISE


);

REM -----------------------------------------------------------------------------
REM INDEX DE LA TABLE tblEntreprises
-REM -----------------------------------------------------------------------------

CREATE UNIQUE INDEX I_PK_ENTREPRISE


ON tblEntreprises (idEntreprise ASC);

REM -----------------------------------------------------------------------------
REM TABLE : tblEmployes
REM -----------------------------------------------------------------------------

CREATE TABLE tblEmployes


(
idEmploye INTEGER NOT NULL ,
fiEntreprise INTEGER NOT NULL ,
fldNom CHAR (32) NOT NULL ,
fldPrénom CHAR (32) NOT NULL ,
fldDateNaissance DATE NOT NULL ,

PRIMARY KEY (idEmploye) CONSTRAINT PK_EMPLOYÉ


);

REM -----------------------------------------------------------------------------
REM INDEX DE LA TABLE tblEmployes
REM -----------------------------------------------------------------------------

CREATE UNIQUE INDEX I_PK_EMPLOYÉ


ON tblEmployes (idEmploye ASC);
-
CREATE INDEX I_FK_EMPLOYER
ON tblEmployes (fiEntreprise ASC);

REM -----------------------------------------------------------------------------
REM CREATION DES REFERENCES DE TABLE
REM -----------------------------------------------------------------------------

ALTER TABLE tblEmployes ADD (FOREIGN KEY (fiEntreprise)


REFERENCES tblEntreprises (idEntreprise)
CONSTRAINT FK_EMPLOYER
ON UPDATE RESTRICT
ON DELETE RESTRICT);

REM -----------------------------------------------------------------------------

Proposé par M. Mohamed Lamine Keita 66 UNISIM/IPROSIM


Modélisation d'un système d'information

REM FIN DE GENERATION


REM -----------------------------------------------------------------------------

Que vous avez utilisé l'une ou l'autre des 2 méthodes, le résultat sera toujours un ensemble de tables
physiques reliées entre elles, dans lesquelles vous pouvez stocker des données.

Proposé par M. Mohamed Lamine Keita 67 UNISIM/IPROSIM


Modélisation d'un système d'information

3.5.3 Les contraintes d'intégrité

Une modélisation correcte et cohérente est sans doute une condition nécessaire pour créer une BD
fonctionnelle, mais ne vaut pas grand chose, lorsque le SGBD utilisé pour implémenter la base, ne garantit pas
l'intégrité de celle-ci lors du travail journalier avec les données.

Exemples:

 Le système doit empêcher un utilisateur à entrer une valeur double ou indéterminée (NULL) pour un
champ déclaré comme clé primaire.
 Le système doit vérifier qu'une quantité livrée est toujours inférieure ou égale à une quantité commandée.

[Link] Les types de contraintes d'intégrité

La contrainte d'intégrité des tables (angl. Table Integrity Constraint)

Cette contrainte vérifie qu'il n'existe jamais des doublons ou des valeurs indéterminées pour le(s) champ(s)
qui constitue(nt) la clé primaire. La clé primaire doit donc toujours être unique et bien définie.

Exemples de violation de cette contrainte

A. L'ajout d'une valeur de clé primaire qui existe déjà dans la table.
B. La modification d'une valeur de clé primaire vers une valeur qui existe déjà dans la table.
C. L'ajout d'une valeur indéterminée pour une clé primaire.
D. La modification d'une valeur de clé primaire vers une valeur indéterminée.

Méthodes pour vérifier cette contrainte d'intégrité dans un SGBD

Dans un SGBD il suffit généralement de déclarer un ou plusieurs champs comme clé primaire d'une table pour
que cette contrainte soit automatiquement vérifiée pour chaque insertion ou modification d'une valeur dans la
table.

La contrainte d'intégrité référentielle (angl. Referential Integrity Constraint)

Par contrainte d'intégrité référentielle, on entend l'obligation qu'à chaque valeur d'une clé étrangère
correspond une et une seule valeur de la clé primaire associée. Cette obligation doit toujours être vérifiée lors
de l'ajout, de la suppression ou de la modification de données.

Exemples de violation de cette contrainte

A. L'ajout d'une clé étrangère pour laquelle il n'existe pas de valeur correspondante dans la clé primaire
associée.
B. La modification d'une clé étrangère vers une valeur pour laquelle il n'existe pas de valeur correspondante
dans la clé primaire associée.
C. La suppression d'une clé primaire, qui est référencée par une ou plusieurs valeurs d'une clé étrangère.
D. La modification d'une clé primaire, qui est référencée par une ou plusieurs valeurs d'une clé étrangère.

Méthodes pour vérifier cette contrainte d'intégrité dans un SGBD


Un SGBD nous offre généralement une ou plusieurs des quatre méthodes suivantes pour spécifier à tout
moment l'intégrité référentielle des données d'une BD.

Proposé par M. Mohamed Lamine Keita 68 UNISIM/IPROSIM


Modélisation d'un système d'information

I. Interdiction des opérations du type A, B, C et D. Bien que cette possibilité soit très efficace, il existe
parfois une alternative préférable en fonction de la nature des données.
Remarque:
Tandis que les opérations A et B ne sont jamais permises lorsque l'intégrité référentielle est appliquée,
il n'en est pas de même pour les opérations C et D. Le langage SQL par exemple contient une
commande CREATE TABLE qui permet de définir la structure d'une table. Cette commande contient
entre autres les options ON DELETE NO ACTION et ON UPDATE NO ACTION qui permettent de
réaliser explicitement l'interdiction des opérations C et D.

II. Cascade des opérations du type C et D vers les clés étrangères correspondantes. Une modification
d'une clé primaire aurait comme conséquence la modification de toutes les clés étrangères
correspondantes. Une suppression d'une clé primaire aurait comme conséquence la suppression
automatique de tous les enregistrements dont la clé étrangère a la même valeur. Cette option est à
utiliser avec précaution !!!
Remarque: En SQL la commande CREATE TABLE nous offre les options ON DELETE CASCADE
et ON UPDATE CASCADE.

III. Affectation d'une valeur par défaut aux clés étrangères concernées par une opération du type C ou
D.

IV. Affectation d'une valeur indéterminée (NULL) aux clés étrangères concernées par une opération du
type C ou D.

La contrainte d'intégrité générale (angl. General Integrity Constraint)

Une contrainte d'intégrité générale est utilisée pour limiter les valeurs possibles d'un champ quelconque d'une
table en fonction de la nature de celui-ci et de son rôle dans le système d'information.

Exemples de violation de cette contrainte

Il existe plusieurs variantes de cette contrainte.

1. A chaque champ correspond un type de données, une longueur et un format bien définis.
Exemples: Le numéro client doit être une valeur numérique.
Le nom du client ne doit pas dépasser 25 caractères.
Un numéro de compte doit respecter le format X-XXX/XX-X

2. Un champ peut avoir un domaine de valeurs prédéfini (une plage de valeurs possibles) et/ou une valeur
par défaut.
Exemples: Une note d'un devoir en classe doit être entre 0 et 60
La prix d'une facture ne doit pas être un nombre négatif.
La date d'une commande doit automatiquement être la date actuelle à moins que l'utilisateur
n'entre une autre date.

3. La valeur d'un champ peut limiter les valeurs possibles pour un autre champ d'une table/d'une BD.
Exemple: La valeur du champ fldDatePaiement est supérieure ou égale à la valeur du champ
fldDateFacture pour une table tblFactures.

Proposé par M. Mohamed Lamine Keita 69 UNISIM/IPROSIM


Modélisation d'un système d'information

Exercice

Soit la BD suivante.

Code
L-XXXX

a) Quelle(s) contrainte(s) est(sont) concernée(s) lors de l'ajout d'un client ?

b) Quelle(s) contrainte(s) est(sont) concernée(s) lors de la suppression d'un client ?

Proposé par M. Mohamed Lamine Keita 70 UNISIM/IPROSIM


Modélisation d'un système d'information

c) Quelle(s) contrainte(s) est(sont) concernée(s) lors de l'ajout d'une facture ?

d) Quelle(s) contrainte(s) est(sont) concernée(s) lors de la suppression d'une facture ?

e) Quelle(s) contrainte(s) est(sont) concernée(s) lors de l'ajout d'un enregistrement dans la table tblConcerne
?

f) Quelle(s) contrainte(s) est(sont) concernée(s) lors de la suppression d'un enregistrement de la table


tblConcerne ?

g) Quelle(s) contrainte(s) est(sont) concernée(s) lors de la modification du numéro d'un article dans la table
des articles?

h) Quelle(s) contrainte(s) est(sont) concernée(s) lors de la modification du numéro client d'une facture ?

Proposé par M. Mohamed Lamine Keita 71 UNISIM/IPROSIM


Modélisation d'un système d'information

4. Utilisation d'un outil de modélisation

4.1 Définition

Un outil de modélisation est un programme spécialisé dans le support de la conception d'un


système d'information.

Il existe actuellement sur le marché une offre très diverse d'outils de modélisation. Chaque outil de
modélisation implémente une méthode de modélisation. Comme la méthode MERISE est très répandue dans
nos régions, il est évident qu'il existe un certain nombre d'outils basés sur MERISE.

En principe, les outils de modélisation sont intégrés dans des applications capables de ne supporter pas
uniquement la conception d'un système d'information (BD), mais également le développement complet de
programmes de gestion d'une certaine envergure. Ces applications, appelées "Ateliers de génie logiciel"
(angl. CASE Tool : Computer Aided Software Engineering Tool), sont généralement utilisés par les
informaticiens afin de réaliser des grands projets.

Exemples:

L'outil Win'Design constitue une mise en œuvre de la méthode MERISE. Notons que Win'Design a été utilisé
pour créer les modèles conceptuels et logiques présentés dans cet ouvrage.

L'application Designer de la société Oracle, constituant un atelier de génie logiciel très répandu, implémente
une méthode plus ou moins compatible à MERISE en ce qui concerne la modélisation des données (Entity
Associationship Modelling).

Proposé par M. Mohamed Lamine Keita 72 UNISIM/IPROSIM


Modélisation d'un système d'information

Proposé par M. Mohamed Lamine Keita 73 UNISIM/IPROSIM


Modélisation d'un système d'information

4.2 Fonctionnalités
Bien que les différents outils de modélisation, actuellement disponibles sur le marché, varient
considérablement en termes de caractéristiques et fonctionnalités, ils offrent cependant les fonctions de base
suivantes.

 Représentation graphique des modèles conceptuels et logiques avec les différents objets ([Link]. entités,
associations, propriétés, identifiants, tables, attributs, clés etc.).
 Vérification des règles de construction des différents modèles ([Link]. Une association ne peut pas être liée
à deux entités via des cardinalités 1,1).
 Transformation automatique d'un MCD en MLD en respectant toutes les règles de transformation.
 Génération automatique d'une BD à partir d'un MLD. Après avoir indiqué le SGBD cible ([Link]. Oracle,
MS-Access, Informix), le concepteur peut demander à l'outil de créer la BD. Pour ce faire, il existe deux
alternatives:
 l'outil de modélisation accède directement au SGBD cible afin de créer la BD en question;
 l'outil de modélisation génère un script1, qui est à la suite exécuté sur le SGBD afin de créer la BD.
 Génération automatique de rapports imprimés concernant l'état actuel d'un travail de conception. Ces
rapports contiennent en général la représentation graphique des modèles, des listes avec tous les objets
des différents modèles et des explications supplémentaires concernant certains objets.
 Gestion des objets de conception ([Link]. entités, associations, propriétés, identifiants, tables, attributs, clés
etc.) dans un dictionnaire2. Pour des petits projets de conception, effectués par un seul concepteur sur un
ordinateur, le dictionnaire est simplement un fichier stocké localement. Toutefois, pour les grands projets,
effectués par plusieurs concepteurs, certains outils de modélisation permettent la gestion d'un dictionnaire
sur un serveur en réseau (voir chapitre 5.5). Dans ce cas, plusieurs concepteurs peuvent travailler en
même temps sur un modèle, l'outil de modélisation veillant à chaque moment que le modèle reste
cohérent. L'intégration de plusieurs modèles en un seul modèle, et la gestion des versions d'un objet ou
d'un modèle constituent d'autres caractéristiques supportées par un tel système.
 La plupart des outils de modélisation sont capables de créer un MLD et un MCD à partir d'une BD
existante. Ce procédé, connu sous le nom de "Reversement d'une BD" (angl. Database Reverse
Engineering), est souvent utilisé à la base d'un projet d'amélioration ou d'extension d'un système
d'information existant déjà sous forme informatique.

1
plusieurs commandes dans un langage supporté par le SGBD cible.
2
une sorte de récipient logique pour les objets de conception.

Proposé par M. Mohamed Lamine Keita 74 UNISIM/IPROSIM

Vous aimerez peut-être aussi