CHAPITRE II : NOTIONS DES BASES DE DONNEES
Ce chapitre definit et donne un commentaire sur
certains concepts necessaires utiles dans les notions des bases de donnees. Les
donnees permanentes constituent certainement le materiau de base a partir
duquel l'utilisateur va elaborer la plupart de ses applications. Certaines
applications ses reduisent a gerer et consulter les donnees ; ces donnees sont
rangees dans des fichiers et sont structurees en enregistrement.
Mais si la masse et la complexite de donnees a traiter
deviennent importantes, il est necessaire que ces donnees aient aussi une
structure complexe. Les donnees sont classees dans plusieurs fichiers en
fonction d'objets qu'elles decrivent. Il existe entre les fichiers des liens
qui sont a l'image des relations entre objets decrits il apparait aussi
rapidement que les donnees necessaires a une application pourrait etre utiles
pour d'autres applications voire a d'autres utilisateurs. Ces donnees
constituent alors ce qu'on appelle une BDD
2.1.BASES DE DONNEES(BDD) 2.1.1 DEFINITION
Une Base de donnees est un ensemble de donnees modelisant
les objets d'une partie du monde reel et servant de support a une application
informatique.
Une Base de donnee peut etre aussi pour certains, une
collection de fichiers relies par des pointeurs multiples, aussi coherents
entre eux que possible, organises de maniere a repondre efficacement a une
grande variete de questions.11
Une Base de donnees est donc un ensemble structure des
donnees accessibles par l'ordinateur pour satisfaire plusieurs utilisateurs
simultanement au temps opportun. 12
2.1.2 LES CRITERES D'UNE BASE DE DONNEES
Une Base de donnees doit repondre aux criteres suivants
:
a) Exhaustivite : implique que l'on dispose de toutes
les informations relatives au sujet donne.
b) La non redondance : implique l'unicite des
informations dans la base de donnees .En general on essaie d'eviter la
duplication des donnees car cela pose des problemes de coherence lors des mises
a jour de ces donnes.
c) La structure : implique l'adaptation du mode de
stockage des renseignements aux traitements qui les exploiterons et les
mettrons a jour ; ainsi qu'au cout de stockage de ces renseignements dans
l'ordinateur.
Le stockage physique d'une base de donnees consiste en
un ensemble d'enregistrements physiques. Organises a l'aide des listes, des
pointeurs et differentes methodes d'indexation.
11 Georges GARDARIN, Base
de donnees objet et relationnelle, Ed. Eyrolles, Paris, 1999, pp.
3.
12 Franc MANYA, S.G.B.D,
cours G2 Info.U.KA, 2008
2.2. SYSTEME DE GESTION DE BASE DE DONNEES (SGBD) 2.2.1.
DEFINITION
Les donnees stockees dans des bases de donnees
modelisent des objets du monde reel, ou des associations entre objets. Les
objets sont en general representes par des articles de fichiers , alors que les
associations correspondent naturellement a des liens entre articles. Les
donnees peuvent donc etre vues comme un ensemble de fichiers par des pointeurs
; elles sont interrogees et mises a jours par des programmes d'application
ecrits par les utilisateurs ou par des programmes utilitaires fournis avec le
SGBD.
Un SGBD peut etre defini comme un langage ( logiciel)
qui sert a interagir avec un BDD et qui permet a l'utilisateur de definir les
donnees de la base, de les consultees et de les mettre a
jour.13
Georges Gardarin, definit un SGBD comme etant un
ensemble de logiciels systèmes permettant de stocker et d'informer un
ensemble de fichiers, interdependants, mais aussi comme un outil permettant de
modeliser et gerer les donnees d'une entreprise.14
2.2.2. LES OBJECTIFS ET FONCTION D'UN
SGBD15
A. Fonction d'un SGBD
Un SGBD permet de decrier les donnees de bases, de
les interroger, de les mettre a jour, de transformer des representations de
donnees, d'assurer le controle d'integrite, d'occurrence et de
securite.
B. Les objectifs Un SGBD offre les objectifs principaux
qui sont :
-Inde'pendance physique : un SGBD offre la facilite de
changer le schema interne sans changer le programme d'application. Cela
signifie que le niveau physique peut etre modifie independamment du niveau
conceptuel.
-Inde'pendance logique : ici le SGBD permet de
modifier schema conceptuel sans changer le programme d'application. Donc le
niveau conceptuel peut etre modifie sans remettre en cause le niveau
physique.
-La manipulation de donnees par des langages non
proceduraux :le SGBD doit permettre interrogation et la mise a jour de
donnees par des langages de haut niveau specifiant les donnees que l'on veut
traiter(de quoi) et non pas comment y acceder.
-La facilité d'administration : les langages de
haut niveau referencent des descriptions logiques des donnees (schema externes)
stockees dans le dictionnaire de donnees pour permettre la creation et
modification de la description.
13 Jean=Luc Hainaut, Base
de donnees et modeles de calcul, 2emUe ed. Dunod,
Paris, 2000, pp. 34.
14 Georges GARDARIN, optic
cit, pp.13
15 Idm, pp. 23=29
=Fiabilité des données
: le SGBD permet de verifier les contraintes des donnees (integrite
referentielle, reflexes, etc.) ; gerer des transactions (atomicite des
transactions) et securite (mot de passe, etc.) ; recuperer des donnees en cas
de crash logiciel, OS (Operating System) ou disque.
2.3. NIVEAU DE REPRESENTATION DES DONNEES
Pour simplifier la vision des utilisateurs, les SGBD
assurent une abstraction des donnees stockees sur disque en distinguant trois
niveaux de description de donnees16 qui sont :
2.3.1 NIVEAU CONCEPTUEL
C'est le niveau central correspondant a la structure
canonique de donnees qui existent dans l'entreprise c.=à=d. leur
structure semantique inerante sans souci d'implementation en machin,
representant la vue integree de tous les utilisateurs. La definition du schema
conceptuel d'une entreprise necessite un accord sur les concepts de base que
modelisent les donnees.
2.3.2 NIVEAU INTERNE
Ce niveau correspond a la structure de stockage du
schema interne necessite au prealable le choix d'un SGBD. Elle permet donc de
decrire les donnees telles qu'elles sont stockees dans la machine.
2.3.3 NIVEAU EXTERNE
Au niveau externe, chaque groupe de travail utilisant
des donnees possede une description des donnees percues appelee schema externe.
Cette description est effectuee selon la maniere dont le groupe voit la base
dans ses programmes d'application. Alors qu'au niveau conceptuel et interne les
schemas decrivent toutes une base de donnees, au niveau externe ils decrivent
simplement la partie de donnees presentant un interLt pour l'utilisateur ou un
groupe d'utilisateurs. En consequence, le schema externe est souvent qualifie
de vue externe. Le modele externe utilise est dependant du langage de
manipulation de la base de donnees.
2.4. STRUCTURES DE DONNEES
Pour modeliser les donnees sous formes appropriee du
SGBD a utiliser, il est necessaire de connaitre quelques structures des bases
de donnees. Dans cette partie nous presentons brievement les differents modeles
de representations de donnees.
2.4 .1. LES MODELES HIERARCHIQUES
Le monde reel nous apparait souvent au travers des
hierarchies et etant donne que les BDD modelisent les informations qui monde
reel, il est normal que ce modèle soit l'un des modèles les plus
repandus.
16 Arnold Roch et Jose,
M., La methode Merise, pp. 23=25.
Le modele hierarchique peut etre vu comme un cas
particulier du modele reseau, l'ensemble de lignes entre types d'article devant
former des graphes hierarchiques. Cependant, les articles ne peuvent avoir des
donnees repetitives. dans cette structure les donnees sont organisees selon une
arborescence. Chaque nceud ( entite) de l'arbre correspondant a une classes d'
entite du monde reel et le chemin entre les nceuds represente les liens
existant entre les entites.17
Le SGBD le plus connu dans cette categorie est IMS,
produit ancien de IBM, trts repandu dans les applications de production. Les
concepts de la base du modele sont les champs, plus petites unites de donnees
possedant chacune un nom et l'article.
L'article : suite de champs, portant un nom et
constituant l'unite d'echange entre la base de donnees et les applications. Les
articles sont relies entre eux par de liens hierarchiques : a un article pere
possedent N articles fils.
La notion de type d'article qui designe le schema d'un
article (description contenant) sa distingue ici de celle d'occurrences
d'article qui representent les differentes valeurs stockees de la
base.
Dans ce modele nous pouvons retenir que :
v Il y a un seul type article racine ;
v La racine peut avoir un nombre quelconque de types
d'articles d'enfant ;
Chaque type d'article enfant de la racine peut avoir un
nombre quelconque de types d'articles d'enfant, et ainsi de suite ;
v A une occurrence d'un type d'article donne, peuvent
correspondre 0,1 ou N occurrence de chaque type d'article d'enfant
;
v Une occurrence d'article enfant ne peut exister sans
l'occurrence d'un article.
Nota : Detruire une occurrence d'article pere, detruit
par consequent egalement les occurrences des ses enfants.
Exemple du modele higrarchique
2.4.2. LE MODELE RESEAU
Dans ce modele, les donnees sont representees sous
formes graphique, c'est une facilite trts importante de representation de la
realite d'une entreprise et proposant la notion de sous ensemble. Ce modele est
une extension de la structure hierarchique dans lequel le graphe des objets
n'est pas limite. Il permet en outre de representer le partage ainsi que les c
ycliques entre les objets. Le SGBD concu selon ce modele se conforme aux normes
fixees par le groupe CODASYL (Conference On Data System Languages) en 1971. Les
SGBD
17 Georges GARDARIN, optic
cit, pp.136
reseaux les plus representes sur le marche sont les
systemes IDS II (Information Data Store), concu par BACHMAN et WILLIAMS, ou IMS
2 d'IBM. Le SGBD reseau propose une solution pour :
· gerer les relations porteuses de cardinalites
maximales a n ;
· prendre en compte la cardinalite mini a 0
;
· gerer les relations de type n=aire
· obtenir plusieurs points d'acces, autres que le
sommet de l'arbre. Pour cela, il modifie l'une des regles de dependance entre
les entites : Une entite "fille" peut avoir plusieurs entites
"meres".
Enfin les SGBD de type CODASYL permettent de mettre en
place d'autres points d'entree dans la base de donnees : les Data=Record=Ke y.
Ces cles d'acces sont positionnees sur les segments regulierement sollicites
pour certains traitements, ce qui permet d'ameliorer les temps d'acces aux
donnees et d'alleger les traitements de recherche de ces memes
donnees.
Il est clair que ce type de SGBD apporte une plus
grande souplesse et une plus grande rapidite aux differents traitements. Mais
les chemins d'acces aux donnees restent trts dependants de la structure
adoptee. Le langage navigationnel qui permet d'acceder et de manipuler les
donnees reste lourd : il faut connaitre le chainage et les jeux de pointeurs
mis en place en plus de la signification des donnees. En dehors de traitements
preetablis, la base de donnees n'est accessible qu'a des
specialistes.
Le schema de la base de donnees, avec les jeux de
pointeurs et les cles d'acces aux records, necessite une compilation a chaque
modification de structure et la refonte des differents programmes.
L'evolution ou la modification de telles bases de donnees
restent donc delicates a mener. Exemple du modéle
Réseau
2.4.3. LES MODELES ORIENTES - OBJETS.
Ils sont issus des reseaux semantiques et des langages
de programmation orientes objets. Ils regroupent les concepts essentiels pour
modeliser de manière progressive des objets complexe encapsules par des
operations de manipulations associees. Ils visent a permettre la reutilisation
des structures et d'operation pour construire des entites plus complexes, le
modèle ment ensemble les objets et les traitements pour decrire
des
systemes presentant et adaptant au contexte de base de
donnees, les caracteristiques d'identite objet (nom) des classes (ensemble
d'objet et de traitement) et d'heritage (reutilisation des
traitements).
Donc Les SGBD objet enregistrent les donnees sous
forme d'objets : les donnees sont enregistrees avec les procedures et les
fonctions qui permettent de les manipuler. Ils supportent la notion d'heritage
entre classes d'objets complexes (les pointeurs remplacent les jointures pour
les structures hierarchiques)
A priori, beaucoup d'avantages sur le relationnel, mais
manque de normalisation et de standard inertie de l'existant (presque toutes
les bases actuelles sont de type relationnel)
Exemple du modele objet
2.4.4. LES MODELES RELATIONNELS
Suite a ses recherches au centre d'IBM a San Jose, le
mathematicien E.F. CODD propose en 1970 une theorie rigoureuse pour
l'elaboration d'un modele de donnees constitue de relations, c'est a dire de
tableaux a deux dimensions.
Ce modele s'inspire directement de la notion
mathematique de relation. Ce modele relationnel permet de representer les
donnees sous forme de table. Il est simple ce qui le rend attractif pour les
utilisateurs car il est facile a comprendre et a manipuler. De plus, il repose
sur des structures mathematiques simples, permettant l'usage d'un langage de
requêtes concis et puissant.
La premiere volonte du modele relationnel fut
d'être un modele ensembliste simple. Les objectifs recherches par le
modele relationnel etaient :
o de traiter les donnees de fa>on formelle, en
s'appuyant sur les theories mathematiques de CODD (algebre
relationnelle);
o d'assurer une independance entre la structure de
stockage des donnees et les programmes, afin de pouvoir faire evoluer les uns
parallelement aux autres ;
o d'augmenter la productivite des programmeurs, en leur
fournissant des outils et des langages rendant plus facile la manipulation
des donnees.
Les annees qui ont suivies l'apparition du modele
relationnel ont vu s'elaborer une theorie solide qui permet aujourd'hui de
construire et d'exploiter des bases de donnees d'une maniere tres efficace en
proposant :
o une structure relationnelle de stockage des donnees
;
o la disparition de la representation en graphe des
donnees (representation de BACHMAN) ;
o la suppression des "ficelles" physiques liant les
donnees entre elles ;
o la facilitation de l'acces aux donnees pour les
utilisateurs, notamment non informaticiens.
Le rapprochement entre donnees est possible grace a
l'existence de domaines communs dans l'ensemble des relations (tables) de la
base de donnees. Les recherches et mises a jour sont effectuees a l'aide d'un
langage non procedural et non navigationnel, permettant de specifier les
donnees que l'on veut obtenir sans dire comment y acceder, ainsi que de
traitements ensemblistes. C'est donc le moteur du SGBD qui doit determiner le
meilleur plan possible d'acces aux donnees.
Le SGBD Relationnel a comme objectifs
· Proposer des schemas de donnees faciles a
utiliser
· Ameliorer l'independance entre donnees et
traitements
· Mettre a la disposition des utilisateurs des
langages de haut niveau
· Optimiser les acces a la base
· Permettre le developpement de nombreuses
applications
2.5. BASE DE DONNEES RELATIONNELLES
(BDDR)18
Les BDDR sont concues a partir du modele rationnel,
elles sont d'une grande importance du fait de leur popularite au sein de la
recherche et de l'information de gestion. Le succes des BDDR tient
essentiellement a leur simplicite. Elles ne contiennent qu'une seule structure
de donnees : tables, avec des lignes et des colonnes et les relations reliant
ces tables.
Hainant, Jean -- Luc, lui definit une BDDR comme une
collection de tables des donnees ou fichiers plats, une structure extremement
simple et intuitive qui , pour l'utilisateur du moins ne s'encombre d'aucun
details techniques concernant les mecanismes de stockages sur disque et d'acces
aux donnees.
a. table : est une entite qui contient (une suite de
lignes stockees sur un support externe. Elle peut etre definie comme etant un
groupe de proprietes , reflet d'un objet presentant un interet pour le systeme
etudie dotee d'une existence propre, et identifiable.
b. Ligne (tuple ou r -- replets) de la table : est
une suite de (une ou) plusieurs valeurs, chacune etant d'un type determine.
D'une maniere generale, une ligne regroupe des informations concernant un objet
(entite), un individu, un evenement, etc. dans une BDDR, tous les signes
presentes dans une table ont le meme format ou la meme structure.
18 Jean=Luc Hainaut, Base
de donnees et modèles de calcul, 2eme ed. Dunod, Paris,
2000, pp. 31=40.
c. Colonne ( attribut) de la table : est l'ensemble des
valeurs de meme type
correspondant a une meme propriete des entites
decrites ; ces colonnes jouent des roles differents vis=à=vis des
entites representees par les lignes d'une table. Une colonne donnee joue le
role d'un identifiant, d'une cle etrangere, d'une information complementaire
etc.
- Identifiant : c'est une colonne choisie pour
identifier une entite et aussi la ligne qui la represente dans la table c'est a
dire qu'elle distingue sans ambigiiite l'occurrence d'un objet.
= cle etrangere : c'est une colonne constitue de
l'identifiant d'une autre table et joue un role de reference a une ligne de
cette table ; on l'appelle ' colonne de reference ' ou
'cle complementaire sur l'entite'.
d. Relation
La relation est encore appelee table relationnelle ou
table.
Afin d'expliquer ce concept, on peut utiliser les deux
ensembles suivants : PERSONNES = {P1, P2, }
ASSOCIATION = {A1, A2}
Le produit cartesien PERSONNES x ASSOCIATION est defini
par : P x A = {P1=A1 ; P1=A2 ; P2=A1 ; P2=A2 ; P3=A1 }
Generalites sur les Bases de Donnees
Ce produit cartesien peut etre represente par la relation
suivante :
PERSONNES ASSOCIATION
P1 Al
P1 A2
P2 Al
P2 A2
Le resultat de ce produit cartesien est un ensemble de
valeurs. Chaque ligne est un element de l'ensemble mais seule une partie
d'entre elles va etre interessante, car elle represente la realite de l'univers
de travail.
Si lion considere que, dans la realite A1 englobe P1 et
que A2 englobe P2 et P3, on obtient le tableau suivant, sous ensemble du
precedent :
PERSONNES ASSOCIATION
P1 Al
P2 A2
P3 A2
Ce qui permet de definir une table relationnelle de la
maniere suivante :
Une table relationnelle est un sous-ensemble du produit cartesien
d'une liste de domaines. Ce sous-ensemble peut-etre represente par un tableau a
deux dimensions (lignes' colonnes).
En consequence, on peut dire qu'une relation : = n'a pas
deux lignes identiques ;
= que l'ordre des lignes n'est pas significatif
;
= que l'ordre des colonnes n'est pas
significatif.
On la note : R (r1, r2, rn) oft R est le nom de la
relation. Exemple : PRESONNES (N° pers'
nom_pers' adresse' N° ccp) e.
L'attribut
Afin de pouvoir distinguer les colonnes d'une relation,
et ainsi rendre leur ordre sans importance, il est necessaire d'associer un nom
a chaque colonne.
Un attribut d'une table relationnelle est le nom d'une colonne
de cette relation. Le nom de cette colonne doit etre unique pour la
relation consideree. Les valeurs acceptees dans chaque colonne respectent un
certain nombre de regles et/ou appartiennent a un ensemble defini de valeurs
:
Un attribut est defini par rapport a un domaine. f
Le domaine
Un domaine est un ensemble dans lequel les donnees
prennent valeur, c'est=à=dire dans lequel elles sont
significatives.
Il peut etre d!fini :
= en extension' en donnant la liste
des valeurs composantes ;
= en intention' en definissant une
propriete caracteristique des valeurs du domaine. A titre d'exemple, on
peut considerer :
= le domaine des couleurs de l'arc=en=ciel, ce qui suffit
a d!finir en intention ce domaine ;
= {rouge, orange, jaune, vert, bleu, indigo, violet}
si l'on souhaite d!finir en extension ce meme domaine. C'est l'utilisation de
ce concept de domaine qui va faciliter les rapprochements entre informations
contenues dans des tables differentes, stockees dans des colonnes aux noms
differents et parfois meme n'ayant d'autre lien entre elles que cette
appartenance a un meme domaine.
g. Le degre
Le degre d'une table est le nombre d'attributs composant
cette table.
h. La valeur
La valeur est le contenu d'un attribut pour un tuple
donné.
En résumé ATTRIBUTS
INDENTIFIANT
|
NOM
|
PRENOM
|
SEXE
|
120120
|
LOLEKE
|
Freddy
|
M
|
120121
|
WAYI
|
Valérien
|
M
|
130131
|
DJEMA
|
Angel
|
F
|
130130
|
BASA
|
Marie
|
F
|
Attribut1 Attribut2 Attribut3 Attribut4
DEGRE=4
RELATION
2.6. ASPECT CONCEPTUEL D'UNE BASE DE
DONNEES19
2.6.1 RECEPTION DU MONDE REEL ET CAPTURE DES
DONNEES
Appelé aussi analyse, préalable, cette
étape consiste a étudier les problèmes de l'entreprise et
a comprendre ses besoins, elle comporte des entretiens, des analyses des flux
d'information et de processus du métier.
2.6.2. ELABORATION DU SCHEMA CONCEPTUEL
Cette élaboration est basée sur
l'intégration des schémas externes obtenus a l'étape
précédente. Chaque composant est un schéma entité =
association ou objet. Le MCD constitue une description globale des
données manipulées dans l'organisme, tous acteurs et tous
documents confondus. Il revLt importance trts grande dans la mesure oft il
constitue le référentiel informationnel de
l'organisme.
2.6.3. ELABORATION DU SCHEMA LOGIQUE
Cette étape réalise la transformation du
schéma conceptuel en structure de données supportées par
le SGBD choisi. Pour un SGBD relationnel, il s'agit de passer par des
tables.
19 Dominic DIONISI,
l'essentiel sur Merise, Ed. Eyrolles, Paris 1998, pp.60=75
1. Passage du Modele Conceptuel des Donnees au Modele
Logique
Au cours de l'analyse prealable a la mise en place
d'une base de donnees, les concepteurs utilisent pour modeliser les donnees du
systeme d'information les concepts et les regles du MCD. Le modele obtenu est
un schema conceptuel de la future base, qu'il faut ensuite transformer en un
schema interne pour preparer son implantation physique sur les structures de
stockage. Ce schema interne correspond exactement a la definition du Modele
Logique de Donnees, employe dans la methode Merise.
Pour realiser ce passage du MCD au MLD, il existe un
certain nombre de regles edictees en fonction de la nature de la relation (au
sens Merise du terme) existant entre un ou plusieurs objets.
2. La transformation des objets du MCD
Dans tous les cas de figure :
o Les objets sont transformes en RELATION (ou
TABLE).
o L'identifiant de l'objet devient la CLE PRIMAIRE
unique de la table.
o Les proprietes deviennent des ATTRIBUTS de la
table.
3. La transformation des relations
conceptuelles
1. Cas des relations dites "de N vers N" :
> Une relation conceptuelle porteuse de
cardinalites maximales egales a n sur chacun de ses liens, qu'elle soit ou non
porteuse de donnees, se transforme en une table relationnelle.
> La cle primaire de cette table est composee des
identifiants des objets participant a la relation.
> Les proprietes portees par la relation conceptuelle
deviennent les attributs non=cle de la table.
2.6.4. ELABORATION DU SCHEMA PHYSIQUE
Cette etape est necessaire pour obtenir de bonnes
performances. Elle necessite la prise en compte des transactions afin de
determiner la representation des donnees sur un support de stockage utilise par
la machine.
|