donnes
4 Dirents modles de BD 6
4.1 Modle hirar
hique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
4.2 Modle rseau . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
1
1 Pourquoi des bases de donnes ?
Le besoin de sto
ker et de manipuler de gros volumes de donnes n'est pas nouveau : avant
l'apparition de l'informatique, l'information tait par exemple gre l'aide d'un ensemble de
hes
manuelles.
Aujourd'hui, on
onstate d'une part un a
roissement de
e besoin
ar l'information sto
ker
au sein d'une institution est de plus en plus volumineuse (Kodrato (1998) estime que la masse
des donnes sto
kes dans le monde double tous les 20 mois). D'autre part, le
ot du sto
kage de
l'information diminue.
Ave
les premiers ordinateurs, les informati
iens ont tout naturellement
opi les organisations
manuelles pour sto
ker les donnes (les bandes magntiques sont une manire de mettre des
hes
manuelles la suite).
Voyons de manire s
hmatique les limites d'une organisation traditionnelle base de
hiers.
Dans
ette situation, tous les programmes d'appli
ations ont leurs propres
hiers de donnes (
f.
gure 1).
fichiers de donnes
application 1
de lapplication 1
fichiers de donnes
application 2
de lapplication 2
Les programmes qui ont besoin des mmes donnes utilisent des
hiers distin
ts. On
onstate
alors une multipli
it :
des
hiers,
des appli
ations et des langages de dveloppement,
des supports physiques et des normes.
Une telle organisation s'explique par le fait que l'informatique est entre progressivement dans
les entreprises et que les appli
ations ont t ajoutes les unes aprs les autres (par exemple,
la
omptabilit, puis la gestion de sto
k, la produ
tion, le
ontrle de produ
tion, le servi
e du
personnel, et
.).
Cette organisation (ou plutt ette non organisation) pose un ertain nombre de problmes :
Redondan
e et in
ohren
e des donnes. Une appli
ation nouvelle a souvent besoin de donnes
ontenues dans des
hiers dj prsents et d'autres donnes. Si on
re un
hier pour
haque
appli
ation, des donnes sont dupliques
e qui entrane des risques d'in
ohren
es lors des
mises jour (
ause de la multipli
it de
hiers
orriger). Par exemple, un programme
de paye et de gestion de personnel
ontiennent tous deux des mmes donnes : nom, adresse
et divers renseignements sur les employs.
Dpendan
e entre donnes et traitements. Les programmes ont tendan
e faire rfren
e au
format de sto
kage des donnes. Une modi
ation dans la stru
ture des donnes entrane des
modi
ations dans les programmes
orrespondants.
Une gestion
omplexe des donnes. Comme les donnes sont
res de manire anar
hique, il
est di
ile de les grer
orre
tement et d'en avoir un point de vue global.
Toute requte non prvue demande un traitement ad ho
et par exemple l'
riture d'un
module sp
ique par le servi
e informatique.
2
La multipli
it des
hiers rend plus aigu les problmes de s
urit (ne pas laisser qui
onque
a
der l'ensemble des donnes) et d'intgrit (
ontraintes portant sur les types et les
valeurs des donnes).
puisse disposer de l'information qu'il souhaite : idalement, il s'agit de rendre heureux tous
les utilisateurs.
De faon s
hmatique, un SGBD
onstitue une
ou
he intermdiaire entre les donnes (qui sont
dans la BD) et les programmes d'appli
ation (voir la gure 2).
SGBD
Systme de gestion de fichiers
BD BD
La base de donnes proprement parler sto
ke les donnes sous une forme stru
ture (dpendant
du modle de la base de donnes) en mmoire se
ondaire. Il faut distinguer la manire dont on
peroit les donnes (organisation logique) de
elle ave
laquelle les donnes sont rellement sto
kes
(organisation physique) (
f. paragraphe 3).
3
2.2 Obje
tifs
Les obje
tifs d'un SGBD distinguent
ette appro
he de
elle des
hiers
lassiques. Ceux-
i
sont :
Indpendan
e physique. Les donnes sont organises dans la base de faon indpendante de
l'utilisation qui en sera faite. Les disques, ma
hines, mthodes d'a
s,
odages, et
. ne sont
pas apparents.
Indpendan
e logique. Chaque groupe d'utilisateurs doit pouvoir se
on
entrer uniquement sur
e qui l'intresse. Il arrange les donnes son souhait, mme si d'autres utilisateurs en ont une
vue dirente. Par exemple, dans une agen
e de lo
ation de voiture, un
ommer
ial souhaite
savoir quelles sont les voitures disponibles, le servi
e entretien quelles sont les voitures
rviser. Dans la pratique, un SGBD est fond sur un modle de donnes la stru
turation des
donnes et leurs liens.
Cohren
e des donnes. Un SGBD doit permettre l'utilisateur de sp
ier des proprits
et
ontraintes sur les donnes (par exemple, un employ doit avoir un numro de s
urit
so
iale, une note d'tudiant doit tre
omprise entre 0 et 20, l'emprunteur d'un livre doit tre
abonn au
lub). Cette
ohren
e est obtenue par des
ontraintes d'intgrit qui doivent tre
vries sur les donnes, mais aussi par les pro
essus de normalisation.
Partage des donnes. Direntes appli
ations doivent se partager les donnes de la base dans
le temps mais aussi simultanment. L'utilisateur doit avoir l'impression qu'il est seul utiliser
les donnes. Pour
ela, il est n
essaire de
ontrler
e partage an de dte
ter et de rsoudre
d'ventuels
onits d'a
s.
Souplesse d'a
s aux donnes. La fa
ilit d'utilisation et la puissan
e des outils d'interroga-
tion intgrs dans les SGBD (
omme par exemple les langages d
laratifs) aident atteindre
et obje
tif. Il s'agit de manipuler des donnes ave
des langages non pro
duraux (d
rire
e que l'on souhaite sans d
rire
omment l'obtenir). QBE et SQL en sont des exemples.
Performan
es. Un SGBD doit permettre la fois de grer un grand volume de donnes tout
en orant un temps d'a
s raisonnable aux utilisateurs, sinon leurs intrts pour l'utilisa-
tion de la BD d
rotront. Un partage des ressour
es (unit
entrale, entres / sorties) est
n
essaire entre les dirents utilisateurs tout en optimisant l'utilisation globale. Le goulet
d'tranglement est les a
s disques (lents relativement l'a
s la mmoire
entrale) et on
her
her les minimiser.
S
urit, administration et
ontrle globale des donnes. La s
urit doit tre assure vis
vis des manipulations errones ou malveillantes d'un utilisateur mais aussi vis vis d'un
in
ident matriel ou logi
iel. Il s'agit aussi de d
ider de l'information
ontenue dans la base
(disposer d'une dnition able et
laire des donnes), de d
ider des stru
tures physiques
et des stratgies d'a
s, de dnir les autorisations a
ordes aux utilisateurs (par exemple,
un
hef de servi
e peut
onnatre les salaires des employs de son servi
e, mais pas de toute
l'entreprise), de dnir les points de reprise et les sauvegardes. Pour
ela, un SGBD doit orir
aux administrateurs des outils de vri
ation de
ohren
e de donnes, de restru
turation
ventuelle de la base, de sauvegarde (points de reprise permettant la remise de la base dans
un tat satisfaisant, journalisation des modi
ations faites sur les donnes),...
langage de dnition de donnes (LDD) : il permet de sp
ier l'ar
hite
ture d'une
base de donnes (s
hma logique, vues). Ce langage est asso
i au modle (par exemple,
hirar
hique, rseau, relationnel :
f. paragraphe 4). La sp
i
ation du s
hma
omprend ty-
piquement les objets, les
lasses d'objets et les liens entre
es objets. Le LDD est indpendant
de l'organisation physique des donnes.
langage de
ontrle des donnes (LCD) : il permet de sp
ier les autorisations donnes
aux utilisateurs.
4
langage d'interrogation et de manipulation de donnes (LID et LMD) : le LMD est
utilis pour les mises jour, le LID (pour re
her
her et
onsulter) doit tre simple pour tre
utilisable par un maximum d'utilisateurs. Il existe deux types de langages d'interrogation de
donnes :
les langages pro
duraux : l'utilisateur doit pr
iser
omment atteindre les donnes. C'est
le
as par exemple des langages navigationnels (hirar
hique et rseau), de
ertains lan-
gages algbriques relationnels (par exemple les langages algbriques relationnels o une
sle
tion-proje
tion-jointure demande au programmeur de dnir une su
ession de sle
-
tion, proje
tions et jointures binaires).
les langages non pro
duraux : l'utilisateur ne sp
ie pas
omment atteindre les donnes,
en parti
ulier, l'utilisateur ne pr
ise pas l'ordre des oprations d'a
s aux donnes. Le
SGBD se
harge de la pro
dure de re
her
he. Cette famille est
ompose des langages
prdi
atifs et des langages algbriques dont les oprandes sont susamment de haut niveau
(par exemple SQL ave
sa
ommande SELECT). Les langages non pro
duraux sont a
priori plus fa
iles utiliser que les langages pro
duraux.
n schmas niveau
vue 1 vue 2 vue n
externes externe
niveau externe : l'utilisateur n'a en gnral besoin que d'une vue partielle,
orrespondant
aux donnes propres son problme ave
sa vision souhaite des donnes. Le s
hma externe
orrespondant
ette vue est un sous-ensemble du s
hma
on
eptuel. D'un point de vue
te
hnique, les vues permettent d'assurer une
ertaine s
urit des donnes (un utilisateur ne
pouvant a
der qu'aux donnes de sa vue, les autres donnes sont ainsi protges
ontre les
a
s non autoriss ou mal intentionns). Les vues relvent du niveau de l'administrateur des
appli
ations et des utilisateurs.
niveau
on
eptuel : il
orrespond une vue globale de l'organisation,
'est la vision que le
systme possde du monde rel. Les donnes sont sous leur stru
ture
anonique, sans sou
i
d'implantation en ma
hine. Une modlisation au niveau
on
eptuel a pour but d'identier et
de d
rire (ave
le langage de dnition de donnes) les objets intressants de l'environne-
ment. En gnral, on dnit des entits qui possdent des proprits (ou attributs). Les entits
sont relies par des liens (ou asso
iations). On trouve parfois des rgles que devront suivre
les donnes au
ours de leur vie (limites pour les valeurs, dpendan
e entre entits,. . .). La
5
on
eption d'un modle
on
eptuel doit tre indpendante des
ontraintes te
hnologiques.
C'est
e niveau qui porte la smantique des donnes. A priori, on ne modiera le modle
on
eptuel que si le rel
hange. Le niveau
on
eptuel est plus parti
ulirement
elui de
l'administrateur d'entreprise.
niveau interne :
'est l'organisation physique des donnes. Celle-
i dpend du matriel et
des logi
iels employs. Les donnes sont sauvegardes en mmoire se
ondaire dont la
apa
it
est a priori illimite (il sut de disposer de nouveaux disques). Le s
hma interne est la
tradu
tion du s
hma
on
eptuel. Ce niveau est du ressort de l'administrateur de la BD.
Une base parti
ulire possde don
un seul s
hma interne et
on
eptuel et plusieurs s
hmas
externes.
La possibilit de modier les des
riptions l'un des niveaux sans ae
ter les des
riptions des
autres niveaux
onstitue l'indpendan
e des donnes. Il existe deux types d'indpendan
e :
indpendan
e physique : un
hangement dans le sto
kage physique des donnes est transparent
pour un utilisateur ou un programme d'appli
ation. Par exemple, l'adjon
tion d'un index ne
doit pas remettre en
ause les appli
ations.
indpendan
e logique : une modi
ation des vues des utilisateurs est possible sans modier
le s
hma logique et inversement. Par exemple, on peut ajouter un type d'objet sans
hanger
les programmes d'appli
ations. Ou en
ore
hanger la dnition d'une adresse sans avoir
modier tous les programmes utilisant les adresses. Ce type d'indpendan
e permet :
haque groupe de travail de voir les donnes
omme il le souhaite,
l'volution des s
hmas externes sans remettre en
ause (au moins jusque dans une
ertaine
limite) le s
hma logique,
l'volution des s
hmas externes sans remettre en
ause les autres s
hmas externes.
L'indpendan
e logique des donnes est plus di
ile obtenir que l'indpendan
e physique.
En eet, les programmes d'exploitation sont fortement dpendants de la stru
turation logique des
donnes qu'ils manipulent.
4 Dirents modles de BD
Il existe
inq grands modles de bases de donnes : les bases hirar
hiques et rseaux (sur
lesquelles nous revenons trs brivement dans
e paragraphe), les bases relationnelles, les bases
ddu
tives et les bases objets. En 2000, environ les 3/4 des BD sont relationnelles, 20 % rseaux
et le restant se divise essentiellement entre les bases objets et ddu
tives.
6
Numro Nom Adresse Numro Solde
arbre T1 arbre T2
T1
101 1000 345 15000 875 300 875 300 200 300
T2
7
4.2 Modle rseau
Le modle rseau a t propos par le groupe CODASYL en 1971 et amlior en 1978. Le
groupe CODASYL,
orrespondant l'
ole amri
aine, utilise la notion d'enregistrement de CO-
BOL, l'
ole franaise du modle rseau a dvelopp SOCRATE/CLIO (aussi vers 1970). Ave
SOCRATE/CLIO, une entit peut rfren
er une autre entit (lien monovalu) ou en rfren
er
plusieurs par l'intermdiaire d'un anneau (lien multivalu).
Le modle rseau repose sur deux lments : l'enregistrement et le lien (ou ensemble). Un en-
registrement
orrespond la notion d'entit ave
en plus la possibilit d'avoir des attributs de
niveaux embots (par exemple, une adresse qui va se d
omposer en plusieurs attributs) et des
attributs plusieurs o
urren
es (par exemple, un numro de tlphone). Le lien (ou ensemble,
appel SET en CODASYL)
orrespond une asso
iation de
ardinalits 1,1 ou 1,* ou *,1 (l'en-
registrement dont la
ardinalit est 1 est appel membre, l'autre propritaire ). Les asso
iations
de type *,* sont possibles en dnissant un enregistrement posti
he pour ee
tuer le lien :
et
enregistrement a autant d'o
urren
es que d'o
urren
es de l'asso
iation (
f. gure 5 qui reprend
l'exemple vu ave
le modle hirar
hique). Le rseau se prsente
omme un graphe orient entre
les enregistrements.
1
Client Compte C108 Jean Louvigny 101 1000
2
Numro Numro
345 15000
Nom Solde C12 La Bayeux 3
Adresse
875 300
4
Possde C3 Barbara New York
5 200 300
Le modle relationnel dont les premiers fondements remontent aux annes 70 va plus loin que
les deux pr
dents : le
hemin emprunter n'est pas expli
itement indiqu,
'est le systme qui
hoisit. Ce modle est bas sur la thorie des ensembles qui fournit des proprits intressantes
pour les oprateurs relationnels.
BD multi-mdia : grer des textes (BD textuelles), des images (BD images), du son, des
donnes gographiques (systmes d'information gographiques), et
.,
BD ddu
tives : les donnes sont reprsents en tables (prdi
ats), le langage d'interrogation
utilise la logique du premier ordre,
BD orients-objets : Les donnes sont reprsentes en tant qu'instan
es de
lasses hirar
hi-
ses (l'hritage permet de fa
toriser la
onnaissan
e). Il y a intgration dans une stru
ture
onjointe des programmes et des donnes en
lasse (de fait,
haque donne est a
tive et
possde ses propres mthodes d'interrogation et d'ae
tation). A la diren
e des SGBD
relationnels, l'heure a
tuelle, il n'existe pas de langage standard pour les SGBD orients
objets (OQL (Obje
t Query Language ), un standard de type SQL, est en
ours de dnition).
8
6 Con
lusion : volution des pro
essus d'informatisation.
On distingue s
hmatiquement trois priodes dans l'histoire de l'informatisation des organisa-
tions.
priode fon
tionnelle : les problmes stru
turs (fa
turation,
omptabilit) sont abor-
ds. Les appli
ations sont indpendantes, sur une ar
hite
ture matrielle
entralise. Le d-
veloppement logi
iel s'ee
tue par des mthodes analytiques et fon
tionnelles (on d
rit les
rsultats souhaits pour remonter ensuite aux donnes). Les langages sont pro
duraux, les
programmes utilisent des
hiers et des
hanes de traitement pr-enregistrs (Job Control
Language). L'utilisateur n'intervient pas.
priode
on
eptuelle :
'est le dveloppement des SGBD pour des problmes qualis
d'ouverts (assistan
e et prparation des d
isions de gestion). On
her
he relier les ap-
pli
ations, favoriser la
ohren
e, la non-redondan
e, le partage et l'a
s
on
urrent des
donnes. L'ar
hite
ture logi
ielle se
ompose de BD et SGBD, on y ee
tue des transa
tions
et des requtes. Les langages de programmation sont la fois d
laratifs (SQL) et pro
-
duraux (COBOL). L'ar
hite
ture matrielle est
entralise ave
des terminaux passifs. La
mi
ro-informatique apparat au dbut des annes 80. En faisant perdre du terrain au servi
e
informatique au prot des utilisateurs, elle est
onsidre
omme un mouton noir par de
nombreuses entreprises. Au niveau des mthodes, on
her
he avoir une vision d'ensemble
de l'organisation. On
onsidre que
onstruire le systme d'information d'une organisation,
'est
onstruire sa base de donnes. Les utilisateurs sont passifs (rle en
onsultation et en
saisie).