1
Cahier de charges du cours
Ce cours sera focalisé sur le Système d‟information et le Base
de données. Du système d‟information, on passera au système
informatique c‟est-à-dire à la modélisation.
1. OBJECTIFS DU COURS
A.1. OBJECTIFS GENERAUX
1. Mettre à la disposition des étudiants les outils de
base utilisés en système d‟information et base de
données ;
2. Initier le futur Environnementaliste aux concepts de
base et permettre aux étudiants d‟élaborer des
méthodes de conception des systèmes d‟information
et de base de données.
3. Maitriser les techniques de conception d‟une base
de données localement;
4. S‟appuyer sur les principes de base du Logiciel
Tableur (Excel) et ceux du logiciel de cartographie.
5. Initier le futur Environnementaliste aux concepts de
base d‟un logiciel de cartographie.
A.2. OBJECTIFS SPECIFIQUES
A la fin de ce cours d‟Informatique Appliquée, l‟étudiant sera
capable de :
2
1. Maitriser les concepts de base utilisés en système
d‟information et base de données,
2. Mener une étude informatique de la résolution d‟un
problème donné jusqu‟à la réalisation d‟un Système
d‟Information informatisé,
3. Faire une analyse de données provenant du système
d‟information informatisé avec un logiciel Tableur.
4. Représenter graphiquement les données analysées.
3
2. PLAN DU COURS
1er PARTIE : PARTIE THEORIQUE
Chapitre 1 : GENERALITES SUR LES SYSTEME D‟INFORMATION
Chapitre 2 : GENERALITE SUR LES BASES DE DONNEES ET
LES SGBD
Chapitre 3 : MODELISATION D‟UN SYSTEME D‟INFORMATION
ET D‟UNE BASE DE DONNEES
Chapitre 4 : LANGAGE DE MANIPULATION DE DONNEES
Chapitre 5 : INTRODUCTION AU LOGICIEL TABLEUR
Chapitre 6 : INTRODUCTION AU LOGICIEL DE CARTOGRAPHIE
2eme PARTIE : PARTIE PRATIQUE
Cette partie sera axée sur les études de cas en environnement.
Les travaux pratiques étant obligatoires, tous les étudiants sont
obligés de passer au Laboratoire devant la machine pour
pratiquer.
1. Travaux pratiques de base de données
2. Travaux pratiques d’excel
3. Travaux pratiques de SIG
D. MODE D’EVALUATION
Le cours sera évalué sur base de :
1. La présence au cours et aux Travaux Pratiques
2. Les Interrogations
3. Les pré-projet et Projets en groupe
4. L‟Examen écrit et/ou oral
4
INTRODUCTION
Comme mentionné au niveau des objectifs, ce cours
s‟adresse aux étudiants de troisième graduat en sciences de
l‟environnement, en géologie, géomatique, géographie, Chimie,
Biologie et a pour Object, l‟étude des notions liées aux
systèmes d‟informations et bases de données, au logiciel
tableur, aux logiciels de cartographie, et la mise en pratique de
ces principes.
C‟est ainsi que l‟apprenant aura comme acquis à la fin du
cours les connaissances nécessaires à la modélisation et
l‟utilisation d‟un SGBD suivant les opérations telles que :
création d‟un schéma, insertion, mise-à-jour, destruction,
interrogation de données, et autres mécanismes de
concurrence intervenant dans la gestion d‟un SGBD. La
manipulation et l‟analyse de données ainsi que l‟étude
cartographique.
Ce document permettra aux étudiants de s‟imprégner des
réalités du travail, c‟est-à-dire, à la fin de sa formation, notre
étudiant sera apte de travailler dans des organismes
internationaux ayant à leurs charge des problèmes
environnementaux.
5
Par exemple, lorsque que nous voulons étudier l‟évolution
d‟une pollution à l‟université de Kinshasa. Plusieurs étapes
peuvent être suivi pour cette étude ;
Premièrement, cartographier le site, c‟est-à-dire avoir une
carte de l‟université de Kinshasa. Cela se fait en utilisant un
logiciel de système d‟information géographique SIG, tel que :
ArcGis, MapInfo etc…
Deuxièmement, récupérer ou collecter toutes les
informations de la carte sur cette pollution, et le stocker dans la
base de données. D‟où il faut concevoir une base de données
en utilisant un système de gestion de base de données SGBD.
Et pour notre cas, nous allons utiliser ACCES pour la création de
notre base de données.
Troisièmement, les données seront analysées ou
examinées en utilisant un logiciel tableur et permettra de
représenter les données graphiquement, en utilisant les
histogrammes des fréquences, les diagrammes en bâtonnets
etc… et vice versa, c‟est-à-dire les données peuvent aussi
provenir d‟un logiciel tableur pour être chargées dans une base
de données.
Quatrièmement, on va interpréter et même faire des
projection dans l‟avenir sur cette pollution du site de l‟unikin.
6
Toutes ces étapes seront exploitées dans notre cours
comme vous l‟avez constaté dans notre plan.
7
CHAPITRE I : GENERALITES SUR LES SYSTEME
D’INFORMATION
La gestion des informations se faisait jadis à partir de
fiches manuscrites puis dactylographiées, classées bien souvent
selon un index.
Exemple : Cas d‟une gestion des personnels par ordre
alphabétique sur le nom, avec un index ou on coche sur la
première lettre du nom, pour améliorer le classement et la
recherche.
Ces fiches regroupaient des informations se reportant à
un même sujet.
Exemple : Selon l‟exemple précédent : le nom, le prénom, la
date de naissance, l‟adresse, les qualifications, l‟emploi tenu,
l‟indice de rémunération …, avec éventuellement une
information particulière qui servait à identifier plusieurs
personnels ayant le même nom et le même prénom, soit un
code ou un numéro matricule.
Ces principes de regroupement d‟informations,
d‟identifiant, de fiche et de fichier servirent de modèle aux
premiers fichiers informatiques : notion qui apparut dans les
années cinquante.
8
Avec l‟informatique, un certain nombre d‟opérations a été
automatisé et l‟enregistrement des informations est donc passé
de la fiche manuelle à un support informatique (bande
magnétique, disque dur, disquette etc.). Ces informations ont
été organisées dans des fichiers. Ces fichiers se sont organisés
en un véritable ensemble dévolu à la gestion des informations
de l‟entreprise : Le Système de Gestion de Fichiers.
I.1. LES SYSTEMES DE GESTION DE FICHIERS
De fortes similitudes existent entre les systèmes de gestion de
fichiers utilisés par les différents systèmes d'exploitation et les
systèmes de gestion de fichiers de données, objet de cette
partie.
1.1. Fonctionnement d'un SGF
Les fichiers composant le SGF sont des fichiers de données et
des fichiers de programmes Les fichiers de programmes
permettent 2 types de traitements :
Traitement interactif : une action extérieure implique
un résultat immédiat de la part du système ;
9
Traitement par lots : le traitement comporte une
série de commandes qui traitent plusieurs éléments
et dont le résultat n'est pas immédiat.
En conséquence de quoi, le traitement interactif est un
traitement unitaire et le traitement par lots est un traitement
différé.
1.2. Objectifs d'un SGF
Le Système de gestion de fichiers a pour but, en parfaite
collaboration avec le système d‟exploitation, d‟assurer les
tâches suivantes :
1. Gérer automatiquement les mémoires secondaires :
disques, bandes, mémoire de masse
2. Gérer les entrées-sorties ;
3. Permettre la création et la suppression des fichiers
contenant les données ;
4. Permettre les accès en lecture et en écriture ;
5. Protéger les fichiers contre les défaillances du système
(pannes matériel ou logicielles) ;
6. Permettre le partage des fichiers entre plusieurs
utilisateurs ;
7. Protéger les fichiers contre les accès non autorisés ;
10
8. Permettre l‟utilisation de langage de programmation pour
manipuler et traiter les informations.
1.3. Les inconvénients des SGF
Au-delà de l‟organisation interne de chaque fichier et des
mécanismes permettant de manipuler les enregistrements de
ces fichiers, la difficulté majeure demeure dans l‟existence de
différents fichiers au sein du système d‟information d‟une
entreprise ou d‟un organisme.
Exemple : Gestion des stagiaires de l'Office Congolais de
Contrôle(OCC)
Si l'on prend le cas du système d'information de l'OCC, et plus
particulièrement l'activité de gestion des stagiaires : les
stagiaires sont pris en compte par différents services de l'Office,
qui doivent, chacun manipulé des informations relatives à leur
mission. En conséquence de quoi, chaque service dispose d'un
fichier regroupant les informations qui les concernent, et sous
une forme qui leur convient :
11
c.1. Inconvénients directs
c.1.1. Redondance des informations
La même information est dupliquée dans plusieurs fichiers où
elle peut, en plus, être structurée de manières différentes.
Exemple : Les rubriques grade, nom et prénom.
Cette redondance a pour effet direct une augmentation du
volume de l‟ensemble des fichiers.
c.1.2. Inconsistance des données
Les copies d‟une même donnée ne concordent pas
obligatoirement entre elles.
Exemple : Cas des codifications de grades, orthographes
différentes pour le même nom …
c.1.3. Difficulté à rapprocher les informations
La tâche la plus couramment effectuée en termes de
traitement des données consiste à associer des informations à
d‟autres informations, éparpillées un peu partout dans le
système d‟information de l‟entreprise.
Exemple : Retrouver le numéro de livret de solde du
stagiaire dont le véhicule porte telle immatriculation, retrouver
12
les commandes d'un client, retrouver les fournisseurs d'un
produit …
Ce sont ces associations entre informations qui sont
traduites dans un MCD par la mise en place de relations.
Or les données sont de structures différentes et ne sont
pas reliées physiquement entre elles, ce qui rend très difficile
l‟exécution de ces rapprochements : le développeur doit se
charger d‟effectuer ces rapprochements par comparaison des
rubriques des fichiers concernés, en tenant compte de leur
organisation, de leurs méthodes d‟accès et en espérant qu‟il n‟y
ait pas d‟inconsistance !!
c.2. Inconvénients indirects
Les inconvénients suivants ne sont que la conséquence de ceux
précédemment énoncés.
c.2.1. Difficultés d'accès
Les données étant dupliquées et éparpillées, il y a
plusieurs moyens d‟y accéder sans savoir à l‟avance quel est le
13
mieux adapté au traitement ou à la recherche souhaitée (par
quel bout doit-on s‟y prendre ?).
On a donc besoin d‟un système global pouvant s‟adapter
aux demandes spécifiques et immédiates des utilisateurs.
De plus, il est difficile d‟écrire des programmes qui
permettent d‟accéder aux informations de manière globale ; il
devient nécessaire d‟établir des relations entre les fichiers.
c.2.2. Multiplicité des mises à jour
Les données étant dupliquées, la modification d‟une information
entraîne autant de mises à jour qu‟il y d‟endroits où cette
information est stockée.
Exemple : Un stagiaire féminin du nom de KAKA se marie et
décide de porter son nom d'épouse, KASONGO. Il devient
obligatoire de modifier la rubrique Nom dans chaque fichier.
Cette multiplicité des mises à jour est aggravée par les
difficultés d‟accès et par l‟inconsistance des données ainsi que
par le facteur temps qui rend le système incohérent tant que
l‟ensemble des mises à jour n‟est pas fini.
14
c.2.3. Problèmes d'intégrité
Pour garantir un minimum de cohérence au système, on peut
mettre en place un certain nombre de règles concernant les
données : les contraintes d‟intégrité. Parmi ces contraintes
d‟intégrité, on peut citer :
- L‟unicité de valeur d‟un attribut ;
- Le contrôle des valeurs possibles d‟un attribut ; Exemple :
solde >0 ; année naissance < année courante …
- la référence ou appartenance à un ensemble variable de
valeurs.
Dans un SGF, la mise en place de ces contraintes est à la
charge des programmeurs, qui doivent écrire les programmes
correspondants ; chose rendue complexe par le contexte
d‟instabilité et d‟incohérence qu‟impliquent les inconvénients
déjà cités
De plus toutes ces difficultés rencontrées augmentent parfois
considérablement le temps nécessaire à la mise à jour d‟une
information sur l‟ensemble du système. Celui-ci se retrouve
donc régulièrement dans un état incohérent qui peut impliquer
des erreurs.
15
Exemple : En reprenant le cas de figure précédent, si un service
ne prend pas rapidement connaissance de la modification de
patronyme du stagiaire KAKA ; ce service ne connaîtra que le
stagiaire KAKA alors que les autres services ne connaîtront que
KASONGO.
c.2.4. Problèmes de sécurité
De la même manière, il devient impossible de mettre en place
les verrouillages nécessaires pour empêcher une personne
d‟accéder aux informations dont elle n‟a pas le "besoin d‟en
connaître".
c.2.5. Indépendance données / traitements
Les langages de programmation utilisés pour manipuler
les SGF comportent une très grosse partie dédiée à la
déclaration et à la définition des informations traitées ainsi qu‟à
l‟accès et à la manipulation de ces données. Cette lourdeur est
démultipliée en cas de maintenance corrective ou évolutive de
l‟application.
C‟est pourquoi, d‟autres systèmes de gestion de données
se sont mis en place : les Systèmes de Gestion de Bases de
Données (SGBD) ; leur objectif principal étant d‟éliminer les
16
inconvénients directs des SGF en espérant, par là même,
éliminer les inconvénients indirects.
I.4. CONCEPTS DE BASE
4.1. Systèmes
Il existe plusieurs définitions du mot « système ».
Définition 1
Un système est un ensemble d‟éléments en interaction
dynamique organisés en fonction d‟un but. (JOEL DE
ROSNAY)
Définition 2
Un système est un ensemble d‟objets et des relations entre
ces objets et entre les attributs de ces objets. (HALLEN)
Définition 3
Un système est :
- quelque chose (n‟importe quoi), qui fait quelque chose
(activité, fonction), qui est dotée d‟une structure, qui
évolue dans le temps, dans quelque chose (un
environnement) pour quelque chose.
Lorsque nous appliquons ces définitions aux entreprises et
aux organisations, nous constatons qu‟une entreprise ou une
organisation constitue un système qui a des éléments
d‟entrée et de sortie, ainsi que les éléments de
17
transformation en interaction, en vue de la réalisation d‟un
objectif prédéfini. (LEMOIGNE)
Remarques
Un problème à informatiser découle toujours d‟un système.
Dans la pratique, on distingue différents types de systèmes :
Un système ouvert : entreprise, organisation
Un système fermé : service secret
Un système artificiel : barrage hydroélectrique
Un système naturel : forêt, méteo
Un ordinateur peut aussi être considéré comme un système.
4.2. Système d’information
Un système d‟information peut être défini comme
l‟ensemble des informations circulant dans une entreprise
et les moyens mis en œuvre pour les gérer.
18
Du point de vue structure, un système est structuré de la
manière suivante :
Sous – Système
de Pilotage
Sous – Système
d’information
Sous – Système
opérant
Un sous - système de pilotage est constitué de décideurs
comme le comité directionnel. Ils prennent des décisions
stratégiques à court, moyen et long terme et donnent des
ordres au sous – système opérant.
Un sous - système de opérant appelé aussi sous – système
opérationnel, est constitué des exécutants. Ils exécutent
les ordres venant du sous système de pilotage.
Un sous – système d‟information ( système d‟information)
est le trait d‟union entre le sous système de pilotage et le
sous – système opérant. Ainsi, le sous – système
d‟information permet de traiter les informations. D‟où, le
système d‟information est défini comme l‟ensemble des
informations circulant dans une entreprise et les moyens
mis en œuvre pour les gérer. Notons que le but poursuivi
19
par l‟informaticien est d‟améliorer le sous – système
d‟information.
20
4.3. Rôle des Systèmes d’Information
Le rôle des systèmes d‟information peut être schématisé de
la manière suivante :
INFORMATION INTERNE INFORMATION EXTERNE
1. Orale 5. Orale
2. Ecrite 6. Ecrite
3. Picturale 7. Picturale
4. autres 8. autres
Appropriation
Tri des informations :
ANALYSE BRUTE
utiles et non utiles
Structuration des
informations utiles
TRAITEMENT PROPREMENT
DIT
Résultat
DIFFUSION
Utilisateurs
Partant de ce schéma, le rôle du système d‟information
consiste en :
- L‟analyse des données internes et externes
- Le traitement des données
- La diffusion des résultats
21
- Le stockage des informations
D‟où, dans la pratique un bon système d‟information
doit avoir les qualités suivantes :
1. La rapidité : chaque élément du système de l‟entreprise
doit être en possession de l‟information le plus rapidement
possible
2. La fiabilité : le système d‟information doit être capable de
déceler les anomalies lors de traitement et ne livrer que des
informations valables.
3. La pertinence : le système d‟information doit être capable
de prendre en compte toutes les informations qui lui
proviennent (certaines d‟entre – elles sont « parasites » et
d‟autres utiles).
Remarque : Les critères tels que la rapidité de la diffusion, le
délai, la forme (support) de la diffusion doivent être respectés,
au niveau de la diffusion.
4.4. Système informatique
Un système informatique est un sous ensemble du
système d‟information. C‟est l‟ensemble des moyens humains,
matérielles, algorithmes, méthodes, procédures permettant le
traitement automatique des informations dans les entreprises
22
ou organisations.
4.5. Classification des systèmes d’information
Dans la pratique, les systèmes d‟information peuvent être
appréhendés sous différentes formes :
4.5.1. Selon le degré d’automation
On distingue :
Le traitement manuel : sans l‟apport d‟un auxiliaire
mécanique.
Le traitement mécanique : A l‟aide d‟auxiliaires mécaniques
pour le traitement et la diffusion de l‟information. Par exemple
avec la machine à écrire.
Le traitement automatique : L‟intervention de l‟être humain
au niveau du traitement ou de la diffusion n‟est pas exigée.
L‟homme n‟intervient qu‟en amont et en aval. Par exemple avec
l‟ordinateur.
4.5.2. Selon le degré d’intégration des moyens
- Système d’information centralisé : le traitement
s‟effectue en un seul site qui peut être le service
informatique. Ce type de système informatique tant à
disparaître avec l‟évolution de la technologie de l‟information
23
(C.T.I.). Les moyens informatiques sont regroupés en un seul
site et les utilisateurs ne disposent d‟aucun matériel. Dans
cette architecture, les données sont acheminées vers le site
central par des moyens manuels, puis saisies, stockées et
traitées sur un ordinateur central unique. La diffusion des
résultats informatisés s‟effectue à ce site central. Ainsi, l‟outil
informatique est entre les mains des informaticiens.
- Un système informatique mixte ou distribué :
L‟architecture distribuée est caractérisée par une concentration
des organes de traitement (unité centrale) et de stockage sur
un ordinateur unique dit ordinateur central. Les utilisateurs
disposent uniquement des terminaux passifs (organes de
communication avec l‟ordinateur central) dépourvus de
possibilités de traitement et de stockage. Le traitement
s‟effectue au site central, la saisie et la diffusion dans d‟autres
sites connexes
24
Terminal
passif
UNITE DE TRAITEMENT
stockage
Un système informatique réparti ou architecture répartie :
Dans cette architecture appelée aussi architecture
décentralisée, les utilisateurs disposent des organes de
traitement et de stockage des données qui peuvent être
reliés entre eux ou à un gros ordinateur. Dans ce cas, les
ordinateurs reliés constituent un réseau dont la topologie
peut être soit de bus, d‟anneau ou d‟étoile. Cette architecture
facilite l‟échange des données informatiques (EDI) entre les
utilisateurs selon leurs besoins. Ce type d‟architecture est
souvent appelé « client-serveur ». C‟est la tendance de la
solution informatique la plus choisie à ce jour.
25
Mode par site
Mode global
Dans cette architecture, chaque poste de traitement est actif
et est communiqué à chaque unité centrale ou unité de
stockage.
4.6. Domaine, projet, application informatique
Dans la pratique, l‟automatisation (informatisation) des
systèmes d‟information dans les entreprises ou organisations
peut concerner un domaine, un projet ou une organisation.
Dans le cas de domaine et de projet, on parle de la
conception. Dans le cas d‟une application, on parle de
l’analyse.
26
Actuellement, la différence entre analyse et conception
tend à se minimiser. En effet, avant de réaliser une application
ou un projet ou un domaine, il faut toujours analyser,
concevoir.
27
CHAPITRE II : GENERALITES SUR LES BASES DE
DONNEES ET LES SGBD
II.1. BASES DE DONNEES
Une base de données (BD) représente l'ensemble
(cohérent, intégré, partagé) des informations nécessaires au
fonctionnement d'une entreprise.
On entend ici par entreprise toute collectivité d'individus
travaillant en coordination à la réalisation d'un objectif
commun.
Une base de données informatisée se définit plutôt comme
étant un ensemble structuré de données enregistrées sur des
supports accessibles par l'ordinateur pour satisfaire
simultanément plusieurs utilisateurs de façon sélective et en un
temps opportun.
Nous complétons cette définition, en précisant qu'une base de
données est un ensemble d'informations sur un sujet déterminé
qui est exhaustif, non redondant et structuré.
Exemples de base de données: celle qui permet la gestion
des personnels, étudiants, cours, inscriptions, ... d'une
28
université ou école, celle du système de réservation de places
d'avion des compagnies d'aviation, celles qui permettent la
gestion des comptes des clients des sociétés bancaires, ...
II.1.1. Cycle de vie d'une base de données
On appelle cycle de vie d'une base de données la
suite des phases conception, implantation, utilisation.
La conception d'une base de données est la phase
d'analyse qui aboutit à déterminer le futur contenu de la base.
Lorsqu'une entreprise décide, pour son informatisation,
d'adopter une approche base de données, le premier problème
à résoudre, peut-être le plus difficile, est de déterminer les
informations qu'il conviendra de mettre dans la base de
données. Il faut ainsi que l'ensemble des utilisateurs actuels et
futurs de cette base de données se mettent d'accord sur la
nature et les caractéristiques des informations qu'il faut garder
pour assurer la gestion de l'entreprise.
Une fois que cet accord aura été établi, il faudra pouvoir
transmettre son contenu au logiciel SGBD choisi par
l'entreprise. Ceci sera fait au moyen d'un langage symbolique,
spécifique du logiciel choisi, que l'on appelle langage de
description de données (LDD). Une fois que le SGBD aura
29
pris connaissance de cette description, il sera possible aux
utilisateurs d'entrer les données, c'est-à-dire de constituer la
première version, initiale, de la base de données.
On appelle implantation de la base de données cette
phase qui consiste à décrire la base de données dans le
langage du SGBD et construire cette première version.
Une fois l'implantation terminée, peut commencer
l'utilisation de la base de données. Celle-ci se fait au moyen
d'un langage, dit langage de manipulation de données
(LMD), qui permet d'exprimer aussi bien les requêtes
d'interrogation (pour obtenir des informations contenues dans
la base) que des requêtes de mise à jour (pour ajouter de
nouvelles informations, supprimer des informations périmées,
modifier le contenu des informations).
I.1.2. Modèles de données et schémas
Au cours des différentes phases de la vie d'une base de
données, plusieurs descriptions sont successivement élaborées,
chacune répondant à un objectif déterminé et complémentaire.
Dans l'état actuel de l'art, ces descriptions ne peuvent être
faites avec le langage naturel (en français, par exemple) : celui-
ci est trop ambigu et encore trop difficile à comprendre par un
ordinateur. On fait donc appel à un langage formel, basée sur
30
un certain nombre de concepts bien établis. Par exemple, les
concepts d'objet, de lien, de propriété.
On appelle modèle de données l'ensemble des
concepts qui permettent la description de données d'une base
et les règles d'utilisation de ces concepts.
Le schéma d'une base de données est l'expression de la
description de la base de données d'une entreprise obtenue en
employant un modèle de données.
Les différents schémas établis pour décrire les divers
aspects d'une base de données sont les suivants:
I.1.2.1. Schéma conceptuel
Lors de la phase de conception, il est nécessaire que les
utilisateurs puissent discuter de leurs besoins: il faudra donc
qu'ils expriment leur vision sous forme d'une description,
éventuellement partielle, de la future base de données. Dans
cette description, il n'est guère besoin de faire appel à des
concepts de l'informatique, dans la mesure où le problème à
traiter est de déterminer quelles sont les informations
nécessaires à la vie de l'entreprise, et ce indépendamment de la
solution informatique retenue. Cette description s'appuiera donc
31
sur un ensemble de concepts qui ne font aucune référence à
l'informatique : le modèle utilisé est dit "conceptuel".
La description ainsi obtenue s'appelle schéma conceptuel des
besoins. Un modèle conceptuel comporte généralement deux
parties: le modèle statique, concepts permettant de décrire la
structure de données, et le modèle dynamique, concepts
permettant de décrire les opérations sur les données.
I.1.2.2. Schéma logique
Le schéma conceptuel des besoins décrit la future base,
indépendamment des choix techniques d'implantation. La phase
suivante, celle d'implantation, demande que la partie décrivant
les données de ce schéma soit traduite dans les concepts du
modèle utilisé par le SGBD choisi. On appelle modèle logique
(ou modèle machinable), le modèle sur lequel est construit un
SGBD actuel. Il existe aujourd'hui plusieurs modèles logiques
(relationnel, CODASYL, hiérarchique, ...).
Le schéma obtenu en traduisant dans un modèle logique le
schéma conceptuel des besoins sera appelé ici le schéma
logique de la base de données. A noter cependant que, dans
la terminologie courante, ce schéma est souvent appelé le
schéma conceptuel de la base de données, ce qui ne va pas
32
sans ambiguïté avec le schéma conceptuel résultant de la phase
de conception.
I.1.2.3. Schéma interne
L'implantation des données elles-mêmes, c'est-à-dire le
chargement de la base de données avec la version initiale,
nécessite que soient fixés les choix en matière de structuration
de données sur la mémoire secondaire (quels types de fichiers?
quels index? ...).
Ces choix, ainsi que nous l'avons dit plus haut, ne sont pas faits
par les utilisateurs, mais par les administrateurs système qui,
en fonction de leur analyse des traitements qui vont être
effectués sur la future base de données, détermineront les
paramètres effectifs pour l'implantation de la base sous forme
d'un ensemble de fichiers.
L'ensemble de ces choix sera consigné dans ce que l'on appelle
le schéma interne de la base de données. Ceci fait donc appel
à un nouveau modèle, appelé modèle interne, où les
concepts seront ceux de fichier, organisation, index, chemin
d'accès, clé, ...
33
I.1.2.4. Schéma externe
Enfin, au cours de la phase d'utilisation de la base de données,
d'autres schémas sont élaborés pour répondre aux besoins
spécifiques des différents groupes d'utilisateurs. Ceux-ci n'ont
pas besoin de connaître l'ensemble du contenu de la base, à
savoir, toutes les informations sur chaque type d'objet. Chaque
utilisateur a des exigences limitées (il n'est intéressé que par
certaines informations) et particulières (il peut souhaiter une
représentation des informations différente de celle décrite dans
le schéma conceptuel).
A chaque utilisateur (ou groupe d'utilisateurs) est donc associé
un schéma, dit son schéma externe, qui définit le sous-
ensemble de la base de données auquel il a accès, structuré de
façon à répondre à ses besoins spécifiques.
Avantages de cette approche :
- Simplicité : chaque utilisateur n'a dans son schéma
externe que ce qui l'intéresse.
- Protection : il n'est pas possible que, par erreur ou par
malveillance, un utilisateur accède aux données d'autres
utilisateurs non décrites dans son schéma externe.
34
Dans les SGBD actuels, le modèle de données employé pour
décrire les schémas externes est le même que celui du schéma
logique, mais on pourrait proposer des modèles externes plus
adaptés aux besoins spécifiques des utilisateurs.
Un SGBD gère donc trois types de schémas pour une base de
données, qui sont organisés en cascade de la façon suivante:
BD
Schémas externes Schéma logique Schéma Interne
La BD vue par les La Base Vue globalement La BD vue par
utilisateurs l’informaticien
Figure 1: Niveaux de schémas d'un SGBD
Un exemple illustrant ces trois niveaux de schémas (pour un
SGBD relationnel) est le suivant.
Entreprise: un institut de formation permanente.
Schéma logique (SL)
Etudiant : nom, prénom, date de naissance, n°étudiant
Enseignant : nom, prénom, statut, n°compte_bancaire
Cours : nomC, cycle, nom_enseignant
Inscription : n°étudiant, nom_cours, note1, note2
Schémas externes (SE)
35
• Schéma externe du professeur de base de données :
Etudiant _BD : nom, prénom, note1, note2, note_finale
tel que Etudiant _BD résulte de la combinaison de Etudiant et
Inscription du SL, tels qu'il existe une Inscription de cet
étudiant pour le cours BD (n°étudiant dans Etudiant =
n°étudiant dans Inscription et nom_cours dans Inscription =
BD), et tel que note_finale = (note1 + note2)/2
• Schéma externe du service de gestion du personnel
enseignant :
Professeur : nom, prénom, n°compte_bancaire,
nombre_de_cours, liste(nom_cours) tel que Professeur résulte
de la combinaison de Enseignant et Cours du SL, tels que
liste(nom_cours) est la liste de nomC qui se trouvent dans
Cours tel que nom_enseignant dans Cours = nom dans
Enseignant, et tel que nombre_de_cours = Cardinalité
(liste(nom_cours))
Schéma interne (SI)
Etudiant : fichier FEtud,
Contenu : nom, prénom, date de naissance, n°étudiant indexé
sur n°étudiant, index secondaire sur nom+prénom
Enseignant : fichier FEnsCours,
36
Cours contenu : nom, prénom, statut, n°compte_bancaire,
liste(nomC, cycle) tel que nom_enseignant dans Cours = nom
dans Enseignant indexé sur nom,
deux index secondaires, l'un sur nomC, l'autre sur cycle
Inscription : fichier FInscrits,
Contenu : n°étudiant, nom_cours, note1, note2 indexé sur
n°étudiant, index secondaire sur nom_cours
I.2. Modèle de base de données
I.2.1. Modèle hiérarchique
Une base de données hiérarchique est une forme de système
de gestion de base de données qui lie des enregistrements
dans une structure arborescente de façon à ce que chaque
enregistrement n‟ait qu‟un seul possesseur (par exemple, une
paire de chaussures n‟appartient qu‟à une seule personne). Les
structures de données hiérarchiques ont été largement utilisées
dans les premiers systèmes de gestion de bases de données
conçus pour la gestion des données du programme Apollo de la
NASA.
Cependant, à cause de leurs limitations internes, elles ne
peuvent pas souvent être utilisées pour décrire des structures
existantes dans le monde réel.
37
Les liens hiérarchiques entre les différents types de données
peuvent rendre très simple la réponse à certaines questions,
mais très difficile la réponse à d‟autres formes de questions. Si
le principe de relation « 1 vers N » n‟est pas respecté (par
exemple, un malade peut avoir plusieurs médecins et un
médecin a, à priori, plusieurs patients), alors la hiérarchie se
transforme en un réseau.
I.2.2. Modèle réseau
Le modèle réseau est en mesure de lever de nombreuses
difficultés du modèle hiérarchique grâce à la possibilité d‟établir
des liaisons de type n-n, les liens entre objets pouvant exister
sans restriction. Pour retrouver une donnée dans une telle
modélisation, il faut connaître le chemin d‟accès (les liens) ce
qui rend les programmes dépendants de la structure de
données
Ce modèle de bases de données a été inventé par C.W.
Bachman. Pour son modèle, il reçut en 1973 le prix Turing.
I.2.3. Modèle relationnel
Une base de données relationnelle est une base de données
structurée suivant les principes de l‟algèbre relationnelle.
Le père des bases de données relationnelles est Edgar Frank
Codd. Chercheur chez IBM, Codd étudiait alors, à la fin des
38
années 1960, de nouvelles méthodes pour gérer de grandes
quantités de données car les modèles et les logiciels de
l‟époque ne le satisfaisaient pas. Mathématicien de formation, il
était persuadé qu‟il pourrait utiliser des branches spécifiques
des mathématiques (la théorie des ensembles et la logique des
prédicats du premier ordre) pour résoudre des difficultés telles
que la redondance des données, l‟intégrité des données ou
l‟indépendance de la structure de la base de données avec sa
mise en œuvre physique.
En 1970, Codd (1970) publia un article où il proposait de
stocker des données hétérogènes dans des tables, permettant
d‟établir des relations entre elles. De nos jours, ce modèle est
extrêmement répandu, mais en 1970, cette idée était
considérée comme une curiosité intellectuelle. On doutait que
les tables puissent être jamais gérées de manière efficace par
un ordinateur.
Ce scepticisme n‟a cependant pas empêché Codd de poursuivre
ses recherches. Un premier prototype de Système de gestion de
bases de données relationnelles (SGBDR) a été construit dans
les laboratoires d‟IBM. Depuis les années 80, cette technologie
a mûri et a été adoptée par l‟industrie. En 1987, le langage
SQL, qui étend l‟algèbre relationnelle, a été standardisé.
39
C‟est dans ce type de modèle que se situe ce cours de base de
données.
I.2.4. Modèle objet
La notion de bases de données objet ou relationnel-objet est
plus récente et encore en phase de recherche et de
développement. Cette notion sera très probablement ajoutée au
modèle relationnel.
I.3. LES SYSTEMES DE GESTION DE BASES DE DONNEES
Un Système de Gestion de Bases de Données (SGBD) est
un logiciel de haut niveau qui permet de manipuler les
informations stockées dans une base de données.
La complexité d‟un SGBD est essentiellement issue de la
diversité des techniques mises en œuvre, de la multiplicité des
composants intervenant dans son architecture, et de différents
types d‟utilisateurs (administrateurs, programmeurs, non
informaticiens, ...) qui sont confrontés, à différents niveaux, au
système.
Pour mettre un peu d‟ordre dans tout cela, on peut se
raccrocher à une architecture standard conforme à la plus
40
grande partie des SGBD existant , et offrant l‟avantage de bien
illustrer les principales caractéristiques d‟un SGBD.
Cette architecture distingue trois niveaux correspondant
d‟une part à trois représentations équivalentes de l‟information,
d‟autre part aux champs d‟interventions respectifs des
principaux acteurs. Pour ces derniers, nous utiliserons la
terminologie suivante :
1. Utilisateur naïf : du non spécialiste des SGBD au non
informaticien.
Concepteur et programmeur d‟application : à partir des besoins
des différents utilisateurs, écrit l‟application pour des
utilisateurs “naïfs”.
2. Utilisateur expert : informaticien connaissant le
fonctionnement interne d‟un SGBD et chargé d‟administrer
la base.
Chaque niveau du SGBD remplit (réalise) un certain
nombre de fonctions :
1. Niveau physiques :
Gestion sur mémoire secondaire (fichiers) des
données, du schéma, des index ; partage de données et
gestion de la concurrence d‟accès ; Reprise sur pannes
41
(fiabilité) ; Distribution des données et interopérabilité (accès
aux réseaux).
2. Niveau logique :
Définition de la structure de données : Langage de Description
de Données (LDD) ; Consultation et Mise à Jour des données :
Langages de Requêtes (LR) et Langage de Manipulation de
Données (LMD) ; Gestion de la confidentialité (sécurité);
Maintien de l‟intégrité ;
3. Niveau externe :
Vues ; Environnement de programmation (intégration
avec un langage de programmation); Interfaces conviviales et
Langages de 4ème Génération (L4G) ; Outils d‟aides (e.g.
conception de schémas) ; Outils de saisie, d‟impression d‟états.
En résumé, un SGBD est destiné à gérer un gros volume
d‟informations, persistantes (années) et fiables (protection sur
pannes), partageables entre plusieurs utilisateurs et/ou
programmes et manipulées indépendamment de leur
représentation physique.
Que doit-on savoir pour utiliser un SGBD?
42
L‟utilisation d‟un SGBD suppose de comprendre (et donc
de savoir utiliser) les fonctionnalités suivantes :
Définition du schéma de données en utilisant les modèles de
données du SGBD.
Opérations sur les données : recherche, mises-à-jour, etc.
Partager les données entre plusieurs utilisateurs. (Mécanisme
de transaction). Optimiser les performances, par le réglage de
l‟organisation physique des données. Cet aspect relève plutôt
de l‟administration.
I.3.1. Architecture d'un SGBD
Au niveau d'abstraction le plus élevé, un SGBD peut être vu
comme une boite noire, assurant la gestion de la BD
conformément aux requêtes de ses utilisateurs:
SGBD BD
Interface Interface d’accès
Utilisateurs
Utilisateurs Physique
Figure 2: Architecture générale d'un SGBD
43
2.2. L'interface utilisateur : Permet aux utilisateurs
d'exprimer des requêtes: soit pour définir le contenu de la
BD (avec le LDD), soit pour interroger la BD (en extraire
des informations), soit enfin pour apporter des
modifications à ce qui a été enregistré.
2.3. L'interface d'accès physique permet au SGBD
d'accéder aux données sur les supports (disques,...).
Un SGBD gère des problèmes très différents, avec des objectifs
particuliers:
Interface utilisateur: compréhension, analyse et vérification des
requêtes; objectifs: convivialité de l'interface, puissance des
langages de description et de manipulation;
Interface d'accès physique: optimisation du stockage des
données (en termes d'espace occupé sur les supports) et de
l'accès aux données (en temps); objectif: avoir les meilleures
performances.
L'articulation entre ces deux interfaces doit répondre à un
objectif fondamental: assurer l'indépendance
programme/données. A savoir, d'une part, la possibilité pour
un utilisateur de modifier sa vue de la base et ses traitements
sans avoir à se soucier des choix qui ont été opérés au niveau
interne en matière de fichiers; d'autre part, inversement, la
possibilité pour un administrateur système de modifier ces
44
choix, pour améliorer les performances, sans que cela ait un
impact sur les utilisateurs (leurs requêtes d'interrogation ou de
mise à jour, ou leurs programmes d'application qui utilisent la
base de données).
Enfin, un SGBD étant utilisé simultanément par plusieurs
utilisateurs, il a à résoudre plusieurs problèmes internes de
coordination de ses actions, de cohérence et de contrôle du bon
déroulement de ses activités.
Il convient donc d'avoir une vision plus fine de l'architecture
d'un SGBD.
I.4. Banque de données
Une base de données est développée au sein d'une
entreprise, pour son propre fonctionnement. Inversement, une
banque de données est un ensemble de données, propres à
un domaine d'application, que des "producteurs" réunissent
pour ensuite en commercialiser l'usage vers le public extérieur.
Exemple: les banques de données juridiques, économiques,
médicales, des brevets, des propriétés des matériaux, ... . La
constitution et l'exploitation des banques de données font appel
à des techniques spécifiques (télématique, par exemple),
différentes des techniques bases de données, seules étudiées
dans ce cours.
45
I.5. Fichier
Dans une entreprise, il convient de faire appel à
l'approche base de données lorsque les données à gérer sont
de natures diverses (exemple : étudiants, cours, enseignants,
salles, ...) et possèdent de nombreux lien s entre elles (exemple
: un étudiant suit un cours, un cours est assuré par un
enseignant, ...). A contrario, il existe des cas où les données à
gérer, bien que importantes en volume, sont homogènes : les
abonnés d'une revue, le personnel d'une entreprise, les produits
vendus par un magasin ... . Dans ces cas, on parlera de fichier
(le fichier des abonnés, ...) et l'on utilisera un système de
gestion de fichiers (SGF), moins complexe qu'un SGBD.
Il est à noter que l'implantation physique d'une base de
données sur les mémoires secondaires se fait via la notion de
fichier. Le choix de ceux-ci, toutefois, reste de la compétence
du SGBD et est invisible à l'utilisateur.
Notons que l‟utilisation directe de fichiers soulève de très gros
problèmes :
a. Lourdeur d‟accès aux données. En pratique, pour
chaque accès, même le plus simples, il faudrait écrire
un programme.
46
b. Manque de sécurité. Si tout programmeur peut accéder
directement aux fichiers, il est impossible de garantir la
sécurité et l‟intégrité des données.
c. Pas de contrôle de concurrence. Dans un
environnement où plusieurs utilisateurs accèdent aux
mêmes fichiers, des problèmes de concurrence d‟accès
se posent.
D‟où le recours à un logiciel chargé de gérer les fichiers
constituant une base de données, de prendre en charge les
fonctionnalités de protection et de sécurité et de fournir les
différents types d‟interface nécessaires à l‟accès aux données.
En particulier, une des tâches principales du SGBD est de
masquer à l‟utilisateur les détails complexes et fastidieux liés à
la gestion de fichiers.
47
CHAPITRE 3 : MODELISATION D’UN SYSTEME
D’INFORMATION ET D’UNE BASE DE DONNEES
La modélisation consiste à créer une représentation
virtuelle d'une réalité de telle façon à faire ressortir les points
auxquels on s'intéresse.
Il existe plusieurs méthodes d‟analyse permettant de
mettre en place les modèles de données. La méthode que nous
exposons dans le cadre de ce cours est la méthode MERISE
(méthode d‟étude et de réalisation informatique pour les
systèmes d‟entreprise).
3.1. METHODE MERISE
La conception d'un système d'information n'est pas
évidente car il faut réfléchir à l'ensemble de l'organisation que
l'on doit mettre en place. La phase de conception nécessite des
méthodes permettant de mettre en place un modèle sur lequel
on va s'appuyer. La modélisation consiste à créer une
représentation virtuelle d'une réalité de telle façon à faire
ressortir les points auxquels on s'intéresse. Ce type de méthode
est appelé analyse.
Il existe plusieurs méthodes d'analyse, la méthode la plus
utilisée étant la méthode MERISE. Le but de cette méthode est
d'arriver à concevoir un système d'information. La méthode
MERISE est basée sur la séparation des données et des
traitements à effectuer en plusieurs modèles conceptuels et
physiques. La séparation des données et des traitements assure
48
une longévité au modèle. En effet, l'agencement des données
n'a pas à être souvent remanié, tandisque les traitements le
sont plus fréquemment.
La méthode MERISE date de 1978-1979, et fait suite à une
consultation nationale lancée en 1977 par le ministère de
l'Industrie dans le but de choisir des sociétés de conseil
eninformatique afin de définir une méthode de conception de
systèmes d'information.
MERISE utilise le modèle Entité – Association (E-A) ou
Entité Relation (ER) dans la modélisation conceptuelle. Ce
modèle repose sa description sur base de 3 concepts : Entité ou
Objet, Relation ou Association et Cardinalité.
3.2 . MODELISATION D’UN S.I. PAR LA METHODE :
MERISE
3.2.1. Historique de Merise
Issue de l'analyse systémique, la méthode Merise est issue des
travaux menés par Hubert Tardieu dans les années 1970 et qui
s'inséraient dans le cadre d'une réflexion internationale, autour
notamment du modèle relationnel d'Edgar Frank Codd, à la
demande du ministère de l'industrie, et a surtout été utilisée en
France, par les SII de ses membres fondateurs (Sema Metra,
ainsi que par la CGI Informatique) et principalement pour les
49
projets d'envergure, notamment des grandes administrations
publiques ou privées.
Contrairement à la plupart de méthodes qui ont été définies par
les sociétés qui en ont assuré la commercialisation, Merise a été
conçue par un ensemble des sociétés de services constitué du
Centre Technique Informatique (CTI) et du Centre d'Etudes
Techniques de l'Equipement (CETE) sous la direction du
Ministère de l‟Industrie pour couvrir les besoins tant des
Administrations que des Entreprises. Le challenge était de
pouvoir proposer des outils ou des méthodologies permettant
aux donneurs d‟ordres et aux développeurs de se comprendre
et ainsi de mieux appréhender chacun de leur côté, avec leur
propre culture professionnelle, l‟ensemble du système
d‟information
Merise, méthode d‟origine française qui n'a pas eu beaucoup
de succès à l'étranger où les méthodes anglo-saxonnes sont
plus présentes. Elle a d'emblée connu la concurrence
internationale de méthodes anglo-saxonnes telles que SDM/S
ou Axial. Elle a ensuite cherché à s'adapter aux évolutions
rapides des technologies de l'informatique avec MERISE/objet,
puis MERISE/2 destinée à s'adapter au client-serveur. Merise
50
était un courant majeur des réflexions sur une « Euro
Méthode » qui n'a pas réussi à percer.
La méthode MERISE est une méthode d'analyse, de conception
et de réalisation des systèmes d'information informatisé. C„est
aussi une méthode de réalisation des projets informatiques.
La méthode Merise a comme objectif d‟aider, de guider les SII,
dans leurs phases d‟analyses, de conception et le
développement de l‟applicatif.
La méthode Merise présente comme avantage indéniable de
permettre une définition claire et précise de l‟ensemble du
Système d‟Information et d‟en définir correctement le
périmètre.
3.2.2. Symboles et caractéristiques
De l'aveu même d'un de ses fondateurs, le nom MERISE vient
de l'analogie faite avec le merisier "qui ne peut porter de beaux
fruits que si on lui greffe une branche de cerisier. D‟abord amer
et sucré par après, Merise est au début difficile et excellent
après sa maîtrise. Elle est en ceci une greffe réussie d‟une
méthode informatique sur les entreprises (françaises en
51
particulier et autres en général) comme la greffe du merisier
sur le cerisier.
ME : MEthode de
R : Rassemblement des
I : Idées
S : Sans
E : Effort
Ou
M : Méthode
E : d‟Etude et
R : Réalisation
I : Informatique des
S : Systèmes
E : Evolués
Merise est une méthode de rassemblement des idées sans
effort.
Merise n‟est pas une méthode originale parce qu‟elle a
emprunté à beaucoup de méthodes et approches.
52
Vision globale M LOO
E
ANSI –X3 PARC
R
Etc.
Réseau de Pétri I
Théorie systémique
Approches par étapes et par niveaux
La méthode Merise se caractérise par :
Une approche systémique en ayant une vue de l‟entreprise
en terme de systèmes ;
Une séparation des données (le côté statique) et des
traitements (le côté dynamique) ;
Une approche par niveaux.
3.2.3. Présentation de Merise
Merise est une méthode de conception française qui
se développe sous trois aspects :
Cycle de vie
Cycle d‟abstraction
Cycle de décision
3.2.3.1. Cycle de vie
Ce cycle décrit les diverses phases du système
d‟informatisation, donc du développement du logiciel de la
53
décision du développement de l‟application, jusqu‟à la mort de
celle-ci.
Le cycle de vie se matérialise par les grandes étapes :
Schéma Directeur ;
Etude préalable ;
Etude détaillée ;
Etude technique ;
Réalisation ;
3. Mise en œuvre.
3.2.3.2. Cycle d’abstraction
Ce cycle représente la démarche de spécification du système
(Organisation étudiée); de l‟abstraction de la réalité de
l‟existant du système, pour en développer un modèle, et
l‟informatiser.
Le cycle d‟abstraction repose sur 4 niveaux. Il se concrétise par
un couple de modèle pour chaque niveau : un modèle de
données et un modèle de traitement.
54
Niveau conceptuel ;
Niveau organisationnel ;
Niveau logique ;
Niveau physique.
Merise est une méthode à double approche. La description
des données est séparée de celle des traitements pour
permettre la modification d‟un niveau sans affecter les niveaux
qui lui sont supérieurs et permettre l‟évolution du système
d‟informations sans obtenir en résultat un système informatique
dépendant instable.
Pour chaque niveau il y a un modèle des données et un modèle
des traitements.
NIVEAUX DONNEES TRAITEMENT
CONCEPTUEL MCD MCT
ORGANISATIONNEL MOD MOT
LOGIQUE MLD MLT
PHYSIQUE MPD MPT
Niveaux Questions Contenu Choix
- données Gestion
CONCEPTUEL Quoi ?
manipulées
55
- règles de gestion
- enchaînement des
traitements
- partage des tâches Organisation
- mode de
traitement
Qui, Quand - répartition
ORGANISATIONNEL
et Où ? géographique des
traitements
- organisation des
données
- répartition Logiciel
géographique des
Avec Quoi, données et
LOGIQUE
Quel outil ? traitements en
déterminant l‟unité
de stockage
- programmes Technique
PHYSIQUE Comment ? - logiciels
- matériels
3.3.3.3. Cycle de décision
Ce cycle représente le point de vue de tous les décideurs de
l‟organisation étudiée quelques soient leur niveau de décision et
d‟action (point de vue d‟un décideur au sens large).
Le cycle de décision définit la nature de résultat à produire à
l‟issu de chaque étape pour qu‟une décision quant à la
56
continuation ou à l‟abandon d‟une politique d‟informatisation
puisse être prise.
La courbe du soleil
La littérature parle de « courbe du soleil », établissant une
analogie entre la démarche Merise et le lever puis le coucher du
soleil : de même, le projet doit élaborer une analyse critique de
l'existant (en partant du niveau physique et en s'élevant
jusqu'au conceptuel : démarche bottom-up, phase ascendante
de la courbe), puis décliner la solution retenue (en partant du
niveau conceptuel et revenant au niveau physique : démarche
top-down, phase descendante de la courbe).
Cycle d’abstraction
- Physique
- Logique
- Organisationnel
- Conceptuel
Hiérarchie de décisions croissantes
Cycle de décision
- Schéma directeur
- Etude préalable
- Etude détaillée
- Etude technique
- Réalisation
- Mise en oeuvre
- Maintenance
Cycle de vie
57
3.4. MODELISATION CONCEPTUELLE DE DONNEES
Le modèle conceptuel de données (MCD) est un
schéma représentant la structure du SI du point de vue de
données, c'est-à-dire les objectifs d‟une part et la dépendance
ou relations entre les différents données ou objets d‟autre part
au niveau de SI à concevoir. Il s‟agit donc d‟une représentation
de données permettant de décrire de façon statique le SI à
l‟aide des concepts EA.
Cette étape consiste donc à répondre à la question
quoi ? C'est-à-dire qu‟est ce qu‟il faut faire avec quelles
données. A ce niveau, on ne se préoccupe, ni de l‟organisation
des données, ni du matériel qui va traiter les données mais des
modèles des données et des modèles de traitements.
1. Concept d’entité
L‟entité est un objet (ou individus, au sens large) du système
d‟information pourvu d‟une existence propre, conforme au choix
de gestion de l‟entreprise et normalement porteur de
propriétés.
Exemple: si l‟on considère une application classique de
facturation des clients dans laquelle nous relevons les faits
suivants:
Le client MAMBU Marcel a passé la commande C1
concernant les produits P1 etP2, cette commande a donné
lieu à la facture F1.
Le client ILUNGA Maurice a passé la commande C2
concernant les produits P2 et P3, cette commande a
donné lieu à la facture F3
58
Nous pouvons « percevoir », dans un premier temps, les entités
suivantes.
CLIENT COMMANDE PRODUIT FACTURE
2. Le Concept de Propriété
Une propriété (ou attribut) est une donnée élémentaire (ou
rubrique) perçue sur le système d‟information. Une propriété
peut concerner une entité ou une association.
Exemple : prenons le cas de l‟entité Clients. Dans cette entité,
nous pouvons avoir besoin de plusieurs informations d‟un client
pour bien assurer sa gestion. Parmi ces informations, nous
pouvons citer : nomclient, telephoneclient, adresseclient,
nummatriculeclient.
Tous ces éléments sont des propriétés de cette entité.
CLIENT
nummatricClient
nomClient
3. Occurrence de L’Entité
L‟occurrence de l‟entité correspond au nombre de fois
ou cette entité est valorisée, ainsi dans notre exemple nous
avons trois occurrences de l‟entité client, correspondant aux
trois Clients MAMBU Marcel, ILUNGA Maurice. Ceci peut se
traduire plus visuellement par une vue en épaisseur comme ci-
après :
59
CLIENT
C001
MAMBU
CLIENT
C002
KASONGO CLIENT
C003
ILUNGA
4. Identifiant de l’entité
L‟identifiant est une propriété particulière telle qu‟à chaque
valeur de la propriété corresponde une et une seule occurrence
de l‟entité.
Parmi les propriétés que porte l‟entité, il y en a une qui revêt
d‟une importance toute particulière car elle permet, par le biais
de sa valorisation, d‟identifier de manière unique et non
ambigue une occurrence de l‟entité et une seule, c‟est
l‟Identifiant.
Par exemple le numéro de Client est l‟identifiant du client. On
voit mal en effet deux clients avoir le même numéro de client.
Par contre, le nom peut difficilement être pris comme identifiant
d‟un client dans la mesure où deux clients peuvent avoir le
même nom. C‟est pourquoi, on emploie le plus souvent un
numéro de client ou un code client. Nous verrons plus tard
comment choisir ce code.
5. Le Concept d’association
Une association entre entités (objets ou individus) est une
relation entre deux ou plusieurs entités. Une association est
60
dépourvue d‟existence propre mais elle peut être porteuse de
propriétés.
Entre les entités existent des associations (ou relation) qui
« lient » ces entités. Ainsi on peut dire qu‟un client passe une
commande. Passe est une association reliant les deux entités;
client et commande. L‟association peut d‟ailleurs être souvent
traduire par une action ou par un verbe d‟action.
CLIENT COMMANDE
Numéroclient NumCommande
1,n 1,1
commander
Nomclient datecommande
Une association peut être caractérisée par sa dimension selon le
nombre d‟entités impliquées dans cette association, on
rencontrera ainsi :
Des associations de dimension 2 ou associations binaires
qui relient deux entités,
Des associations de dimension 3 ou associations binaires
qui relient alors trois entités
Et plus généralement des associations de dimension n, ou
association n-aires reliant n entités.
6. Identifiant de l’association
L‟association peut également être munie d‟un identifiant,
permettant d‟en reconnaître, par le biais de sa valorisation, une
occurrence unique. L‟identifiant de l‟association est créé en
concaténant (mettant bout à bout) les identifiants des entités
61
qui sont parties prenantes de l‟association (qui sont reliées à
l‟association).
Nous préférons ne pas encombrer le schéma avec cet
identifiant, donc nous ne le mentionnerons pas, mais certains
auteurs indiquent l‟identifiant dans le symbole de l‟association.
7. le concept de cardinalité
La cardinalité représente le nombre d‟occurrences, minimal et
maximal, d‟une entité (un objet) par rapport à une association.
La cardinalité exprime le nombre de fois minimum où une
occurrence de l‟entité participe aux occurrences de l‟association.
Cette cardinalité est souvent 0 ou 1.
La cardinalité maximale exprime le nombre de fois maximum où
une occurrence de l‟entité participe aux occurrences de
l‟association. Cette cardinalité est souvent 1 ou n (n indique une
cardinalité maximun non connu à priori).
Ainsi, dans le schéma précédent, on peut lire ces cardinalité
comme suit:
chaque client passe au moins une commande et au plus n
commandes,
chaque commande est passée par un et un seul client.
En fait, il est préférable de déterminer la cardinalité en
considérant la relation entre l‟entité de départ et l‟association,
en omettant de considérer l‟entité située de l‟autre coté de
l‟association. Ainsi, vaudrait-il mieux dire:
chaque client a réalisé l‟action de passer des commandes
au moins une fois et au plus n fois,
62
et chacune des commandes n‟a été passée qu‟une et une
seule fois.
On appelle cardinalité le nombre de fois maximal ou
minimal qu‟une relation est concernée par une association. En
d‟autres termes, nous pouvons dire que la cardinalité traduit la
participation des occurrences d‟une entité aux occurrences
d‟une association.
Une cardinalité appartient à une patte de
l‟association. Chaque patte possède deux cardinalités ;
- une cardinalité Maximale (M) et
- une cardinalité Minimale (n)
Signification des valeurs possibles de cardinalité
n=0 : certaines occurrences de l‟entité ne participent pas à
l‟association (participation optionnelle),
n=1 : toute occurrence de l‟entité participe au moins une fois
aux occurrences de l‟association,
M=1 ; participation obligatoire, c'est-à-dire quand une
occurrence type de l‟entité participe à une association, elle n‟y
participe au plus qu‟une seule fois (unicité de participation).
M=n : quand une occurrence type de l‟entité participe à une
association, elle peut y participer plusieurs fois (multiplicité de
participation).
8. La notion de ‘Contrainte d’Intégrité Fonctionnelle’ (CIF)
Quand on détermine, entre une association et une entité, une
cardinalité présentant les valeurs 0,1 vers 1,n; 1,1 vers 1,n ou
63
1,1 vers 0,nou 0,1 vers 0,nl‟association est particulière. On
l‟appellera alors Contrainte d‟Intégrité Fonctionnelle (CIF), et
afin de bien la repérer, son symbolisme sera également
différent.
En principe, les CIF ne sont pas nommées comme les
associations mais si on veut vraiment mettre en évidence la
raison d‟être d‟une CIF, rien ne nous empêche de le faire en
indiquant un nom à coté du symbole de la CIF ou même en la
représentant par le symbole de l‟association (ce qu‟elle est tout
compte fait); la cardinalité nous indiquent alors qu‟il s‟agit d‟une
CIF.
Cette association particulière, la CIF n‟est pas porteuse de
propriété.
En fait la principale raison d‟être de la mise en évidence des CIF
est d‟optimiser par la suite le passage aux fichiers ou aux bases
de données relationnelles. Une CIF indique que l‟une des
entités est totalement déterminée par la connaissance de l‟autre
(ici on peut dire que connaissant une commande bien précise,
on connaît un client bien précis).
Une CIF peut mettre en relation plus de deux entités et on
parlera alors de CIF Multiple ainsi qu‟on peut le voir sur le MCD
suivant.
Exemple :
64
Professeur
Etudiant
Enseigner
1,n 1,n
Chauffeur
Véhicule
Conduire
1,n 1,1
La cardinalité minimale peut être 0 ou 1. Par exemple, dans la
relation conduire entre entité personne et véhicule. Parmi les
entités, nous distinguons les entités faibles et régulières.
Une entité est dite faible si son existence dépend
d‟autres entités. Par exemple l‟entité ligne de commande
n‟existe que si une entité commande correspondant est
présente autrement dit l‟entité faible aura un identifiant
compose de l‟identifiant de l‟entité qu‟elle dépend d‟une autre
entité. Les entités qui ne sont pas faibles sont dites régulières.
Démarche
La démarche d‟un schéma conceptuel peut être conduite de la
façon suivante :
1. Déterminer la liste des entités
2. Pour chaque entité :
a. établir la liste des Propriétés
b. parmi ceci déterminer un identifiant
3. Déterminer les relations entre les entités
4. Pour chaque relation :
65
a. dresser la liste des propriétés relative à cette
association
b. déterminer les cardinalité de toutes les associations
c. déterminer la dimension
5. Vérifier le schéma obtenu s‟assurer qu‟il répond à la
démarche.
10. Règles de normalisation et vérification
Règle 1 et 2 concernant les entités et leurs propriétés
Règle N°1 : Il doit exister un identifiant pour chaque entité
Règle N°2 : Toutes les propriétés autres que l‟identifiant,
doivent être en dépendance fonctionnelle complète et directe
de l‟identifiant
Notion de dépendance fonctionnelle
Professeurs
Codeprofesseur
Nomprofesseur
Telephone prof
Adresseprof
Une propriété B est dite en dépendance fonctionnelle
d‟une propriété A si pour toute valeur de A, il existe une et une
seule valeur de B. D‟où la règle suivante : pour chaque
occurrence d‟une seule entité chaque propriété doit être en
dépendance fonctionnelle de l‟identifiant et doit aussi prendre
66
une et une seule valeur. Autrement dit, il ne peut pas y avoir de
valeurs répétitives ni d‟absence de valeurs pour une même
propriété.
10.1. Notion de dépendance complète
Les propriétés doivent dépendre de tout l‟identifiant
et non d‟une partie de cet identifiant. Dans l‟exemple ci-
dessous, l‟entité enfant possède une propriété Nom. Cette
propriété ne dépend pas complètement de l‟identifiant mais
d‟une partie de l‟identifiant. En effet, le Nom dépend du N°
employé et non le numéro d‟ordre.
Employé
Enfants
Appartenir
N°Employé
Numenfant
0,n 1,1
Nom employé
Prénom
Fonction
Sexe
Domicile
Admettons que la prime de qualification de l‟employé
dépend de la qualification. Le num Employé ne dépend pas de
l‟identifiant du N° employé mais dépend d‟abord de la propriété
qualification, d‟où il faut créer une Entité qualification qui aura
comme propriété N° de fixation, Prime de qualification est
comme identifiant N° de qualification.
Règle N°3. Concernant les relations
Toutes les propriétés d‟une relation doivent dépendre
complètement de l‟identifiant de la relation. Chaque propriété
67
doit dépendre de tout l‟identifiant et non d‟une partie de cette
identifiant. Ainsi pour chaque occurrence d‟une relation, chaque
propriétés doit être en dépendance fonctionnelle de l‟identifiant
de la relation, elle doit prendre une et une seule valeur.
Règles N°4 et 5 concernant l’ensemble de MCD
Règle N°4 : une propriété ne peut apparaître qu‟une et seule
fois dans un même MCD (modèle conceptuel de
donnée), c‟est ainsi qu‟elle ne peut qualifier qu‟une
seule entité ou une relation.
Règle N°5 : les propriétés qui sont les résultats d‟un calcul ne
doit pas en principe figurer dans un MCD sauf si elles
sont indispensables à la compréhension de celui-ci.
Règles à suivre dans le schéma MCD
pour les entités, utiliser un nom Commun au Pluriel
(Commandes)
pour les associations, utiliser un verbe à l‟infinitif (acheter,
conserver)
pour les attributs, utiliser un nom commun singulier
(exemple : Nom, postnom, prénom....) éventuellement
accompagné du nom de l‟entité ou de l‟association où il se
trouve.
68
Professeurs Etudiants
Identitéprof Identiteetudian
Nomprof Nometudiant
Prenomprof Postnoetud
Adresseprof Adresseetudian
Personnes
Idpersonne
Nompersonne
Prenopersonne
Catégorie pers
pour les attributs contiennent les mêmes informations, la
redondance induit non seulement un gaspillage d‟espace
mais également un grand risque d‟incohérence. Deux
entités homogènes peuvent être fusionnées.
Eviter les identifiants composés de plusieurs attributs
(comme par exemple un identifiant formé par les attributs
Non et Prénom).
Personnes
Personnes
Idpersonne
Idpersonne
nomcomppers
Nompersonne
Tel. personne
Prenopersonne
catégorieP
Catégorie pers
Nom complet personne
69
Préférer un identifiant court, pour rendre la recherche plus
rapide.
Eviter notamment les chaînes de caractères comme N° de
plaque d‟immatriculation, N° de sécurité sociale ou un
code postal dans votre identifiant.
Eviter également les identifiants susceptibles de changer
au cours du temps, comme par exemple la plaque
d‟immatriculation, parce que cet identifiant sur un schéma
d‟entité association est donc la future clé primaire dans le
schéma relationnel, il doit être un entier de préférence
incrémenté automatiquement.
APPRENTISSAGE PAR UN EXEMPLE
Exemple : Championnat d‟athlétisme
On souhaite mémoriser une partie de données d‟un
championnat d‟athlétisme comprenant des cours, des concours
de lancer et des sauts. Les domaines concernés sont décrits
ci-dessous :
Le championnat est divisé en compétitions (1000m pour les
hommes, 800 m pour les femmes), le lancement de disque pour
les hommes décrits par un N°, un Nom et les sexes de
compétiteurs.
Une compétition peut prendre plusieurs épreuves de niveaux
différents (final, demi-finale, éliminatoire) chaque épreuve est
décrite par un code, un niveau, une date et une heure de
début.
Les athlètes ont comme propriétés: N° Athlète, nom Athlète,
prénom athlète, date de naissance, N°licence. Ils appartiennent
70
à différents pays ayant comme propriétés code pays, nation,
titre, hymne nationale. Ils sont engagé dans les différentes
compétitions est participe à des épreuves dont les résultats
sont mémoriser. Concevoir le MCD pour ce cas.
COMPETITION EPREUVES
1,n 1,1
Id compet Code epreuv
Comprendre
Nomcompeti Niveauepreu
sexecompet Date epreuve
heuredebut
1,n
Engager 1,n
participer
1,n
ATHLETES 1,n PAYS
N°athlètes Codenation
Appartenir
Nomathlète Nation
N°licenAthl Titre
0,n
1,1 hymnenation
3.5. LE MODELE LOGIQUE DE DONNEES
La modélisation logique de données consiste à faire le
passage du Modèle conceptuel de donnée (MCD) au Modèle
logique de données (MLD) choisie. Dans la pratique, le Système
de gestion de bases de données (SGBD) le plus utilisé est le
(SGBD) relationnelle. Pour faire le passage du modèle
conceptuel de données vers le modèle logique de données, il y
a un certain nombre de règle à respecter.
71
3.5.1. PASSAGE DU MODELE CONCEPTUEL DE DONNEES (MCD)
AU MODELE LOGIQUE DE DONNEES (MLD)
Nous avons jusqu‟à présent étudié les différentes étapes
permettant d‟arriver à un modèle conceptuel des données (ou
MCD), et ce, sans tenir compte de différentes possibilités
matérielles et logicielles dont nous disposons (gestion de
fichiers, base de données…)
Dans l‟étape suivante de la démarche, nous allons donc voir
comment passer du MCD à un modèle logique de données (ou
MLD) qui va prendre considération ces possibilités techniques.
Dans un premier temps, nous étudierons le passage vers un
modèle logique de données basée sur l‟utilisation des fichiers
classiques puis nous verrons comment passer à un MLD orienté
vers des bases de données de type RELATIONNEL
Règle N°1
Toute entité est traduite à une table relationnelle dont les
caractéristiques sont les suivantes :
Le nom de la table est le nom de l‟entité
La clé de la table est directement l‟identifiant de l‟entité
Les autres attributs de l‟entité forment les colonnes de la
table. Seuls les attributs du type simple peuvent être
traduits. Les attributs du type image, document et autre
ne sont plus gérables par le SGBD relationnelle classique.
72
Exemple :
T-Prof (codeProf, Nom completprof, AdressProf, Numtelprof)
T-Etudiant (Code étud, nomcomplet etud, prometud,
numteletu, #code prof, #codelocal),
T- Locaux (Code local, nom local, capacité locale, #code
Matière)
T- Matière (code Mat, nom Mat, volumemat)
Règle N°2
Toutes les relations binaires (1,n vers 1,n) se traduisent par
une table relationnelle dont les caractéristiques sont les
suivantes :
Le nom de la table est le nom de la relation
La clé de la table est formée par la concaténation des
identifiants des entités participant à la relation.
Les attributs de la relation forment les autres colonnes de
la table.
Exemple : les associations suivantes deviennent des tables
L‟association suivre entre les entités ETUDIANTS et
MATIERES devient une table et sera composée de
codeetudiant et codematière comme propriétés de la
table. D‟où on écrira :
T-Suivre (Codeétudiant, Code Matière).
L‟association Dispenser entre les entités PROFESSEURS et
MATIERES devient une table et sera composée de
codeprofesseur et codematière comme propriétés de la
table. D‟où on écrira :
73
T- Suivre (Codeprofesseur, Code Matière).
Règle N°3
Toute relation binaire du type 1,1 vers 1,n ; 1,1 vers n,n ; 0,1
vers 1,n ; 0,1 vers n,n est traduite par le report de la clé.
L‟identifiant de la l‟Entité participant à la relation côté N est
ajouté comme colonne supplémentaire à la table représentant
l‟autre Entité. Cette colonne est parfois appelée clé étrangère.
Le cas échéant, les attributs spécifiques à la relation sont aussi
ajoutés à la même table.
Règle N°4
Toute relation binaire du type 1,1 vers 1,1 ; 0,1 vers 1,1 ; 1,1
vers 0,1 est traduite au choix, par l‟une des 3 solutions
suivantes :
Fusion des tables des Entités qu‟il relie,
Report de la clé d‟une table dans l‟autre table
Création d‟une table spécifique reliant les clés de deux
entités
NB : les attributs spécifiques de cette relation sont ajoutés à la
table résultat de la fusion, reportés avec la clé ou insérés dans
la table spécifique.
Pour le cas de notre exemple de championnat d‟athlétisme,
nous aurons
Comme MLD Brut :
T-Compétition (id compétition, nomcompétition, sexecomplet)
T-Epreuve(Code_epreuve, niveau epreuve, date epreuve, heure
epreuve, id_compétition)
74
T- Engager(#id_competition, #N°Athlète).
T-Athlète (N°Athlète, nom complet, date naissath, N°licence,
Code_National)
T-Pays(Code_Nation, Nation, titre, hymne national)
T-Participer (#code_Epreuve, #N°Athlète)
Modèle Logique de données Brut
Compétition
Epreuve
Engager
Participer
Athlète Pays
L‟association participer entre les entités ATHLETE et EPREUVE
est une relation « plusieurs à plusieurs » qui est par
conséquent, devenue la table PARTICIPER dans le MLD, cette
table possède une clé constituée des clés des tables ATHLETE
et EPREUVE, soit id_athlete et N°Athlète. Elle possède une
colonne résultat qui correspond à l‟attribut porter de
l‟association participer dans le MCD.
75
L‟association engager entre les entités COMPETITION et
ATHLETE est une relation « plusieurs à plusieurs » qui est
devenue la table ENGAGER dans le MLD. Cette table possède
une clé constituée des clés des tables ATHLETE et EPREUVE,
soit N°Athlète et id_competition. L‟association composer entre
les entités COMPETITION et EPREUVE est une relation « binaire
à plusieurs ». Au moment du passage du MCD au MLD,
l‟association provoque l‟exportation de la clé id_compétition
dans la table EPREUVE.
L‟association appartenir entre les entités PAYS et ATHLETE est
une relation « binaire à plusieurs ». Au moment du passage du
MCD au MLD, l‟association provoque l‟exportation de la clé
code_nation dans la table ATHLETE.
3.6. LE MODELE PHYSIQUE DE DONNEES
Passage du Modèle logique de données au Modèle
Physique de données
Le modèle physique décrit comment les données sont
stockées sur la mémoire de la machine. Il est directement
conditionné par les caractéristiques du SGBD et du matériel
utilisé. Les relations deviennent des fichiers des données, les
attributs des champs, les clés deviennent des clés primaires,
clés secondaires, clés étrangères. Le domaine de chaque champ
ayant été déterminé dans le MLD, les tailles des champs
devront être déterminées. Cette opération se fait en principe
pendant l‟élaboration du MLD.
Aujourd‟hui, il n‟existe pas d‟approche de description
et de représentation du niveau physique des données. La
description physique des données est étroitement liée aux choix
76
technique informatique concernant le système de gestion des
données. Nous retiendrons le formalisme du MPD suivant :
Attribut Type Taille Contrainte
(ou champ)
attribut 1 type 1 Taille 1 contraite 1
: : : :
: : : :
attribut n type n Taille n Contrainte n
A savoir :
Type appartient à l‟un des types suivants : entier,
caractère, chaine des caractères, booléen, monétaire,
date, etc.
Contrainte appartient à l‟une des contraintes suivantes :
PK (clé primaire), FK(clé étrangère), UNIQUE,etc.
Ainsi, pour le cas de notre base de données d‟athlétisme, nous
aurons les requêtes de création des tables suivantes :
CREATE TABLE Compétition
( id_compétition Number (6) Not Null , unique, auto
inrecement
Libelle Varchar (20),
Sexe Char(1) Not Null,
Constraint Compétition_pk primary Key
)
CREATE TABLE Epreuve
(code Number (6) Not Null,
Niveau Number (2) Not null,
Date_epreuve date,
Heure date
77
Id_competitionNumber (6) Not Null
Constraint epreuve_pk Primary key (code),
Constraint epreuve_id_competition_fk
Foreign Key (id_compétition)
Reference competition(id_competition),
)
CREATE TABLE Pays
(code_nation number (6) not null,
Nation varchar2 (20),
Titre varchar (20),
Hymne varchar (20),
Constraint pays_pk Primary Key (code_nation),
CREATE TABLE ATHLETE
(id_athlète number (6) not null,
Nom varchar (15),
Date naissances date,
Num_licence number (12),
Codenation number (6) not null,
Constraint athlète_pk Primary Key (code, id_athlete),
Constraint athlete_code_nation_fk foreign key (code_nation),
Reference pays(code(nation),
CREATE TABLE PARTICIPER
(code number (6),
Id_athlete number (6),
Constraint engager_pk primary key (id_competition, id_athlete),
Constraint engager_id_athlete_fk foreign key(id_athlete)
78
Reference athlete (id_athlete),
Constraint participer_code_fk foreign key (code)
Reference epreuve (code)),
CREATE TABLE Engager
(id_competition number (6),
Is_athlete number (6)
Constraint engager_pk Primary key (id_competition, id_athlete),
Constraint engager_id_athlete_fk foreign key (id_athlete)
Reference athlete (id_athele),
Constraite engager_id_competition_fk
Foreign Key (id_competition)
Reference competition(id_competition))
3.7. Calcul du volume de la base des données
Ci-après le calcul du volume de la base des données de
l‟exemple ci-haut.
VBDD = (Vindex + Vtables)*coefficient
Le coefficient multiplicateur @ varie entre 2,5 et 3 et permet de
prévenir l‟évolution (l‟extension) de la base des données.
79
3.8. Calcul du volume des index
Tables Index Taille Occurrence Volume
Client #N° client 5 2 10
Commande #N° 4 4 36
commande
5
#N° client
Produit #Code 6 3 33
produit
5
#Code type
produit
Facture #N° facture 4 4 32
#N° 4
commande
Type #Code type 5 5 25
produit produit
Contenir #N° 4 8 80
commande
6
#Code
produit
Vindex : 216
octets
80
3.9. Calcul du volume des tables
Tables Index Taille Occurrence Volume
Client #N° client 5 2 70
Nom 30
Adresse 30
Command #N° commande 4 4 68
e
#N° client 5
Date commande 8
Produit #Code produit 6 3 117
#Code type 5
produit
25
Libellé produit
3
PU
Facture #N° facture 4 4 64
#N°commande 4
Date facture 8
Type Code type 5 5 150
produit produit
25
Libellé type
produit
Contenir #N° commande 4 8 104
81
#Code produit 6
Quantité 3
Vtables : 573
octets
VBDD = (216+573)*3 = 2367 octets
LES TRAVAUX PRATIQUES
1. Gestion du département de l‟environnement Faire avec
Jmerise.
2. Le but de ce travail va consister à élaborer une base de
données qui va rassembler des informations concernant
la pollution des sols (échelle à définir) et tenter
d‟apporter des solutions techniques pour dépolluer
totalement ou partiellement les zones polluées.
Une fois compris comment concevoir une base de
données à partir d‟un aperçu du monde réel, c‟est-à-dire
analyser le problème et faire les passages du MCD au MPD en
passant par le MLD, nous devons savoir qu‟il existe des logiciels
capables de créer automatiquement de Modèle Conceptuel de
données des systèmes d‟information et générer
automatiquement le modèl physique et logique de données.
Dans ce chapitre, nous allons expliquer en bref comment nous
pouvons utiliser les logiciels de conception des systèmes
82
d‟information pour nous permettre à gagner du temps dans la
conception des nouveaux systèmes d‟informations.
Parmis ces Logiciels, nous avons
- le DBMAIN,
- Le Jmerise et autre
Ces logiciels sont gratuits et pratique. Dans le cadre de ce
cours, nous allons parler de ces deux logiciels ci-haut cités.
1. Le logiciel JMERISE
Le logiciel JMERISE permet de dessiner le MCD en utilisant les
outils disponibles. Après création du MCD, le logiciel est capable
de générer automatique le MLD et le MPD du MCD dessiner.
Une fois que le logiciel est télécharger sur le net, lancer le
logiciel pour utilisaion.
83
Chapitre 4 : MANIPULATION DE DONNEES
4.1. LE LANGAGE SQL: CONCEPTION DES REQUETES
SQL SIMPLES ET AVANCEES
1. LA COMMANDE SELECT
L‟utilisation la plus courante de SQL consiste à lire des
données issues de la base de données. Cela s‟effectue grâce
à la commande SELECT, qui retourne des enregistrements
dans un tableau de résultat. Cette commande peut
sélectionner une ou plusieurs colonnes d‟une table.
Exemple :
SELECT nom_du_champ
FROM nom_du_tableau
Cette requête va sélectionner (SELECT) le champ «
nom_du_champ » provenant (FROM) du tableau appelé «
nom_du_tableau ».
Imaginons que nous avons une base de données appelée «
client » qui contient des informations sur les clients d‟une
entreprise.
Table « client » :
84
Si l‟ont veut avoir la liste de toutes les villes des clients, il suffit
d‟effectuer la requête suivante :
SELECT ville
FROM client
Résultat :
Avec la même table client il est possible de lire plusieurs
colonnes à la fois. Il suffit tout simplement de séparer les noms
des champs souhaités par une virgule. Pour obtenir les
prénoms et les noms des clients il faut alors faire la requête
suivante:
SELECT prenom, nom
FROM client
A vous de deviner les résultats
Il est possible de retourner automatiquement toutes les
colonnes d‟un tableau sans avoir à connaître le nom de toutes
les colonnes. Au lieu de lister toutes les colonnes, il faut
simplement utiliser le caractère « * » (étoile). C‟est un joker qui
permet de sélectionner toutes les colonnes. Il s‟utilise de la
manière suivante :
SELECT * FROM client
85
Cette requête retourne exactement les mêmes colonnes qu‟il y
a dans la base de données. Dans notre cas, le résultat sera
donc :
Voici en quelque ligne ce que nous pouvons afficher avec une
requête select :
Joindre un autre tableau aux résultats
Filtrer pour ne sélectionner que certains enregistrements
Classer les résultats
Grouper les résultats pour faire uniquement des
statistiques (note moyenne, prix le plus élevé …)
Un requête SELECT peut devenir assez longue. Juste à titre
informatif, voici une requête SELECT qui possède presque
toutes les commandes possibles :
SELECT *
FROM table
WHERE condition
GROUP BY expression
HAVING condition
{ UNION | INTERSECT | EXCEPT }
ORDER BY expression
86
LIMIT count
OFFSET start
2. COMMANDE DISTINCT
L‟utilisation de la commande SELECT en SQL permet de lire
toutes les données d‟une ou plusieurs colonnes. Cette
commande peut potentiellement afficher des lignes en doubles.
Pour éviter des redondances dans les résultats il faut
simplement ajouter DISTINCT après le mot SELECT.
SELECT DISTINCT ma_colonne
FROM nom_du_tableau
Cette requête sélectionne le champ « ma_colonne » de la table
« nom_du_tableau » en évitant de retourner des doublons.
Pour notre cas de la table Clients :
En utilisant seulement SELECT tous les noms sont retournés, or
la table contient plusieurs fois le même prénom (cf. Pierre).
Pour sélectionner uniquement les prénoms uniques il faut
utiliser la requête suivante :
SELECT DISTINCT prenom
FROM client
3. ALIAS AS
Dans le langage SQL il est possible d‟utiliser des alias pour
renommer temporairement une colonne ou une table dans une
87
requête. Cette astuce est particulièrement utile pour faciliter la
lecture des requêtes. Il Permet de renommer le nom d‟une
colonne dans les résultats d‟une requête SQL. C‟est pratique
pour avoir un nom facilement identifiable dans une application
qui doit ensuite exploiter les résultats d‟une recherche.
La syntaxe
Pour renommer une colonne de colonne1 à c1 la requête est la
suivante :
SELECT colonne1 AS c1, colonne2
FROM `table`
Cette syntaxe peut également s‟afficher de la façon suivante :
SELECT colonne1 c1, colonne2
FROM `table`
Il est préférable d‟utiliser la commande « AS » pour que ce soit
plus explicite (plus simple à lire qu‟un simple espace), d‟autant
plus que c‟est recommandé dans le standard ISO pour
concevoir une requête SQL.
La syntaxe pour renommer une table dans une requête est la
suivante :
SELECT *
FROM `nom_table` AS t1
Cette requête peut également s‟écrire de la façon suivante :
SELECT *
88
FROM `table`t1
Imaginons une site d‟e-commerce qui possède une table de
produits. Ces produits sont disponibles dans une même table
dans plusieurs langues , dont le français. Le nom du produit
peut ainsi être
disponible dans la colonne « nom_fr_fr », « nom_en_gb » ou «
nom_en_us ». Pour utiliser l‟un ou l‟autre des titres dans le
reste de l‟application sans avoir à se soucier du nom de la
colonne, il est possible de renommer la colonne de son choix
avec un nom générique. Dans notre cas, la requête pourra
ressemble à ceci :
SELECT p_id, p_nom_fr_fr AS nom, p_description_fr_fr AS
description,
p_prix_euro AS prix
FROM `produit`
4. LA COMMANDE WHERE
La commande WHERE dans une requête SQL permet d‟extraire
les lignes d‟une base de données qui respectent une condition.
Cela permet d‟obtenir uniquement les informations désirées.
89
Syntaxe
La commande WHERE s‟utilise en complément à une requête
utilisant SELECT. La façon la plus simple de l‟utiliser est la
suivante :
SELECT nom_colonnes
FROM nom_table
WHERE condition
Exemple : Imaginons une base de données appelée « client »
qui contient le nom des clients, le nombre de commandes qu‟ils
ont effectués et leur ville :
Pour obtenir seulement la liste des clients qui habitent à Paris, il
faut effectuer la requête suivante :
SELECT *
FROM client
WHERE ville = 'paris'
90
5. LES OPERATEURS AND ET OR
Une requête SQL peut être restreinte à l‟aide de la condition
WHERE. Les opérateurs logiques AND et OR peuvent être
utilisées au sein de la commande WHERE pour combiner des
conditions. Les opérateurs sont à ajoutés dans la condition
WHERE. Ils peuvent être combinés à l‟infini pour filtrer les
données comme souhaités.
L‟opérateur AND permet de s‟assurer que la condition1 ET la
condition2 sont vrai :
SELECT nom_colonnes
FROM nom_table
WHERE condition1 AND condition2
L‟opérateur OR vérifie quant à lui que la condition1 OU la
condition2 est vrai :
SELECT nom_colonnes FROM nom_table
WHERE condition1 OR condition2
Ces opérateurs peuvent être combinés à l‟infini et mélangés.
L‟exemple ci-dessous filtre les résultats de la table « nom_table
» si condition1 ET condition2 OU condition3 est vrai :
SELECT nom_colonnes FROM nom_table
WHERE condition1 AND (condition2 OR condition3)
Pour illustrer les prochaines commandes, nous allons considérer
la table « produit » suivante :
91
L‟opérateur AND permet de joindre plusieurs conditions dans
une requête. En gardant la même table que précédemment,
pour filtrer uniquement les produits informatiques qui sont
presque en rupture de stock (moins de 20 produits disponible)
il faut exécuter la requête suivante :
SELECT * FROM produit
WHERE categorie = 'informatique' AND stock < 20
Pour filtrer les données pour avoir uniquement les données sur
les produits « ordinateur » ou « clavier » il faut effectuer la
recherche suivante :
SELECT * FROM produit
WHERE nom = 'ordinateur' OR nom = 'clavier'
Il ne faut pas oublier que les opérateurs peuvent être combinés
pour effectuer de puissantes recherche. Il est possible de filtrer
les produits « informatique » avec un stock inférieur à 20 et les
produits « fourniture » avec un stock inférieur à 200 avec la
recherche suivante :
SELECT * FROM produit
WHERE ( categorie = 'informatique' AND stock < 20 )
OR ( categorie = 'fourniture' AND stock < 200 )
92
6. LA COMMANDE IN
L‟opérateur logique IN dans SQL s‟utilise avec la commande
WHERE pour vérifier si une colonne est égale à une des valeurs
comprise dans le valeurs déterminés. C‟est une méthode
simple pour vérifier si une colonne est égale à une valeur OU
une autre valeur et ainsi de suite, sans avoir à utiliser de
multiple fois l‟opérateur OR.
Syntaxe
Pour chercher toutes les lignes où la colonne « nom_colonne »
est égale à „valeur 1′ OU „valeur 2′ ou „valeur 3′, il est possible
d‟utiliser la syntaxe suivante :
SELECT nom_colonne
FROM table
WHERE nom_colonne IN ( valeur1, valeur2, valeur3, ... )
A savoir : entre les parenthèses il n‟y a pas de limite du
nombre d‟arguments. Il est possible d‟ajouter encore d‟autres
valeurs.
La syntaxe utilisée avec l‟opérateur est plus simple que d‟utiliser
une succession d‟opérateur OR. Pour le montrer concrètement
avec un exemple, voici 2 requêtes qui retournerons les mêmes
résultats, l‟une utilise l‟opérateur IN, tandis que l‟autre utilise
plusieurs OR.
Requête avec plusieurs OR
SELECT prenom
93
FROM utilisateur
WHERE prenom = 'Maurice' OR prenom = 'Marie' OR prenom =
'Thimoté'
Requête équivalent avec l’opérateur IN
SELECT prenom
FROM utilisateur
WHERE prenom IN ( 'Maurice', 'Marie', 'Thimoté' )
7. LA COMMANDE BETWEEN
L‟opérateur BETWEEN est utilisé dans une requête SQL pour
sélectionner un intervalle de données dans une requête utilisant
WHERE. L‟intervalle peut être constitué de chaînes de
caractères, de nombres ou de dates. L‟exemple le plus concret
consiste par exemple à récupérer uniquement les
enregistrements entre 2 dates définies.
Syntaxe
L‟utilisation de la commande BETWEEN s‟effectue de la
manière suivante :
SELECT *
FROM table
WHERE nom_colonne BETWEEN 'valeur1' AND 'valeur2'
94
La requête suivante retournera toutes les lignes dont la valeur
de la colonne « nom_colonne » sera comprise entre valeur1 et
valeur2
Imaginons une table « utilisateur » qui contient les membres
d‟une application en ligne.
Si l‟ont souhaite obtenir les membres qui se sont inscrit entre le
1 avril 2012 et le 20 avril 2012 il est possible d‟effectuer la
requête suivante :
SELECT *
FROM utilisateur
WHERE date_inscription BETWEEN ‟2012-04-01′ AND ‟2012-04-
20′
L‟autre élément important à savoir c‟est que toutes les bases de
données ne gèrent pas l‟opérateur BETWEEN de la même
manière. Certains systèmes vont inclurent les valeurs qui
définissent l‟intervalle tandis que d‟autres systèmes considèrent
ces valeurs sont exclues. Il est important de consulter la
documentation officielle de la base de données que vous utilisez
pour avoir une réponse exacte à ce sujet.
95
8. LA COMMANDE LIKE
L‟opérateur LIKE est utilisé dans la clause WHERE des requêtes
SQL. Ce mot-clé permet d‟effectuer une recherche sur un
modèle particulier. Il est par exemple possible de rechercher les
enregistrements dont la valeur d‟une colonne commence par
telle ou telle lettre. Les modèles de recherches sont multiple.
La syntaxe à utiliser pour utiliser l‟opérateur LIKE est la
suivante :
SELECT *
FROM table
WHERE colonne LIKE modele
Dans cet exemple le « modèle » n‟a pas été défini, mais il
ressemble très généralement à l‟un des exemples suivants :
• LIKE ‘%a’ : le caractère « % » est un caractère joker qui
remplace tous les autres caractères.
Ainsi, ce modèle permet de rechercher toutes les chaines de
caractère qui se termine par un «a ».
• LIKE ‘a%’ : ce modèle permet de rechercher toutes les
lignes de « colonne » qui commence par un « a ».
• LIKE ‘%a%’ : ce modèle est utilisé pour rechercher tous les
enregistrement qui utilisent le caractère « a ».
• LIKE ‘pa%on’ : ce modèle permet de rechercher les chaines
qui commence par « pa » et qui se terminent par « on »,
comme « pantalon » ou « pardon ».
• LIKE ‘a_c’ : peu utilisé, le caractère « _ » (underscore) peut
être remplacé par n‟importe quel caractère, mais un seul
96
caractère uniquement (alors que le symbole pourcentage « % »
peut être remplacé par un nombre incalculable de caractères .
Ainsi, ce modèle permet de retourner les lignes « aac », « abc
» ou même « azc ».
Si l‟ont souhaite obtenir uniquement les clients des villes qui
commencent par un « N », il est possible d‟utiliser la requête
suivante :
SELECT *
FROM client
WHERE ville LIKE 'N%'
9. LA COMMANDE IS NULL/IS NOT NULL
Dans le langage SQL, l‟opérateur IS permet de filtrer les
résultats qui contiennent la valeur NULL. Cet opérateur est
indispensable car la valeur NULL est une valeur inconnue et ne
peut par conséquent pas être filtrée par les opérateurs de
comparaison (cf. égal, inférieur, supérieur ou différent).
Pour filtrer les résultats où les champs d‟une colonne sont à
NULL il convient d‟utiliser la syntaxe suivante :
SELECT *
FROM `table`
WHERE nom_colonne IS NULL
97
A l‟inverse, pour filtrer les résultats et obtenir uniquement les
enregistrements qui ne sont pas null, il convient d‟utiliser la
syntaxe suivante :
SELECT *
FROM `table`
WHERE nom_colonne IS NOT NULL
A savoir : l‟opérateur IS retourne en réalité un booléen, c‟est à
dire une valeur TRUE si la condition est vrai ou FALSE si la
condition n‟est pas respectée. Cet opérateur est souvent utilisé
avec la condition WHERE mais peut aussi trouvé son utilité
lorsqu‟une sous-requête est utilisée.
Exemple
Imaginons une application qui possède une table contenant les
utilisateurs. Cette table possède 2 colonnes pour associer les
adresses de livraison et de facturation à un utilisateur (grâce à
une clé étrangère). Si cet utilisateur n‟a pas d‟adresse de
facturation ou de livraison, alors le champ reste à NULL.
Table « utilisateur » :
Il est possible d‟obtenir la liste des utilisateurs qui ne possèdent
pas d‟adresse de livraison en utilisant la requête SQL suivante :
98
SELECT *
FROM `utilisateur`
WHERE `fk_adresse_livraison_id` IS NULL
Pour obtenir uniquement les utilisateurs qui possèdent une
adresse de livraison il convient de lancer la requête SQL
suivante :
SELECT *
FROM `utilisateur`
WHERE `fk_adresse_livraison_id` IS NOT NULL
10. LA COMMANDE GROUPE BY
La commande GROUP BY est utilisée en SQL pour grouper
plusieurs résultats et utiliser une fonction de totaux sur un
groupe de résultat. Sur une table qui contient toutes les ventes
d‟un magasin, il est par exemple possible de lister, regrouper
les ventes par clients identiques et d‟obtenir le coût total des
achats pour chaque client.
De façon générale, la commande GROUP BY s‟utilise de la façon
suivante :
SELECT colonne1, fonction(colonne2)
FROM table
GROUP BY colonne1
A noter : cette commande doit toujours s‟utiliser après la
commande WHERE et avant la commande
99
HAVING.
Exemple d’utilisation
Prenons en considération une table « achat » qui résume les
ventes d‟une boutique :
Ce tableau contient une colonne qui sert d‟identifiant pour
chaque ligne, une autre qui contient le nom du client, le coût de
la vente et la date d‟achat.
Pour obtenir le coût total de chaque client en regroupant les
commandes des mêmes clients, il faut utiliser la requête
suivante :
SELECT client, SUM(tarif)
FROM achat
GROUP BY client
La fonction SUM() permet d‟additionner la valeur de chaque
tarif pour un même client. Le résultat sera donc le suivant :
100
La manière simple de comprendre le GROUP BY c‟est tout
simplement d‟assimiler qu‟il va éviter de présenter plusieurs fois
les mêmes lignes. C‟est une méthode pour éviter les doublons.
Il existe plusieurs fonctions qui peuvent être utilisées pour
manipuler plusieurs enregistrements, il
s‟agit des fonctions d‟agrégations statistiques, les principales
sont les suivantes :
• AVG() pour calculer la moyenne d‟un set de valeur. Permet de
connaître le prix du panier moyen pour de chaque client
• COUNT() pour compter le nombre de lignes concernées.
Permet de savoir combien d‟achats a été effectué par chaque
client
• MAX() pour récupérer la plus haute valeur. Pratique pour
savoir l‟achat le plus cher
• MIN() pour récupérer la plus petite valeur. Utile par exemple
pour connaître la date du premier achat d‟un client
• SUM() pour calculer la somme de plusieurs lignes. Permet par
exemple de connaître le total de tous les achats d‟un client Ces
petites fonctions se révèlent rapidement indispensable pour
travailler sur des données.
11. LA COMMANDE HAVING
La condition HAVING en SQL est presque similaire à WHERE à
la seule différence que HAVING permet de filtrer en utilisant
des fonctions telles que SUM(), COUNT(), AVG(), MIN() ou
MAX().
L‟utilisation de HAVING s‟utilise de la manière suivante :
101
SELECT colonne1, SUM(colonne2)
FROM nom_table
GROUP BY colonne1
HAVING fonction(colonne2) operateur valeur
Cela permet donc de SÉLECTIONNER les colonnes DE la table «
nom_table » en GROUPANT les lignes qui ont des valeurs
identiques sur la colonne « colonne1″ et que la condition de
HAVING soit respectée.
Important : HAVING est très souvent utilisé en même temps
que GROUP BY bien que ce ne soit pas obligatoire.
Pour utiliser un exemple concret, imaginons une table « achat »
qui contient les achats de différents clients avec le coût du
panier pour chaque achat.
Si dans cette table on souhaite récupérer la liste des clients qui
ont commandé plus de 40€, toute commandes confondu alors il
est possible d‟utiliser la requête suivante :
SELECT client, SUM(tarif)
FROM achat
GROUP BY client
HAVING SUM(tarif) > 40
102
La cliente « Marie » a cumulée 38€ d‟achat (un achat de 18€ et
un autre de 20€) ce qui est inférieur à la limite de 40€ imposée
par HAVING. En conséquent cette ligne n‟est pas affichée dans
le résultat.
12. LA COMMANDE ORDER BY
La commande ORDER BY permet de trier les lignes dans un
résultat d‟une requête SQL. Il est possible de trier les données
sur une ou plusieurs colonnes, par ordre ascendant ou
descendant.
Syntaxe
Une requête où l‟ont souhaite filtrer l‟ordre des résultats utilise
la commande ORDER BY de la sorte :
SELECT colonne1, colonne2
FROM table
ORDER BY colonne1
Par défaut les résultats sont classés par ordre ascendant,
toutefois il est possible d‟inverser l‟ordre en utilisant le suffixe
DESC après le nom de la colonne. Par ailleurs, il est possible de
trier sur plusieurs colonnes en les séparant par une virgule. Une
requête plus élaboré ressemblerais alors cela :
SELECT colonne1, colonne2, colonne3
FROM table
ORDER BY colonne1 DESC, colonne2 ASC
103
A noter : il n‟est pas obligé d‟utiliser le suffixe « ASC » sachant
que les résultats sont toujours classé par ordre ascendant par
défaut. Toutefois, c‟est plus pratique pour mieux s‟y retrouver,
surtout si on a oublié l‟ordre par défaut.
Pour récupérer la liste de ces utilisateurs par ordre alphabétique
du nom de famille, il est possible d‟utiliser la requête suivante :
SELECT *
FROM utilisateur
ORDER BY nom
En utilisant deux méthodes de tri, il est possible de retourner
les utilisateurs par ordre alphabétique ET pour ceux qui ont le
même nom de famille, les trier par ordre décroissant
d‟inscription. La requête serait alors la suivante :
SELECT *
FROM utilisateur
ORDER BY nom, date_inscription DESC
104
13. LA COMMANDE UNION
La commande UNION de SQL permet de mettre bout-à-bout les
résultats de plusieurs requêtes utilisant elles-même la
commande SELECT. C‟est donc une commande qui permet de
concaténer les résultats de 2 requêtes ou plus. Pour l‟utiliser il
est nécessaire que chacune des requêtes à concaténer
retournes le même nombre de colonnes, avec les mêmes types
de données et dans le même ordre.
A savoir : par défaut, les enregistrements exactement
identiques ne seront pas répétés dans les résultats. Pour
effectuer une union dans laquelle même les lignes dupliquées
sont affichées il faut plutôt utiliser la commande UNION ALL.
La syntaxe pour unir les résultats de 2 tableaux sans afficher
les doublons est la suivante :
SELECT * FROM table1
UNION
SELECT * FROM table2
L‟union de 2 ensembles A et B est un concept qui consiste à
obtenir tous les éléments qui correspondent à la fois à
l‟ensemble A ou à l‟ensemble B. Cela se résume très
simplement par un petit schéma où la zone en bleu correspond
à la zone que l‟ont souhaite obtenir (dans notre cas : tous les
éléments).
Imaginons une entreprise qui possède plusieurs magasins et
dans chacun de ces magasins il y a une table qui liste les
clients.
105
La table du magasin n°1 s‟appelle « magasin1_client » et
contient les données suivantes :
Sachant que certains clients sont présents dans les 2 tables,
pour éviter de retourner plusieurs fois les mêmes
enregistrement, il convient d‟utiliser la requête UNION. La
requête SQL est alors la suivante :
SELECT * FROM magasin1_client
UNION
SELECT * FROM magasin2_client
14. LA COMMANDE INTERSECT
La commande SQL INTERSECT permet d‟obtenir l‟intersection
des résultats de 2 requêtes. Cette commande permet donc de
récupérer les enregistrements communs à 2 requêtes. Cela
peut s‟avérer utile lorsqu‟il faut trouver s‟il y a des données
similaires sur 2 tables distinctes.
106
A savoir : pour l‟utiliser convenablement il faut que les 2
requêtes retourne le même nombre de colonnes, avec les
mêmes types et dans le même ordre.
Syntaxe
La syntaxe à adopter pour utiliser cette commande est la
suivante :
SELECT * FROM table1
INTERSECT
SELECT * FROM table2
Dans cet exemple, il faut que les 2 tables soient similaires
(mêmes colonnes, mêmes types et même ordre). Le résultat
correspondra aux enregistrements qui existent dans table1 et
dans table2.
Prenons l‟exemple de 2 magasins qui appartiennent au même
groupe. Chaque magasin possède sa table de clients. La table
du magasin n°1 est « magasin1_client » :
107
Pour obtenir la liste des clients qui sont présents de façon
identiques dans ces 2 tables, il est possible d‟utiliser la
commande INTERSECT de la façon suivante :
SELECT * FROM magasin1_client
INTERSECT
SELECT * FROM magasin2_client
15. LA COMMANDE INSERT INTO
L‟insertion de données dans une table s‟effectue à l‟aide de la
commande INSERT INTO. Cette commande permet au choix
d‟inclure une seule ligne à la base existante ou plusieurs lignes
d‟un coup.
Insertion d’une ligne à la fois
Pour insérer des données dans une base, il y a 2 syntaxes
principales :
• Insérer une ligne en indiquant les informations pour chaque
colonne existante (en respectant l‟ordre)
• Insérer une ligne en spécifiant les colonnes que vous
souhaiter compléter. Il est possible d‟insérer une ligne en
renseigner seulement une partie des colonnes
La syntaxe pour remplir une ligne avec cette méthode est la
suivante :
INSERT INTO table
108
VALUES ('valeur 1', 'valeur 2', ...)
Cette syntaxe possède les avantages et inconvénients suivants :
• Obliger de remplir toutes les données, tout en respectant
l‟ordre des colonnes
• Il n‟y a pas le nom de colonne, donc les fautes de frappe sont
limitées. Par ailleurs, les
colonnes peuvent être renommées sans avoir à changer la
requête
• L‟ordre des colonnes doit resté identique sinon certaines
valeurs prennent le risque d‟être complétée dans la mauvaise
colonne
Cette deuxième solution est très similaire, excepté qu‟il faut
indiquer le nom des colonnes avant «VALUES ». La syntaxe est
la suivante :
INSERT INTO table
(nom_colonne_1, nom_colonne_2, ...
VALUES ('valeur 1', 'valeur 2', ...)
A noter : il est possible de ne pas renseigner toutes les
colonnes. De plus, l‟ordre des colonnes n‟est pas important.
Insertion de plusieurs lignes à la fois
Il est possible d‟ajouter plusieurs lignes à un tableau avec une
seule requête. Pour ce faire, il convient d‟utiliser la syntaxe
suivante :
INSERT INTO client (prenom, nom, ville, age)
VALUES
('Rébecca', 'Armand', 'Saint-Didier-des-Bois', 24),
109
('Aimée', 'Hebert', 'Marigny-le-Châtel', 36),
('Marielle', 'Ribeiro', 'Maillères', 27), ('Hilaire', 'Savary', 'Conie-
Molitard', 58);
A noter : lorsque le champ à remplir est de type VARCHAR ou
TEXT il faut indiquer le texte entre guillemet simple. En
revanche, lorsque la colonne est un numérique tel que INT ou
BIGINT il n‟y a pas besoin d‟utiliser de guillemet, il suffit juste
d‟indiquer le nombre.
16. LA COMMANDE UPDATE
La commande UPDATE permet d‟effectuer des modifications sur
des lignes existantes. Très souvent cette commande est utilisée
avec WHERE pour spécifier sur quelles lignes doivent porter la
ou les modifications.
Syntaxe
La syntaxe basique d‟une requête utilisant UPDATE est la
suivante :
UPDATE table
SET nom_colonne_1 = 'nouvelle valeur'
WHERE condition
Cette syntaxe permet d‟attribuer une nouvelle valeur à la
colonne nom_colonne_1 pour les lignes qui respectent la
condition stipulé avec WHERE. Il est aussi possible d‟attribuer la
même valeur à la colonne nom_colonne_1 pour toutes les
lignes d‟une table si la condition WHERE n‟était pas utilisée.
110
A noter, pour spécifier en une seule fois plusieurs modification,
il faut séparer les attributions de valeur par des virgules. Ainsi
la syntaxe deviendrait la suivante :
UPDATE table
SET colonne_1 = 'valeur 1', colonne_2 = 'valeur 2', colonne_3
= 'valeur 3'
WHERE condition
Imaginons une table « client » qui présente les coordonnées de
clients.
Pour modifier l‟adresse du client Pierre, il est possible d‟utiliser
la requête suivante :
UPDATE client
SET rue = '49 Rue Ameline',
ville = 'Saint-Eustache-la-Forêt',
code_postal = '76210'
WHERE id = 2
17. LA COMMANDE DELETE
La commande DELETE en SQL permet de supprimer des lignes
dans une table. En utilisant cette commande associé à WHERE
il est possible de sélectionner les lignes concernées qui seront
supprimées.
111
Attention : Avant d‟essayer de supprimer des lignes, il est
recommandé d‟effectuer une sauvegarde de la base de
données, ou tout du moins de la table concernée par la
suppression. Ainsi, s‟il y a une mauvaise manipulation il est
toujours possible de restaurer les données.
Syntaxe
La syntaxe pour supprimer des lignes est la suivante :
DELETE FROM table
WHERE condition
Attention : s‟il n‟y a pas de condition WHERE alors toutes les
lignes seront supprimées et la table sera alors vide.
Imaginons une table « utilisateur » qui contient des
informations sur les utilisateurs d‟une application.
Si l‟ont souhaite supprimer les utilisateurs qui se sont inscrit
avant le « 10/04/2012″, il va falloir effectuer la requête
suivante :
DELETE FROM utilisateur
WHERE date_inscription < '2012-04-10'
112
18. LA COMMANDE CREATE DATABASE
La création d‟une base de données en SQL est possible en ligne
de commande. Même si les systèmes de gestion de base de
données (SGBD) sont souvent utilisés pour créer une base, il
convient de connaître la commande à utiliser, qui est très
simple.
Syntaxe
Pour créer une base de données qui sera appelé « ma_base » il
suffit d‟utiliser la requête suivante qui est très simple :
CREATE DATABASE ma_base
Avec MySQL, si une base de données porte déjà ce nom, la
requête retournera une erreur. Pour éviter d‟avoir cette erreur,
il convient d‟utiliser la requête suivante pour MySQL :
CREATE DATABASE IF NOT EXISTS ma_base
L‟option IF NOT EXISTS permet juste de ne pas retourner
d‟erreur si une base du même nom existe déjà. La base de
données ne sera pas écrasée.
Options
Dans le standard SQL la commande CREATE DATABASE n‟existe
normalement pas. En conséquent
il revient de vérifier la documentation des différents SGBD pour
vérifier les syntaxes possibles pour
définir des options. Ces options permettent selon les cas, de
définir les jeux de caractères, le
propriétaire de la base ou même les limites de connexion.
113
19. LA COMMANDE DROP DATA BASE
En SQL, la commande DROP DATABASE permet de supprimer
totalement une base de données et tout ce qu‟elle contient.
Cette commande est à utiliser avec beaucoup d‟attention car
elle permet de supprimer tout ce qui est inclus dans une base:
les tables, les données, les index …
Syntaxe
Pour supprimer la base de données « ma_base », la requête est
la suivante :
DROP DATABASE ma_base
Attention : cela va supprimer toutes les tables et toutes les
données de cette base. Si vous n‟êtes pas sûr de ce que vous
faites, n‟hésitez pas à effectuer une sauvegarde de la base
avant de supprimer.
Par défaut, si le nom de base utilisé n‟existe pas, la requête
retournera une erreur. Pour éviter d‟obtenir cette erreur si vous
n‟êtes pas sûr du nom, il est possible d‟utiliser l‟option IF
EXISTS. La syntaxe sera alors la suivante :
DROP DATABASE IF EXISTS ma_base
20. LA COMMANDE CREATE TABLE
La commande CREATE TABLE permet de créer une table en
SQL. Un tableau est une entité qui est contenu dans une base
de données pour stocker des données ordonnées dans des
colonnes. La création d‟une table sert à définir les colonnes et
114
le type de données qui seront contenus dans chacun des
colonne (entier, chaîne de caractères, date, valeur binaire …).
Syntaxe
La syntaxe générale pour créer une table est la suivante :
CREATE TABLE nom_de_la_table
(
colonne1 type_donnees,
colonne2 type_donnees,
colonne3 type_donnees,
colonne4 type_donnees
)
Dans cette requête, 4 colonnes ont été définies. Le mot-clé «
type_donnees » sera à remplacer par un mot-clé pour définir le
type de données (INT, DATE, TEXT …). Pour chaque colonne, il
est également possible de définir des options telles que (liste
non-exhaustive) :
• NOT NULL : empêche d‟enregistrer une valeur nulle pour une
colonne.
• DEFAULT : attribuer une valeur par défaut si aucune
données n‟est indiquée pour cette
colonne lors de l‟ajout d‟une ligne dans la table.
• PRIMARY KEY : indiquer si cette colonne est considérée
comme clé primaire pour un index.
Exemple
Imaginons que l‟ont souhaite créer une table utilisateur, dans
laquelle chaque ligne correspond à un utilisateur inscrit sur un
site web. La requête pour créer cette table peut ressembler à
ceci :
115
CREATE TABLE utilisateur
(
id INT PRIMARY KEY NOT NULL,
nom VARCHAR(100),
prenom VARCHAR(100),
email VARCHAR(255),
date_naissance DATE,
pays VARCHAR(255),
ville VARCHAR(255),
code_postal VARCHAR(5),
nombre_achat INT
)
Voici des explications sur les colonnes créées :
• id : identifiant unique qui est utilisé comme clé primaire et qui
n‟est pas nulle
• nom : nom de l‟utilisateur dans une colonne de type
VARCHAR avec un maximum de 100 caractères au maximum
• prenom : idem mais pour le prénom
• email : adresse email enregistré sous 255 caractères au
maximum
• date_naissance : date de naissance enregistré au format
AAAA-MM-JJ (exemple : 1973-11- 17)
• pays : nom du pays de l‟utilisateur sous 255 caractères au
maximum
• ville : idem pour la ville
• code_postal : 5 caractères du code postal
• nombre_achat : nombre d‟achat de cet utilisateur sur le site
116
21. LA COMMANDE ALTER TABLE
La commande ALTER TABLE en SQL permet de modifier une
table existante. Il est ainsi possible d‟ajouter une colonne, d‟en
supprimer une ou de modifier une colonne existante, par
exemple pour changer le type.
Syntaxe de base
D‟une manière générale, la commande s‟utilise de la manière
suivante :
ALTER TABLE nom_table
instruction
Le mot-clé « instruction » ici sert à désigner une commande
supplémentaire, qui sera détaillée cidessous selon l‟action que
l‟ont souhaite effectuer : ajouter, supprimer ou modifier une
colonne.
Ajouter une colonne
Syntaxe
L‟ajout d‟une colonne dans une table est relativement simple et
peut s‟effectuer à l‟aide d‟une requête ressemblant à ceci :
ALTER TABLE nom_table
ADD nom_colonne type_donnees
Exemple
Pour ajouter une colonne qui correspond à une rue sur une
table utilisateur, il est possible d‟utiliser la
requête suivante :
117
ALTER TABLE utilisateur
ADD adresse_rue VARCHAR(255)
22. LA COMMANDE DROP TABLE
La commande DROP TABLE en SQL permet de supprimer
définitivement une table d‟une base de données. Cela supprime
en même temps les éventuels index, trigger, contraintes et
permissions associées à cette table.
Attention : il faut utiliser cette commande avec attention car
une fois supprimée, les données sont perdues. Avant de
l‟utiliser sur une base importante il peut être judicieux
d‟effectuer un backup (une sauvegarde) pour éviter les
mauvaises surprises.
Syntaxe
Pour supprimer une table « nom_table » il suffit simplement
d‟utiliser la syntaxe suivante :
DROP TABLE nom_table
A savoir : s‟il y a une dépence avec une autre table, il est
recommandé de les supprimer avant de supprimer la table.
C‟est le cas par exemple s‟il y a des clés étrangères.
Intérêts
Il arrive qu‟une table soit créé temporairement pour stoquer
des données qui n‟ont pas vocation à être ré-utiliser. La
suppression d‟une table non utilisée est avantageux sur
plusieurs aspects :
118
• Libérer de la mémoire et alléger le poids des backups
• Éviter des erreurs dans le futur si une table porte un nom
similaire ou qui porte à confusion
• Lorsqu‟un développeur ou administrateur de base de données
découvre une application, il est plus rapide de comprendre le
système s‟il n‟y a que les tables utilisées qui sont présente
Exemple de requête
Imaginons qu‟une base de données possède une table «
client_2009 » qui ne sera plus jamais utilisé et qui existe déjà
dans un ancien backup. Pour supprimer cette table, il suffit
d‟effectuer la requête suivante :
DROP TABLE client_2009
L‟exécution de cette requête va permettre de supprimer la
table.
Jointure SQL
Les jointures en SQL permettent d‟associer plusieurs tables
dans une même requête. Cela permet d‟exploiter la puissance
des bases de données relationnelles pour obtenir des résultats
qui combinent les données de plusieurs tables de manière
efficace.
Exemple
En général, les jointures consistent à associer des lignes de 2
tables en associant l‟égalité des valeurs d‟une colonne d‟une
119
première table par rapport à la valeur d‟une colonne d‟une
seconde table. Imaginons qu‟une base de 2 données possède
une table « utilisateur » et une autre table « adresse » qui
contient les adresses de ces utilisateurs. Avec une jointure, il
est possible d‟obtenir les données de l‟utilisateur et de son
adresse en une seule requête.
On peut aussi imaginer qu‟un site web possède une table pour
les articles (titre, contenu, date de publication …) et une autre
pour les rédacteurs (nom, date d‟inscription, date de naissance
…). Avec une jointure il est possible d‟effectuer une seule
recherche pour afficher un article et le nom du rédacteur. Cela
évite d‟avoir à afficher le nom du rédacteur dans la table «
article ».
Il y a d‟autres cas de jointures, incluant des jointures sur la
même table ou des jointure d‟inégalité. Ces cas étant assez
particulier et pas si simple à comprendre, ils ne seront pas
élaboré sur cette page.
Types de jointures
Il y a plusieurs méthodes pour associer 2 tables ensemble. Voici
la liste des différentes techniques qui sont utilisées :
• INNER JOIN : jointure interne pour retourner les
enregistrements quand la condition est vrai dans les 2 tables.
C‟est l‟une des jointures les plus communes.
• CROSS JOIN : jointure croisée permettant de faire le produit
cartésien de 2 tables. En
120
d‟autres mots, permet de joindre chaque lignes d‟une table
avec chaque lignes d‟une seconde table. Attention, le nombre
de résultats est en général très élevé.
• LEFT JOIN (ou LEFT OUTER JOIN) : jointure externe pour
retourner tous les
enregistrements de la table de gauche (LEFT = gauche) même
si la condition n‟est pas vérifié dans l‟autre table.
• RIGHT JOIN (ou RIGHT OUTER JOIN) : jointure externe
pour retourner tous les
enregistrements de la table de droite (RIGHT = droite) même si
la condition n‟est pas vérifié dans l‟autre table.
• FULL JOIN (ou FULL OUTER JOIN) : jointure externe pour
retourner les résultats quand la condition est vrai dans au
moins une des 2 tables.
• SELF JOIN : permet d‟effectuer une jointure d‟une table avec
elle-même comme si c‟était une autre table.
• NATURAL JOIN : jointure naturelle entre 2 tables s‟il y a au
moins une colonne qui porte le même nom entre les 2 tables
SQL
• UNION JOIN : jointure d‟union
23. LA COMMANDE INNER JOIN
Dans le langage SQL la commande INNER JOIN, aussi appelée
EQUIJOIN, est un type de jointures très communes pour lier
plusieurs tables entre-elles. Cette commande retourne les
enregistrements lorsqu‟il y a au moins une ligne dans chaque
colonne qui correspond à la condition.
Syntaxe
121
Pour utiliser ce type de jointure il convient d‟utiliser une requête
SQL avec cette syntaxe :
SELECT *
FROM table1
INNER JOIN table2 ON table1.id = table2.fk_id
La syntaxe ci-dessus stipule qu‟il faut sélectionner les
enregistrements des tables table1 et table2 lorsque les données
de la colonne « id » de table1 est égal aux données de la
colonne fk_id de table2.
La jointure SQL peux aussi être écrite de la façon suivante :
SELECT *
FROM table1
INNER JOIN table2
WHERE table1.id = table2.fk_id
La syntaxe avec la condition WHERE est une manière
alternative de faire la jointure mais qui possède l‟inconvénient
d‟être moins facile à lire s‟il y a déjà plusieurs conditions dans le
WHERE.
Exemple
Imaginons une application qui possède une table utilisateur
ainsi qu‟une table commande qui contient toutes les
commandes effectuées par les utilisateurs.
122
Chapitre 5 : INITIATION A L’EXCEL
5.1. INTRODUCTION
QU’EST-CE QU’EXCEL ?
Excel est un tableur faisant partie du système Microsoft Office.
Vous pouvez utiliser Excel pour créer et mettre en forme des
classeurs (ensemble de feuilles de calcul) afin d‟analyser des
données et de faciliter la prise de décisions fondées pour votre
entreprise.
Vous pouvez notamment utiliser Excel pour effectuer le suivi de
données, créer des modèles en vue d‟analyser des données,
écrire des formules pour effectuer des calculs sur ces données,
manipuler les données en tableaux croisés dynamiques de
nombreuses façons et présenter les données à l‟aide de
nombreux graphiques d‟aspect professionnel.
Vous pouvez notamment y recourir dans les contextes
suivants :
1. Comptabilité Vous pouvez utiliser les puissantes
fonctionnalités de calcul d‟Excel dans de nombreux
états comptables et financiers, notamment l‟état des
flux de trésorerie, l‟état des résultats ou l‟état des
profits et pertes.
2. Budget Que vos besoins soient personnels ou
professionnels, vous pouvez créer n‟importe quel type
de budget dans Excel, notamment un plan budgétaire
123
marketing, un budget d‟événement ou un budget
retraite.
3. Facturation et ventes Excel est également très utile
en ce qui concerne la gestion des données de
facturation et de ventes, et vous pouvez facilement
créer les formulaires dont vous avez besoin, notamment
les factures, les bordereaux d‟emballage ou les bons de
commande.
4. Rapports À l‟aide d‟Excel, vous pouvez créer différents
types de rapports reflétant l‟analyse de vos données ou
résumant celles-ci, tels que des rapports qui mesurent
les performances des projets, indiquent l‟écart entre les
résultats projetés et les résultats réels ou permettent de
prévoir des données.
5. Planification Excel est un excellent outil pour la
création de plans professionnels ou de planificateurs
utiles, notamment un plan de classe hebdomadaire, un
plan de recherche marketing, un plan fiscal de fin
d‟exercice ou des planificateurs vous permettant
d‟organiser des repas hebdomadaires, des soirées ou
des vacances.
6. Suivi Vous pouvez utiliser Excel pour effectuer le suivi
de données dans une liste ou feuille de temps, telle
qu‟une feuille de temps du suivi du travail ou une liste
d‟inventaire pour le suivi de l‟équipement.
7. Utilisation de calendriers Étant donné que l‟espace
de travail se présente sous la forme d‟une grille, Excel
se prête facilement à la création de tout type de
calendrier, tel qu‟un calendrier scolaire pour le suivi des
activités effectuées pendant l‟année scolaire ou un
calendrier d‟exercice comptable pour le suivi des
124
événements et des échéances qui jalonnent la vie d‟une
entreprise.
5.2. La fenêtre d’Excel
5.2.1. Le ruban
a. Accueil
125
L‟onglet « Accueil » permet de modifier les polices,
l‟alignement des paragraphes ou les styles des parties
sélectionnées. Les boutons de commande de cet onglet
permettent également de copier et coller des données vers et
depuis le Presse-papiers et d‟appliquer des formats d‟une
sélection à une autre.
Remplacez rapidement un mot ou une phrase grâce à la
commande « Rechercher et sélectionner ». Les fonctionnalités
de l‟onglet « Accueil » permettent aussi d‟adapter le texte aux
cellules des colonnes et de s‟assurer qu‟il est visible et non
remplacé par le symbole ####.
Les mises en forme conditionnelles et les autres options
de mise en forme et de style servent à l‟analyse des données et
à une présentation professionnelle. Avec les fonctionnalités
d‟édition, vous calculez des sommes et des moyennes,
remplissez automatiquement les cellules, effacez, triez et filtrez
les données, localisez et sélectionnez des plages de cellules.
b. Insertion
126
Avec l‟onglet « Insertion », vous ajoutez des éléments pour
compléter le texte et les chiffres. Les tableaux organisent les
données et les tableaux croisés dynamiques les disposent de
manière différente. Générez des feuilles de calcul d‟aspect
professionnel en insérant des images, des cliparts, des formes,
des composants SmartArt et des graphiques.
L‟onglet « Insertion » accueille la section graphique grâce à
laquelle vous présentez efficacement vos données avec les
différents types de graphiques. Vous y gérez également les
liens hypertextes, les signets, et y organisez vos blocs de
construction avec les composants QuickPart. Cet onglet permet
aussi d‟insérer des symboles, des équations et d‟autres objets
dans le classeur.
c. Mise en page
Grâce à l‟onglet « Mise en page », on gère les marges,
l‟orientation, la taille de la page, la zone d‟impression, les sauts
de page, l‟arrière-plan et l‟impression des titres. Le groupe «
Mise à l‟échelle » permet d‟ajuster la hauteur et la largeur des
colonnes, des lignes et des cellules.
127
Vous y revoyez l‟apparence globale d‟une page ou d‟un
classeur en appliquant un thème, une couleur d‟arrière-plan ou
une bordure de page. Vous y choisissez aussi d‟afficher ou
d‟imprimer le quadrillage et les en-têtes. Avec les options du
groupe « Organiser », vous alignez, groupez et gérez les
couches des objets et graphismes en les superposant.
d. Formules
Dans le groupe « Bibliothèque de fonctions » de l‟onglet «
Formules », vous créez et gérez des fonctions et des formules
simples ou complexes. Vous y localisez et référencez des
fonctions et des formules, accédez à des fonctions
mathématiques et trigonométriques, ajoutez des fonctions plus
spécifiques dans des domaines comme l‟analyse statistique et
l‟ingénierie.
Avec les commandes du groupe « Noms définis », vous
assignez des noms aux plages de cellules et vous vous
référencez ensuite à ces noms dans n‟importe quel classeur.
Dans le groupe « Audit de formules », vous évaluez, repérez les
antécédents et les dépendants d‟une formule et vérifiez les
erreurs. La « Fenêtre espion » récapitule toutes les valeurs des
formules ou fonctions et le groupe « Calcul » recalcule les
formules et les fonctions.
e. données
128
Avec l‟onglet « Données », la feuille de calcul fait office
de base de données. Vous importez et analysez ensuite ces
données avec Microsoft Access, le Web, des fichiers de données
textuels ou d‟autres sources. Avec les groupes « Données
externes » et « Connexions », vous gérez les connexions aux
bases de données existantes. Vous vous servez du groupe «
Trier et filtrer » pour réorganiser les données de la feuille de
calcul et afficher uniquement les champs et les enregistrements
nécessaires à une tâche donnée.
Avec les options du groupe « Outils de données », vous
analysez les données, vous les validez et vous supprimez les
doublons. Avec le groupe « Plan », vous redéfinissez les
portions de la feuille de calcul pour effectuer des sous-totaux,
grouper et dissocier des plages et des cellules.
f. Révision
L‟onglet « Révision » regroupe les commandes de
vérification orthographique et grammaticale, des fonctions de
recherche et de traduction et le dictionnaire des synonymes. Il
accueille également la protection et le partage du classeur, ainsi
que le suivi des modifications dans le cadre de la collaboration
et de la finalisation du classeur.
g. Affichage
129
Dans l‟onglet « Affichage », vous choisissez l‟affichage du
classeur, décidez du masquer ou d‟afficher la règle, le
quadrillage, la barre de formule et les en-têtes. Vous basculez
entre les différentes fenêtres des classeurs ouverts ou vous les
affichez sur le même écran.
Il est également possible de figer, diviser ou masquer des
fenêtres, d‟enregistrer l‟espace de travail pour conserver sa
configuration et d‟opter pour un affichage plein écran. Le
groupe « Macro » permet de gérer et d‟enregistrer des macros.
5.3. Saisir du texte et des Nombres
Sélectionnez la cellule puis saisissez le texte.
Saisir des nombres
130
Sélectionnez la cellule puis saisissez le nombre. Pour un nombre
négatif, tapez un signe moins (-) devant l‟entrée ou placez-le
entre parenthèses.
5.4. Modifier ou supprimer des données
Modifier des données
Sélectionnez la cellule contenant les données à modifier. Deux
méthodes se présentent à vous :
1. Double-cliquez dans la cellule puis faites les modifications.
2. Faites les modifications directement dans la barre de
formule.
Supprimer des données
Excel permet d‟éditer, de corriger et d‟actualiser les données de
la feuille de calcul. Le point d‟insertion clignotant dans une
cellule indique où Excel supprime ou ajoute les données. Avec
la touche « Retour arrière », vous supprimez les caractères à
gauche du point d‟insertion. Avec la touche « Suppr. », vous
supprimez les caractères à sa droite.
131
5.5. Déplacez ou copiez des données
Pour déplacer ou copier des données, vous coupez ou copiez
les cellules sélectionnées, puis vous les collez.
Pour déplacer
Pour déplacer, il faut utiliser la fonction « couper » ou « glisser
». Vous pouvez utiliser les touches « CTRL + X ».
132
1. Sélectionnez les cellules;
2. Utilisez la fonction « couper » (clavier ou icône);
3. Positionnez-vous à l‟endroit désiré;
4. Utilisez la fonction « coller » (clavier (CTRL + V) ou l‟icône).
Si vous désirez, vous pouvez utiliser la fonction glissée.
Sélectionnez la ou les cellules puis déposez votre curseur sur
une cellule (le curseur se transforme en quatre flèches noires).
Maintenez le côté gauche de la souris enfoncé puis glissez
jusqu‟à l‟endroit désiré.
Pour copier des données
Pour copier, il faut utiliser la fonction « copier ». Vous pouvez
utiliser les
touches « CTRL + C ».
133
5. Sélectionnez les cellules;
6. Utilisez la fonction « copier » (clavier ou icône);
7. Positionnez-vous à l‟endroit désiré;
8. Utilisez la fonction « coller » (clavier (CTRL + V) ou l‟icône).
Si vous désirez, vous pouvez utiliser la fonction glissée.
Sélectionnez la ou les cellules puis déposez votre curseur sur
une cellule (le curseur se transforme en quatre flèches noires).
Maintenez le côté gauche de la souris enfoncé et la touche «
CTRL » puis glissez jusqu‟à l‟endroit désiré.
134
5.6. Insertion et suppression de lignes et de colonnes
On insère des lignes ou des colonnes pour ajouter des données.
Lors de l‟ajout d‟une ligne, la ligne sélectionnée et celles qui
suivent se décalent vers le bas. Dans le cas d‟une colonne, la
colonne sélectionnée et celles qui la suivent se décalent vers la
droite. La ligne insérée possède la même hauteur que celle qui
la précède et la colonne insérée, la même largeur que celle à sa
gauche.
Insérer une ligne ou une colonne
Sélectionnez le numéro de la ligne ou la lettre de la colonne.
Dans l‟onglet « Accueil » et dans le groupe « Cellules », vous
trouverez l‟option « Insérer ». Vous pouvez sélectionner
plusieurs lignes ou colonnes à la fois. Excel ajoutera le nombre
de ligne ou colonne que vous avez sélectionnées.
135
Vous pouvez aussi utiliser le menu contextuel. Sélectionnez la
ligne ou la colonne puis demandez le menu contextuel (bouton
de droite de la souris). Sélectionnez « Insertion ».
Supprimer une ligne ou une colonne
Sélectionnez le numéro de la ligne ou la lettre de la colonne.
Dans l‟onglet « Accueil » et dans le groupe « Cellules », vous
trouverez l‟option « Supprimer ». Vous pouvez sélectionner
plusieurs lignes ou colonnes à la fois.
136
Vous pouvez aussi utiliser le menu contextuel. Sélectionnez la
ligne ou la colonne puis demandez le menu contextuel (bouton
de droite de la souris). Sélectionnez « Insertion ».
5.7. Contenu des cellules
Les catégories
Il existe bien des manières d‟afficher les données dans Excel.
Vous pouvez, par exemple, utiliser le format monétaire ou le
pourcentage.
Sélectionnez la ou les cellules. Dans l‟onglet « Accueil », dans le
groupe « Nombres », vous trouverez les options pour modifier
le format des nombres.
137
Vous pouvez aussi utiliser le menu contextuel de la ou des
cellules sélectionnées.
138
Exercices 1 : dressez ce tableau en Excel
Nom sous
N°Produit Produits Qté Prix Total
Prod1 Ordinateur 12 552000
Prod2 clavier 13 8500
Prod3 souris 5 8500
Prod4 sacs 78 32000
139
Prod5 Onduleur 15 152000
Prod6 switch 100 450000
Prod7 stabilisateur 18 452000
Prod8 modem 6 54000
140
Exercices 2 : dressez ce tableau en excel
NOM ETUDIANTS MATH ANGLAIS ALGORITH MAI TOPOLOGIE CHIMIE TOTAL
BUAMUSUNGU ATSHIR
EBUTA MATIKALI
EKWANZALA MOBA
DAUXCER
INGBAKA WASIDO
ISEKA BELEBE
KABONGO KABANGA
KABUNDA KALANGA
CARINE
KAPUEBE MBWANDA
KEBENGO
KEET NAMBAZ
141
KOKO KASHAMA Jean
Baptiste
KOY OKITO
LAINI MALOMBE
LITANGA MALAU
LUBAMBA DIANSA
ASNATH
142
5.8. Mise en forme
Largeur et hauteur des lignes et des colonnes
Placez le curseur sur le bord droit d‟un en-tête de colonne ou
sur le bord inférieur d‟un en-tête de ligne. Le curseur devient |
. Cliquez et faites glisser selon la largeur ou la hauteur de votre
choix.
Lorsque vous sélectionnez plusieurs lignes ou colonnes et que
vous utilisez la procédure pour modifier la largeur ou la
hauteur, vous modifiez les dimensions de tous les éléments
sélectionnés.
Mise en forme des données
Sélectionnez les cellules contenant les données à modifier.
Cliquez sur l‟onglet« Accueil ».
143
Vous pouvez aussi utiliser le menu contextuel.
Modifier l’alignement des données
Sélectionnez les cellules contenant les données à modifier.
Cliquez sur l‟onglet « Accueil ».
Bordures
Sélectionnez les cellules contenant les données à modifier.
Cliquez sur l‟onglet « Accueil ».
144
Ou encore on peut utiliser directement l‟onglet,
145
Remplissage
Sélectionnez les cellules contenant les données à modifier.
Cliquez sur l‟onglet « Accueil ».
Pour plus d‟options :
146
Tableau prédéfini
Modifiez l‟apparence de votre feuille de calcul avec les styles de
cellules, à savoir une série de modèles prêts à l‟emploi proposés
par Excel. Un style de cellule offre une mise en forme
prédéfinie, ce qui vous permet de vous concentrer sur le
contenu. Sélectionnez les cellules puis sélectionnez l‟onglet «
Accueil ».
4.9. Nommer une feuille
147
Vous pouvez nommer les feuilles d‟un classeur. Double-cliquez
sur l‟onglet de la feuille ou utilisez votre menu contextuel sur
l‟onglet. Donnez-lui un nom puis validez avec la touche « Entrée
».
5.10. Ajouter ou supprimer des feuilles
Ajouter une feuille
Pour ajouter des feuilles dans votre classeur, vous pouvez
utiliser l‟onglet « Accueil » dans le groupe « Cellules ».
Vous pouvez aussi utiliser le menu contextuel sur l‟onglet des
feuilles.
Supprimer une feuille
148
Pour supprimer une feuille, vous devez sélectionner son onglet.
Sélectionnez l‟onglet « Accueil ». Vous pouvez aussi utiliser le
menu contextuel.
5.11. Formules simples
Erreur dans les formules
Excel affiche un message d‟erreur s‟il ne parvient pas à calculer
la formule. Dans les formules, les erreurs sont souvent le
résultat d‟erreurs de saisie, que l‟on peut corriger en rectifiant
la cellule concernée.
### : indique que la colonne est trop étroite pour afficher le
résultat du calcul.
#DIV/0!: indique que la formule divise un nombre par 0. Excel
considère qu‟une cellule vide contient la valeur zéro.
#NOM?: indique que la formule contient un nom ou une
référence
de cellule qu‟Excel de reconnaît pas.
#REF!: indique que la formule se réfère à une cellule non
valide.
Par exemple, une cellule employée dans la formule a
été supprimée.
#VALEUR!: indique que la formule contient une référence de
149
cellule qu‟Excel ne peut employer dans un calcul. Par
exemple, elle utilise une cellule contenant du texte.
#N/A : indique que la formule se réfère à une valeur non
disponible
#NUL!: indique que la formule se réfère à une intersection de
cellules qui ne se croisent pas. Cela se produit
lorsqu‟il y a un espace entre deux références de cellules au
lieu d‟un point-virgule (;) ou d‟un deux-points ( :).
Additionnez des nombres
Pour additionner rapidement des nombres, servez-vous de la
fonctionnalité « Somme automatique », laquelle additionne
rapidement les lignes et les colonnes. Positionnez-vous à
l‟endroit où vous désirez le résultat du calcul. Sélectionnez
l‟onglet « Accueil ».
Aussitôt le bouton « Somme » enfoncé, vérifiez la sélection
pour l‟addition. Si la sélection n‟est pas bonne, faites une
sélection manuelle.
150
Soustraire des nombres
Pour soustraire des nombres, vous devez vous positionner à
l‟endroit où vous désirez le résultat du calcul. Pour toutes
formules, vous devez ajouter = , sélectionner la première
cellule, ajouter le signe – puis sélectionner la cellule suivante…
Multipliez des nombres
Pour multiplier des nombres, vous devez vous positionner à
l‟endroit où vous désirez le résultat du calcul. Pour toutes
formules, vous devez ajouter = , sélectionner la première
cellule, ajouter le signe * puis sélectionner la cellule suivante…
151
Divisez des nombres
Pour diviser des nombres, vous devez vous positionner à
l‟endroit où vous désirez le résultat du calcul. Pour toutes
formules, vous devez ajouter = , sélectionner la première
cellule, ajouter le signe / puis sélectionner la cellule suivante…
Calculez une moyenne
Excel possède une fonction pour le calcul des moyennes.
Positionnez-vous à l‟endroit où vous désirez le résultat du
calcul. Sélectionnez l‟onglet « Accueil ».
152
Aussitôt le bouton « Moyenne » enfoncé, vérifiez la sélection
pour le calcul. Si la sélection n‟est pas bonne, faites une
sélection manuelle.
Recopier une formule
Pour recopier une formule, vous devez utiliser la poignée de
recopie.
Cependant, certaines formules ne peuvent pas se
copier. La formule que l‟on copie se réfère aux colonnes ou
aux lignes. Si la formule doit se référer toujours à une cellule en
particulier (comme un pourcentage), nous devons utiliser
l‟absolue (F4). Dans l‟exemple suivant, nous calculons la
moyenne des articles. Et nous calculons la moyenne de chaque
colonne en faisant la copie de la formule.
153
5.12. Aperçu avant impression
Sélectionnez le menu Fichier, puis « Imprimer ».
5.13. Saut de page
Dans Excel, vous pouvez visualiser, ajouter ou supprimer des
sauts de page.
Visualiser un saut de page
Sélectionnez l‟onglet « Affichage » puis « Aperçu des sauts de
page
154
Insérez ou supprimez un saut de page.
Vous devez premièrement vous positionner à l‟endroit voulu
pour insérer un saut de page(le saut de page s‟insère haut
dessus et à gauche de la cellule sélectionnée). Sélectionnez
l‟onglet « Mise en page ».
5.14. En-tête et pied de page
Vous pouvez vous créer un en-tête et un pied de page dans
Excel. Cependant, vous les verrez seulement à l‟impression.
Sélectionnez l‟onglet « Insertion ».
155
5.15. Répétition des titres dans un grand tableau
Si la feuille de calcul s‟imprime sur plusieurs pages, vous
pouvez imprimer les mêmes titres de lignes et de colonnes sur
chaque page. Sélectionnez l‟onglet « Mise en page » puis
cliquez sur « Imprimer les titres ».
156
4.16. Insertion d’image
Sélectionnez l‟onglet « Insertion ». La gestion des images se
fait comme dans Word.
5.17. Protection des données
On protège les cellules d‟une feuille de calcul pour empêcher les
autres utilisateurs de les modifier accidentellement. L‟opération
est intéressante lorsque la feuille contient des formules
complexes et des données essentielles. Par défaut, Excel
verrouille et protège
toutes les cellules, mais n‟active cette fonctionnalité que si vous
activez la protection de certaines cellules tout en en protégeant
d‟autres, vous devez débloquer les cellules modifiables et
activer la fonctionnalité de protection pour verrouiller les autres
cellules.
157
Voici les étapes à suivre :
1. Sélectionnez les cellules pouvant être modifiées;
2. Sélectionnez l‟onglet « Accueil » puis « Format » dans le
groupe « Cellule »;
Vous pouvez aussi protéger par mot de passe
158
5.18. Graphique élémentaire
Pour créer le graphique, vous devez d‟abord organiser les
données en lignes et en colonnes, lesquelles peuvent être
contiguës ou non. Si vous incluez la ligne ou la colonne des en-
têtes dans la sélection, Excel s‟en sert comme titres dans le
graphique.
Voici la procédure :
1. Sélectionnez les cellules pour lesquelles vous créez le
graphique.
2. Sélectionnez l‟onglet « Insertion ».
Après avoir sélectionné le type de graphique désiré, le
graphique apparaît dans la feuille de calcul. Vous pouvez la
manipuler comme une image. Trois nouveaux onglets font leurs
apparitions. Ils permettent plusieurs options liées aux
graphiques.
159
Exercices N°3 : dressez ce tableau en excel
160
Chapitre 6: INTRODUCTION AU LOGICIEL DE
CARTOGRAPHIE.
6.1. CONCEPTS FONDAMENTAUX DES SYSTEMES
D’INFORMATIONS GEOGRAPHIQUES
Dans cette partie, il nous est apparu utile d‟introduire
quelques notions essentielles sur les systèmes d‟information
géographique. Le concept de système d‟information
géographique (SIG) est apparu dans les années 1960-1970.
Depuis ce temps, des définitions plus ou moins similaires et
cohérentes ont fait leur apparition.
Afin de bien situer le rôle et l‟usage d‟un SIG, nous
allons également en préciser sa définition. Signalons qu‟il
n‟existe pas encore une définition claire et communément
admise par l‟ensemble de la communauté scientifique. La
plupart des définitions citées sont plutôt d‟ordre général et
couvrent un large spectre de sujets et d‟activités.
6.2. DEFINITIONS
Un système d‟information géographique (SIG) est un
système informatique permettant à partir de diverses sources,
de rassembler et organiser, de gérer, d‟analyser et de
combiner, d‟élaborer et de présenter des informations localisées
géographiquement contribuant notamment à la gestion de
l‟espace.
161
Un système d‟information géographique est aussi un
système de gestion de base de données pour la saisie, le
stockage, l‟extraction, l‟interrogation, l‟analyse et l‟affichage de
données localisées.
C‟est un ensemble de données repérées dans
l‟espace, structuré de façon à pouvoir en extraire
commodément des synthèses utiles à la décision.
Un système d‟information géographique, comme le monte la
figure 1.1, est un ensemble d‟équipements informatiques, de
logiciels et de méthodologies pour la saisie, la validation,
le stockage et l‟exploitation de données, dont la majorité est
spatialement référencée, destinée à la simulation de
comportement d‟un phénomène naturel, à la gestion et l‟aide à
la décision.
162
Un SIG répond à 5 fonctionnalités (les 5 A) :
Abstraction: modélisation de l'information,
Acquisition: récupérer l'information existante, alimenter le
système en données,
Archivage: stocker les données de façon à les retrouver et
les interroger facilement,
Analyse: réponses aux requêtes, coeur même du SIG,
Affichage: restitution graphique.
En d‟autres termes, un SIG est un environnement
informatisé d‟analyse d‟une information spatiale numérisée.
6.3. STRUCTURE D’UN SIG
La figure 1.2 met en évidence quatre groupes de
fonctionnalités au-dessous d‟une couche d‟applications:
l‟acquisition des données géographiques d‟origines diverses, la
gestion pour le stockage et la recherche des données, l‟analyse
spatiale pour le traitement et l‟exploitation et enfin la
présentation des résultats sous forme cartographique.
163
6.4. FONCTIONNALITES D’UN SIG
Un SIG complet, permettra non seulement de dessiner puis
tracer automatiquement le plan, mais en outre :
- De disposer les objets dans un système de référence
géographique, de les convertir d‟un système à un autre.
- De rapprocher entre elles deux cartes (deux plans) de sources
différentes, de faciliter leur superposition comme c‟est illustré
dans la figure 1.3.
164
- De corriger certains contours de la moins fiable en reprenant
les coordonnées correspondantes de la plus fiable.
- D‟extraire tous les objets géographiques situés à une distance
donnée, d‟un carrefour, d‟une route ou des rives d‟un lac.
- D‟extraire tous les objets situés dans un périmètre donné
comme c‟est présenté dans la figure 1.4.
Figure 1.4 : Exemple de sélection
- De fusionner tous les objets ayant une caractéristique
commune, par exemple les parcelles adjacentes ayant la même
densité de surface bâtie.
- De déterminer, sur un réseau, l‟itinéraire le plus court pour
aller d‟un point à un autre.
6.5. LES DONNEES DANS LES SIG
Le premier aspect auquel on pense quand on évoque
la notion de logiciel de cartographie informatique ou de
165
système d‟information géographique est celui de manipuler les
données.
Dès lors, un certain nombre de questions se posent :
Comment l‟information contenue dans une carte peut-elle être
stockée dans un ordinateur? Quelles sont les données traitées
par les SIG ? La section suivante apporte les réponses aux
différentes questions posées et met le point sur les modes
d‟acquisition de données dans un SIG.
6.6. Modes d’acquisition de données
Dans la pratique, les données géographiques
proviennent de sources différentes, ont des modes d‟acquisition
différents, sont sus des médias différents, on dit qu‟elles sont
multisources. Certaines données sont directement mesurées sur
le terrain (levés topographiques) ou captées à distance
(système de positionnement Global GPS, photos aériennes,
images satellitaires), ou saisies à partir de cartes ou de plans
existants, ou récoltées par des organismes de production de
données et ensuite importées.
Il s‟agira d‟intégrer ces données hétérogènes, car de
qualité, de fiabilité, de précision et d‟extensions spatiales bien
166
différentes. Nous présentons dans ce qui suit les principales
méthodes d‟acquisition de données.
a. Numérisation
La numérisation (digitalisation ou vectorisation) permet de
récupérer la géométrie des objets disposés sur un plan ou une
carte préexistante comme illustré dans la figure 1.5.
Figure 1.5 : Opération de digitalisation
Elle consiste à faire évoluer un curseur sur un plan posé sur
une table à digitaliser et préalablement calé en coordonnées. La
table est réceptive aux signaux électriques émis par le curseur.
Elle peut localiser ces signaux sur le plan de la table avec une
précision de l‟ordre du dixième de millimètre. La figure 1.6
présente un exemple d‟extraction des couches et la figure 1.7
présente le résultat de la digitalisation.
167
Figure 1.6 : Extraction des couches
b. Balayage électronique (scannérisation)
168
Le balayage électronique (réalisé avec un scanner) est un autre
moyen de saisir un plan existant (figure 1.8). Il est plus rapide
que la digitalisation manuelle.
Figure 1.8 : Extrait d’une carte scannée
c. Photogrammétrie
La photogrammétrie aérienne est utilisée de façon systématique
pour constituer les cartes à moyenne échelle. Elle est retenue
également dans les pays dont la couverture cartographique et
géodésique est déficiente et utilisée pour la constitution de
plans à grande.
Échelle pour un coût qui peut être très avantageux. La figure
1.9 présente un exemple de photos aériennes.
169
Figure 1.9 : Exemple de photos aériennes.
d. Images satellitaires (télédétection)
La télédétection est un moyen très commode de créer les
données à introduire dans les SIG. Il s‟agit en effet d‟utiliser,
dans des conditions particulières et rigoureuses, soit les
photographies aériennes, soit les images enregistrées et
transmises par satellite comme c‟est illustré dans la figure 1.10.
Figure 1.10 : Exemple d’image satellitaire
e. Import de fichiers
170
C‟est une façon de réduire les coûts de saisie et de récupérer
des données existantes et de les convertir au format, au
système d‟unités et au système de projection souhaités comme
c‟est illustré dans la figure 1.11. Pour cela, on utilise des
interfaces qui permettent:
- soit de transformer directement les données dans le format
interne du SIG récepteur grâce à des bibliothèques de
conversions à ce format interne.
- soit de passer par l‟intermédiaire d‟un format d‟échange
reconnu, par une fonction d‟importation de données du SIG
récepteur.
Figure 1.11 : Exemple d’importation de fichiers vers le SIG
171
6.7. Types de données dans un SIG
Généralement pour qu‟un objet spatial soit bien décrit et prêt à
être utilisé par un SIG, trois informations doivent être fournies:
- sa position géographique dans l‟espace,
- sa relation spatiale avec les autres objets spatiaux : topologie,
- son attribut, c‟est à dire ce qu‟est l‟objet avec un caractère,
d‟identification (code).
Les systèmes d‟information géographique permettent de traiter
les données spatiales et associées (figure 1.12).
Figure 1.12 : Types de données dans un SIG
172
6.7.1 Données spatiales
Elles déterminent les caractéristiques spatiales d‟une entité
géographique où sont représentés et identifiés tous les
éléments graphiques:
- La localisation : coordonnées par rapport à une échelle
graphique de référence.
- La forme: point, ligne, surface.
- La taille: longueur, périmètre, surface.
Les informations font référence à des objets de trois types
(figure 1.13):
- Point: est désigné par ses coordonnées et à la dimension
spatiale la plus petite.
- Ligne: a une dimension spatiale constituée d‟une succession
de points proches les uns des autres.
- Polygone (zone ou surface): est un élément de surface défini
par une ligne fermée ou la ligne qui le délimite.
173
6.7.2 Données associées
Les données associées des entités géographiques permettent
de compléter la représentation géométrique de l‟entité spatiale.
Chaque élément de l‟espace reçoit un code d‟identification qui
peut être numérique ou littéral (figure 1.14). Ce code constitue
en quelque sorte une étiquette caractérisant le point, la ligne
ou le polygone. Parmi ces données il faut distinguer :
a) Données de classification: Ces données permettent de
ranger le point isolé, la ligne ouverte ou la ligne fermée, dans
une catégorie: limite administrative, contour de parcelle,
bordure de trottoir, arbre d‟alignement, conduite de réseau
d‟eau... Souvent ces distinctions seront prises en compte par
l‟organisation même du travail de saisie. Tout se passe, comme
si l‟on distinguait plusieurs couches d‟informations, que l‟on
saisit successivement.
174
b) Données d’identification: Ces données permettent
d‟individualiser chaque objet figurant sur le plan: nom propre
de l‟objet, par exemple nom de la commune ou numéro
permettant de l‟identifier: numéro de parcelle, numéro de
vanne...
Figure 1.14 : Notion de couches de données
c) Données attributaires: Ces données viennent apporter
une information supplémentaire, propre à chaque objet
identifié: le propriétaire de la parcelle, le diamètre de la
conduite d‟eau...
Figure 1.15 : Données associées
175
Figure 1.15 : Données associées
Souvent ces informations sont déjà disponibles sur des fichiers
informatiques, où elles sont liées à l‟identifiant de chaque objet.
En général, la classe d‟objet est déterminée, au moins en
partie, par le processus de digitalisation, les identifiants étant
introduits souvent en bloc à la fin.
6.7.3. Modes de données dans les SIG
La reprise de documents cartographiques existants sur support
papier en vue de les introduire dans un SIG, pouvait recourir à
des techniques différentes: la digitalisation et le balayage
électronique par exemple. La première conduit directement,
comme c‟est illustré à la figure 1.16, à des données
cartographiques numériques de type vecteurs, la seconde à des
176
données tramées.
Figure 1.16 : Modes de données dans un SIG
1. Mode vecteur
Ce mode répond au souci de représenter un objet de manière
aussi exacte que possible. Pour transformer un objet réel en
une donnée à référence spatiale, on décompose le territoire en
couches thématiques (figure1.17) (relief, routes, bâtiments…)
structurées dans des bases de données numériques.
177
Figure 1.17 : Décomposition du monde réel en couches d’information
Une couche réunit généralement des éléments géographiques
de même type.
Les éléments géographiques (objets spatiaux) peuvent être
représentés sur une carte par des points, des lignes ou des
polygones (figure 1.18).
Les avantages du mode vecteur sont:
178
- Une meilleure adaptation à la description des entités
ponctuelles et linéaires.
- Une facilité d‟extraction de détails.
- Une simplicité dans la transformation de coordonnées.
- Les inconvénients du mode vecteur sont:
- Les croisements de couches d‟information sont délicats et
nécessitent une topologie parfaite.
2. Mode raster
Le mode trame ou raster est également appelé modèle
matriciel. Contrairement au mode vecteur qui ne décrit que les
contours, le mode raster décrit la totalité de la surface
cartographique point par point (Figure I.19). Il est utilisé
principalement dans les systèmes à balayage (scanners,
capteurs en télédétection ...).
Figure 1.19 : Mode Raster
Les avantages du mode raster sont:
- Meilleure adaptation à la représentation des détails
surfaciques.
179
- Acquisition des données à partir d‟un scanner à balayage.
- Meilleure adaptation à certains types de traitements
numériques: filtres, classifications
Les inconvénients du mode raster sont:
- Mauvaise adaptation à la représentation des détails linéaires.
- Obligation de parcourir toute la surface pour extraire un détail
- Impossibilité de réaliser certaines opérations topologiques, la
recherche du plus court chemin dans un réseau par exemple.
Ces deux modes sont complémentaires. Le raster est mieux
adapté à certains types d‟applications (télédétection) et apporte
une réponse économique à certains besoins.
L‟exploitant d‟un réseau pourrait par exemple se contenter de
scanner des fonds de plans en les conservant au format raster
et on numérisant par-dessus son réseau en mode vecteur (qui
nécessite une définition par formes géométriques). Le vecteur
correspond à l‟ensemble des besoins courants en gestion de
données localisées.
6.8. DOMAINES D’APPLICATION DES SIG
Les approches ont mis en évidence le fait qu‟un système
d‟information géographique est un outil de gestion et d‟aide à la
180
décision. C‟est un outil de gestion pour le technicien qui doit au
quotidien assurer le fonctionnement d‟une activité.
Le SIG doit aussi être un outil d‟aide à la décision pour le
décideur (directeur, administrateur) qui doit bénéficier de sa
puissance et disposer de cartes de synthèses pour prendre les
meilleures décisions. C‟est cette finalité qui permet d‟employer
le terme de système d‟information et de donner aux SIG les
domaines d‟applications suivants (figure 1.20):
Pour les grandes échelles
- La gestion foncière et cadastrale (recensement des propriétés,
calcul de surfaces)
- La planification urbaine (plan d‟occupation des sols et
d‟aménagement)
- La gestion des transports (voies de circulations, signalisation
routière)
- La gestion des réseaux (assainissement, AEP, gaz, électricité,
téléphone ...)
- La gestion du patrimoine (espaces verts, parcs, jardins ...)
- Les applications topographiques (travaux publics et génie civil)
181
Pour les échelles moyennes et petites
- Les études d‟impact (implantation d‟un centre commercial ou
d‟une école)
- Les études d‟ingénierie routière (constructions de routes ou
d‟autoroutes)
- Les applications liées à la sécurité civile (prévention des
risques naturels et technologiques).
- La gestion des ressources naturelles (protection de
l‟environnement, études géologiques, climatologiques ou
hydrographiques).
6.9. MISE EN PLACE D’UN SIG
D‟une manière générale, la mise en oeuvre d‟un SIG peut être
faite avec différents logiciels parmi lesquels les quatre suivants
constituent les plus utilisés : Geoconcept, ArcView, ArcGis et
MapInfo. Tous ces logiciels ont une même vocation : apporter
des réponses à la problématique spatiale grâce à des analyses
cartographiques ou des thématiques. Les fonctionnalités
techniques sont très proches les unes des autres.
Ces logiciels s‟adaptent à des usages dans les divers domaines,
mais leur choix devra être éclairé par :
182
Son cout dépendant évidemment du budget alloué au
projet du SIG.
L‟ergonomie de son interface.
La nécessité de former les chargés d‟études pour sa prise
en main.
Ses atouts en termes d‟apport de solutions d‟analyses.
Les possibilités d‟échanges de données.
La compatibilité de ses supports de données avec
d‟autres.