Vous êtes sur la page 1sur 100

SOMMAIRE

PREMIERE PARTIE : MERISE


CHAPITRE I : SYSTEME DINFORMATION .................................................................................... 4
I) Les diffrents composants dun systme ........................................................................................ 4
1) Rappels ............................................................................................................................................. 4
2) Actions programmes et dcisions ............................................................................................. 5
3) Le systme dinformation Automatisable .................................................................................. 6
4) Le systme Automatis dinformation (SAI)............................................................................. 6
5- Le systme automatis dinformation intgr ................................................................... 8
6- Paramtrage dun SAI ................................................................................................................... 9
II) Analyse et conception ....................................................................................................................... 9
1- Les premires mthodes ............................................................................................................ 9
2- Les mthodes avec une nouvelle approche ............................................................................ 9
III) Les diffrents cycles dun systme dinformation...................................................................... 9
1) Le cycle de vie ............................................................................................................................. 9
2) Le cycle dabstraction ..............................................................................................................10
3) Le cycle de dcision..................................................................................................................11
CHAPITRE II : MERISE UNE METHODE DE CONCEPTION, DE .......................................13
DEVELOPPEMENT DES SI .................................................................................................................13
I) Les deux (2) approches de MERISE ..........................................................................................13
1) La premire approche : Les tapes de MERISE .................................................................13
2) La deuxime approche de MERISE ......................................................................................15
CHAPITRE III : LE MODELE CONCEPTUEL DES DONNES (MCD) ......................................16
I) Prsentation ...................................................................................................................................16
1) Introduction ...............................................................................................................................16
2) Les intervenants de la mise en place du MCD ....................................................................16
II) Concepts manipuls et formalisme .......................................................................................16
1) Notion dEntit, Proprit, de Relation (Association) .....................................................16
2) Notion de Cardinalit ..............................................................................................................17
3) Formalisme ................................................................................................................................18
4) Caractristiques dune relation ..............................................................................................18
5) Les Rgles de gestion ..............................................................................................................20
III) Dpendance fonctionnelle.......................................................................................................20
1) Dpendance fonctionnelle entre proprits ........................................................................20
2) Dpendance fonctionnelle entre entit ................................................................................21
IV) Rgles relatives au MCD.........................................................................................................22
1) Normalisation des entits .......................................................................................................22
2) Normalisation des relations....................................................................................................24
3) Respect des contraintes dintgrit ......................................................................................25

1
V) Construction du MCD .............................................................................................................25
CHAPITRE IV : LE MODELE LOGIQUE DES DONNES..............................................................30
I) Rgles de passage du MCD au MLD ........................................................................................30
1) Rgles de passage du MCD au MLD relationnel ...............................................................30
2) Rgles passage du MCD au MLD type "Fichiers classiques"........................................32
3) Rgles de passage du MCD au MCD de type "Rseau ou Codasyl"..................................33
II) Exercice dapplication..............................................................................................................37
CHAPITRE V : LE MODELE PHYSIQUE DES DONNEES...........................................................38
I) Principes gnraux .......................................................................................................................38
II) Reprsentation du passage du MLD au MPD relative aux caractristiques gnrales
de la gestion des relation .....................................................................................................................38
III) Les modles dorganisation des fichiers / tables ...............................................................39
1- Organisation squentielle indexe ........................................................................................39
2- Organisation alatoire .............................................................................................................39
3- Description des fichiers / tables ...........................................................................................40
CHAPITRE VI : LE MODELE CONCEPTUEL DES TRAITEMENTS (MCT) .........................41
I) Les concepts manipuls ...............................................................................................................41
1) Le processus ...............................................................................................................................41
2) Lvnement ...............................................................................................................................41
3) Synchronisation.........................................................................................................................42
4) Opration ...................................................................................................................................42
5) Rgles dmission......................................................................................................................43
6) Rsultat.......................................................................................................................................43
II) Formalisme du MCT ...............................................................................................................43
III) Construction du MCT..............................................................................................................43
1) Mcanisme de construction du modle ................................................................................44
2) Vrification du modle ............................................................................................................44
VI) Exercices dapplication ............................................................................................................45
CHAPITRE VII : LE MODELE ORGANISATIONNEL DES TRAITEMENTS (MOT) ..........49
I) Conception manipule..................................................................................................................49
1) La procdure ..............................................................................................................................49
2) Schma de passage des oprations aux procdure .............................................................50
3) Schma gnral du MOT ........................................................................................................50
4) Construction du modle ..........................................................................................................51
DEUXIEME PARTIE: BASE DE DONNEES..61
CHAPITRE I : DES FICHIERS AUX BASES DE DONNEES .........................................................63
I) Les fichiers et les limites des systmes de gestion de fichiers (SGF) ................................63
II) Les bases de donnes et les systmes de gestion de base de donnes ...........................64
III) Diffrents type de SGBD et les modle de reprsentation ..............................................65

2
CHAPITRE II : LE MODELE RELATIONNEL ................................................................................67
I) Gnralits sur le modle relationnel.......................................................................................67
CHAPITRE III : LALGEBRE RELATIONNELLE ...........................................................................69
I) Les oprations unaires .................................................................................................................69
II) Les oprateurs binaires ...........................................................................................................71
III) Exercices dapplication ............................................................................................................76
CHAPITRE : LE LANGAGE SQL (Structured Query Language) ..................................................79
I) Structure du langage SQL ...........................................................................................................79
1) Le langage de dfinition de donnes (DDL) .......................................................................79
2) Langage de contrle des donnes (DCL) .............................................................................83
3- Le Langage des Manipulation des Donnes (LMD) .............................................................85

3
CHAPITRE I : SYSTEME DINFORMATION

I) Les diffrents composants dun systme

1) Rappels
a- Dfinition dun systme

Cest un ensemble dlments (hommes, machines, mthodes, rgles,) en interaction


transformant par un processus des lments appels entre en dautres lments
appels sortie

Exemple

Chaudire Chaleur
Charbon

Systme Sortie
Entre

b- les diffrentes parties dun systme

Un systme est constitu de trois :

- Le systme oprant

- Le systme de pilotage

- Le systme dinformation

Le systme oprant

Il excute les tches utiles au fonctionnement du systme. Il est encore appel


Systme dexcution.

Exemple : Les ouvriers et les robots dune chaine de montage

Le systme de pilotage

Il pilote (rgle et contrle) le systme oprant en fonction des objectifs fixs.

Exemple : les dirigeants dune entreprise

Le systme dinformation

Il sert dinterface de communication entre le systme oprant et le systme de


pilotage et aussi entre tout le systme et lenvironnement extrieur. Il est constitu :

- Dun systme de communication

4
- Dun systme de traitement

- Dun systme de mmorisation

c) Schma de la structure dun systme

Dcision
Systme de pilotage

Information sur les oprations


Entre Systme dinformation Sortie ralises par le systme oprant

Interaction
Systme oprant

2) Actions programmes et dcisions

a- Actions programmes
Dans un systme, les actions programmes sont des actions qui dterminent de
manire unique les sorties (S) partir des entres (E).

Systme sans
E S
dcision S= f(E)

La connaissance de E dtermine de faon unique la valeur de S

b- Dcisions

Un systme peut tre dans certains cas dans une situation dinformation incomplte.
Dans ce cas une mme entre (E) peut conduire plusieurs sorties possibles (S, S1,
S2, S3,.).
Le choix de la sortie effectivement ralise se fait par dcision.

Systme avec S1
E dcision S2
S3
c- Conclusion

Le processus qui transforme dans un systme les entres en sorties peut comporter :

- des actions programmes

- des dcisions

5
3) Le systme dinformation automatisable

a- Conditions de lautomatisation

Le systme dinformation doit tre tel que la connaissance des entres permettent de
dterminer les sorties par des rgles de transformation explicite. Seules seront donc
automatisables priori les actions programmes. Les choix ne sont pas automatisable
priori, il est toutefois possible de transformer ces choix en actions programmes en
ayant recours un modle. Par exemple les dcisions de rapprovisionnement
peuvent seffectuer en utilisant un modle de gestion de stock tel que :

Si stock<500 alors commander 2000

b- rgles concernant lautomatisation

En rsum nous pouvons noncer la rgle suivante : Pour quun systme


dinformation soit automatisable, il faut quil soit formalisable c'est--dire que la
connaissance des entres doit dterminer les sorties de faon unique . Cela revient
dire que ce sous-systme ne doit comporter que des actions programmes. Pour cela
on transforme les choix ventuels en actions programmes au moyen de modles.

4) Le systme Automatis dinformation (SAI)

a- Dfinition

Cest un sous-systme du systme dinformation qui permet la conservation et le


traitement automatique des informations.

b- Dcoupage en sous-systme

Lors dune dmarche dinformatisation, le systme dinformation est gnralement


dcompos en sous-systmes dinformation. Ce dcoupage peut tre effectu selon les
domaines dactivits de lentreprise : vente, achat, gestion du personnel,
comptabilit,

Ce dcoupage entrane une tude approfondie des liaisons entre sous-systme car il
engendre de nombreuses interfaces (changes dinformations entre les diffrents sous-
systmes). Dans ce type de systme les liaisons entre sous-systme sont ralises par
lintermdiaire dune mmorisation commune des donnes c'est--dire par
lintermdiaire dune base de donnes. Les donnes gnres par lun sont rcupres
par les autres. Ce qui vite le problme de redondance et dincohrence des donnes.

c- Justification dun SAI

Deux raisons justifient lautomatisation dun systme dinformation :

- Simplification et amlioration du travail (gestion du personnel, gestion du


stock, comptabilit,) grce lautomatisation des tches rptitives et
fastidieuses.

6
- Aide la dcision en fournissant en temps opportun aux dirigeants de
lentreprise des informations dont ils ont besoins.

d- Sous-systmes fonctionnels dun SAI

Processeur
Modle (programme
Univers extrieurs Saisie dinformation
+ structures de
Faits et Evnement (Ordinateur +
donnes)
logiciel de base +
Resultat personnel Base dinformation
dexploitation (Base d donnes)

Utilisateur Communicateur Traitement Mmoire


automatique

Dans un SAI, le processeur dinformation quil ne faut pas confondre avec le


processeur dun ordinateur est constitu dun ou plusieurs ordinateurs pilots par le
personnel dexploitation et le systme dexploitation (logiciel de base). Ce processeur
dinformation est en liaison avec lunivers extrieur au moyen des units
priphriques de communication, des supports de saisie et des personnels de saisie.

Il est en liaison aussi avec le modle et la base dinformation au moyen de


priphriques de stockage. Le modle et la base dinformation sont stocks sur des
mmoires externes (auxiliaires). Le processeur dinformation va chercher dans le
modle les programmes excuter et les structures de donnes respecter puis
procde la consultation ou la mise jour de la base dinformation. Il labore les
rsultats qui transmet lunivers extrieur. on distingue quatre (4) sous-systmes
fonctionnels :

- 2 sous-systmes internes au SAI

Le traitement automatique

La mmorisation

- 2 sous- systmes de communication

La saisie

Laccs

La mmorisation

Cest la fonction qui assure le stockage des informations :

- Stockage des programmes et de structure des donnes (modles)

- Stockage des donnes travers des fichiers ou des bases donnes (base
dinformation)

7
Cette fonction de stockage est ralise laide de mmoires externes quon appelle
aussi encore des mmoires auxiliaires ou mmoires secondaires (CD-ROM, Bande
magntique,).

Le traitement automatique

Cest la fonction qui consiste manipuler les donnes mmorises ou provenant de


lextrieur (saisie). Les traitements automatiques sont effectus par lordinateur et
peuvent tre :

- Des contrles (validation des donnes respectant des contraintes bien dfini).

- Des mises jour (MAJ) (Transformation de donnes de la base dinformation


en donnes nouvelles).

- Des recherches (slection des donnes de la base dinformation rpondant


certains critres).

- Des calculs (laboration des donnes nouvelles partir des donnes saisies ou
mmorises selon des rgles prcises).

La saisie

Cest la fonction qui consiste communiquer au SAI des informations en provenance


de lunivers extrieur. Les donnes saisies peuvent servir :

- Au traitement automatique

- A lenrichissement de la base dinformation

Laccs

Il consiste mettre la disposition de lunivers extrieur des rsultats obtenus la


suite dun traitement automatique
e- Place dun SAI dans un SI

Le SAI sous-systme du si prendra en compte les traitement automatiss ; les


traitements non automatiss restant la charge du personnel

5- Le systme automatis dinformation intgr


Un SAI est intgr, sil comprend plusieurs sous-systmes qui sont en liaison de telle
sorte quune information saisie en une seule fois par un sous-systme puisse tre
utilise par tous les autres sous-systmes. Un SAI intgr limine donc les
redondances et les incohrences de donnes. Dans un tel SAI, les liaisons sont
ralises par lintermdiaire dune base de donnes qui assure la mmorisation
commune.

8
6- Paramtrage dun SAI
Un SAI doit tre adaptable pour pouvoir durer. Adaptable qui signifie souple et
volutif nest possible quavec des logiciels fortement paramtrs permettant de
rsister au changement sans quon ait besoin de modifier les programmes. La notion
de paramtrage est trs importante car cest grce lui quun SAI devient adaptable.

II) Analyse et conception

1- Les premires mthodes

Les premires mthodes permettant lanalyse et la conception des SAI, on vu le jour


atour des annes 60. Elles permettaient une dmarche par tape avec validation et
accord de la direction chaque tape.

Ces mthodes se sont ensuite avres difficiles mettre en uvre dur dimportants
projets dinformatisation. On peut citer parmi elles des mthodes comme CORIG,
ARIANE, MINOS, PROTEE,

2- Les mthodes avec une nouvelle approche

A lheure actuelle la nouvelle approche consiste situer sur le mme plan, donnes et
traitements tout en les sparant clairement. De nombreuses mthodes de conception
de SAI convergent dans la mme direction malgr des divergences au niveau des
concepts, des outils utiliss, et des modles pour la description des donnes et des
traitements. Parmi ces mthodes nous pouvons citer AXIAL, SADI, et MERISE.
MERISE est ne vers les 1978-1979 et est largement rpandue dans les entreprises
de nos jours.

III) Les diffrents cycles dun systme dinformation

Ltude dun systme dinformation est construite traditionnellement en suivant trois


cycles.
- Le cycle de vie

- Le cycle dabstraction

- Le cycle de dcision

1) Le cycle de vie

Conception Ralisation Maintenance Dclin

9
a- La conception

Cest la description fonctionnelle et technique du systme

b- La ralisation

Cest llaboration des programmes permettant de mettre en uvre les solutions


techniques prcdemment retenues

c- La maintenance

Cest la prolongation du systme dinformation et son adaptation aux besoins


nouveaux de lentreprise.

d- Le dclin

Lorsque le systme dinformation sera jug comme dpass un nouveau cycle de vie
recommencera.

2) Le cycle dabstraction

La comprhension de ce cycle est essentielle car MERISE sappuie fortement sur lui.
On distingue trois niveaux dans le cycle dabstraction : le niveau conceptuel, le niveau
logique, le niveau physique.

a- Le niveau conceptuel

Au niveau conceptuel, le systme dinformation sera reprsent de faon totalement


indpendante de lorganisation et sans tenir compte des moyens des moyens
techniques existants. A ce niveau, on se pose les questions suivantes : Quoi ? ,
Que veut-on faire ?

b- Le niveau logique

Appel encore niveau organisationnel, il consiste prendre partir des modles


dvelopps au niveau conceptuel des choix concernant les donnes et les
traitements. On se pose ici les questions suivantes : Qui ? , Quand ? , o ? ,
Comment ?

c- Le niveau physique

Appel encore niveau oprationnel, il consiste apporter des solutions techniques au


problme. Cest le niveau o on va tenir compte des contraintes en termes de systme
dexploitation, de systme de gestion de base de donnes, de langage de
programmation. Ici on se pose la question suivante: Avec quels moyens ?

10
3) Le cycle de dcision

Il traduit lensemble de mcanisme de dcision et de choix prendre lors du


dveloppement du systme dinformation. Il est indispensable de savoir qui prend les
dcisions en ce qui concerne la validation des diffrents modles de la mthode
utilise et le passage dune tape une autre. On ne peut pas concevoir ltude dun
systme dinformation sans prciser le cycle de dcision

11
12
CHAPITRE II : MERISE UNE METHODE DE CONCEPTION, DE
DEVELOPPEMENT DES SI

I) Les deux (2) approches de MERISE

MERISE propose une approche par tape et une approche par niveau

1) La premire approche : Les tapes de MERISE

La premire approche propose par MERISE est une par tape. Ces diffrentes tapes
sont :
Le schma directeur

Ltude pralable

Ltude dtaille

La ralisation

La mise en uvre

La maintenance

a- Le Schma directeur

Lobjectif de cette tape est de faire le lien entre la stratgie de lentreprise et ce


besoins en terme SI.

Pour le faire :

- On dcoupera lentreprise en domaine de gestion :

Domaine dachat

Domaine de vente

Domaine de comptabilit

Domaine de gestion du personnel

..

- On identifiera ensuite les activits de lentreprise qui sexprime en termes de


finalits stratgiques :

Que fait lentreprise exactement ?

- On affectera ensuite les finalits aux domaines correspondants.

13
Exemple : Le domaine commercial prendra en charge les deux (2) finalits suivantes :
vendre et livrer les produits.

- On procdera lidentification des besoins en termes de systme dinformation


pour le domaine quon veut tudier

- On fera la mme chose pour tous les autres domaines afin de mieux
apprhender leur articulation dans le souci de cohrence

b- Ltude pralable

A la suite du schma directeur, ltude pralable aura pour but de reprendre chaque
domaine et dtudier de manire plus approfondie les projets mettre en uvre et
leur interfaage c'est--dire leur circuit de communication.
c- Ltude dtaille

Elle est effectu projet par projet et se dcompose en deux phases


La conception fonctionnelle

La conception technique

La conception fonctionnelle

On procde partir dlments fournis par ltude pralable llaboration du dossier


de choix. Ce dossier a pour but de faire le bilan de lexistant et de raliser un cahier
des charges qui permettra aux utilisateurs de prendre connaissance du systme futur.

La conception technique

Elle permet dlaborer larchitecture technique des programmes des diffrentes


transactions ou des chaines BATCH (programmes regroups et traits au
moment o la machine est moins sollicite) et les modles physiques des donnes
ncessaires leur excution (programmes).

d- La ralisation

Lors de cette tapes, les programmes vont tre cods, cris. Il va falloir mettre en
place les quipes ncessaires et les encadrer. La ralisation est effectue trois parties :

Codage des programmes

Tests et mise au point

Intgration des transactions et des chaines BATCH

e- La mise en uvre

Elle ncessite la ralisation de lensemble des taches suivantes :

14
Cration et initialisation des bases de donnes

Rception ventuelle et installation des nouveaux matriels informatique

Rdaction des manuels pour les futurs utilisateurs des applications

Formation des futurs utilisateurs aux nouvelles applications

Lancement des nouvelles applications en parallle avec les anciennes

Lancement dfinitif des nouvelles applications

f- La maintenance

Elle va permettre de faire vivre les applications jusqu leur dclin. Elle demande
beaucoup de rigueur et implique la mise en place de personnel spcialis charg de la
gestion des diffrentes versions des applications. Limportance de la documentation
savre importante, capitale lors la maintenance.

La rigueur de la conception due MERISE va permettre de diminuer le cot de la


maintenance et prolonger la dure de vie des applications.

2) La deuxime approche de MERISE

On conoit avec MERISE un systme dinformation en suivant une modlisation


trois niveaux : conceptuel, logique, physique.

Niveau Choix Proccupation Donnes Traitement

Conceptuel de gestion Quoi ? MCD MCT

Que veut-on
faire ?
Logique dorganisation Qui ? , Quand ? MLD MOT

O ?, Comment ?
Physique technique Avec quels MPD MOpT
moyens ?

Dans MERISE lapproche par niveau est utilise toutes les tapes de lapproche par
tape pour modliser un systme dinformation.

15
CHAPITRE III : LE MODELE CONCEPTUEL DES DONNES (MCD)

I) Prsentation

1) Introduction

Le niveau conceptuel apporte des rponses aux questions suivantes : Quelles actions
entreprendre et avec quelles donnes ?

Lanalyse conceptuelle des donnes a pour objet de recenser toutes les informations
du champ dtude et dcrire le lien entre elles. Elle aboutit la mise en place du
Modle Conceptuel des Donnes (MCD).

Le MCD est donc la reprsentation statique de lensemble des donnes manipules


par lentreprise ainsi que les relations existantes entre ces donnes.

2) Les intervenants de la mise en place du MCD

Llaboration du MCD nest pas aise et na rien dalgorithmique. Seul le travail et la


rflexion aboutiront la mise en place dun bon MCD.
Le MCD est mise en place par une quipe de concepteur sous la direction dun chef de
projet.

II) Concepts manipuls et formalisme

1) Notion dEntit, Proprit, de Relation (Association)

a- Entit

Une entit est un objet pourvu dune existence propre. Une entit peut tre un objet
concret (lve, professeur, btiment,) ou un objet abstrait (matire, filire, classe).

b- Proprit

Une proprit est un attribut caractrisant une entit ou une relation (association).
En dautre terme les proprits sont utilises pour dcrire les entits et les relations.

Exemple : Dans une cole, nous pouvons avoir Etudiant comme entit. Les proprits
de lentit Etudiant peuvent tre : Matricule, Nom, Prnom et Adresse,

NB : Identifiant de lentit

Parmi les proprits que porte lentit, il existe une qui revt une importance
particulire car permet par le biais de sa valorisation didentifier de manire unique et
sans ambigut une occurrence de lentit, une et une seule. Cest lidentifiant.

Exemple : Parmi les proprits de lentit Etudiant, le Matricule permet didentifier


de faon unique un tudiant. Donc Matricule est lidentifiant de lentit Etudiant

16
c- Relation (Association)

Une relation ou une association est un lien entre 2 ou plusieurs entits. Elle est
dpourvue dexistence propre.

Exemple : Un tudiant appartient une classe

Le verbe Appartenir est la relation liant les entits Etudiant et Classe

On distingue diffrents types dassociation

- Association binaire qui met deux entits en relation

- Association ternaire met en relation trois entits

- Association n-aire met plusieurs entits en relation

2) Notion de Cardinalit

a- Occurrence dune entit

Une occurrence dentit correspond une ligne de valeurs attribues aux proprits
de lentit.

Exemple : Soit lentit Etudiant compose des proprits suivantes : Matricule,


Nom, Prnom

Matricule Nom Prnom


165I98 Abiyou Sylvie Deux (2) occurences
165I99 Kra Benot

b- Cardinalit dune entit par rapport une relation

La cardinalit reprsente le nombre doccurrences minimales ou maximales par


rapport une relation.

Cardinalit minimale

Cest le nombre de fois minimum quune occurrence de lentit participe aux


occurrences de la relation. La cardinalit minimale est souvent 0 ou 1

0 signifie qui peut exister au moins une occurrence qui ne participe pas aux
occurrences de la relation.

Cardinalit maximale

Cest le nombre de fois maximum quune occurrence de lentit participe aux


occurrences de la relation. La cardinalit maximale est souvent 1 ou n

17
3) Formalisme

< Nom entit 1 > < Nom entit 2 >

Identifiant 1 (nb1, nb2) Nom relation Identifiant 2


(nb1, nb2)
Proprit 1 Proprit 1
Proprit1
Proprit 2 Proprit 2
.
. .
Proprit n
Proprit n Proprit n

Cardinalit Cardinalit Cardinalit


Cardinalit
maximale minimale maximale
minimale
(1 ou n) (0 ou 1) (1 ou n)
(0 ou 1)

Exemple : un tudiant appartient une classe

Etudiant Classe

Matricule Code
1, 1 Appartenir 1, n Libell
Nom
Prnom

4) Caractristiques dune relation

a- La Collection dune relation

La collection de la relation est la liste des entits sur laquelle cette relation est dfinie.

Exemple : Dans lexemple prcdent, la collection est :

{Etudiant, Classe}

b- La Dimension

La dimension dune relation est le nombre dentits concerns par une occurrence de
la relation. Elle est toujours suprieure ou gale au nombre dentits dans la
collection

Exemple :

- Un tudiant appartient une filire

18
Collection= {Etudiant, Filire}

Dimension=2

- Une personne est marie une autre

Personne

Code 0, 1 Etre mari


Nom
Prnom 0, 1

Collection= {Personne}

Dimension=2

c- Fonctionnalit

Elle est dfinie par rapport 2 entits : X et Y. On distingue les relations suivantes :

Relation un un (1-1)

A toute occurrence de X ne correspond quune et une seule occurrence de Y et


rciproquement.

Exemple :

Homme Femme

Code Code
1, 1 Etre mari 1, 1 Nom
Nom
Prnom Prnom

Relation un plusieurs (1-n)

A toute occurrence de X correspond une et seule occurrence de Y et toute occurrence


Y une ou plusieurs occurrences de X.

Exemple :

Roman Auteur

Code Code
1, 1 Ecrire 1, n Nom
Titre
Prnom

19
Relation plusieurs plusieurs

A toute occurrence de X correspond une ou plusieurs occurrences de Y et


rciproquement.

Exemple :

Client Produit

Code Numro
1, 1 Commander 1, n Dsignation
Nom
Pu

H_konate@hotmail.fr
H_konate22@yahoo.fr
5) Les Rgles de gestion

Les rges de gestion du MCD prcisent des contraintes qui doivent tre respectes
par le modle.

Exemple : Dans une cole, on peut avoir les rgles de gestion suivantes :

RG1 : Tout professeur enseigne au moins une matire mais certains dentre eux
peuvent tre dispenss denseignement.
RG2 : Toute matire est enseigne au moins dans une classe.
RG3 : Toute classe a au moins 3 enseignements.

III) Dpendance fonctionnelle

1) Dpendance fonctionnelle entre proprits

Une proprit B dpend fonctionnellement dune proprit A not AB lorsque la


connaissance de A entraine celle de B c'est--dire partir de A, on peut dterminer B.
Exemple : Client (Code, Nom, Prnom, Adresse)

Code Nom Code


Code Prnom
Code Adresse Nom Prnom Adresse

a- Dpendance fonctionnelle lmentaire

Soit 2 proprit A et B. A B est une dpendance fonctionnelle lmentaire si et


seulement si :
- A est un attribut unique qui nappartient pas B
- Il nexiste pas un partie A de A telle que AB

20
Exemple :

Code Produit Alimentaire Code produit nest pas une dpendance fonctionnelle
lmentaire car lensemble des produits alimentaires est une sous ensemble de
lensemble des produits.

b- Dpendance fonctionnelle lmentaire direct

On dit quil existe une dpendance fonctionnelle lmentaire directe et on note


A B si et seulement si :
- cette DF est lmentaire
- il nexiste pas de proprit C telle que A B ; B C ; A C. En dautre
terme les transitivits ne doivent pas exister.

Exemple :
Matricule professeur Code matire nest pas une dpendance lmentaire
Code Matire Nom matire directe car il existe une transitivit
Matricule Professeur Nom matire

2) Dpendance fonctionnelle entre entit

On dit quil existe une dpendance fonctionnelle entre deux (2) entits A et B et on
note A B si toute les occurrences de A dtermine une et une seule occurrence de B

Exemple :

Client Commande

Code Numro
1, 1 Passer 1, n Dsignation
Nom
Pu

On a : Commande Client car toute commande est passe par un et seul client. La
cardinalit 1,1 dans cette relation explique que toute commande dtermine un et un
client.

NB : La cardinalit maximale 1 traduit toujours une dpendance fonctionnelle.

Les dpendances fonctionnelles entre entits sassimilent aux dpendances


fonctionnelles entre les identifiants de ces entits.

3) Notion de contrainte dintgrit fonctionnelle (CIF)

21
Chaque fois que nous avons les cardinalits (0, 1) ou (1, 1) lies une entit de la
relation, nous disons que nous avons une contrainte dintgrit fonctionnelle

Pre Enfant

Code Code
Nom 1, n CIF 1,1 Nom
Prnom Prnom

La flche quitte lentit fils et se dirige vers lentit pre

Remarque : CIF des relations un un (1-1)

Lorsquil ya une relation entre deux (2) entits avec la cardinalit maximale 1 des
deux (2) cots, il y a priori dpendance fonctionnelle dans le deux (2) sens. Il faut
faire intervenir la notion du temps. La contrainte sera prise dans le sens allant de
lentit la plus rcente vers lentit la plus ancienne.

Exemple :

Commande Livraison

NBonCmde NBonLivr
0, 1 1,1
Date CIF Date

IV) Rgles relatives au MCD

1) Normalisation des entits

a- 1re Forme Normale de CODD (1 FN)

Dans une entit, toutes les proprits doivent tre lmentaires et il doit exister un
identifiant caractrisant chaque occurrence de lentit reprsente.

Exemple

Etudiant Etudiant

Nom NORMALISATION Matricule


Prnom Nom
Adresse Prnom
Rue
Ville
Cette entit nest pas en 1FN car BP
elle ne possde didentifiant et
la proprit Adresse nest pas 22
lmentaire
b- 2e Forme Normale de CODD (2 FN)

Pour quune entit soit en 2 FN, il faut que :


- elle soit dabord en 1 FN
- toutes ses proprits dpendent de lidentifiant par une dpendance fonctionnelle
lmentaire.

Exemple :
Etudiant
Matricule
Nom
Prnom
Rue
Ville
BP

Cette entit est en 2FN car


Nom, prnom, Rue, Ville et
BP dpendent toute de
Matricule qui est lidentifiant

c- 3e Forme Normale

Une entit est la 3FN si :

- elle est la 2FN

- toute les proprits dpendent de lidentifiant par une dpendance fonctionnelle


lmentaire directe. Cela veut dire quil ne doit pas exister de transitivit

Exemple :

Client
Client Catgorie
CodeClient
Nom CodeClient CodeCat
CodeCatgorie NORMALISATION Nom NomCat
NomCatgorie

Cette entit nest pas en 3FN car


nous avons DF traduisant la rgle
de la tranitivit :
CodeClient CodeCatgorie
CodeCatgorie NomCatgorie
CodeClient NomCatgorie

23
2) Normalisation des relations
Chaque proprit de la relation doit dpendre fonctionnellement de lensemble des
identifiants des entits qui participent la relation, mais daucun sous-ensemble de
cet ensemble. Il doit y avoir une dpendance pleine (dpendance lmentaire directe)
des proprits de la relation par rapport aux entits.
Exemple : Considrons ce modle.

Client Reprsentant

0, n Passer commande 1, n CodeRep


Code
Nom
Nom
Nbon, Date, Qt

Nous constatons que :

- la proprit Date ne dpend pas du lentit Client et de lentit Reprsentant mais


plutt du Nbon de commande.

- la proprit quantit (Qt) ne dpend non plus de lentit Client et de lentit


Reprsentant mais plutt de la commande et produit command.

Partant de ces constats nous pouvons dire que la relation "Passer commande" nest
pas normalise. Pour la normaliser nous allons crer deux (2) autres entits qui
sont : Commande et produit.

Client Reprsentant

0, n Passer 1, 0 CodeRep
Code
Nom
Nom

1, 1
Produit Commande
CodeProd 0, n Concerner 1, n
NBon
Nom Qt
Date

24
3) Respect des contraintes dintgrit

Le MCD doit respecter les rgles de gestion qui expriment des contraintes
dintgrits.

4) La rgle de la Vrification

Dans toute occurrence dentit ou de relation, il ne doit y avoir quune et seule valeur
de chaque proprit. Pour les entits, cette rgle rsulte de la 1FN. Elle reste vraie
pour les relations.

Exemple : Considrons ce modle

Etudiant Matire

0, n Noter 1, n CodeMat
Matricule
Note, Date libMat
Nom
Prnom

Ici nous pouvons remarquer que dans une matire donne, un tudiant peut avoir
plusieurs notes. Donc la proprit Note doit normalement prendre plusieurs valeurs.
Ce qui est contraire la rgle de vrification. Alors nous pouvons affirmer que la
relation "Noter" nest vrifie.

V) Construction du MCD

Rappelons que le Modle Conceptuel des Donnes (MCD) doit aboutir la


construction du Schma du MCD. La mise en place du MCD suit une dmarche qui
est la suivante :

Etablissement du dictionnaire

Enonce des rgles de gestion

Construction du graphe de dpendance fonctionnelle ou la matrice de


dpendance fonctionnelle

Construction du Schma du MCD.

25
Exemple : Soit la facture suivante :

NBON :
Date ://..
Nom
client :
Adresse :

REF DESIGN QTE PU MONTANT

TOTAL

Et les rgles de gestion du systme dinformation.

RG1 : Un client peut ne pas passer de commande ou peut en passer plusieurs


RG2 : Une commande peut concerner un ou plusieurs produits.
RG3 : Une commande est passe auprs dun reprsentant qui nest pas toujours le
un client donnes.
Construis le MCD.

Rsolution

1) Construction du Dictionnaire de Donnes (MCD)

a- Liste des entits et leurs proprits

En partant de facture et les rgle de gestion, dcelons :


- Client (nom, adresse)

- Commande (NBon, date, total

- Produit (Ref, dsignation, quantit, Pu, Montant)

- Reprsentant (Nom)

b- Dictionnaire de donnes

Dans notre exemple, considrons quil sagit dun systme manuel. Il nexiste pas
encore forcement des codifications. Nous allons donc crer des codes pour identifier
les entits videntes.

Les codes sont : CODCLI pour identifiant le client


CODREP pour identifier le reprsentant

26
CODE SIGNIFICATION TYPE LONGU NATURE OBS
A,AN EUR E M
N CO SIG
CA SIT
NBonCd Numro du bon de N 5 E SIG Identifiant
e commande
Date Date de la commande AN 10 E M JJ/MM/AA
CodeCli Code du client N 5 E SIG Identifiant
NomCli Nom du client A 30 E SIG
BpCli Boite poste du client AN 60 E SIG
RueCli Rue du client AN 30 E SIG
VilleCli Ville du client A 30 E SIG
CodeRep Code du reprsentant N 3 E SIG Identifiant
NomRep Nom du reprsentant A 30 E SIG
RefProd Rfrence du produit AN 5 E SIG Identifiant
DesigPro Dsignation du A 30 E SIG
d produit
Qte Quantit commande N 3 E SIT
Pu Prix unitaire N 6 E SIG
Montant Montant de la ligne de N 9 CA SIT Qte * Pu
commande
Total Total des montants N 10 CA SIT des
motants
Legende

Type : Il sagit ici du type de donnes. En MERISE nous avons les types de donnes
suivantes :
A : Alphabtique ; AN : Alphanumrique ; N : Numrique

Nature : Il sagit ici de la nature des donnes. Concernant la nature des donnes, nous
avons les possibilits suivantes :
- E (lmentaire) : Une proprit est dite lmentaire lorsquelle nest pas
dcomposable.

- Co (concatne) : Une proprit est dite concatne si elle est dcomposable en


dautres proprits.

- CA (calcule) : Une proprit est dite calcule si elle est dductible des autres
proprits grce une rgle de calcule

- M (mouvement) : Une proprit est dite mouvement lorsquelle rsulte


dvnements.

- SIG (Signaltique) : Une proprit est signaltique si sa valeur est stable dans le
temps.

27
- SIT (Situation) : Une proprit est dite situation si sa valeur varie en fonction
dune situation. Cette valeur est imprvisible.

NB : Dans le dictionnaire, nous devons liminer les polysmes et les synonymes.


2) Enonce de des rgles des gestions

Dans cet exemple les rgles de gestion ont t clairement dfinies. Dans le cas
contraire nous allons les dfinir nous-mmes suite une interview auprs des
diffrents postes de travail concern par notre tude.

3) Construction du graphe de dpendance fonctionnelle (CDF)

Qt
NBonCde RefProd

Total DesigProd
Date Pu

CodeCli
CodeRep
NomCli VilleCl BpCli
RueCli
Nom i
Rep
Ici, il ny pas de transitivit, donc on a une structure daccs thorique (SAT).

NB : Sur le graphe de dpendance fonctionnelle, on vrifie quil na pas de cycle, on


limine les transitivits. On obtient ainsi la Structure dAccs Thorique (SAT) ou
couverture minimale qui reprsente les divers chemins daccs aux donnes.

Construction du schma du MCD

Reprsentant Commande
CodeRep NBonCmde
NomRep Date
0, n Recevoir 1, 1
1,1

1, n

Concerner
Passer Qt

Client 0, n
1, n
CodeCli Produit
NomCli
RefProd
BpCli
DesigProd
VilleCLi
PuProd
RueCli 28
TelCli
Application : Gestion dune cinmathque
Une cinmathque dsire automatiser son systme dinformation. Celui-ci concerne
un minimum de 500 films, 20 ralisateurs, et 40 acteurs. En moyenne, on constate les
points suivants :
- Un film utilise 3 acteurs.

- Un ralisateur a tourn 25 films.

- Un acteur a tourn dans 25 films.

On a not les rgles de gestion suivantes :


- RG1 : Tout film un ralisateur et un seul

- RG2 : Tout ralisateur a fait au moins un film

- RG2 : Tout film a au moins un acteur

- RG4 : Tout acteur a jou dans au moins un films.

Les proprits releves sont les suivantes : Nom-ralisateur, prnom-ralisateur,


Nom-acteur, Prnom-acteur, Titre, Date-fin-tournage, date-engagement-acteur.
Il se peut quil ait des homonymes aussi bien parmi les ralisateurs que parmi les
acteurs. De mme des films peuvent avoir des titres identiques. Un acteur est engag
pour jouer dans un film donn.

TAF : Etablir le dictionnaire des donnes


Etablir le graphe de dpendance fonctionnelle plus prcisment la structure
daccs thorique (SAT)
Construire le schma du MCD correspondant

29
CHAPITRE IV : LE MODELE LOGIQUE DES DONNES

Le modle logique des donnes (MLD) a pour objet de dcrire les enregistrements
logiques et dentrevoir la structuration physique des donnes grce aux estimations
que lon peut faire sur les volumes des enregistrements mmoriser.

Le MLD est construit partir du MCD en tenant compte des lments suivants :

Le niveau et le type dautomatisation : il sagit ici de ne retenir dans le MLD


que la partie du MCD qui sera automatise.

Lorientation des choix technique concernant le systme de gestion de


donnes :

Lorientation base de donnes de type relationnel

Lorientation base de donnes de type Codasyl ou rseau

Lorientation base de donnes de type Fichier classique

Bien que chacun des modles possde un vocabulaire spcifique, ils dcoulent tous
dalgorithme proche, permettant obtenir lensemble des constituants de chaque
enregistrement logique.

I) Rgles de passage du MCD au MLD

1) Rgles de passage du MCD au MLD relationnel

a) Rgles pour les entits

- lentit se transforme en une table

- lidentifiant de lentit devient la cl primaire de la table

- les proprits de lentit deviennent des attributs

b) Rgles relatives aux relations du MCD

Ces rgles sont en fonction de type de relation qui nous avons. Les trois (3) cas de
liaison binaire entre entits sont :

Cas de la relation "Pre-Fils

1,n 0,1

0,n 1,1

Lentit "pre" devient la table "pre"

30
Lentit "fils" devient la table "Fils
Lidentifiant de lentit "Pre" devient un attribut de la table "Fils". Cet
identifiant est appel Cl trangre
Exemple : Soit le MCD suivant :

Client Commande
Codecli NumCde
Nom Date
0, n effectuer 1, 1
prenom

Le MLD correspondant est :

TClient (Codecli, Nom, Prenom)


TCommande (NumCde, Date, # Codecli)

Cas de la relation plusieurs plusieurs

1,n 1,n

0,n 0,n

Les entits deviennent des tables

La relation du MCD devient aussi une table dont la cl est la concatnation


des identifiant des entits mis en relation. Si la relation possde des proprits,
celles-ci deviennent des attributs de la table.

Exemple : Soit le MCD suivant :

Produit Commande
RefProd NumCde
DesigProd Date
PuProd 0, n Concerner 1, n
Qt

Le MLD correspondant est :

TProduit (RefProd, DesigProd, PuProd)


TCommande (NumCde, Date)
TConcerner (RefProd, NumCde, Qt)

Cas des liaisons un un (CIF dans les deux sens)

Les deux (2) entits deviennent des tables.

31
La table de lentit reoit lidentifiant de lentit rceptrice.

Exemple :

Pays Capitale
CodePays CodeCap
NomPays NomCap
1, 1 Avoir 1, 1

TPays (CodePays, NomPays)


TCommande (CodeCap, NomCap, # CodePays)

2) Rgles passage du MCD au MLD type "Fichiers classiques"

Le passage du MCD vers MLD orient fichier va nous permettre de constituer nos
fichiers et ceux indpendamment de choix de leur organisation et de leur mode
daccs.

a) Rgles pour les entits

- lentit devient un fichier.


- lidentifiant de lentit devient la cl daccs du fichier.
- Chaque proprit de lentit devient une rubrique du fichier.
- Chaque occurrence de lentit devient un enregistrement ou article logique du
fichier

b) Rgles pour les relations du MCD

Cas de la relation "Pre-Fils

Lentit "pre" devient le fichier "pre"

Lentit "fils" devient le fichier "Fils

Lidentifiant de lentit "Pre" devient une rubrique du fichier "Fils".

Exemple : Soit le MCD suivant

Client Commande
Codecli NumCde
Nom Date
prenom 0, n effectuer 1, 1

32
Nous avons le MLD fichier classique correspondant :

F.Client F.Commande
Codecli (cl) NumCde (cl) index
Nom Date
Prenom Codecli (2e Cl) index

Cas de la relation plusieurs plusieurs

Les entits deviennent des fichiers

Les identifiants deviennent leur cl respective

Leurs proprits deviennent des rubriques

La relation du MCD devient aussi fichier avec pour cl la concatnation des


identifiant des entits mis en relation. Si la relation possde des proprits,
celles-ci deviennent des rubriques de ce fichier.

Exemple : Soit le MCD suivant

Logiciel Micro
CodeLog NumMicro
NomLog TailleMc
TypeLog 1, n Installer 1, n
TailleHD
Date

Nous obtenons le MLD suivant :

F.Logiciel F.Micro F.Installer


CodeLog(cl) NumMicro(cl) CodeLog_NumMicro (cl)
NomLog TailleMc Date
TypeLog TailleHD

3) Rgles de passage du MCD au MCD de type "Rseau ou Codasyl"

Ce modle est celui qui a t retenu initialement dans MERISE comme support
logique des donnes. Il est parfaitement adapt lorsque lon utilise un systme de
gestion de base de donnes rseau comme ID2 ou Total.

33
3.1) Les concepts

a) Champs

Cest la plus petite quantit dinformations manipule, il correspond la donne


lmentaire.

b) Record (Enregistrement)

Cest un ensemble de donnes lmentaires (un ou plusieurs champs) qui reprsente


un enregistrement logique.

c) Set (Lien)

Cest la relation entre deux records, lun tant dclar propritaire et lautre
membre. Il correspond la relation binaire non porteuse de type Pre-Fils.
NB- Un champ qui permet didentifier de faon unique un record sera appel la Cl
du record

3.2) Formalisme

Le formalisme reprsente les Records avec des rectangles et les Sets par des flches
pointant vers membre

Nom du record
Champ 1
Set
Champ 2
.
Champ n

Record

3.3) Rgles de passage du MCD au MLD type Codasyl

a) Rgles concernant les entits

Chaque entit devient un record et son identifiant devient la cl

Chaque proprit devient un champ du record

b) Rgles concernant les relations

34
Cas de la relation binaire Pre-Fils

La relation devient un Set.

Exemple : Rg : Un professeur enseigne une et une seule matire

MCD

Professeur Matire
CodeProf CodeMat
Nom CodMat
1, 1 Enseigner 1, n

MLD Codasyl

Professeur Matire
CodeProf Prof/Mat CodeMat
Nom LibMat

Cas de la relation binaire Plusieurs Plusieurs

La relation donne naissance un record et deux(2) Sets. Ceux-ci lient les


records propritaires dchus des entits initiales au record membre cr.

Si la relation est porteuse de proprits, celles-ci sont rattaches au record


membre sinon celui-ci est un record vide de proprits simplement destin
matrialiser la relation. Ce record cr sera un pseudo-record

Exemple : Soit le MCD suivant,

Professeur Classe
CodeProf CodeClasse
Nom LibClasse
1, n Enseigner 1, n
Heuredeb

MLD Codasyl

Professeur Enseigner Matire

CodeProf Professeur-Enseigner Heuredeb Matire-Enseigner CodeMat


Nom LibMat
35
Cas de la relation de dimension suprieur 2

La rgle prcdente est gnralise et la relation de dimension n avec n3 crera un


Record membre et n Set pointant vers lui.

Exemple :

Fournisseur Magasin
CodeFour CodeMag
Nom NomMag
1, n Stocker 1, n
DateCmd
QtCmd

1, n
Article
CodeArt
DesigArt

MLD Codasyl

Fournisseur Magasin
CodeFour CodeMag
Nom NomMag
Stocker
DateCmd
QtCmd

Article
CodeArt
DesigArt

36
II) Exercice dapplication

Soit le MCD ci-dessous, construire le MLD type relationnel, type fichier classique, et
type codasyl.

Reprsentant Commande
CodeRep NBonCmde
NomRep Date
0, n Recevoir 1, 1
1,1

1, n

Concerner
Passer Qt

Client 0, n
1, n
CodeCli Produit
NomCli
BpCli RefProd
VilleCLi DesigProd
RueCli PuProd
TelCli

37
CHAPITRE V : LE MODELE PHYSIQUE DES DONNEES

I) Principes gnraux

Aujourdhui, il nexiste pas dapproche normalise de description et de prsentation


du niveau physique des donnes.

En effet, la description dun MPD est troitement lie au choix technique


dinformation concernant le systme de gestion des donnes.

La pratique observe aujourdhui dans les entreprises montre quil existe


principalement 3 types de solutions :

Utilisation dun SGBD de type Codasyl

Utilisation dun SGBD de type Relationnel

Utilisation dun SGF classique comme principale mthode daccs squentielle


indexe.

La description du MPD se fera dans le langage du systme de gestion de donnes


correspondant la solution choisie.

II) Reprsentation du passage du MLD au MPD relative aux


caractristiques gnrales de la gestion des relations

MCD

MLD Codasyl MLD Relationnel MLD Fichier

MPD MPD MPD

Gestion physique des sets Gestion physique complet Gestion physique des
raliss laide des transparente relations ralises laide
pointeurs. des pointeurs et cls daccs
Gestion logique des secondaire
Gestion prise en compte attributs prsents dans la
par le SGBD table concerne Gestion prise la charge du
ralisateur

38
Description des Sets Description des tables Description des Fichiers
Le MPD est dpendant des logiciels et des machines.

Pour cela, il faut faire la description des donnes et les liens dans un langage
spcifique au systme (SGBD).

Il faut regrouper sur le mme espace physique les donnes lies en forte activit
(fichier permanent, fichier mouvement).

Il faut galement noter que lenvironnement technique de dveloppement influe


largement dans la description du niveau physique.

III) Les modles dorganisation des fichiers / tables

On distingue plusieurs modles physiques dorganisation de table :

Organisation squentielle

Organisation squentielle indexe

Organisation relative

Organisation squentielle chaine

Organisation alatoire

1- Organisation squentielle indexe

Les enregistrements du fichier sont disposs squentiellement sur le support. Chaque


enregistrement possde une cl quil est possible dutiliser pour le rechercher
directement. Le fichier est compos de deux parties :

Les tables dindex comparables aux tables des matires des livres

Les pages de donnes (comparable au chapitre et au paragraphe dun livre) et


dbordement contenant les articles du fichier (comparable aux erata)

Les disques durs sont les mieux adapts.

2- Organisation alatoire

Cette mthode nest possible que sur des supports adressables. Le principe
dimplmentation de chaque article se fait partir dun calcul effectu sur la cl. Le
problme revient tablir pour chacun des articles la correspondance suivante.

Valeur de cl primaire Adresse (N Cylindre, N Piste, N Secteur)

39
Accs Squentiel Direct
Organisation Ecriture Lecture Ecriture Lecture
Squentielle Oui Oui Non Non
Squentielle Non Oui Oui Oui
indexe
Alatoire Non Non Oui Oui

3- Description des fichiers / tables

Description des fichiers / tables


Domaine :
Nom Fichier / Table : Accs :
Organisation : Cldaccs :
Support : Longeur :
Nature : Nbre doccurrence :
Volume :
Code Dsignation Type Taille

Exemple : Soit le MLD relationnel suivant

TClient (NClt, NomClt, PrenClt)


TCommande (NCde, NClt, Date)
Tconcerner (Ncde, Ref, Qt)
Tproduit (Ref, Design, Pu)

Dans cet exemple, nous allons nous intresser la description de la table Client.
Cependant dans la pratique, nous devons dcrire chaque table du MLD.

Description des fichiers / tables


Domaine : Gestion des commandes
Nom Table : Client Accs : Direct
Organisation : Squentielle Cl daccs : NClt
Support : Disque dur Longueur : 40 C
Nature : Permanent Nbre doccurrence : 2 000
Volume : 80 000 C
Code Dsignation Type Taille
NClt Numro du client N 5
NomClt Nom du client A 15
PrenClt Prnom du client A 20

40
CHAPITRE VI : LE MODELE CONCEPTUEL DES TRAITEMENTS (MCT)

Introduction
Les traitements constituent la partie dynamique du systme dinformations. Ils
dcrivent les oprations, les actions excuter sur les donnes afin dobtenir les
rsultats attendus par lentreprise.
Les traitements ne sont en fait la traduction en action des rgles de gestion qui
composent lactivit de lentreprise.
Le MCT a pour but de reprsenter lactivit de lentreprise en rpondant la question
Quoi ? et Que veut on veut faire ? Sans se soucier de savoir qui ralise les tches, o
ces tches sont effectues, quand ces tches sont effectues et comment elles sont
ralises.
Le MCT est ralis par une partie de lquipe des concepteurs ainsi quavec les
utilisateurs qui ont une connaissance du systme tudier.

I) Les concepts manipuls

1) Le processus

Cest un ensemble fini doprations de gestion au sein dun mme domaine de


lentreprise et qui concoure llaboration dun ou plusieurs rsultats en rponse la
sollicitation dun ou plusieurs vnements extrieurs au systme dinformation.
Rappelons quune entreprise ne ralise pas quun seul processus, mais une multitude
de processus. Si on considre lactivit de gestion commerciale dune entreprise, les
processus suivants peuvent tre identifis :
Gestion des commandes

Gestion des factures

Gestion de la comptabilit

A chacune de ces grandes oprations correspondra un MCT. Il fait donc raliser


autant de MCT quil y a de processus dans lentreprise. Un processus est toujours
dclench par un vnement extrieur au domaine.
Un processus est caractris gnralement par les attributs suivants : un code, un
libell, un commentaire.

2) Lvnement

Un vnement est un fait dont lavenu a pour effet de dclencher lexcution dune ou
plusieurs actions. En dautre terme, un vnement est une situation qui lorsquil se
produit participe au dclenchement dune opration.

41
Exemple :
La fin du mois (vnement temporel) et 30 jours de travail dclenchent dans
une entreprise le paiement des salaires.

Dans le domaine de la gestion du personnel, nous pouvons reprsenter


lopration tude de la demande dembauche avec les rsultats et avec les
vnements associs :

Demande
accepte
Demande
dembauche Etude de la
demande Demande
rejete

Evnement dclencheur Opration Evnement rsultat

Il existe 2 types dvnements :

a- Evnements externes

Ils proviennent de lenvironnement extrieur au systme dinformation, ils


provoquent donc le dclenchement dune opration.
Exemple : Demande reu (demande dembauche)
b- Evnements internes

Un vnement interne est un vnement qui est la fois rsultat et dclencheur


dopration.

Exemple : Demande rejete

3) Synchronisation

Cest une condition boolenne traduisant les rgles de gestion qui doivent vrifier les
vnements pour dclencher des actions. Elles expriment les conditions requises
(prconditions) pour dclencher une opration.
Exemple : Stock en rupture et demande satisfaire

4) Opration

Une opration est constitue dun ensemble dactions qui sont excutable sans
interruption. Une opration est dclenche pour rpondre la sollicitation dun
vnement et produit un rsultat.
Exemple :

42
Enregistrement du client

Saisie de bordereau de demande

Edition de bulletin dtudiant

5) Rgles dmission

Une rgle est une condition traduisant les rgles de gestion laquelle est soumise
lmission des rsultats dune opration.
Exemple : Si cest conforme alors .
Sinon alors .

6) Rsultat

Le rsultat est un produit de lexcution dune opration. Le rsultat fait rel de


nature que lvnement pourra tre le dclencheur autre opration.
Exemple :
Bulletin de paye dit

Bordereau de demande saisie

II) Formalisme du MCT

Evnement
Evnement
A
N Evnements dclencheurs

Synchronisation
Nom de lopration
Opration
- Tache 1
- Tache 2

RE 1 RE n Rgles dmission

Evnement Evnement
rsultat A rsultat N Evnements rsultat

III) Construction du MCT

43
1) Mcanisme de construction du modle

La construction du MCT se fait de faon naturelle. Le formalisme de MERISE est


simple utiliser et interprter. La construction du MCT part du graphe des flux et
des rgles de gestion. Elle consiste en quatre (4) tapes :
Etape 1

Il faut identifier dans le graphe des flux dinformation en rapport avec le processus
tudi.
Etape 2

Il faut ordonnancer les flux dinformation slectionns ltape 1 en partant du flux


qui dclenche le processus en tenant compte de la chronologie de ces cas flux dans le
temps.
Etape 3

Il faut considrer chaque flux dinformation comme un vnement au sein du MCT. Il


faut aussi prendre soin dliminer les redondances.
Etape 4

Il faut renseigner les diffrentes synchronisations des diffrentes oprations, indiquer


les proprits portes par les vnements, dcrire les taches des oprations et enfin
indiquer les proprits portes par les diffrentes taches.

2) Vrification du modle

La vrification du MCT seffectue en utilisant plusieurs rgles. Voici lensemble des


rgles vrifier :
Rgle 1 : Lensemble des rgles dmission dune opration doit tre complet et
disjoint. Les cas qui peuvent se prsenter doivent tre tudis et il ne doit
exister quune et une seule rgle dmission pour chacun de ces cas.

Rgle 2 : Une synchronisation doit toujours pouvoir tre ralise.

Rgle 3 : Un processus doit toujours tre dclench par un vnement externe.

Rgle 4 : Un vnement externe ne peut pas tre le rsultat dune opration.

Rgle 5 : Un vnement externe doit toujours tre le rsultat dune opration.

Rgle 6 : Une mme rgle de gestion ne doit pas se retrouver dans deux (2)
taches diffrentes.

Rgle 7 : Un mme vnement ne peut pas tre dclencheur unique de deux (2)
oprations priori distinctes. Si tel est le cas deux (2) erreurs sont possibles :

Il peut manquer un vnement dans lune des 2 oprations.

44
Les deux (2) oprations nen font quune en ralit.

Exemple :

Dans une administration, les demandes de promotion sont traites selon les rgles de
gestion suivantes :
- RG1 : Toute demande de promotion doit subir un examen pralable pour
dterminer si elle est recevable ou non recevable.
- RG2 : Lexamen du dossier dune demande recevable ne peut se faire quaprs
rapport du suprieur hirarchique.
- RG3 : Aprs examen du dossier par lautorit comptente, la promotion est soit
accorde, soit refuse.

TAF : Construire le MCT.

Solution

Demande de
promotion

Examen pralable
OK OK

Rapport du
Demande non Demande suprieur
recevable recevable hirarchique

b
a
a et b

Examen du dossier
OK OK

Promotion Promotion
refuse accorde

VI) Exercices dapplication

Enonc 1 :

45
Dans le cadre dune bibliothque, les rgles de gestion en cours sont les suivantes :
RG1 : Un abonn ne peut prtendre au prt dun livre que sil na pas plus deux livres
dj emprunts.
RG2 : Un livre nest prt que sil est disponible
RG3 : les retours de livres sont enregistrs et les livres rendus sont remis en rayon ce
quils deviennent disponible automatiquement.
RG4 : Des relances sont adresses aux abonnes qui nont pas rendu les livres
emprunts la date de retour prvue la fin du mois.

TAF : On vous demande partir des rgles de gestion de :


1) Reprsenter le graphe des flux matrialisant les changes entre le gestionnaire
de la bibliothque et labonn suite une demande de prt.

2) Dduire les vnements.

3) Didentifier les oprations en prcisant ventuellement les rgles dmission de


ces oprations

4) De construire le MCT.

Solution

1) Graphe des flux.


5
9 4 2 6
3
8
Gestionnaire
Abonn
de la
bibliothque
7
1

Lgende
1 Demande de prt 6 Enregistrement du prt

2 Etude de la demande 7 Livre prt

Demande accepte 8 Enregistrement du livre ramen


3

4 Demande refuse 9 Relance

5 Vrification de la disponibilit

2) Evnements

46
- Demande de prt

- Demande accepte

- Demande refuse

- Livre disponible

- Livre prt

- Livre ramen

- Fin de mois

- Relance

3) Oprations

- Etude de la demande (NB de prts 2 ; NB de prts>2)

- Vrification de disponibilit (disponible ; non disponible)

- Enregistrement du prt (toujours)

- Rdaction de relance (date dpasse ; Date non dpasse)

4) Construction du MCT

Demande de
promotion

Etude de la demande
NB de prt 2 NB de prt >2

Demande
Livre Demande
refuse
disponible accepte

b
a
a et b

Enregistrement du prt
Toujours

47
Livre
prt

Livre Livre Fin du


ramen prt mois

b
a
f
a et b e

Enregistrement du retour de livre e et f

Toujours Rdaction de relance


Date dpasse Date non dpasse

Retour de
livre
enregistr Relances Pas de
rdiges relance

48
CHAPITRE VII : LE MODELE ORGANISATIONNEL DES TRAITEMENTS
(MOT)

Introduction

Le MOT permet de reprendre et de prciser lensemble des concepts dcrit dans le


MCT. Ainsi aprs avoir rpondu la question "Quoi ?" lors de la mise en place du
MCT, il faut repondre maintenant aux questions QUI, QUAND, O et COMMENT.
Le MOT se situe au niveau organisationnel : il va donc falloir dcrire comment les
procdures de traitement sont ralises au sein de lentreprise.
Le MOT permet de prciser qui ralise les procdures de traitement quand elles sont
ralises, o et comment elles sont ralises.
La construction de MOT sappuie sur les rgles dorganisation mise en vidence au
niveau organisationnel, au plan de la description des traitements, le MOT intgre les
notions de temps et de dure (droulement), de ressources, de lieu et des
responsabilit (poste de travail, nature de traitement (Manuel ou automatique)).
Le MOT est ralis par la mme quipe de travail qui a ralis auparavant le MCT

I) Conception manipule

1) La procdure

Cest un ensemble de taches excutes de faon ininterrompue par le mme poste de


travail avec le mme type de traitement.
Un procdure doit respecter la rgle dite des trois units : Temps, Action, Lieu.
TEMPS : mme priode de droulement
LIEU : mme poste
ACTION : mme nature de travail et mme type de traitement.

Remarque : Au niveau organisationnel, la notion de procdure est assez proche de


celle dopration au conceptuel.
Exemple :
Limpression des feuilles de paie dans une entreprise constitue une procdure : en
effet cette impression est excute de faon ininterrompue par le mme poste de
travail, de manire entirement automatise.

Une procdure est caractrise par lensemble des attributs suivants :


Un code, un libell, un commentaire, un type de traitement.
On distingue trois types de traitement qui sont :
Traitement manuel : la procdure est ralise par lhomme sans utilisation de
ressources informatique (louverture du courrier dans une entreprise est un
traitement manuel).

49
Traitement automatis conversationnel : il sagit de procdure ralise par un ordinateur
avec lintervention de lhomme (la rservation de place dans un avion AIR-
AFRIQUE).
Traitement automatis : il sagit de procdure qui une fois lance se droule sans aucune
intervention humaine (limpression des feuilles de paie dans une grande entreprise).

2) Schma de passage des oprations aux procdure

Tache 1
Tache 2
Procdure 1
Tache 3
Tache 4 Procdure 2
Opration Tache 5
.
. .
. Procdure n
Tache n

Ce schma illustre le fait que les taches de lopration sont regroupes au niveau du
MOT en procdure tout en respectant videment la rgle dite des trois units
(Temps, Lieu, Action).

3) Schma gnral du MOT

Priode Enchanement des procdures Nature Poste de


fonctionnelles travail

Evnement Evnement
A ..
N

Nom du
Frquence PFn Nom de la procdure Manuel (M) poste de
Priode - Tache 1 Conversationnel travail
Date - Tache 2 (AC)
Automatis par
RE 1 RE n Lot (AB)

Rsultat 1 Rsultat n

50
4) Construction du modle

La construction du MOT se fait en plusieurs tapes.


Etudions par exemple la construction du MOT pour lopration dition des feuilles
de paie .
Cette opration peut se dcomposer en tache suivantes :
T1 : Slection des salaris devant tre pays
T2 : Calcul du nombre de points des salaris
T3 : Calcul des charges sociales
T4 : Calcul des notes de frais
T5 : Impression des feuilles de paie
T6 : Vrification manuelle des feuilles.

Ltape suivante consiste regrouper les taches de lopration en procdure en


respectant bien entendu la rgle des 3 units.
Dans notre exemple, nous obtenons les procdures suivantes :
P1 : (T1) : Slection des salaris devant tre pays
P2 : (T2) : Calcul du nombre de points des salaris
(T3) : Calcul des charges sociales
(T4) : Calcul des notes de frais
P3 : (T5) : Impression des feuilles de paie
P4 : (T6) : Vrification manuelle des feuilles.

Ltape suivante consiste indiquer pour chaque procdure, son type de traitement et
le poste de travail qui la ralise. Pour notre exemple nous obtenons :
P1 : Procdure manuelle ralise par le DRH
P2 : Procdure automatise conversationnelle ralise par la comptabilit
P3 : Procdure automatise ralise par le service informatique
P4 : Procdure manuelle ralise par la comptabilit

La dernire tape est le dessin du MOT pour lopration concerne.


Pour notre exemple, nous obtenons le MOT suivant :

51
52
Priode Enchanement des procdures fonctionnelles Nature Poste de travail

Date

25 de chaque
mois
PF1 Slection des salaris DRH

Toujours M

Liste des salaries


Fin de la selectionns
selection des
salaris

PF2 Calcul des points des frais AC Comptabilit


et charge

Toujours

Liste des salaries avec


Ds leurs points, charges et
reception de frais
Service
la liste des
informatique
salaris AB
FP3 Impression des feuilles de
paie
Toujours

Feuilles de paie
imprimes

A la fin de
limpression
FP4 Vrification

M Comptabilit
OK OK

Feuilles vrifies Feuilles


conformes corriger
imprimes

53
Etude de cas n1 : Gestion dun institut de formation

On veut mettre en place le systme dinformation dun institut de formation


pour une anne scolaire. Des lves de diverses origines (civil, fonctionnaire, salari
du priv, stagiaire tranger) peuvent prtendre une formation dans lune des trois
filires suivantes :
*Ecole dingnieur
*Ecole de gestion
*Formation continue
Les enseignements de ces diffrentes filires sont assurs par des professeurs
rattachs des dpartements qui regroupent des enseignants par groupes dactivits.
Chaque dpartement est compos de plusieurs divisions o se trouvent des
professeurs de spcialit commune qui coordonnent les enseignements (Informatique,
Tlmatique, Electronique, Technique de Tlcommunication, Gestion, ressources
Humaines, Langues) se rapportant leur spcialit.
Dans le dpartement informatique par exemple, on retrouve les divisions :
systme dinformation, intelligence artificielle, modlisation, base de donnes .
Un module, unit disciplinaire est enseign par un ou plusieurs enseignants dune
division et est identifie par un code bien que son libell puisse tre commun
plusieurs filires.
Un lve peut sinscrire selon ses objectifs et son niveau un ou plusieurs modules
la date qui lui convient mais en tenant compte des dlais dinscription propre
chaque module. Le coefficient dun module dpend de la filire dans laquelle il est
enseign.
Pour chaque module, plusieurs contrles sont effectus. Les contrles, dont les
dates sont connues une semaine lavance sont affects dune note. Lensemble du
module est sanctionn par une moyenne.
La base dinformation doit permettre de savoir si un enseignant a la qualit de
responsable de dpartement ou de division, et dtablir la liste des enseignants
intervenant dans chaque module ainsi que lheure et la salle dintervention.
La base dinformation doit aussi permettre de dterminer le suivi de chaque tudiant
depuis son inscription un module jusquau rsultat final. Un enseignant peut
intervenir dans diffrent module (au maximum une intervention hebdomadaire par
module pour un enseignant) mais ne peut cumuler des responsabilits.

TAF :
Etablir le modle conceptuel des donnes

54
Etude de cas n2 : Gestion des groupes dadhrents

La socit ADHER est un groupement dadhrents compos dartisans et de


petites entreprises.
La socit ADHER propose ses futurs adhrents dans le cadre dun contrat, de
promouvoir leur action commerciale. Pour cela la socit ADHER lance pour le
compte de ses adhrents, des campagnes publicitaires pour informer le public sur
les prestations proposes.
Le secteur dactivit couvert concerne tous les travaux damnagement et
dentretien de lhabitation (plomberie serrure maonnerie lectricit rparation
alarme etc.)
Les clients intresss par les prestations tlphonent la socit pour exposer leur
demande.
La socit ADHER, aprs avoir not les coordonnes du client, procde des
recherches de ladhrent le mieux positionn la demande du client.
Deux critres majeurs interviennent dans cette recherche : La branche dactivit
qui doit correspondre la prestation effectuer et le secteur gographique qui
doit correspondre au mieux au lieu dintervention.
Dautres critres peuvent intervenir comme le nombre daffaires dj effectues ou
encore la date de fin de contrat.
Aprs stre assurs de la disponibilit de ladhrent, laffaire est transmise ce
dernier.
La socit ADHER doit aussi grer les contrats de ses adhrents, notamment
pour le renouvellement. Un mois avant lchance, une lettre type est envoye
ladhrent pour lui demander sil dsire renouveler le contrat.
Un adhrent est concern au titre dun contrat par un seul secteur gographique
et trois activits au maximum. Un adhrent peut avoir plusieurs contrats.

Travail demand :
Etablir les models suivants :
Le modle conceptuel de donnes
Le modle logique de donnes

Le domaine prendre en compte recouvre les activits suivantes :


La gestion des appels clients (de lappel laffectation ladhrent)
La gestion des contrats

55
ANNEXES

ADHER SERVICE

33,Rue du Sentier CONTRAT DE SERVICE N125-05


750 150 Paris
Tel.05101530

ADHERENT :N1234
NOM /RAISON SOCIAL :
Adresse :
Nom du responsable .
Tlphone :
Secteur :
Activit :
Date dbut contrat :
Dure du contrat :
Tarif :F HT soit :..F TTC
Signature ADHER Signature Adhrent
Date..

REGISTRE DAPPEL
Numro dappel : Date :.. Heure :..
Nom du client :..
Tlphone du client :.
Heures de rappel :
Demande :.

RESULTAT : Appel transmis :


Date :.NAdhrent :..

Heure :...NContrat :.

56
LISTE DES SECTEURS
Code des secteurs Nom des secteurs

01T Paris 01
.. .
91T Essone
92T Hauts de seine

Tous les dpartements de la rgion parisienne 91,92,77

LISTE DES ACTIVITES


Code des activits Nom des activits
01 Serrurerie
02 Blindage

30 Ramonage

57
Etude de cas n3 : Amis du monde

La fondation Amis du Monde est une association but humanitaire. Lquipe de


responsables qui lanime vous a confi ltude du systme dinformation concernant
les campagnes de souscription.

Une campagne de souscription concerne une seule action humanitaire et sengage


partir dune date donne. Elle se droule en deux temps : la prospection et le
versement de fond.

La prospection consiste adresser au public un bulletin dinformation gnrale


consacr aux engagements de solidarit dj entrepris. Un coupon-rponse prtabli
est alors joint au bulletin (voir annexe 1). Le coupon comprend principalement le
code de laction humanitaire et son intitul, les coordonnes du souscripteurs et
lemplacement pour le montant de la somme verser.

Les coordonnes du souscripteur indiquent de manire dtaille la civilit (Mr, Me,


Melle), le nom, le prnom, deux lignes dadresse, le code postal et le bureau
distributeur.

Le responsable de la prospection souhaite dune part diminuer le retour de nombreux


courriers nhabite pas ladresse indique et dautre part rduire le temps passe
la saisie.
Pour ce faire, lachat du fichier des codes postaux sur support disquette est envisag.
Si la frappe du code postal est absent, le programme de saisie doit laisser la possibilit
soit de ritrer la frappe du code postal, soit de crer un nouveau code postal avec le
bureau distributeur qui lui correspond, ou bien encore dabandonner la saisie du
souscripteur.

Sur le verso du coupon-rponse dun futur souscripteur on affecte une date, le


fichier et un numro (ce numro figure alors systmatiquement sur tout courrier
adress). Un code, dit code prospect ,est initialis la valeur 0. Ds le premier
versement le code prospect est mis la valeur1.

Aprs la saisie des nouveaux souscripteurs, un rpertoire alphabtique permet de


contrler lventuelle prsence doublons dans le fichier (voir annexe2).

Linterview du responsable a permis de recueillir quelques donnes significatives du


systme dinformation :

Vous : Jai compris quune campagne ne concerne quune seule action, cela signifie-
t-il que tous les souscripteurs vont recevoir le bon de soutien cette action ?

58
Responsable : oui toutes les personnes prsentes dans le fichier. cependant avant une
campagne le fichier est pur des personnes qui nont jamais souscrit, c'est--dire
ceux dont le code est gal 0 et dont la date dintroduction au fichier est ancienne.

Vous : lorsque vous recevez les versements un souscripteur peut-il verser plusieurs
sommes ?

Responsable : non une date donne un souscripteur ne verse quune somme et cette
somme est affecte une seule action.

Vous : quelles sont vos sources pour la prospection des souscripteurs ?


Responsable : nous avons commenc lassociation avec un fichier manuel, puis le
systme de parrainage a permis de dvelopper considrablement leffectif de notre
association. Aujourdhui nous avons parfois recours lachat de fichier auprs de
socits commerciales, cependant les souscripteurs sont tous saisis suivant le mme
modle.

Afin de mieux matriser lvolution du systme dinformation, le responsable


souhaite :

- Etablir en fin danne le rcapitulatif des sommes verses pour chaque action
par continent par pays (voir annexe 3) ;
- Connatre tout moment le total des sommes verses par action ;
- Editer en fin danne un dgrvement fiscal pour chaque souscripteur (le
dgrvement est un rcapitulatif des sommes verses ; il contient pour chaque
somme la date de versement et laction concerne).

TRAVAIL DEMANDE

Construire le tableau danalyse des donnes.


Construire la SAT
Construire le modle conceptuel des donnes
Elaborer les relations en 3ime forme normale.

59
ANNEXE 1 : COUPON-REPONSE

RECTO

AMIS DU MONDE
ORBAFF, LE 20/03/05

BON DE SOUTIEN

NSOUSCRIPTEUR : 126578
MR HERMESS GUY MARTIAL
RESIDENCE COCOBRI
22 BP 5999 ORBAFF 22
Je me sens solidaire des objectifs des amis du monde, je dcide
de souscrire laction de :
CONSTRUCTION DUN HPITAL A MABLEM (CODE L01)
JAMAC
Je joins un chque dun montant total deFrs

VERSO

PARRAINAGE
Pour la russite de notre action, faites participer une ou plusieurs personnes de votre
connaissance.

Civilit :
Nom :
Prnoms :
Adresse : ..
Code postal : . Ville :.

Civilit :
Nom :
Prnoms :
Adresse :..
Code postal :. Ville :.

60
ANNEXE 2 : Rpertoire alphabtique

REPERTOIRE DU 20/03/05

NOM PRENOMS VILLE


NUMERO

Abadan Pierre Beziers 076123


Sow Di Justin Man 120987
Andremont Jeanne Nice 099321

ANNEXE 3 : Etat des sommes


ANNEE 2005

Afrique : Etat des sommes verses

PAYS CODE INTITULE DONS

BNIN R02 Pharmacie de brousse 35.000


S08 Ecole Ndual 20.000
Total : 55.000

BURKINA L02 Hpital Ouagadougou 70.000


U08 Aide cooprative 10.000

61
BASE DE DONNEES

62
CHAPITRE I : DES FICHIERS AUX BASES DE DONNEES

I) Les fichiers et les limites des systmes de gestion de fichiers (SGF)

1) Dfinition de fichier

Un fichier est une collection de donnes structures et organises relative un sujet


donn de faon rpondre aux exigences daccs ces donnes.

2) Dfinition dun SGF

Un SGF est un ensemble cohrent de logiciels et de primitive permettant de la


cration, la manipulation, et linterrogation dun ensemble de fichiers.

3) Limites des SGF

Donnes moins lies et peu importantes

Les SGF correspondent nos besoins tant que la structure informatiser est peu
importante, constitue de fichiers peu interconnects. Par contre il en est autrement
pour les applications complexes comportant de nombreux fichiers fortement
dpendants.
Structure de donnes incomplte

Les SGF ne tiennent compte que du type et de la longueur des donnes sans se
proccuper des contraintes associes chaque donne et la vrification de ces
contraintes. Ceci qui entrane une perte de temps considrable dans llaboration de la
maintenance des programmes.
Langage de programmation peu performant

Les langages de programmation de la quatrime gnration, non procduraux comme


SQL augmentent de faon significative la productivit des programmeurs. Ceux de la
troisime gnration, les langages habituels de SGF sont procduraux. Avec eux, la
cration et la manipulation des donnes exigent des temps considrables car le
programmeur doit constamment prciser le chemin daccs des divers fichiers au sein
dun systme de gestion centralis des donnes.

4) Caractristiques dun systme de gestion de base donnes

Dune manire gnrale, un systme de gestion de base de donnes doit avoir les
caractristiques suivantes :
- Administration centralise : Le SGDB doit permettre ladministrateur de
pouvoir manipuler les donnes, insrer des lments, vrifier des donnes de
faon centralise.

63
- Lindpendance des applications : les applications doivent tre indpendantes
par rapport la structure de donnes pour faciliter leur volutivit.

- Lenvironnement de dveloppement est non procdural : le programmeur doit


spcifier ce quil dsire et non la procdure suivre pour lobtenir. Ce qui
conduit la rapidit daccs aux donnes et donc la diminution du temps de
rponse.

- Scurit et intgrit des donnes : ces deux notions sont pris en charge
automatiquement par le systme (gestion des daccs selon les utilisateurs, les
donnes confidentielles, le rglement des conflits daccs, le respect des
contraintes).

- Partageabilit des donnes : le SGBD doit permettre laccs simultan la base


de donnes par plusieurs utilisateurs.

- Standardisation des systmes (vis--vis du matriel et du systme


dexploitation): Elle permet une portabilit maximum des donnes et des
applications.

II) Les bases de donnes et les systmes de gestion de base de donnes

1) Dfinition de base de donnes

Une base de donnes est un ensemble de donnes non redondantes, structure et


organis de faon cohrente sur un support adressable et susceptible dtre utilis par
plusieurs personnes simultanment travers des programmes

2) Dfinition de banque de donnes

Une banque de donnes reprsente lensemble des informations mmorises par un


ordinateur concernant un certain nombre de domaines (conomique, scientifique,
culturel,).

3) Les systmes de gestion de base de donnes (SGBD)

Un SGBD est logiciel qui permet la cration dune base de donnes et la manipulation
des informations stockes dans cette base de donnes.
Exemple : ACCESS, ORACLE, DBASE, FOXPRO, SQL SERVER, MYSQL.
4) Fonctions dun SGBD

Un SGBD doit assurer les 3 fonctions suivantes :

64
Une fonction de description : cette fonction permet de dcrire les donnes et
tables manipules

Une fonction de manipulation : elle permet aux utilisateurs ou aux


programmeurs applicatifs de crer, de retrouver, de modifier, ou de supprimer
les donnes dans la base de donnes.

Une fonction de contrle : Cette fonction de permet garantir lintgrit, la


scurit et la confidentialit dans la base dinformation. Elle doit garantir aussi
la concurrence daccs c'est--dire plusieurs utilisateurs doivent pouvoir
accder en mme temps aux mmes donnes. Le SGBD doit savoir :

Grer les conflits si deux (2) utilisateurs font des mises jour

Offrir un mcanisme de retour en arrire si on dcide dannuler des


modifications en cours

Donner une image cohrente des donnes si un utilisateur fait des requtes
et lautre une mise jour

III) Diffrents type de SGBD et les modle de reprsentation

Les diffrents types de SGBD sont fonction de la structure de donnes


(reprsentation des donnes quils contiennent) et de la manire de manipuler ces
donnes. On dnombre 5 grands modles de SGBD regroups en 3 gnrations.

1) La premire gnration des SGBD

Elle comprend le modle hirarchique et le modle rseau ou Codasyl.

a- Le modle hirarchique

Les donnes dans ce modle sont classes hirarchiquement selon une arborescente
descendante.
Sa conception concerne uniquement les liens (1,N), c'est--dire les relation Pre-Fils.
Les liens de type (N,M), c'est--dire les relation Plusieurs Plusieurs ne peuvent pas
tre reprsents.
Les nuds sont les entits et les arcs sont les relations.
Exemple : IMS dIBM

65
b- Le modle rseau ou Codasyl

Deux concepts de base dfinissent le modle rseau. Lenregistrement logique appel


Record et le lien logique appel Set, lien dfini entre 2 enregistrements R et S. Ce
modle peut prendre en compte les relation (1,1), (1,N) et (N,N).

R S

Linconvnient de ce modle est que laccs aux diffrentes relations est totalement li
la structure physique tout comme le modle hirarchique.
Exemple : Total et IDS2

2) La deuxime gnration des SGBD

Il sagit des SGBD de type relationnel. Cette gnration a t commercialise au


dbut des annes 80.
Dans ce modle, les structures des donnes sont reprsentes sous forme tabulaire.
Les SGBD relationnels sont bass sur lalgbre relationnelle (Thorie mathmatique
de lobjet relationnel) et du langage de manipulation SQL (Structured Query
Language).
Exemple : ACCESS, ORACLE, INGRES, FOXPRO, SQL SERVER.

3) La troisime gnration des SGBD.

a- Les modles dductifs

Ils sont fonds sur la logique mathmatique. Il associe la BD classique, un moteur


dinfrence comme dans les sommes logique. Il manipule donc les tables par les
calculs de prdicats (logique mathmatique).
Exemple : PROLOG (Programmation en logique), LISP, DATALOGUE.

b- Les modle objets

Ce modle a conduit au SGBDO qui prend en compte les applications qui ncessitent
des objets que lon considre complexe (documents, dessin, CAO, DAO). Ce
modle permet de manipuler des informations dites multimdia comme le son, les
images.

66
CHAPITRE II : LE MODELE RELATIONNEL

I) Gnralits sur le modle relationnel

1) Origine du modle relationnel

Le modle relationnel des donnes a t propos par le mathmaticien amricain E.


CODD en 1970 pour formaliser les oprations sur les ensembles.
Depuis les annes 80, le modle relationnel a t industrialis et depuis 1990 ce sont
les SBGD relationnels qui dominent le march.

2) Objectifs dun modle relationnel

Les objectifs du modle relationnel peuvent snoncer en 4 grands points :


- Utiliser des structures simples et issues de la vie courante : le modle
relationnel est constitu de table relis par des associations facile
comprendre.

- Proposer des langages de haut niveau accessible par diffrents types


dutilisateurs : ces langages dits de 4e gnration permettent un accs aux
donnes de la base dune manire assez naturelle.

- Proposer une indpendance entre les donnes et les traitements.

- Permettre des vues utilisateurs qui sont diffrentes relations (tables)


implantes. Il est possible de prsenter lutilisateur un ensemble de donnes
sous forme tabulaire qui ne correspond pas une table directement inscrite
dans la base.

3) Concepts du modle relationnel

a- Relation ou table

Une relation est le concept de base du modle relationnel. Sa structure est sous forme
tabulaire. Encore appele Table , une relation est la reprsentation dune association
dlments (Champs ou Attributs) du monde rel.
Exemple :
Table Etudiant
Matricule Nom Prnoms Age sexe
0012005 Aka Tanoh Roger 20 M
0022005 Allah Marie 22 F
0042005 Souma Monique 19 F
0062005 Oriko Danielle 20 F

67
b- Attribut ou Champs

Un attribut reprsente une colonne de la relation. Il correspond la proprit dans le


modle conceptuel. Un attribut est toujours associ un domaine.
Exemple : Matricule, nom, prnoms, ge sexe sont les attributs ou champs de la table
Etudiant ci-dessous.

c- Tuple

Un tuple est simplement une ligne de la relation ou table. Il est aussi appel
enregistrement.

d- Domaine

Un domaine est lensemble de valeurs que peut prendre un attribut.


Exemple : Note a pour domaine [0-20]
Feu tricolore a pour domaine {Rouge, Vert, Orange}

e- Schma dune relation

Le schma dune relation est simplement la liste des attributs , chaque attribut tant
associ son domaine.
La syntaxe est donc :
R (A1 : D1, A2 : D2,., An : Dn)
O les Ai sont les noms des attributs et Di les noms des domaines.

f- Degr ou Arit

Le degr dune relation est le nombre de colonnes ou attributs de cette relation.


Exemple :
Larit de la table Etudiant prsente plus haut est cinq (5).

g- Cl primaire dune relation

La cl dune relation est un attribut particulier qui permet didentifier chaque ligne de
manire unique.
Exemple : Dans la table Etudiant, la cl est lattribut Matricule.

h- Intgrit rfrentielle

Cest une rgle gouvernant la cohrence des donnes, spcialement appliques dans
les relations entre les cls Primaire et les cls Secondaires des diffrentes tables.
i- Cardinalit dune relation

Cest le nombre denregistrements ou lignes de cette relation.

68
CHAPITRE III : LALGEBRE RELATIONNELLE

Lalgbre relationnelle est une langage qui consiste un ensemble doprateurs qui
permettent de manipuler des relations, considres comme un ensemble de tuples. Le
but du modle relationnel est de faire des requtes sur la base.
Une requte est une expression algbrique qui sapplique un ensemble de relation (
la base de donnes) et produit une relation finale , le rsultat de la requte.
Les oprateurs de lalgbre relationnelle se divisent en 2 familles :
Les oprateurs unaires

Ce sont des oprateurs qui portent sur une seule relation en entre. Ce sont :
- La projection

- La slection

- Le renommage

Les oprateurs binaires

Ce sont des oprateurs qui portent sur 2 relations en entre. Ce sont :


- Lunion

- Le produit cartsien

- La jointure

- La diffrence

- La division

- Lintersection

Les plus essentielles dentre eux sont : le slection, la projection, le produit cartsien,
lunion et la diffrence car leur composition permet de dfinir les autres.

I) Les oprations unaires

1) La slection

La slection c (R) sapplique une relation R et extrait de cette relation les tuples
qui satisfont un critre de slection C. Le critre peut tre exprim laide des
oprateurs de comparaison tels que : {=, >, <, >=, <=, <>} et des oprateurs

logiques tels que : (Non), (ET), V(Ou).


Syntaxe

R= c (R) ou R= Select Nom de la table (C)

69
R est le rsultat de la slection qui sapplique la relation R et extrait de cette
relation, les tuples (lignes) qui satisfont un critre de slection C.
Exemple : Soit la table Client ( Code, Nom, CA, CA-1)

Code Nom CA CA-1


A01 Rivera 500.000 3.000.000
A02 Dan 500.000 600.000
A45 Yo 300.000 200.000
B12 Tra 400.000 600.000
B15 Ouattara 700.000 800.000
Req : Dterminer les clients dont les chiffres daffaire de lanne en cours est
suprieur au chiffre daffaire de lanne prcdente.

R=CA >CA-1 (Client) ou R= Select Client (CA>CA-1)


Code Nom CA CA-1
A45 Yo 300.000 200.000

NB : La slection a pour effet de supprimer les lignes mais chaque ligne garde ses attributs

2) La projection

La projection A1, A2, A3,, An (R) sapplique une relation R, et ne garde que les
attributs A1, A2, A3,, An. Donc contrairement la slection on ne supprime pas les
lignes mais des colonnes.
Syntaxe :

R= A1, A2, A3,, An (R) ou R= Projet Nom de table (A1, A2, A3,, An )

NB : Lors de la projection, il peut arriver que 2 lignes qui au dpart taient distinctes se
retrouvent identiques parce que lattribut qui permettait de les distinguer a t supprimer.
Dans ce cas, on ne conserve quune seule des 2 lignes identiques.

Exemple : Soit la table Facture ( Nrglement, Date, montant)


Req : Dterminer les rglements ainsi que leur date respective

NRglement Date Montant


001 23/01/05 400.000
002 22/02/05 300.000
003 23/03/05 200.000
R= Nrglement, Date (Facture) ou R= Project (Nrglement, Date)

70
NRglement Date
001 23/01/05
002 22/02/05
003 23/03/05

3) Le Renommage ()

Il sagit dun oprateur particulier dnot , qui permet de renommer un ou plusieurs


attributs dune relation. Lexpression A/C, B/D (R) permet ainsi de renommer A
en C et B en D dans la relation R.

Exemple : A/C, B/D (R)

R avant renommage R avant renommage


A B J C D J
b c b b c b
a a d a a d
a a d a a d

II) Les oprateurs binaires

1) Union (U)

Cest un oprateur binaire qui partir de 2 relations R et S dfinies sur le mme


ensemble (mme nom et mme nombre dattributs ainsi que les mmes types de
donnes) permet dobtenir une autre relation Z :
- Les tuples de S

- Les tuples de R qui nappartiennent pas S

Syntaxe :

Z= Union (R, S) ou Z= R + S ou Z= R U S

Exemple : Soit la table Client (Code, Nom) et la table Fournisseur (Code, nom)
Table Client Table Fournisseur
Code Nom Code Nom
A01 Koffi A01 Koffi
A25 Aka A35 Kon
A36 Kassi

71
R=Client U Fournisseur R
R=Client + Fournisseur Code Nom
R=Union (Client, Fournisseur) A01 Koffi
A25 Aka
A35 Kon
A36 Kassi

2) La diffrence (-)

Tout comme lunion cet oprateur est dfinit sur le mme ensemble dattribut. Il
permet partir de 2 relations X et Y dobtenir une relation Z contenant la fois les
tuples de X qui ne figurent pas dans Y.
Syntaxe :

Z= Minus (X, Y) ou Z= X - Y

Exemple : Avec lexemple prcdente, dterminer les clients qui ne sont pas
fournisseurs.

Z=Client Fournisseur ou Z= Minus (X, Y)


Z
Code Nom
A25 Aka

3) Lintersection ()

Tout comme les 2 prcdents, cet oprateur est dfini sur le mme ensemble
dattribut. Il permet partir de 2 relation X et Y dobtenir une autre relation Z
contenant des tuples appartenant la fois X et Y.

Syntaxe :

Z= Intersect (X, Y) ou Z= X Y

Exemple :
Table Client Table Fournisseur
Code Nom Code Nom
A01 Koffi A01 Koffi
A25 Aka A35 Kon
A36 Kassi

72
Z=Intersect (Client, Fournisseur) ou Z=Client Fournisseur

Z
Code Nom
A01 Koffi

4) La division

La division est opration binaire. Elle permet partir de 2 relation X et Y dobtenir


une relation Z. Tel que tout tuple de Z concatn tout tuple de Y redonne un tuple
de X. Autrement dit permet de slectionner les tuples de X qui soient associs tous
les lments de Y dans la relation Z.

Syntaxe :
Z= DIV(X, Y) ou Z= X / Y

Exemple : Soit les tables Participer (Athlte, Epreuve), Epreuve (Epreuve)

Table Participer Table Epreuve


Athlte Nom Epreuve
Dago 200 m 200 m
Dali 400 m 400 m
Dago 400 m 110 m
Gueu 110 m
Dago 110m
Zoh 200 m

Req : Dterminer lathlte qui a particip toute les preuves.

R= Participer / Epreuve ou R=Div (Participer)

Athlte
Dago

5) Le produit cartsien ( X )

Le produit cartsien entre 2 R et S est une nouvelle relation Z ou chaque tuple de R


est associ chaque tuple de S.

73
Syntaxe :
Z=R x S ou Z= Prod (R, S)

Exemple :
S R RxS
C D A B A B C D
c d a b a b c d
u v x y a b u v
x y a b x y
x y c d
x y u v
x y x y

NB : En lui-mme le produit cartsien ne prsente pas grand intrt puisquil associe


aveuglement chaque ligne de R chaque ligne de S. Il ne prend vraiment son sens quassoci
lopration de slection, ce qui permet dexprimer des jointures, opration fondamentale qui
sera tudie plus loin.

Les conflits de noms dattributs


Il arrive trs souvent que 2 relations aient des attributs qui ont le mme nom. On doit
se donner les moyens de distinguer lorigine des colonnes dans la table rsultat en
donnant nom distinct chaque attribut.
Exemple :
Une table S qui a les noms dattributs que R, le schma de la relation rsultante du
produit cartsien R x S a pour schma (A, B, A, B) et prsente donc des ambigits,
avec les colonnes A et B en double.

R S
A B A B
a b m n
x y o p
Nous avons deux (2) solutions pour rsoudre ce problme de conflit.

Le prfixage

La premire solution pour lever lambigit est de prfixer un attribut par le nom de
la table do il provient.
Le rsultat T de R x T devient alors :

74
T
R.A R.B S.A S.B
a b m n
a b o p
x y m n
x y o p
Le renommage

Il est le deuxime mthode pour rsoudre les conflits de noms. Pour ce mcanisme, se
rfrer lopration unaire Renommage

6) La jointure ( )

La jointure de R et S se dfinit comme le rapprochement des lignes des relations R et


S pour lesquelles les valeurs dun ou de plusieurs attributs sont identiques et qui
satisfont un critre de rapprochement. Le critre de rapprochement C peut tre
nimporte quelle opration de comparaison liant un attribut de R un attribut S.

Syntaxe :
Z= R C S ou Z=Join (R, S, C)

Exemple :

Produit Dtail Commande


CodePdt LibPdt PU NCde CodePdt Qt
690 A Scanner 161.500 97001 690 A 2
700 B Disquette 3.000 97002 800 C 1
800 C Bande 8.000 97003 800 C 3
magntique

Req : Dterminer tous les produits qui ont fait lobjet de commande

R= Join (Produit, Dtail Commande, P.CodePdt=D.CodePdt)


ou
R= Produit Codepdt=CodePdt Detail Commande

R
CodePdt LibPdt PU NCde Qt
690 A Scanner 161.500 97001 2
700 B Bande 8.000 97002 1
magntique
800 C Bande 8.000 97003 3
magntique

75
III) Exercices dapplication

Ce chapitre sera illustr par un exemple, celui de la base de donnes dun organisme
de voyage. Cet organisme propose des sjours (Sportifs, culturels, etc) se droulant
dans des stations de vacance. Chaque station propose un ensemble dactivits (ski,
voile, tourisme). Enfin on maintient une liste des clients (avec le solde de leur compte)
et des sjours auxquels ils ont particip avec leurs dates de dbut et de fin.Le modle
relationnel de lactivit de cet organisme est le suivant :

- Station (NomStation, Capacit, Lieu, Rgion, Tarif)


- Activit (LibellActivit, NomStation, Prix)
- Client (IdClient, Nom, Prnoms, Ville, Rgion, Solde)
- Sjour (IdClient_ NomStation, dbut, NdrePlaces

NomStation Capacit Lieu Rgion Tarif


Venusa 350 Guadeloupe Antilles 1200
Farniente 200 Seychelles Ocan indien 1500
Santalba 150 Martinique Antilles 2000
Passac 400 Alpes Europe 1000
Table Station

NomStation Libell Prix


Venusa Voile 150
Venusa Plonge 120
Farniente Plonge 130
Passac Ski 200
Passac Piscine 20

Santalba Kayac 50

Table Activit

IdClient Nom Prnom Ville Rgion Solde


10 Fogg Philea Londre Europe 12465
20 Pascal Blaise Paris Europe 6763
30 Kerouac Jack New York Amrique 9812

Table Client

IdClient Station Dbut NbPlace


10 Passac 1998-07-01 2
30 Santalba 1996-08-14 5

76
20 Santalba 1998-08-03 4
30 Passac 1998-08-15 3
30 Venusa 1998-08-03 3
20 Venusa 1998-08-03 6
30 Farniente 1998-08-24 5
10 Farniente 1998-08-05 3

Table Sjour

Req1 : Exprimer la requte qui donne toute les stations aux Antilles.

Req2 : Donnez le nom des Stations et leur rgion

Req3 : Donnez le produit cartsien Station X Activit Stations. Utiliser S comme


prfixe pour les attributs venant de Station, et a pour ceux venant dActivit afin de
lever lambigut sur les attributs qui apparaissent deux fois.

Req4 : Dterminer les informations gnrales sur les stations et la liste de leurs
activits respectives

Req5 : Dterminer les stations qui sont aux Antilles et dont la capacit est suprieur
200.

Req6 : Dterminer les stations qui sont aux Antilles ou dont la capacit est suprieur
200.

77
Req7: Dterminer les stations dont la capacit est suprieur 200 mais qui ne sont
pas aux Antilles.

Req8: Dterminer les noms des stations aux Antilles.

Req9: Dterminer les noms des stations ou lon pratique la voile.

Req10: Dterminer les stations pour lesquelles il ny pas dactivit avec un prix
infrieur 100.

Req11: Dterminer les stations qui ne proposent pas de voile.

Req12: Dterminer les rgions o il y a des clients mais pas de stations.

78
CHAPITRE : LE LANGAGE SQL (Structured Query Language)

Introduction

Le langage SQL est utilis pour interroger, mettre jour et grer des base de
donnes relationnelles. SQL est un langage quon peut utiliser de manire interactive
avec les SGBDR, galement avec des interfaces graphiques, des outils de reporting o
cest gnralement le cas dans les langages de programmation.
Avant de pouvoir effectuer une lection dans les donnes (lancer une requte SQL), il
faut au moins 2 conditions pralable :
La premire est que la base de donnes existe et pour cela il faut crer une
structure logique capable daccueillir les donnes et tablir des liaisons entre
ces donnes.

La seconde est que la base de donnes contienne des informations utiles. En


dautre terme, il faut que la base de donnes soit renseigne.

I) Structure du langage SQL

Le langage SQL prsente un nombre limit de verbes ou mot cl qui se repartissent


en 3 familles fonctionnnellement distinctes. Ces 3 langages du SQL sont :
Le DDL (Data Definition Language) ou langage de dfinition de donnes qui
prmet la description de la structure de la base de donnes (Table, Vues,
Attributs Index,)

Le DML (Data Manipulation Language) ou langage de manipulation de


donnes qui permet la manipulation des tables et des vues avec ses 4 verbes
correspondants aux 4 oprations fondamentales sur les donnes.

Le DCL (Data Control Language) ou langage de contrle de donnes qui


contient les primitives de gestion des transactions (COMMIT, ROLLBACK)
et des privilges daccs aux donnes (GRANT et REVOKE).

1) Le langage de dfinition de donnes (DDL)

Instruction Rle
CREATE Permet de crer des table, des vues, des index
ALTER Permet modifier la structure dune table
DROP Permet la suppression dune table

79
a) Cration dobjets

La cration des tables

La demande Create Table permet de crer une table avec ses colonnes en leur
associant un type de donnes et en y ajoutant des contraintes vrifier.
La syntaxe est la suivante :

Create table <Nom-Table> (<nom_colonne><Type_colonne>)


Exemple : Crer la table Dpartement ( Nomdepart , nomdepart)

Create table Departement (Numdepart number (3), Nomdepart char (10))

Il est aussi possible de crer une table en inscrivant directement les lignes
(Enregistrements) la cration. Dans ce cas, les colonnes existent ailleurs, il est
inutile de les spcifier nouveau.

Syntaxe :
Create Table <Nom_table> [(<Nom_colonne><Type_colonne>)]
As Select <Nom champ> From <Nom_Table>
Where <Condition>

Le DDL doit offrir la possibilit dexprimer des contraintes lors de la cration de la


table. Les mots permettant de dfinir ces contraintes sont :
- Constraint : permet de nommer une contrainte.

- Defaut : precise une valeur par dfaut.

- Not null : force la saisie de la colonne.

- Unique : vrifie que toutes les valeurs sont distinctes.

- Check : vrifie une condition prcise.

- Primary Key (liste de colonnes): dfinit la ou les cl(s) primaire(s).

- Foreign Key (liste de colonnes): dfinit la cl trangre (Contrainte referentielle)

Exemple :

Create table Fournisseur


(Numfour number (6) not null check (Numfour < 1000),

80
Nom char (20) not null,
Adresse char (50),
Ville char (15) default abibjan
Constraint PK_fournisseur primary key (Numfour)
);

Cration de vues

Un vue est une table dont les donnes ne sont pas physiquement stockes mais se
rfrent des donnes stockes dans dautres tables. La vue peut tre utilise comme
une table.

Syntaxe :
Create View <Nom_View>
(<Nom_colonne>, )
As <Selection>

Exemple: Crer une vue des fournisseurs qui sont Bouak

Create view VFournisseur


As select nomfour, adresse, lieu from Fournisseur
Where lieu=Bouak ;

La cration dun index

Les objets dcrits prcdemment permettent thoriquement dlaborer une base de


donnes. Nanmoins en pratique, il est ncessaire de disposer des mthodes daccs
assez efficace, cest le rle de lindex. Un index permet daccder rapidement et
directement par les techniques de hachage aux colonnes et aux lignes des tches.
On peut indexer sur une table une ou plusieurs noms de colonnes cites par ordre
dimportance mais la cration dindex ne peut pas se faire sur une vue.

Syntaxe :
Create [Unique] Index <Nom_Index> On <Nom_table>
(<Nom_colonne,.> [Asc / Desc]

Loption Asc /Desc prcise si les valeurs de la colonne doivent tre tries de faon
ascendante ou descendante.
Loption Unique prcise si les valeurs des colonnes indexes sont uniques ou non

Exemple : Cration dindex sur les colonnes nom et prnom de la table Fournisseur

81
Create Index i_fournisseur On Fournisseur (Nom Asc, Prenom Desc)

b) Modification de la structure dune table

La commande Alter permet lajout, la modification, la suppression dune table. Alter


ne fonctionne que sur les tables.
Elle sutilise avec les mots cls suivants : ADD, Modify, Drop selon laction
effectuer.

ADD : permet dajouter une colonne en fin de colonne

Syntaxe :
Alter Table < Nom table > ADD (< Nom de la colonne > < Type de la colonne >

Exemple : Ajout dune colonne Prenom la table Fournisseur

Alter Table Founisseur ADD (Prenom char (15)) ;

Modify : permet de modifier le type de donnes dune colonne.

Syntaxe :
Alter Table <Nom table> Modify (<Nom de la colonne> <Type de la colonne>

Exemple : Modifier le type de la colonne Prenom dans la table Fournisseur

Alter Table Fournisseur Modify (Prenom char (20)) ;

Drop : Permet de supprimer des colonnes existantes dune table

Syntaxe :
Alter Table < Nom table > Drop (< Nom de la colonne >)
Exemple : Supprimer la colonne Prenom de la table Fournisseur

Alter Table Fournisseur Drop (Prenom)

c) Suppression de table , de vue ou dindex

Lordre DROP permet de supprimer une table, une vue ou un index.

82
Syntaxe :
Drop Table <Nom de la table>
Drop View <Nom de la table>
Drop Index <Nom de la table>

Exemple : Supprimer la table Fournisseur

Drop Table Fournisseur

2) Langage de contrle des donnes (DCL)

Instruction Rles
GRANT Accorde des droits daccs la base de donnes
REVOKE Retire des droits daccs la base de donnes
COMMIT Valide une transaction
ROLLBACK Annule une transaction

Ladministrateur de la base de donnes est une personne qui non seulement doit grer
a base, ces schmas, ces contraintes et ces indexes, mais aussi ces diffrents
utilisateurs.
Il doit vrifier que laccs la base se fait par des utilisateurs identifis. Il doit ensuite
dfinir pour ces utilisateurs leurs droits et leurs privilges.
Il y a en gnral deux types de privilges :
Les privilges systmes qui donnent les droits de connexion lutilisateur

Les privilges sur les donnes qui donnent les autorisations daccs aux
donnes

La gestion des autorisations comprend des mcanismes : loctroi ou lannulation des


autorisations et le contrle des autorisations.
Pour accorder ou retirer un ou plusieurs privilges sur un objet (Table ou Vue), SQL
dispose de 2 commandes. Nous avons :
- Grant : permet daccorder des privilges.

- Revoke : permet de retirer des privilges.

Les principaux privilges sont :


- Select : qui permet de lire le contenu une table ou dune vue.

- Insert : qui permet dinsrer des valeurs dans une table.

- Delect : qui permet deffacer des tuples dune table.

83
- Update : qui permet de modifier le contenu dune table.

- References : qui permet de faire rfrence une table ou une vue dans une
contrainte dintgrit.

Ces mmes privilges sont valables pour les colonnes : Select (X), Insert (X),
Update (X), References (X)
NB : Aux privilges sajoutent des rles dans la plupart des SGBD. Un rle
correspond un ensemble de droits. Parmi les rles principaux on retrouvera :
- DBA (Data Base Administrateur) qui permet de spcifier dun coup tous les
droits du DBA.

- CONNECT : qui regroupe tous les droits ncessaires la connexion

- RESSOURCE : qui regroupe tous les droits ncessaires la cration et la


modification de ses propres tables.

a) Accorder des droits.


Seul le crateur dun objet possde tous les droits sur cet objet. A tout instant un
utilisateur qui la droit de transmettre des privilges sur un objet peut utiliser la
commande Grant pour accorder des privilges dautres utilisateurs.
Syntaxe :
Grant <Liste_Privilges> On <Liste-Objets> To <Liste_Utilisateur>
[With Grant Option]

[With grant option] : permet de prciser que lutilisateur qui reoit les droits peut
son tour les transmettre un autre utilisateur.
Le mot Public la place du Liste_utilisateur permet de prciser que toutes les
utilisateurs sont concerns

Exemple : Donner les droits de mise jour la secrtaire Anne sur la colonne
Quantit de la table commande avec possibilit de transmettre ce droit.

Grant Update (Qt) On Commande To Anne With grant option.

b) Retirer des droits


A tout moment, tout utilisateur ayant donn un privilege peut retirer ce privilege
laide de la commande: Revoke

84
Syntaxe :
Revoke [Grant Option For] <Liste_Privilges> On <Liste-Objets> From
<Liste_Utilisateur>

Exemple : Retirer le droit de mie jour Anne sur la colonne Quantit de la table
Commande

Revoke Update (Qt) On Commande From Anne


Le mot All la place de Liste_privilge retire tous les droits un utilisateur.

3- Le Langage des Manipulation des Donnes (LMD)

a- La Slection des donnes

Syntaxe pour effectuer une recherche de donnes.

SELECT Attribut1, Attribut2, Attribut3

FROM Table1, Table2.

WHERE Condition de recherch

GROUP BY Attribut1, Attribut2

HAVING Condition de recherche aprs regroupement

ORDER BY Attribut1, Attribut2 DESC

1-1 Consultations simples

- Slection de tous les attributs


On utilise un astrisque (*) pour slectionner tous les champs dune table.

Exple : Afficher toutes les informations de la table CLIENT :


SELECT * FROM CLIENT ;

- Slection de certains attributs

SELECT liste de colonne


FROM liste de table ;

85
Liste de slection : permet de spcifier les colonnes visualiser. Les noms de
colonnes seront spares par une virgule.
Liste de table : permet de spcifier le nom de la table qui contient les donnes
slectionner.

Exple : Afficher le numro, le nom, le prnom de tous les clients.

Exple : Afficher le nom de tous les articles

- Empcher les rptitions de lignes


SQL affiche le rsultat dune requte sans liminer les rptitions de ligne.

Le mot cl DISTINCT dans la clause SELECT limine les rptitions de lignes.

Exple : Rechercher la liste des localits ou habite un client.

NB: Si on ne spcifie pas le mot cl DISTINCT dans la clause SELECT, le rsultat


sera la liste des localits pour tous les tuples de la table client avec dinvitables
rptitions.

b- Consultation avec conditions (Slection de certains tuples)

La clause WHERE permet de spcifier un critre de slection. Si le critre est vrifi


par le tuple, celui-ci fera partie du rsultat.

2-1 Les lments de la clause WHERE

La clause WHERE est une expression logique compose dune suite de condition,
combines entre elles par les oprateurs AND, OR, et NOT.

Une condition peut prendre une des formes suivantes :

86
- Comparaison une valeur (= ; <> ; < ; > ;<= ; >=)
- Comparaison une fourchette de valeurs (BETWEEN)
- Comparaison une liste de valeur (IN)
- Comparaison un filtre (LIKE)
- Test sur lindtermination de valeur (IS NULL)
- Test tout ou au moins un (ALL, ANY)
- Test existentiel (EXIST)

Slection par comparaison une valeur

Comparaison une constante


Le cas le plus simple revient comparer la valeur dun attribut une constante. La
constate doit tre compatible avec le type de lattribut considrer.

SQL admet 2 types de constantes :les chanes de caractres et les nombres.

Chanes de caractres : Doivent tre places entre apostrophes

Exple : Abidjan ; JEAN ; 1452

Nombres :

Exple : 15 ; 12.25 ; -19.25

Exple : 63 E2=63 102 ; 0,5 E 5=0,5 105 ; -366 E -3= -366 10-3 =-0,366

Exple : Retrouver tous les clients habitant PARIS.

Exple : Slectionner tous les articles dont le poids est suprieur 500g.

Comparaison une expression arithmtique

87
Une expression arithmtique peut comporter des oprateurs arithmtiques (+;*;/;-),
des noms dattribut et des constantes.

Exple : Slectionner tous les articles pour lesquels le prix de vente est suprieur au
double du prix dachat.

Utilisation de loprateur AND


Les conditions unies par un et logique (AND) doivent tre remplies pour que le tuple
soit slectionn.

Exple : Slectionner tous les articles de couleur rouge dont le poids est suprieur
100g.

Utilisation de loprateur OR
Il suffit quune condition unie par un ou logique (OR) soit remplie pour que le tuple
soit slectionn.

Exple : Slectionner tous les articles rouges et tous ceux dont le poids est suprieur
500g.

Exple : Slectionner tous les articles qui ne sont pas rouges et tous ceux dont le poids
est infrieur ou gal 50g.

Exple : Slectionner tous les articles dont, soit la couleur est rouge et le poids est
suprieur 100, soit la couleur est verte.

88
Slection par comparaison une fourchette de valeur (BETWEEN)

Loprateur BETWEEN permet de slectionner les tuples tel que lattribut spcifi
contient une valeur dans un intervalle dtermin.

Exple : Afficher la liste des articles dont le prix est compris entre 100 et 150fr

NB : lemploi de BETWEEN revient combiner 2 comparaisons avec un ET logique


dans une expression.

Appliqu au cas prcdant nous avons :

. NOT BETWEEN est employ pour slectionner les tuples dont un attribut
contient une valeur en dehors dun intervalle dtermin.

Slection par comparaison une liste de valeur (IN)

Loprateur IN permet de slectionner les tuples tel quun de leur attributs contient
une valeur apparaissant dans la liste de valeurs suivant loprateur.

Exple : Afficher la liste des articles de couleurs rouge ou verte

NB: Lemploi de IN revient combiner des comparaisons avec un ou logique dans


une expression telle que:

. NOT IN slectionne les tuples dont un attribut contient une valeur autre que celle
de la liste.

Slection par comparaison un filtre (LIKE)


Loprateur LIKE permet de slectionner les tuples tels que leurs attributs
contiennent une valeur correspondant au filtre. Le prdicat LIKE permet de raliser

89
une comparaison entre valeur de la colonne et celle de la chane de caractre en
utilisant des caractres gnriques de substitution.
Les caractres gnriques de substitution offerts par SQL sont :

% : Qui substitut zro ou plusieurs caractres

_ (le soulign) : Qui substitut un seul caractre

Exple : Slectionner tous les clients dont le nom commence par JA.

Exple : Dterminer les clients dont le nom commence par DEF se termine par Z et
est compos de 5 lettres.

NB: Pour slectionner les tuples dont un attribut contient une valeur ne
correspondent pas un filtre, il faut employer loprateur NOT LIKE.

Slection sur lindtermination dune valeur (IS NULL)

La valeur NULL est diffrente de zro en base de donnes .elle dsigne la valeur dun
attribut qui na pas t initialise pour un tuple.

IS NULL permet donc de tester le fait que la valeur nest pas t initialise.

IS NOT NULL en est donc linverse.

Exple :
Dterminer tous les articles pour lesquels on nglig de rentrer la couleur.

c- Ordre de tris des tuples


SQL permet de raliser des oprations de tris sur les donnes extraites avec une
requte dinterrogation.

Syntaxe :
ORDER BY attribut ASC /DESC

La clause ORDER BY suivie des noms dattribut permet de trier suivant le ou les
attributs.

90
En ajoutant ASC ou DESC, on prcise lordre croissant ou dcroissant (par dfaut, le
tris se fait par ordre croissant).

Exple : Trier les articles par ordre dcroissants de leur poids.

4- Fonction sur les chanes de caractres


Les oprations courantes sur les chanes de caractres sont :

- Isoler une partie dune chane de caractres


- Concatner des chanes de caractres
- Calculer la longueur dune chane de caractre
- Transformer un chane en nombre et inversement
La plupart des SGBDR propose des fonctions permettant de faire ces oprations.

Quand aux types de donnes chane il ne fait pas partie de la norme ANSI.

d- Fonction sur les Dates


Tout comme les chanes il ny a pas de fonctions communes entre les SGBDR. Le
type de donnes date ne fait pas partie de a norme ANSI. Mais chaque SGBDR
propose des fonctions permettant de calculer le nombre de jours entre 2 dates, de
comparer les dates etc.

e- Fonction de groupe
Les fonctions de groupe effectuent un calcul sur lensemble des valeurs dun attribut,
dun groupe de tuples. Les fonctions de groupe classique sont au nombre de cinq.

- COUNT : Compte le nombre doccurrence dans lattribut


- SUM : Calcule la somme des valeurs dans lattribut (type numrique)
- AVG : Calcule la moyenne des valeurs dans lattribut (type numrique)
- MAX : Recherche la plus grande valeur dans lattribut
- MIN : Recherche la plus petite valeur dans lattribut

Utilisation dun alias de nom de champ

Le mot cl AS permet de crer un alias pour un nom de champ. Il sagit en effet de


renommer un attribut laffichage.

Exple : Calculer le poids moyen des articles

91
Exple : Compter le nombre de couleur diffrentes existant dans le stock..

f- Les Jointures (Requtes multi tables)

Une jointure est un lien entre 2 tables disposant dau moins une colonne commune
smantiquement.

La clause WHERE permet de spcifier sur quels attributs se fait la jointure, et peut
aussi servir dfinir un critre de slection combin avec la condition de jointure par
un oprateur AND.

Syntaxe :

SELECT Table1.champA,, Table2.champA, Table2.champB

FROM Table1, Table2

WHERE Table1.champA = Table2.champA AND critre;

Exple : Slectionner les articles de couleur Rouge et afficher le numro et le nom du


fournisseur ainsi que le poids de larticle.

SQL offre plusieurs type de jointures :

Equijointure; thtajointure; auto jointure; jointure multiple ; jointure externe


g- Les requtes sur les groupes
La clause GROUP BY

La clause GROUP BY permet en un seul tour de main, de regrouper des


enregistrements par rapport un champ dont les valeurs sont identiques.

Les diffrents oprateurs de calcul pour la clause GROUPE BY sont les fonctions de
groupes que sont : AVG ; COUNT; SUM; MAX; MIN.

Exple1: Calculer le prix de vente moyen des articles de chaque couleur.

92
Exple2 : Calculer le prix de vente moyen des articles de chaque couleur en excluant
les articles pour lesquels le prix dachat est infrieur 5.

La clause HAVING

La clause HAVING permet de faire une slection aprs le groupement des


enregistrements.

La clause HAVING est lquivalent du WHERE appliqu aux groupes. Cette clause
ne peut gnralement tre spcifier que si une clause GROUP BY la t.

En pratique, le critre spcifi dans la clause HAVING porte sur la valeur dune
fonction calcule sur un groupe.

Exple1 : Rechercher la couleur des articles dont le prix de vente moyen des articles
de la couleur est suprieur 100.

h- Les requtes imbriques


SQL permet de compare une expression ou une colonne au rsultat dune requte
SELECT.

Cette condition est dite condition de sous requte et les eux requtes sont dites
requtes imbriques.
Une condition de sous requte peut tre formule selon lune des possibilits
suivantes :

- WHERE expression Oprateur de comparaison (ALL / ANY / SOME)


(Requte SELECT)

- WHERE expression [NOT] IN (Requte SELECT)


- WHERE [NOT] EXISTS (Requte SELECT)
- HAVING expression oprateur de comparaison (Requte SELECT)

93
SELECT interne renvoie une seule valeur
La valeur retourne par le SELECT interne sert de valeur de comparaison dans la
clause WHERE.

Exple : Rechercher tous les articles dont le poids est infrieur au poids de larticle
numro 2.

La clause WHERE peut comporter plusieurs requtes imbriques.

Exple : Rechercher dans la table ARTICLE les tuples de mme couleur que larticle
numro 10 et dont le poids est suprieur ou gal au poids moyen de tous les articles.

SELECT interne renvoie un ensemble de valeur

La requte imbrique est inclure dans une clause WHERE comportant un oprateur
IN ou un des oprateurs ALL ou ANY.
Exple1 : Donnez la liste des fournisseurs qui vendent au moins un articles de couleur
noir.

Exple2 : donner la liste des articles dont le prix de vente est suprieur au prix de
vente de larticle de couleur blanche le moins cher.

SELECT imbriqu dans une clause HAVING

Une clause HAVING permet de spcifier un critre valable pour les groupes. ce
critre peut lui-mme dpendre du rsultat dune requte imbrique.

Exple : Donner la liste des clients dont la somme des achats est suprieur la
moyenne de la somme des achats de tous les clients.

94
2- Stratgie pour criture une clause SELECT

a- Dterminer les tables mettre en jeu, les inclure dans la clause FROM.

b- Dcider quels attributs sont visualiser, les inclure dans la clause SELECT.

c- Si la clause SELECT comporte des fonctions sur les groupes, il faut une clause
GROUPE BY reprenant tous les attributs cits dans la clause SELECT, sauf les
fonctions en question.

d- Dterminer les conditions limitant la recherche.


Les conditions portant sur les groupes doivent figurer dans la clause HAVING, celles
portant sur des valeurs individuelles dans la clause WHERE.

e- Pour employer une fonction sur des groupes dans une clause WHERE ou si lon
besoin de la valeur dun attribut dune autre table, il est ncessaire dutiliser une
requte imbrique.

e- Pour fusionner les rsultats venant de deux clause SELECT,il suffit de les joindre
par un UNION.

f- Prciser lordre dapparition des tuples du rsultat dans une clause ORDER BY.

3- Linstruction INSERT

SQL permet dinsrer en une seule opration une ou plusieurs lignes dans une table
existante. Les lignes insres peuvent provenir dautres tables.

95
La syntaxe est la suivante :

1ire forme

INSERT INTO NomTable (Champ1, Champ2,)


VALUES (valeur1,valeur2,) ;
Exple :
Ajouter le fournisseur dont les informations sont :

12457, Hermess

INSERT INTO fournisseur

VALUES (12457, Hermess) ;

2me forme
INSERT INTO NomTable (Champ1, Champ2,)
Requte ;

Il sagit ici de recopier les lignes issues de la requte de slection dans table. Il doit
avoir une correspondance entre les colonnes de la requte de la slection et celles de
la table.

Exple :
Insrer les lments de la table Client_Paris dans la table Client.

INSERT INTO Client ( , )

SELECT*
FROM Client_Paris ;
4- Linstruction DELETE

Elle permet de supprimer une ou plusieurs lignes dans une table.

Cette commande consiste en une clause DELETE FROM spcifiant le nom de la


table concerne, et dune clause WHERE avec le critre spcifiant les tuples
supprimer. Une requte peut tre imbrique dans la clause WHERE.

La syntaxe est la suivante :

96
DELETE FROM NomTable WHERE Condition

Exple:
Supprimer tous les articles provenant du fournisseur de lagrafeuse

DELETE FROM Article

WHERE NumArt =

(SELECT NumArt

FROM Article

WHERE NomArt = Agrafeuse);

5- Linstruction UPDATE

Elle permet la modification dune ou de plusieurs champs dans la table. elle permet de
modifier trs rapidement les donnes des tables.

Cette commande consiste en une clause UPDATE spcifiant le nom de la table


concerne, suivi de la clause SET dfinissant les modifications apporter, et dune
clause WHERE avec le critre prcisant les tuples enregistrer

La syntaxe est la suivante :

UPDATE NomTable
SET Champ1=valeur1,Champ2=valeur2
WHERE Condition

Exple :
Ajuster le prix de vente par rapport au prix dachat pour les articles dont le poids est
infrieur 100g de faon avoir le prix de vente qui soit le double du prix dachat.

UPDATE articles

SET PvArt = PaArt * 2

97
WHERE PoidsArt < 100;

98
Exercice 1 :

Soit le modle relationnel relatif une base de donnes sur des reprsentations
musicales.

Reprsentation (Nreprsentation ; titre reprsentation ; lieu)


Musicien (Nomartiste ; Nreprsentation)
Programmer (Date ; Nreprsentation ; tarif)
Questions : Ecrire en algbre relationnelle en SQL les requtes suivantes
1- Donner la liste des titres de reprsentation
2- Donner la liste des titres de reprsentation ayant lieu LIVOIRE
3- Donner la liste des noms des musiciens et des titres de reprsentations auxquels
ils participent.
4- Donner la liste des titres des reprsentations, les lieux et le tarif pour la journe
du 31/12/2004.

Exercice 2 :

Voyage (NumVoyageur ; NbParticipant ; date ; rfdestination).


Destination (rfdestination ; Nomdestination).
Classe ( Refclasse ; Nomcalsse;).
Tarif ( Refclasse ; rfdestination PrixUnitaire).

Questions : Ecrire en algbre relationnelle en SQL les requtes suivantes

1- Dterminer la date de dpart des voyageurs destination de ABIDJAN


2- Dterminer la date de dpart des voyageurs destination de ABIDJAN et en
classe AFFAIRE.
3- Dterminer le nombre de participant et le prix des voyages partant du
06/05/2004.

Exercice 3 :

Equipe (Code_equipe ; Nom_equipe).

99
Coureur (Num_cour ; Nom_cour ; Code_equipe ; Code_pays).
Pays (Code_pays ; Nom_pays).
Type Etape (Code_type ; Libell_Type).
Etape (Num_Etape ; Date_Etape ;Ville_Etape ;Ville_dpart ; Ville_Arrive ;
Nbre_Km ;Code_type).

Participer (Num_cour ; NumEtape ; Temps_ralis).

Questions : Ecrire en algbre relationnelle en SQL les requtes suivantes

1- Quelle est la composition de lquipe FESTINA.


2- Dterminer le temps des coureurs qui ont raliss plus de 6h ainsi que les
tapes dans lesquelles ils ont raliss ces performances.
3- Dterminer le temps des coureurs qui ont raliss qui ont raliss moins de 4h
dans les tapes antrieur la 3ime tape.
4- Dterminer les numros des tapes pour lesquelles la ville de dpart et la ville
darrive est PANTHERE.
5- Dterminer le nom des coureurs de lquipe COFIDIS.
6- Dterminer le temps ralis par le coureur 8 aux tape 3 et 7.

100