Vous êtes sur la page 1sur 38

Conception et

Administration des
Bases de Données
Conservatoire National des Arts et
Métiers
Aix-en-Provence

Olivier Michelet
CNAM Aix en Provence -
Conception et Administration des Bases de Données

● Les systèmes de gestion de bases de données


– Les bases de données, SGBD, Définitions
● Conception et modélisation des Bases de Données
– La modélisation conceptuelle de données : Le modèle Entité – Association
– La normalisation
– Du modèle conceptuel au modèle relationnel
● Architecture d’une base de données Relationnelle
– Rappels : Les systèmes de fichiers
– La Structure Physique – La Structure Logique – Le Schéma
● Architecture d’un SGBDR
– Analyseur syntaxique, Optimiseur de Requêtes, Gestionnaire des Transactions,
Accès Concurrents, Principe de verrouillage des Données, Sécurité / Reprise
● Mise en œuvre d’une base de données relationnelle
– Algèbre Relationnelle – Opérations Logiques
– Création / Manipulation de Bases de Données
● Administration / Optimisation / Sécurité / Règles de programmation
● Approche de la gestion des SI répartis et fédérés
● Nouvelles technologies et Bases de Données
Olivier Michelet 2
CNAM Aix en Provence -
Conception et Administration des Bases de Données

● Les systèmes de fichiers

La base des systèmes informatiques repose sur la conservation, la manipulation et la


restitution des informations.
La donnée n’a de sens que dès lors qu’elle est la représentation d’un état ou qu’elle
est le résultat d’une transformation, des calculs par exemple.
De ce fait, tous les systèmes disposent d’une mémoire permanente (au moins pour
conserver les programmes et leur code).
Ces données doivent être rapidement et facilement accessibles et restituables, fiables
et stables.
C’est l’origine des systèmes de fichiers, avec leurs différentes organisations,
avantages et contraintes.
Quelle que soit l’activité du système, elle est directement dépendante des contraintes
physiques de l’environnement sur lequel il est hébergé.

Olivier Michelet 3
CNAM Aix en Provence -
Conception et Administration des Bases de Données

● Les systèmes de fichiers

– Définitions
Un système de fichier sert à conserver et à mettre à disposition des informations
indépendamment des unités de traitement.
C’est la mémoire de masse ou mémoire secondaire.
Un fichier est utilisable par la mémoire centrale sans y être nécessairement rattaché
« géographiquement » ou localement.
Le gestionnaire de fichiers est la couche interne d'un SGBD, il fait également partie
intégrante du système d’exploitation.
En ce sens, le SGBD s'intègre entièrement avec les fonctions intrinsèques de ce
dernier quant à la gestion physique des données.

Olivier Michelet 4
CNAM Aix en Provence -
Conception et Administration des Bases de Données

● Les systèmes de fichiers

– Volume (Disk)

● Unité de mémoire secondaire.


● Il se caractérise par :
– Un LABEL
– Une table de gestion et d’allocation des fichiers (« table des matières »)
– Une organisation physique des fichiers

– Fichier (File)

● Récipient d'information permettant d'écrire des informations et d’exécuter des


programmes d'applications indépendamment de celles-ci.

● Il se caractérise notamment par :


– son NOM
– son PROPRIETAIRE
– une DATE DE CREATION
– une ORGANISATION DES ARTICLES
– un EMPLACEMENT (Chemin d’accès logique et physique)
– une GESTION DES DROITS D’ACCES (Access List)

Olivier Michelet 5
CNAM Aix en Provence -
Conception et Administration des Bases de Données

● Les systèmes de fichiers

– Article (Record)
● Elément composant d'un fichier correspondant à l'unité de traitement par les
programmes d'application. C’est un ensemble de données.

– Organisation de fichier (File organization)


● Nature des liaisons entre les articles contenus dans un fichier.

– Méthode d'accès (Access Method)


● Méthode d'exploitation du fichier utilisée par les programmes d'application pour
accéder et sélectionner des informations.

– Clé (Record Key)


● Identifiant permettant de sélectionner un article de manière unique dans un
fichier.

Olivier Michelet 6
CNAM Aix en Provence -
Conception et Administration des Bases de Données

● Les systèmes de fichiers

– Les différentes utilisations de fichiers

- Fichier permanent
Sert à conserver des données dans le temps. Soit pour une utilisation courante, soit
pour archivage ou constitution d’historique, par exemple. (Nota : pour archiver, il
vaut mieux utiliser des support moins onéreux – lecteurs de bandes ou cd/dvd,
par exemple)
- Fichier (temporaire) de travail
Sert à manipuler des données qui ne peuvent être conservées en mémoire centrale
le temps d’un traitement. Sa durée de vie est éphémère, le temps du traitement.
- Fichier de liaison
Sert à transférer des données d’un programme à un autre lors d’une chaîne de
traitement.
- Fichier de mouvement
Sert à la mise à jour d’un fichier permanent.

Olivier Michelet 7
CNAM Aix en Provence -
Conception et Administration des Bases de Données

● Les systèmes de fichiers

Article

Olivier Michelet 8
CNAM Aix en Provence -
Conception et Administration des Bases de Données

● Les systèmes de fichiers


– Les Méthodes d’accès
Séquentielle : Toutes les données sont enregistrées « bout à bout ». C’est le cas de
lecteurs de bande, et des fichiers de travail. « Fichiers plats » pour transfert ou
chargement de données.

Lecture

Sélective : Les données sont accessibles directement selon certains critères.


Cas le plus courant

Lecture

Olivier Michelet 9
CNAM Aix en Provence -
Conception et Administration des Bases de Données

● Les systèmes de fichiers


– Les Organisations de Fichiers

Relative
Les articles sont « alignés » les uns à la suite des autres, comme dans un fichier
séquentiel mais ils sont accédés selon leur « numéro d’ordre » dans le fichier.

Avantages : simple à gérer et à mettre en place, rapide (1 accès par lecture et par
écriture).

Inconvénients : articles de longueur fixe, pas d’optimisation de la place disque (trous!)

Olivier Michelet 10
CNAM Aix en Provence -
Conception et Administration des Bases de Données

● Les systèmes de fichiers


– Les Organisations de Fichiers

Aléatoire
L’emplacement des articles dans le fichier est géré par le système d’exploitation en
fonction de certains critères permettant d’accélérer et d’optimiser les temps d’accès
aux données. Cette organisation nécessite la création et la gestion par le système
d’une table des « emplacements » pour retrouver les données.

Avantages : gestion d’articles de longueur variable, simple à mettre en place,


relativement performant (si peu de débordements).

Inconvénients : gestion des débordements coûteuse, sélection sur des valeurs


exactes de clé, pas de possibilité de doublon de clé(!).

Olivier Michelet 11
CNAM Aix en Provence -
Conception et Administration des Bases de Données

● Les systèmes de fichiers


– Les Organisations de Fichiers

Indexée
Les données sont organisées par le système de gestion de fichiers du système
d’exploitation dans le but d’optimiser et d’accélérer l’accès aux données.
Cette organisation distingue physiquement les données de la gestion de leur
emplacement. L’organisation physique des enregistrements est indépendante de celle
de leur clé d’accès. Cela autorise une très grande souplesse de manipulation des
enregistrements (Ajout, suppression).
Avantages : données triées, très bonnes performances, opérations simples sur les
articles (insertion, suppression, modification).
Inconvénients : lecture des index coûteuse (en temps), nécessité de régénérer les
index en fonction de l’activité sur les données, réorganisations indispensables des
fichiers, performances dégradées en fonction du nombre de débordements.

Olivier Michelet 12
CNAM Aix en Provence -
Conception et Administration des Bases de Données

● Les systèmes de fichiers


– Les Organisations de Fichiers

Quelques exemples d'organisations de fichiers :


- fichiers IS3
insertion des données séquentiellement. Les performances sont relativement bonnes,
mais les recherches par clés sont coûteuses. La taille des index est importante.
- fichiers ISAM
les données sont conservées dans des blocs de taille fixe, elles sont triées. Il y a une
gestion des chaînage de débordements. Lors de nombreux mouvements
(insertions/suppressions), cette organisation réclame de fréquentes réorganisations.
Les performances sont bonnes lorsqu’il y a peu de débordements. L’organisation est
très liée au support physique.
- fichiers VSAM
les données sont enregistrées séquentiellement dans des blocs de taille variable où
est gardée de la place « libre » pour les ajouts ultérieurs. Les blocs ne sont pas
forcément contigus. Il y a une gestion de pointeurs pour situer les données dans les
blocs. Cette organisation peut se passer de réorganisations (!!!). L’organisation est
peu dépendante du support, les performances sont bonnes. La régénération des index
est complexe.

Olivier Michelet 13
CNAM Aix en Provence -
Conception et Administration des Bases de Données

● Les systèmes de fichiers


– Les Organisations de Fichiers

METHODES
D'ACCES

ANALYSEUR

MODULES
D'E/S

Olivier Michelet 14
CNAM Aix en Provence -
Conception et Administration des Bases de Données

● Les systèmes de fichiers


– Les Organisations de Fichiers

Les systèmes cherchent en première approche à insérer les fichiers (les paquets) dans
leur totalité. Lorsque la place disponible ne l’autorise plus, la solution consiste à gérer
des débordements.
Il existe plusieurs techniques, notamment :
– l'adressage ouvert
qui place l'article à insérer dans le premier paquet suivant ayant suffisamment de
place libre; il faut alors mémoriser tous les paquets dans lequel un paquet plein a
débordé.

– le chaînage
qui constitue un paquet logique par chaînage d'un paquet de débordement à un
paquet plein.

– le rehachage
qui applique une deuxième fonction de hachage lorsqu'un paquet est plein pour placer
en débordement.

Olivier Michelet 15
CNAM Aix en Provence -
Conception et Administration des Bases de Données

● Les systèmes de fichiers

– Les Organisations de Fichiers

On utilise fréquemment les fonctions de hachage dans des structures de données : les
tables de hachage.
Le principe est d'utiliser les empreintes des clés comme index des cases de la table.
Ces empreintes sont des nombres entiers obtenus en hachant la clé des objets à stocker,
souvent une chaîne de caractères.
Une fonction, dite de hachage, donne pour chaque valeur de clé C l’adresse f(C) d’un
espace de stockage où l’élément doit être placé.
On peut retrouver un objet à partir de sa clé: il suffit de lire dans le tableau la case dont
l'index est l'empreinte de cette clé.
Les avantages apportés par ce type d'indexation sont sa simplicité, une relative bonne
performance sur des accès par clé, très peu d'impact en termes d'espace disque.
En revanche, les recherches par intervalle sont onéreuses et peu performantes, peu
adapté aux mises à jour, risque de chaînage important,

Olivier Michelet 16
CNAM Aix en Provence -
Conception et Administration des Bases de Données

 Les systèmes de fichiers

– Les Organisations de Fichiers


- Fichier haché statique (Static hashed file)
Fichier de taille fixe dans lequel les articles sont placés dans des paquets dont
l'adresse est calculée à l'aide d'une fonction de hachage fixe appliquée à la clé.

Iga1 Adresse premier octet


--------------- libre dans le paquet
Article a1 a1
de longueur lga1
Iga2
Article a2 ---------------
a2 L Octets
de longueur lga2
Iga3
---------------
Article a3
de longueur lga3 a3

Index optionnel

Olivier Michelet 17
CNAM Aix en Provence -
Conception et Administration des Bases de Données

● Les systèmes de fichiers


– Les Organisations de Fichiers

- Fichier haché statique

Clé Fonction de
hachage

0 1 2
…………

i
………

n
} Paquets

Olivier Michelet 18
CNAM Aix en Provence -
Conception et Administration des Bases de Données

● Les systèmes de fichiers


– Les Organisations de Fichiers

Fichier haché dynamique


Technique permettant de faire grandir progressivement un fichier haché saturé en
distribuant les articles dans de nouvelles régions allouées au fichier.

Ficher haché extensible


Méthode de hachage dynamique consistant à éclater un paquet plein et à mémoriser
l'adresse des paquets dans un répertoire accédé directement par les (M+P) premiers
bits de la fonction de hachage où P est le nombre d'éclatements maximum subi par
les paquets.
Fichier haché linéaire
Méthode de hachage dynamique nécessitant la gestion de débordement consistant à:
- scinder le paquet pointé par un pointeur courant quand un paquet est plein,
- mémoriser le niveau d'éclatement du fichier afin de déterminer le nombre de bits de
la fonction de hachage à appliquer avant et après le pointeur courant.

Olivier Michelet 19
CNAM Aix en Provence -
Conception et Administration des Bases de Données

● Les systèmes de fichiers


– Les Organisations de Fichiers

Problème :
Nécessité de réorganisation
● Un fichier ayant débordé ne garantit plus de bons temps d'accès (2 et plus
accès disque en écriture, 1 en lecture)
● Le nombre de paquets primaires est fixe, ce qui peut entraîner un mauvais taux
de remplissage

Solution idéale :
Réorganisation progressive
● Un fichier ayant débordé devrait rester analogue à un fichier n'ayant pas
débordé.
● Il serait souhaitable de changer la fonction d'adressage.

Olivier Michelet 20
CNAM Aix en Provence -
Conception et Administration des Bases de Données

● Les systèmes de fichiers


– Les Organisations de Fichiers

Les fichiers indexés


– Objectifs :
1) Accès rapide à partir d'une clé
2) Accès séquentiel trié ou non

– Moyens :
Utilisation de tables permettant la recherche de l'adresse de l'article à partir de sa clé.

– Les Index
Table « annexe » permettant d'associer à une clé d'article l'adresse relative de ce
dernier.

Olivier Michelet 21
CNAM Aix en Provence -
Conception et Administration des Bases de Données

● Les systèmes de fichiers


– Les Organisations de Fichiers
Les fichiers indexés

Olivier Michelet 22
CNAM Aix en Provence -
Conception et Administration des Bases de Données

● Les systèmes de fichiers


– Les Organisations de Fichiers
La gestion des Index

Densité d'un index


– Quotient du nombre de clés dans l'index sur le nombre d'articles du fichier
(NbC/NbA).
Un index dense contient toutes les clés.
Un index non dense est possible si le fichier est trié.
– Il contient alors la plus grande clé de chaque bloc avec l'adresse relative du bloc.
Il est possible de construire des index hiérarchisés
– Chaque index possède alors un index qui permet d'accélérer la recherche.
– On peut ainsi gérer efficacement de gros fichiers.
Index hiérarchisé
– Index à n niveaux, le niveau k étant un index trié divisé en paquets, possédant lui-
même un index de niveau k+1, la clé de chaque entrée de ce dernier étant la plus
grande du paquet.

Olivier Michelet 23
CNAM Aix en Provence -
Conception et Administration des Bases de Données

● Les systèmes de fichiers


– Les Organisations de Fichiers
La gestion des Index

Niveau 3
21 30

Niveau 2

12 21 30

Niveau 1
2 5 12 14 18 21 23 25 30

Olivier Michelet 24
CNAM Aix en Provence -
Conception et Administration des Bases de Données

● Les systèmes de fichiers


– Les Organisations de Fichiers
La gestion des Index

- Les différents types d’index


- Les index basés sur les B-tree
La particularité de ce type d’index est qu’il conserve en permanence une arborescence
symétrique (balancé). Toutes les feuilles sont à la même profondeur. Le temps de
recherche est ainsi à peu près constant quel que soit l’enregistrement cherché. Le plus bas
niveau de l’index contient les valeurs des colonnes indexées et l’identifiant de
l’enregistrement. Toutes les feuilles de l’index sont chaînées entre elles. Il n’y a pas de
dégradation des performances lors de la monté en charge.

Olivier Michelet 25
CNAM Aix en Provence -
Conception et Administration des Bases de Données

● Les systèmes de fichiers


– Les Organisations de Fichiers
La gestion des Index

- Les index bitmap


Alors qu’un index de type B-tree permet de stocker une liste d’identifiants pour chaque
valeur de la colonne indexée, un bitmap ne stocke qu’une chaîne de bits.
Chaque bit correspond à une valeur possible de la colonne indexée.
Si le bit est positionné à 1 pour une valeur donnée de l’index, cela signifie que le tuple
courant contient une valeur.
Une fonction de transformation convertit la position du bit en identifiant.
Si le nombre de valeurs de la colonne indexée est faible, l’index bitmap sera très peu
gourmand en occupation de l’espace disque.

Olivier Michelet 26
CNAM Aix en Provence -
Conception et Administration des Bases de Données

● Les systèmes de fichiers


– Les Organisations de Fichiers
La gestion des Index

- Les index basés sur des fonctions


Une fonction de calcul, autres que les fonctions de regroupement (SUM, COUNT, MAX,
etc.) peut définir un index. Il est dit basé sur une fonction.
Ces index servent à accélérer les requêtes contenant un calcul pénalisant s’il est effectué
sur de gros volumes de données.
Un index basé sur une fonction peut-être de type B-tree ou bitmap mais dans ce cas l’index
bitmap ne peut pas être de type unique.

Olivier Michelet 27
CNAM Aix en Provence -
Conception et Administration des Bases de Données

● Les systèmes de fichiers


– Les Organisations de Fichiers
La gestion des Index

Les arbres-B (B-tree)

– Un arbre-B d'ordre m est un arbre au sens de la théorie des graphes tel que:
● Toutes les feuilles sont au même niveau
● Tout nœud non feuille a 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.

Olivier Michelet 28
CNAM Aix en Provence -
Conception et Administration des Bases de Données

● Les systèmes de fichiers


– Les Organisations de Fichiers
La gestion des Index

Les arbres-B (B-tree)

– Le nombre de niveaux d'un arbre-B est déterminé par son degré et le nbre de clés.
Si l'arbre est rempli au minimum, il existe:
une clé à la racine,
deux branches qui partent avec m clés,
(m+1) branches qui partent avec m clés.
Pour un arbre de niveaux h, le nombre de clés est donc:
N = 1 + 2 m (1+ (m+1) + (m+1)2 + … + (m+1)h-2)
soit, par réduction du développement limité:
N = 1 + 2 ((m+1)h-1-1)
D'où l'on déduit que pour stocker N clés, il faut:
h = 1 + logm+1 ((N+1)/2) niveaux.

Olivier Michelet 29
CNAM Aix en Provence -
Conception et Administration des Bases de Données

● Les systèmes de fichiers


– Les Organisations de Fichiers
La gestion des Index
Les arbres-B (B-tree)

Olivier Michelet 30
CNAM Aix en Provence -
Conception et Administration des Bases de Données

● Les systèmes de fichiers


– Les Organisations de Fichiers
La gestion des Index
Les arbres-B (B-tree)

Olivier Michelet 31
CNAM Aix en Provence -
Conception et Administration des Bases de Données

● Les systèmes de fichiers


– Les Organisations de Fichiers
La gestion des Index
Les arbres-B (B-tree)

Olivier Michelet 32
CNAM Aix en Provence -
Conception et Administration des Bases de Données

● Les systèmes de fichiers


– Les Organisations de Fichiers
Les opérations sur les données
Fichier :
Création
Suppression
Modification (Nommage, autorisations, déplacement, restauration)
Ouverture
Fermeture
Réorganisation
Données :
Insertion
Suppression
Modification
(Ré)indexation

Olivier Michelet 33
CNAM Aix en Provence -
Conception et Administration des Bases de Données

● Les systèmes de fichiers


– Les Organisations de Disques
Les systèmes RAID (Redundant Array of Inexpensive Disks)
RAID 0 :

Olivier Michelet 34
CNAM Aix en Provence -
Conception et Administration des Bases de Données

● Les systèmes de fichiers


– Les Organisations de Disques
Les systèmes RAID (Redundant Array of Inexpensive Disks)
RAID 1 :

Olivier Michelet 35
CNAM Aix en Provence -
Conception et Administration des Bases de Données

● Les systèmes de fichiers


– Les Organisations de Disques
Les systèmes RAID (Redundant Array of Inexpensive Disks)
RAID 5 :

Olivier Michelet 36
CNAM Aix en Provence -
Conception et Administration des Bases de Données

● Les systèmes de fichiers

– Les disques

Olivier Michelet 37
CNAM Aix en Provence -
Conception et Administration des Bases de Données

● Les systèmes de fichiers

Olivier Michelet 38

Vous aimerez peut-être aussi