CoursBD 9
CoursBD 9
CoursBD 9
Support de Formation
Bases de donnes :
Prsentation gnrale et Mthode de conception
Dfinition et Historique
Une base de donnes est un ensemble structur de donnes enregistres sur des supports
informatiss, pouvant satisfaire simultanment plusieurs utilisateurs de faon slective, en
un dlai raisonnable.
Le concept de Base de Donnes (BDD) est apparu vers 1960, face au nombre croissant
d'informations que les entreprises devaient grer et partager :
- chaque nouvelle application crait alors ses propres fichiers de donnes et ses propres
programmes ;
- le concept de base de donnes va l'encontre de cette faon de procder : il permet la
centralisation, la coordination, l'intgration et la diffusion de l'information archive.
La base de donnes enregistre les faits ou vnements qui surviennent dans la vie d'un
organisme, pour les restituer la demande : elle permet galement de tirer des conclusions
en rapprochant plusieurs faits lmentaires.
Les donnes peuvent tre manipules par plusieurs utilisateurs ayant des vues diffrentes
sur ces donnes ("points de vue" diffrents).
La structure densemble des donnes suit une dfinition rigoureuse appele SCHEMA.
Niveau Niveau
logique physique
Le SGBD reoit des commandes aussi bien des programmes d'application que des
utilisateurs : il commande les manipulations de donnes, gnralement par l'intermdiaire
d'un SGF.
Utilisateur
Ouvrir, fermer, Demande d'un
Units
lire, crire enreg. physique De
Gestion de la
SGBD SGF Lecture/
Base
Ecriture
Code rponse, Enreg. physique
ou code erreur
Programme Donnes logiques
applicatif
Pour pallier aux inconvnients des mthodes classiques de gestion de fichiers, les SGBD
visent quatre objectifs : intgration et corrlation, flexibilit (indpendance), disponibilit,
scurit.
Ces objectifs exigent une distinction nette entre les donnes et les procdures de
manipulation de ces donnes : aux donnes, on associera une fonction d'administration
des donnes, aux procdures de manipulation une fonction de programmation.
Dans les systmes classiques, chaque application gre ses donnes dans ses propres "fichiers",
do :
Dans l'approche SGBD, un "rservoir" commun (intgration) est constitu, reprsentant une
modlisation (corrlation) aussi fidle que possible de l'organisation relle de l'entreprise :
Toutes les applications puisent dans ce rservoir, les donnes qui les concernent, vitant ainsi les
duplications.
Mais le partage des donnes entre les utilisateurs pose le problme de la synchronisation des
accs concurrents .
Dans les systmes classiques, tout changement intervenant dans le stockage des donnes
(support, mthode d'accs physique) entrane des modifications lourdes des applications
correspondantes.
L'approche SGBD poursuit trois objectifs, pour assurer lindpendance des donnes par
rapport aux traitements :
- indpendance physique: tout changement de support, de mthode d'accs reste transparent
au niveau de l'utilisateur.
- indpendance logique : les programmes d'application sont rendus transparents une
modification dans l'organisation logique globale, par la dfinition de sous-schmas
couvrant les besoins spcifiques en donnes.
- indpendance vis--vis des stratgies d'accs : l'utilisateur n'a plus prendre en charge
l'criture des procdures d'accs aux donnes. Il n'a donc pas intgrer les modifications
tendant optimiser les chemins d'accs (ex: cration d'index).
2.3 Disponibilit
Le choix d'une approche SGBD ne doit pas se traduire par des temps de traitement plus
longs que ceux des systmes antrieurs.
Lutilisateur doit ignorer l'existence d'utilisateurs concurrents.
L'aspect "performance" est donc crucial dans la mise en oeuvre d'une base de donnes. Un
tel objectif ne peut tre atteint que si la conception d'une base de donnes est mene de
faon rigoureuse avec un dcoupage fonctionnel adquat. Les rgles et contraintes
inhrentes sont voques lors de l'apprentissage d'une mthodologie d'analyse (exemple
MERISE).
2.4 Scurit
Pour ne pas trop affecter les performances, la scurit doit galement tre prise en compte
ds la phase de conception.
Les travaux ont abouti en 75 (ANSI 75) par la proposition d'une architecture multi-
niveaux : chaque niveau fonctionnel, sont associs un modle et un schma de donnes,
un langage de description de donnes (LDD) permettant de dcrire les donnes du schma,
et un langage de manipulation de donnes (LMD) permettant de les utiliser (accs pour
consultation, mise jour...).
Programmeur
Schma Schma Schma
Modle externe
Externe externe externe d'application
Utilisateur 1 Utilisateur 2 Application 3
Schma Analyste
Modle conceptuel
conceptuel
Schma
Administrateur
Modle interne interne de la base
Cest une abstraction aussi fidle que possible, de l'univers de l'entreprise, aprs
modlisation et indpendamment de toute rfrence l'utilisation et l'implantation en
machine.
Le modle conceptuel de donnes (MCD) permet le passage d'un concret inaccessible
(l'univers rel) un abstrait manipulable : le schma conceptuel. Celui-ci peut donc tre
considr comme la description du contenu de la base : c'est le rsultat d'un travail
d'analyse et de conception d'un systme d'information automatis.
Un schma conceptuel doit offrir les caractristiques suivantes :
Pour aboutir au schma conceptuel, l'analyste doit reprer dans le rel, et recenser de
manire exhaustive, toutes les entits et toutes les associations :
- Une entit peut tre dfinie comme une personne, un objet, un lieu, un statut, un
vnement qui ont une existence dans le monde rel. C'est un objet concret ou abstrait,
possdant un certain nombre de caractristiques spcifiques (exemple : le produit x cote
y francs).
- Gnralement, les entits du monde rel se manifestent travers des faits lmentaires.
- Certains faits faisant intervenir plusieurs entits, il apparat la notion d'association. Une
association (ou lien) est un ensemble de deux ou plusieurs entits, chacune d'elles jouant
un rle particulier.
Exemple : le fait que la "voiture x" appartienne la "personne y" est une association entre les
entits "voiture " et "personne".
X
X
Y
Y
Z
Z
W
m
Le niveau externe comprend les "vues" spcifiques dfinies pour la manipulation des
donnes. Il prend en compte les contraintes d'accs imposes par la nature des
applications considrer (indpendamment des caractristiques techniques) et exprime les
besoins en donnes des diffrents utilisateurs, ou applications.
Le modle logique des donnes (MLD) utilis ce niveau externe peut diffrer de celui
utilis au niveau conceptuel. Ainsi, certaines vues peuvent ne pas tre construites dans la
base, mais dduites par calcul partir de certaines donnes du schma conceptuel
(exemple : anciennet obtenue par diffrence entre anne en cours et annne d'embauche
dans la socit).
L'efficacit doit tenir compte d'une part des contraintes d'implantation (taille des disques,
optimisation du systme de fichiers), d'autre part des critres d'utilisation (traitement
interactif ou en batch, selon la frquence dutilisation et la dure du traitement).
Un programme d'application A met une demande de lecture de donnes au SGBD sur une des
bases :
Les ordres d'criture dans la base physique sont traits par un processus similaire, toute
modification ou adjonction tant en gnral prcde d'une opration de lecture.
A signaler que, dans la majorit des cas, le SGBD doit traiter simultanment plusieurs
demandes de donnes en provenance de plusieurs programmes d'application, utilisant
plusieurs schmas externes diffrents.
Cette prsentation des SGBD fait apparatre la ncessit de bien diffrencier deux
tapes :
- la dfinition des donnes par ladministrateur de la base (DBA)
- leur utilisation par les utilisateurs ou les programmeurs d'application.
L'utilisation d'une BDD suppose un grand nombre d'utilisateurs, souvent non informaticiens,
ayant des tches et des besoins varis auxquels le LMD doit pouvoir rpondre. Le SGBD
fournit deux niveaux daccs :
le langage d'interrogation, ou langage de requte interactif
vite le recours des langages gnraux de programmation. Il doit avoir une syntaxe souple, si
possible graphique, tre accessible aux non-spcialistes et permettre la formulation de demandes
utilisant des critres varis et combins.
le langage hte
pour les traitements rguliers, le SGBD doit fournir une interface permettant l'utilisation de la base
l'aide des langages procduraux (COBOL, Pascal, C/C++.), en incorporant les requtes dans des
programmes classiques.
- protection des donnes : pour personnaliser les accs la base, il faut identifier
l'utilisateur (code et mot de passe) et vrifier qu'il est autoris effectuer les traitements
demands (contrle des droits d'accs).
- optimisation des ressources, tenue dun journal de tous les vnements : le logiciel doit
fournir des statistiques prcises sur l'tat de la base et permettre des rorganisations
physiques priodiques qui viteront la dgradation des performances globales du systme.
- intgrit des donnes : cohrence des informations les unes par rapport aux autres
Les trois principaux modles sont, dans l'ordre chronologique de leur arrive sur le march, le
modle hirarchique, le modle rseau (ou navigationnel), le modle relationnel.
Socit
L'anctre le plus rpandu est le SGBD IMS (Information Management System), dvelopp
et commercialis par IBM dans les annes 70
Avantages :
- rigueur des structures et des chemins d'accs
- simplicit relative de l'implmentation
- adquation parfaite du modle une entreprise structure arborescente.
Inconvnients :
- les accs se font uniquement depuis la racine
- la structure interdit les liens N:M, ne permettant que le lien 1:N. La reprsentation
d'autres relations impose de ce fait une redondance de l'information.
Exemple : comment reprsenter dans ce modle, un parc de vhicules et un ensemble de chauffeurs,
chaque chauffeur pouvant conduire plusieurs vhicules, et un vhicule pouvant tre conduit par
plusieurs chauffeurs ?
- les "anomalies" que l'on constate lors des oprations de mise jour (insertion, destruction,
modification) : l'limination d'un noeud entrane l'limination de tous les segments de
niveau infrieur qui lui sont rattachs (risque de perdre des donnes uniques)
- indpendance logique trs rduite : la structure du schma doit reflter les besoins des
applications.
- pas d'interface utilisateur simple.
Mme si cette vue est un peu simplificatrice, une base en rseau peut tre dcrite comme
un certain nombre de fichiers comportant des rfrences les uns vers les autres. Les entits
sont connectes entre elles l'aide de pointeurs logiques :
- un enregistrement d'un ensemble de donnes A est associ une srie d'enregistrements (ou
records) d'un autre ensemble de donnes B. On constitue ainsi des SET, ou COSET,
structure fondamentale du modle en rseau
- le lien entre les enregistrements de A et ceux de B est 1:N
- le COSET comporte un type d'enregistrement "propritaire" (l'enregistrement de A est dit
OWNER) et un type d'enregistrement "membre" (les enregistrements de B sont
MEMBER).
Produits Fournisseurs
Magasin de Domiciliation
stockage Produit/Fournisseur bancaire
C'est un article publi en 1969 par un mathmaticien du centre de recherche IBM, Codd,
qui dfinit les bases de ce modle relationnel. Codd s'est intress au concept d'information
et a cherch le dfinir sans se proccuper de la technique informatique, de ses exigences
et de ses contraintes. Il a tudi un modle de reprsentation des donnes qui repose sur la
notion mathmatique de "relation". Dans la pratique, une relation sera reprsente par une
table de valeurs.
Dfinitions
Une relation est un ensemble de tuples (lignes), dont l'ordre est sans importance. Les
colonnes de la table sont appeles attributs ou champs. Lordre des colonnes est dfini lors
de la cration de la table.
Une cl est un ensemble ordonn d'attributs qui caractrise un tuple. Une cl primaire le
caractrise de manire unique, l'inverse d'une cl secondaire.
On dit qu'un attribut A est un dterminant si sa connaissance dtermine celle de l'attribut
B (B dpend fonctionnellement de A).
Caractristiques du modle
Schma de donnes facile utiliser : toutes les valeurs sont des champs de tables deux
dimensions.
Amliore l'indpendance entre les niveaux logique et physique : pas de pointeurs visibles
par l'utilisateur.
Fournit aux utilisateurs des langages de haut niveau pouvant ventuellement tre utiliss
par des non-informaticiens (SQL, L4G) et un ensemble d'oprateurs bas sur l'algbre
relationnelle : union, intersection, diffrence, produit cartsien, projection, slection,
jointure, division.
Optimise les accs aux bases de donnes
Amliore l'intgrit et la confidentialit : unicit de cl, contrainte dintgrit rfrentielle
Prend en compte une varit d'applications, en gestion et en industriel
Fournir une approche mthodologique dans la construction des schmas.
Les formes normales permettent de construire un schma conceptuel correct partir des
relations brutes issues des donnes recueillies auprs des clients.
Exemple:
L'exemple porte sur un ensemble de donnes concernant des tests de types diffrents, effectus
sur les lments matriel d'un systme de production :
R ( libell matriel, code marque, libell marque, type de test, date du test, rsultat du test)
n'est pas en 1re forme normale car aucun attribut ne peut tre cl primaire : le libell matriel
peut tre identique pour plusieurs lments.
R (code matriel, libell matriel, code marque, libell marque, code type de test, libell
du test, date du test, rsultat du test)
n'est pas en 1re forme normale car on peut faire plusieurs tests sur un mme matriel, ce qui
exige de rpter les informations "code type de test", "libell du test", "date du test", "rsultat
du test", dans un mme nuple.
La relation doit tre clate en deux, pour tre exprime en 1re forme normale :
Les deux relations ne comportent que des attributs sans rptition. Dans R_TEST, la cl
primaire est compose de "code matriel" et "code type" : un type de test peut concerner
plusieurs matriels, un matriel peut tre test plusieurs fois, mais chaque matriel ne subit
quune fois un type de test donn.
R-TEST(code matriel, code type, libell test, date du test, rsultat du test)
n'est pas en 2me forme normale car l'attribut "libell test" ne dpend que du "code type" et pas
du "code matriel" ;
La relation doit clate en deux, pour tre exprime en deuxime forme normale :
La dpendance entre "code matriel" et "libell marque" n'est pas directe, "libell marque" est
en dpendance fonctionnelle directe avec le "code marque".
La relation doit tre clate en deux, pour tre exprime en troisime forme normale :
Commentaires:
N 1
MATERIEL MARQUE
TYPE TEST
1 1
TEST
N N
Concevoir une base de donnes relationnelle, c'est tablir pour le systme d'information tudi,
les relations entits et les relations associations en troisime forme normale.
1re tape :
Etablir les schmas externes, c'est--dire lister les donnes ncessaires chaque utilisateur de
la future base.
2me tape :
Etablir le dictionnaire de donnes en regroupant les schmas externes, en supprimant les
redondances et en ne conservant que les informations lmentaires (non dduites). Ceci revient
lister les attributs de la base.
Dictionnaire de donnes du systme d'informations relatif aux tests sur les matriels de
production :
code matriel, libell matriel
code marque, libell marque
code type de test, libell du test, date du test, rsultat du test
3me tape :
Etablir les contraintes d'intgrit fonctionnelle (ou dpendances fonctionnelles) entre attributs.
Attributs En dpendance fonctionnelle avec
Entit = Cl
+ Attributs
dpendants
code matriel
libell matriel code matriel
code marque
libell marque code marque
code type de test
libell du test code type de test
Association
4me tape :
En dduire les relations "entits" et les relations "associations avec attributs" :
Les entits sont contitues dune cl primaire et dun ou plusieurs attributs qui ne
dpendent fonctionnellement que de cette cl
Les associations sont constitues dune liste dau moins deux cls reprsentant des entits,
et dattributs qui dpendent de ces cls
5me tape :
Etablir les relations "associations sans d'attributs" en considrant deux cas :
- Il existe un lien fonctionnel N : 1 entre les entits : la cl primaire de l'entit mre devient
cl trangre dans l'entit fille
Exemple: matriel-marque. Lentit "Matriel" dpend (est fille) de lentit "Marque" : la
cl trangre "code marque" dans "Matriel" pointe sur la cl primaire "code marque" dans
"Marque" .
- Le lien entre les deux entits est de type N:M : il faut crer une nouvelle relation
association sans attributs, qui contient seulement les cls primaires des deux relations
associes.
6me tape:
Reprsenter le schma de la base
7me tape:
S'assurer que les relations sont en troisime forme normale.
Prsentation
Sans faire un expos sur la mthode Merise, ce chapitre voudrait prsenter succinctement
les diffrents modles des donnes (MCD Conceptuel, MLD Logique, MPD Physique),
titre de comparaison avec la mthode maison qui vient dtre expose.
Aprs avoir recueilli les donnes auprs des clients (tape 1), supprim les redondances
(tapes 2), class les donnes selon les dpendances fonctionnelles (tape 3), on construit le
modle conceptuel entits/associations (tape 4), o les associations sont des relations
values, comportant un ou plusieurs attributs :
Association R avec
la proprit PropR.1
Objet1 Objet2
R
Prop1.1 0,1 0,n Prop2.1
PropR .1 Entit
Prop1.2
Min,
Max
cardi
nalit
A partir du modle conceptuel, on peut dduire le modle logique et physique par des
oprations systmatiques (tape 5 et 6) : lapplication complte de la mthode Merise
garantit lobtention des formes normales. Le passage du MCD au MLD, puis au MPD
dpend de la cardinalit des relations.
M.C.D
Objet1 Objet2
R
Prop1.1 0,1 0,n Prop2.1
PropR. 1
Prop1.2
Exemple :
Livres Emprunt Adh.
Titre Nom
Auteur 0,1 Date 0,n
M.L.D
OBJET1 OBJET2
Prop1.1 Prop2.1
Prop1.2
PropR.1
Rgle : les proprits de lassociation glissent du ct 0-1, la flche pointe vers le ct 0,n
Livres Adh
Titre Nom
Auteur
Date
Dans la table Livres, on ajoute la date de lemprunt, et une flche vers ladhrent emprunteur
MPD
Objet1 (Prop1.1, Prop1.2, PropR.1, Prop2.1)
Objet2 (Prop2.1)
Rgle : une cl trangre Prop2.1 pointant sur objet2.Prop2.1 est ajoute objet1
M.C.D
Objet1 R Objet2
Prop1.1 PropR.1 Prop2.1
Prop1.2 0,n 0,n
Exemple :
M.L.D
OBJET2
OBJET1 R
Prop2.1
Prop1.1 PropR.1
Prop1.2
Rgle : lassociation devient une nouvelle table et les flches pointent vers les tables lies
crit Livres
Auteurs
Ident
Nom Date
Titre
Prnom
On cre une nouvelle table crit , avec la proprit Date , et des liens vers les cls des
entits Auteurs et Livres
MPD
Objet1 (Prop1.1, Prop1.2)
R1 (Prop1.1, Prop2.1, PropR.1)
Objet2 (Prop2.1)
Rgle : la relation devient une table dont la cl est la concatnation des cls des deux objets
lis.
Exemple :
Livres (Ident, Titre)
Ecrit (Nom, Ident, Date)
Auteurs (Nom, Prnom)
Exemple rcapitulatif
MCD
MLD
MPD
MCD
Profs
Matiere Enseigne Nom
Matiere 1,n 1,n Prenom
CoeffMatiere Age
Salaire
1,n
1,n
Cours
DateCours
HeureCours
1,n
Salle
NSalle
DesignationSalle
MLD
Profs
Matiere Enseigne NomProf
Matiere PrenomProf
CoeffMatiere AgeProf
SalaireProf
Cours
DateCours
HeureCours
Salle
NSalle
DesignationSalle
MPD
Rgle : une relation ternaire devient une table dont la cl est la concatnation des cls des trois
objets lis.
CHAPITRE 8 EXERCICES
ENONCE 1
Trouvez les formes normales des relations suivantes (exercices indpendants) :
Pour les noncs qui suivent, il est demand d'tablir le schma de la base en prsentant les
relations entits et les relations associations pour chacun des domaines tudi, en suivant la
dmarche du chapitre 7.2. On reprsentera le modle conceptuel avec un symbolisme Merise.
ENONCE 2
Auteur n 73
ENONCE 3
Une troupe thatrale se produit dans le monde entier. L'quipe tablit rgulirement le
document dcrit plus loin. Elle vous demande de l'analyser en vue d'une informatisation.
titre de la pice nbre reprs. date nbre reprs date nbre reprs date nbre reprs date nbre reprs. date
nom de l'auteur
titre de la pice nbre reprs. date nbre reprs. date nbre reprs. date nbre reprs. date nbre reprs. date
ENONCE 4
Un grand garage se propose d'informatiser son systme de gestion en introduisant une base de
donnes pour l'tablissement des factures.Voici l'image du document facture:
GARAGE FACTURE N: 87234B
CHARLES DATE FACTURE: 30/08/95
ESTONE N CLIENT: 272
Monsieur DUPONT Jacques
Tel: 89.52.15.32
3 rue des roses
68200 Mulhouse
Intervention N 37843
Date entre vhicule: 25/08/95
Date sortie vhicule: 26/28/95
Vhicule N 6837 VH 68
Marque: RENAULT Type R21
Anne de mise en service: 1990
Kilomtrage: 6000