Vous êtes sur la page 1sur 64

Cours Administration

de bases de donnes

Tuan-Loc NGUYEN
Universit Paris 6 -Paris 12

Dictionnaire

Cours : proposper
Administration de bases de donnes

Administration
Bases
Donnes

Universit
Tuan-Loc NGUYEN (dico viet-franco)
Tuan : beau, intelligent
Loc: bonheur
Nguyen: nom de la famille royale
-> Tuan-Loc NGUYEN:
un homme beau,intelligent,bonheur dans la famille royale

Contenu du cours 1

Dfinition de bases de donnes


Dfinition de SGBD
SGBD:

Modles de modlisation des donnes


Objectif du SGBD
Architecture

Caractristiques
Pourquoi

deux niveaux
trois niveaux
rpartie

Gestion daccs

Concepts de base
Organisations par hachage
Organisations indexes

Rsum
Bases

de donnes, dfinition:

Collection de fichiers relis par des pointeurs


multiples, bien organiss, rpondre efficacement
des demandes varies
Collection dinformations via la modlisation du
monde rel

SGBD - Quest-ce cest ?

SGBD (DBMS): Databases Management System


Systme de Gestion de Bases de Donnes

Dfinition de SGBD:

Logiciel:
donnes persistantes
accs efficace
(Ullman)

Ensemble de logiciels systmes permettant de stocker et


dinterroger un ensemble de fichiers indpendants. Il est
aussi un outil permettant de modliser et de grer des
donnes (G.Gardarin)

SGBD: Caractristiques
Manager

des donnes persistes


Accder aux larges donnes avec efficacit
Supporter modles de donnes
Transaction
Permettre de dfinir des
donnes(structure, accs, manipuler)
Recouverte de donnes
Control daccs

Objectif du SGBD

Assurer lindpendance des programmes aux


donnes (architecture 2-tiers)
What non How
Indpendance:

Physique des programmes aux donnes


Logique des programmes aux donnes
Administration facile
Permettre de manipuler par langages query (SQL)

1. Objectifs des SGBD (1)

INDPENDANCE PROGRAMMES/DONNES
Indpendance physique
Indpendance logique
ACCS PAR DES LANGAGES ASSERTIONNELS
Recherche (le quoi et non le comment)
Insertion (en groupes, calcules)
Mise jour (base sur la recherche)
EFFICACIT DES ACCS
Temps de rponse

logique

physique

SGBD

donnes

Objectifs des SGBD (2)


SUPPORT DE TRANSACTIONS
Atomique (tout ou rien)
Cohrente (respect de l'intgrit)

PARTAGEABILIT ET SCURITE DES DONNES

Introduction

Simultanit lecture/criture maximum


Accs transactionnels & dcisionnels
Confidentialit (authentification, droits d'accs, cryptage)
Restauration aprs pannes (journaux, sauvegardes)

Objectifs des SGBD (3)

CONCEPTION DES APPLICATIONS FACILITE


Conception visuelle des BD (diagrammes E/R, objets)
Conception des traitements (diagrammes de flux entre
modules)
Dictionnaire de donnes (objets BD, graphiques, applicatifs)

ADMINISTRATION SYSTME FACILITE


Visualisation des plans d accs
laboration de statistiques

Introduction

Niveaux de schmas

Conceptuel
description des entits et
associations du monde rel

Interne
implmentation physique des entits
et associations dans les fichiers

Externe (vues)
description des entits et
associations vues par un utilisateur
(ou un groupe dutilisateurs)

Introduction

Architectures Client-Serveur

Dfinition
modle d'architecture applicative o les programmes sont
rpartis entre processus clients et serveurs communiquant
par des requtes avec rponses.
Une rpartition hirarchique des fonctions
donnes sur le serveur partages entre N clients
interfaces graphiques sur la station de travail personnelle
communication par des protocoles standardiss
distribution des programmes applicatifs afin de minimiser
les cots

Architecture Client-Serveur

Pourquoi le Client-serveur ?

volution des besoins de l'entreprise


Augmentation de productivit, de ractivit
Utilisation des micros assurant flexibilit et faibles cots
Besoin de dcisionnel et transactionnel sur gros volumes
volution des technologies
Systmes ouverts permettant l'usage de standards
Environnements de dveloppement graphiques
Explosion de la puissance des micros et des serveurs
Solutions techniques sduisantes
Les donnes partages enfin accessibles simplement
Mise en commun des services (rgles de gestion, procdures)
Gestion de transactions et fiabilit au niveau du serveur

Architecture 1e gnration
SGBD
SERVEUR

rgles

NT, UNIX, NOVELL

Donnes

GCOS, VMS, MVS

REQUETE
RESULTAT

Windows
APPLICATION

NT
APPLICATIONS

UNIX
CLIENTS

APPLICATIONS

Le C/S de 2e gnration
Application
Outil Applicatif

Client
Procdure stocke
Outil de connectabilit
Procdure accomplissant une fonction
Protocole Rseau
de service sur les donnes
Exemple : Entre ou sortie de stock
Requtes de services
Architecture oriente services plutt que
Rsultats
requtes
Distribution des traitements
Protocole Rseau
Peut tre automatise
Outil de connectabilit
Serveur
volution et passage l'chelle
Procdures
Possibilit de serveurs multiples, avec
Serveur BD Stockes
redondances
Possibilit de donnes prives sur les
clients
base de
donnes

Intrt du C/S de 2e gnration

Rduction des transferts rseaux


non ncessit de monter les donnes dans le client pour les
modifier
appel de services plus compact
Distribution automatique des applications
dveloppement sur le poste de travail
partitionnement par tirer-dposer (drag & drop)
Simplification des outils de dveloppement
principe de la fentre unique
modlisation uniforme des objets applicatifs
invisibilit du modle de donnes l'extrieur du serveur

Le C/S de 3e gnration

Intgration du Web et du client-serveur


navigateur prsentation standard pour le client
possibilit de petites applications (contrles) sur le client
trs grande portabilit (Intranet, Internet)
Architecture 3 tiers
Base de donnes avec procdures stockes
Services applicatifs partags et objets mtiers (EJB, ActiveX)
Prsentation hypertexte multimdia avec contrles
Support de l'hypermdia
types de donnes varies et extensibles (texte, image,vido)
hypertexte et navigation entre documents et applications

Mthode dAccs
1.

Concepts de base

2.

Organisations par hachage

3.

Organisations indexes

4.

Organisations multi-attributs

1. Concepts de Base
Le

gestionnaire de fichiers est la couche


interne d'un SGBD, souvent intgre au
systme opratoire.
ANALYSEUR

META-BASE

TRADUCTEUR

OPTIMISEUR

Gestionnaire
de fichiers

EXECUTEUR

BD

Analyse syntaxique
Analyse smantique
Gestion des schmas

Modification de requtes
Contrle d'intgrit
Contrle d'autorisation
Ordonnancement
Optimisation
Ellaboration d'un plan

Excution du plan
Mthodes d'accs
Contrle de concurrence
Atomicit des
transactions

Structures des Disques


Notion

1: Volume
(Disk Pack)

(a) Side view

Unit de mmoire
secondaire
amovible.
Innermost cylinder

Outermost cylinder

(b) Top view

Notion de fichier

Notion 2: Fichier (File)


Rcipient d'information caractris par un nom, constituant une
mmoire secondaire idale, permettant d'crire des
programmes d'application indpendants des mmoires
secondaires.
Un fichier se caractrise plus particulirement par :
UN NOM
UN CREATEUR
UNE DATE DE CREATION
UN OU PLUSIEURS TYPES D'ARTICLE
UN EMPLACEMENT EN MS
UNE ORGANISATION

Quelques notions de base

Notion 3: Article (Record)


Elment composant d'un fichier correspondant l'unit de
traitement par les programmes d'application.
Notion 4: Organisation de fichier (File organization)
Nature des liaisons entre les articles contenus dans un fichier.
Notion 5: Mthode d'accs (Acces Method)
Mthode d'exploitation du fichier utilise par les programmes
d'application pour slectionner des articles.
Notion 6: Cl d'article (Record Key)
Identifiant d'un article permettant de slectionner un article
unique dans un fichier.

Les fichiers sur les volumes

Notion 7: Label de volume (Label)


Premier secteur d'un volume permettant d'identifier ce
volume et contenant en particulier son numro.
Notion 8: Descripteur de fichier (Directory entry)
Ensemble des informations permettant de retrouver les
caractristiques d'un fichier, contenant en particulier le nom
du fichier, sa localisation sur disque, etc
Notion 9: Catalogue (Directory)
Table (ou fichier) situe sur un volume et contenant les
descripteurs des fichiers du volume.

Organisation d'un volume


VOLUME n

CATALOGUE

LABEL n

F1

F2

F3

F1

F2

F3

F4

F4

Catalogue Hirarchis

Notion 10: Catalogue hirarchis


Catalogue constitu d'une hirarchie de fichiers, chaque
fichier contenant les descripteurs des fichiers
immdiatement infrieurs dans la hirarchie.

> PIERRE
> PIERRE > BASES-DE-DONNEES
> PIERRE > BASES-DE-DONNES > MODELES

Exemple de catalogue hiarchis


RACINE
Cataloguedes
usagers

PAUL

PIERRE

ERIC

donnees

LIONEL

Cataloguedes
applications
dePierre

BASESDE
DONNEES

TELEINFO.

Cataloguedes
Pierreen
fichiersde
Basesdedonnes

ARCHITECTURE

Fichiers{
de

MODELES

LANGAGES

Allocation de l'espace disque

Notion 11: Rgion (Allocation area)


Ensemble de zones de mmoires secondaires (pistes)
adjacentes alloues en une seule fois un fichier.

Notion 12: Granule d'allocation (Allocation granule)


Unit de mmoire secondaire allouable un fichier.

Stratgie d'allocation
Objectifs

d'une stratgie

(1) minimiser le nombre de rgions allouer un fichier


de sorte rduire d'une part les dplacements des bras
des disques lors des lectures en squentiel et d'autre
part le nombre de descripteurs de rgions associs
un fichier;

(2) minimiser la distance qui spare les rgions


successives d'un fichier, de sorte rduire les
dplacements de bras en amplitude.

Stratgie par granule rgion fixe

Ces stratgies confondent les notions de rgion et de granule.


Elles sont simples et gnralement implantes sur les petits
systmes.

La stratgie du premier trouv:


le granule correspondant la tte de liste de la liste des
granules libres, ou au premier bit 0 dans la table des
granules libres, est choisi.
La stratgie du meilleur choix:
le granule le plus proche (du point de vue dplacement de
bras) du dernier granule allou au fichier est retenu.

Stratgie rgion variable

La stratgie du plus proche choix:


Lors d'une demande d'allocation, la liste des rgions libres est
parcourue jusqu' trouver une rgion de la taille demande;
dans le cas o aucune rgion de la taille demande n'est
libre, la premire rgion de taille suprieure est dcoupe.
La stratgie des frres siamois:
Des listes spares sont maintenues pour les rgions libres
de dimensions 2**0, 2**1, 2**K granules. Lors d'une
demande d'allocation, une rgion libre peut tre extraite de la
liste des rgions libres de taille 2**i+1 pour constituer deux
rgions libres de taille 2**i.

Adressage Relatif

Notion 13: Adresse relative (Relative address)


Numro d'unit d'adressage dans un fichier (autrement dit:
dplacement par rapport au dbut du fichier).
|

offset = adresse relative

Architecture d'un SGF


Squentiel

Hach

OUVRIR

LIRE

Index 1

ECRIRE

Index 2

FERMER

ADRESSAGE

ME 1

}
}

ME k

Disques
Magntiques

METHODES
D'ACCES

ANALYSEUR

MODULES
D'E/S

2. Organisations par Hachage


Notion

14: Fichier hach statique (Static


hashed file)

Fichier de taille fixe dans lequel les articles sont


placs dans des paquets dont l'adresse est
calcule l'aide d'une fonction de hachage fixe
applique la cl.

Structure interne d'un paquet

Article a1
de longueur
lga1
Article a2
de longueur lga2
Article a3
de longueur lga3

Iga1
-----------------a1
Iga2
----------------a2

Adresse premier octet


libre dans le paquet

L Octets

Iga3
----------------a3

Index optionnel

Vue d'un fichier hach statique


Fonction de
hachage

Cl

}Paquets

Fonction de Hachage

DIFFRENTS TYPES DE FONCTIONS :


PLIAGE DE LA CLE
CONVERSION
MODULO P
FONCTION PSEUDO-ALEATOIRE MIXTE
BUT :
Obtenir une distribution uniforme pour viter de saturer un
paquet
Mauvaise fonction de hachage ==> Saturation locale et
perte de place
SOLUTION : AUTORISER LES DEBORDEMENTS

Techniques de dbordement

l'adressage ouvert
place l'article qui devrait aller dans un paquet plein dans le
premier paquet suivant ayant de la place libre; il faut alors
mmoriser tous les paquets dans lequel un paquet plein a
dbord.
le chanage
constitue un paquet logique par chanage d'un paquet de
dbordement un paquet plein.
le rehachage
applique une deuxime fonction de hachage lorsqu'un
paquet est plein pour placer en dbordement.

Problme du hachage statique

Ncessit de rorganisation
Un fichier ayant dbord ne garantie plus de bons temps
d'accs (2 + accs disque en criture, 1 en lecture)
Le nombre de paquets primaires est fixe, ce qui peuT
entrainer un mauvais taux de remplissage

Solution idale: rorganisation progressive


Un fichier ayant dbord devrait rester analogue un fichier
n'ayant pas dbord.
Il serait souhaitable de changer la fonction d'adressage.

Techniques de hachage
dynamique

Techniques permettant de faire grandir progressivement un fichier


hach satur en distribuant les articles dans de nouvelles rgions
alloues au fichier.
LES QUESTIONS CLS :
(Q1) Quel est le critre retenu pour dcider qu'un fichier hach est
satur ?
(Q2) Quelle partie du fichier faut-il doubler quand un fichier est
satur?
(Q3) Comment retrouver les parties d'un fichier qui ont t
doubles et combien de fois ont elles t doubles?
(Q4) Faut-il conserver une mthode de dbordement et si oui
quelle mthode?

Hachage extensible

(Q1) Le fichier est tendu ds qu'un paquet est plein; dans ce cas
un nouveau paquet est ajout au fichier.
(Q2) Seul le paquet satur est doubl lors d'une extension
Il clate selon le bit suivant du rsultat de la fonction de
hachage applique la cl h(K). Les articles ayant ce bit 0
restent dans le paquet satur, alors que ceux ayant ce bit 1
partent dans le nouveau paquet.
(Q3) Chaque entre dun rpertoire donne l'adresse d'un paquet.
Les 2**(P-Q) adresses correspondant un paquet qui a clat Q
fois sont identiques et pointent sur ce paquet; ainsi, par
l'indirection du rpertoire, le systme retrouve les paquets.
(Q4) La gestion de dbordement n'est pas ncessaire.

Fichier hach extensible


H (KEY)

XXXX

XXX
000
001
010
011
100
101
110
111
Rpertoire

Paquets

Eclatement d'un paquet

L'entre jumelle est force l'adresse du nouveau paquet cr


si elle pointe sur le paquet clat, sinon le rpertoire est
doubl.

000
001
010
011

100
101
110
111

a >
b >
c1>
d >
a
b
c2
d

Dfinition du hachage extensible


Notion

15: Hachage extensible (Extended


hashing)

Mthode de hachage dynamique consistant


clater un paquet plein et mmoriser l'adresse
des paquets dans un rpertoire accd
directement par les (M+P) premiers bits de la
fonction de hachage o P est le nombre
d'clatements maximum subi par les paquets.

Hachage linaire

(Q1) Le fichier est tendu par paquet ds qu'un paquet est plein.
(Q2) Le paquet doubl n'est pas celui qui est satur, mais un
paquet point par un pointeur courant qui parcours le fichier
circulairement.
(Q3) Un niveau d'clatement P du fichier est conserv dans le
descripteur du fichier afin de prciser la fonction de hachage.
Pour un paquet situ avant le pointeur courant, (M+P+1) bits de
la fonction de hachage doivent tre utiliss alors que
seulement (M+P) sont utiliser pour adresser un paquet situ
aprs le pointeur courant.
(Q4) Une gestion de dbordement est ncessaire puisqu'un
paquet plein n'est en gnral pas clat.

Paquets d'un fichier hach linaire

H (KEY)

000

XXXXX X X
----------001

10

DEBORDEMENTS

11

100

101

Xo = H(k)
Xi = (xo+i) mod M
i= 1,2,M-1

Dfinition du hachage linaire


Notion

16: Hachage linaire (Linear hashing)

Mthode de hachage dynamique ncessitant la


gestion de dbordement et consistant :
(1) clater le paquet point par un pointeur
courant quand un paquet est plein,
(2) mmoriser le niveau d'clatement du fichier
afin de dterminer le nombre de bits de la
fonction de hachage appliquer avant et aprs le
pointeur courant.

Comparaison des hachages


Exercice:

Comparer entre les hachages ?

3. Organisations Indexes

OBJECTIFS :
1) Accs rapide a partir d'une cl
2) Accs squentiel tri ou non

MOYENS :
Utilisation de tables permettant la recherche de l'adresse de
l'article a partir de la CLE

Notion 23: Index (Index)


Table (ou plusieurs tables) permettant d'associer une cl
d'article l'adresse relative de cet article.

Exemple de fichier index


index

Articles

a5 a2 a57 a3 a10
{ a5
a2 a57
a3
////////////////////////////////////////////////

a10

{ 0 2 4 6 8 10 12 14 16 18 20

Adresses relatives

0 4
22 24

7 12 18
Index

Diffrents Types d'Indexes

Un index contenant toutes les cles est dense


Notion 24: Densit d'un index (Index key selectivity)
Quotient du nombre de cls dans l'index sur le nombre
d'articles du fichier.
Un index non dense est possible si le fichier est trie
Il contient alors la plus grande cl de chaque bloc avec
l'adresse relative du bloc.
Il est possible de construire des indexes hirarchiss
Chaque index possde alors un index qui permet
d'acclrer la recherche.
Il est ainsi possible de grer efficacement de gros fichiers.

Exemple d'index non dense

1- 3- 7
Paquet 1

723 31 -

9 - 11 - 23

25 - 30 - 31

Paquet 2

Paquet 3

Exemple d'index hirarchis

Notion 25: Index hirarchis (Multilevel index)


Index n niveaux, le niveau k tant un index tri divis en paquets,
possdant lui-mme un index de niveau k+1, la cl de chaque
entre de ce dernier tant la plus grande du paquet.

21

Niveau 3

30

Niveau 2
12

30

21

Niveau 1
2

12

14

18

21

23

25

30

Variantes de mthodes indexes

FICHIER
Tri
Tri

I
Dense
N
Non tri
D
Tri
E
Non dense
X

Non tri

Possible

Non tri
IS3
Possible

VSAM ISAM
UFAS

Arbre-B

Les arbres-B fournissent des outils de base pour construire des


indexes quilibrs.

Notion 26: Arbre-B (B-tree)


Un arbre-B d'ordre m est un arbre au sens de la thorie des
graphes tel que:
1) Toutes les feuilles sont au mme niveau;
2) Tout nud non feuille un nombre NF de fils tel que
m+1 <= NF < 2m+1 sauf la racine qui a un nombre
NFR de fils tel que 0 <= NFR < 2m+1.

Arbre-B d'ordre 2

cf

a, b

d,e

g,h j,k

lo

m,n p,qs,t

v,w y,z

Structure d'un nud d'un arbre-B


P0

x1

a1

P1

x2

a2

P2

xi

ai

Pi

xk

ak

Pk

Pi: Pointeur interne permettant de reprsenter l'arbre; les


feuilles ne contiennent pas de pointeurs Pi;
ai: Pointeur externe sur une page de donnes;
xi: valeur de cl.
(1) (x1, x2xK) est une suite croissante de cls;
(2) Toute cl y de K(P0) est infrieure x1;
(3) Toute cl y de K(P1) est comprise entre xi et xi+1;
(4) Toute cl y de K(PK) est suprieure xk.

Exemple d'index en arbre-B


11

16

58

1234

67

910

21

12131415 17181920 22232426

Insertion de la cl 25
(a)
11

1621

12131415

17181920

2223242526

(b)
11

162124

12131415

17181920

2223

2526

Hauteur d'un Arbre-B

Le nombre de niveaux d'un arbre-B est dtermine par son degr et


le nombre de cls contenues.
Ainsi, dans le pire des cas, si l'arbre est rempli au minimum, il
existe:
une cl la racine,
deux branches en partent avec m cls,
(m+1) branches en partent avec m cls.
Pour un arbre de niveaux h, le nombre de cls est donc:
N = 1 + 2 m (1+ (m+1) + (m+1)2 + + (m+1)h-2)
soit, par rduction du dveloppement limit:
N = 1 + 2 ((m+1)h-1-1)
D'o l'on dduit que pour stocker N cls, il faut:
h = 1 + logm+1 ((N+1)/2) niveaux.

Arbre-B+

Notion 27: Arbre B+ (B+ tree)


Arbre-B dans lequel on rpte les cls des nuds
ascendants dans chaque nud et on chane les nuds
feuilles pour permettre un accs rapide en squentiel tri.
Les arbres-b+ sont utilises pour grer des index hirarchiss :
1) en mettant toutes les cls des articles dans un arbre B+
et en pointant sur ces articles par des adresses relatives
==> INDEX NON PLACANT
2) en rangeant les articles au plus bas niveau de l'arbre B+
==> INDEX PLACANT

Exemple d'index en arbre-B+


11

5811

12345

678

162126

91011

1213141516

17182021

22232426

Avantages et Inconvnients

Avantages des organisations indexes par arbre-b (b+) :


Rgularit = pas de rorganisation du fichier ncessaires aprs de
multiples mises jour.
Lecture squentielle rapide: possibilit de squentiel physique et
logique (tri)
Accs rapide en 3 E/S au plus pour des fichiers de 1 M d'articles
Inconvnients :
Les suppressions gnrent des trous difficiles rcuprer
Dans le cas d'index non plaant, la localit est mauvaise pour des
accs squentiels ou sur cls secondaires, ce qui conduit de
nombreux dplacement de bras.
Taille de l'index pouvant tre importante.

Exercice
Discuter

de la possibilit de mettre plusieurs


indexes un fichier

plaant
non plaant

Avantages

et inconvnient

cot de mise jour


cot dinterrogation

Vous aimerez peut-être aussi