Académique Documents
Professionnel Documents
Culture Documents
Département d’Informatique
ARCHITECTURE ET ADMINISTRATION
2014-2015
RESPONSABLES
M. KAMEL BOUKHALFA (SII)
MME Z. ALIMAZIGHI (MIL)
CHAPITRE 1
ARCHITECTURE
1
06/10/2014
DÉFINITIONS
Base de données
définition de données.
3
DÉFINITIONS
2
06/10/2014
SGBD
programmations.
de données.
5
HISTORIQUE DES SGBD
3
06/10/2014
HISTORIQUE
Les premiers SGBD qui manipulent des bases de données relationnelles — IBM System R et
Oracle V2 — sont apparus en 1978.
1981 : Informix
1983 : Oracle V3
1989 : PostGres
1992 : MS Access
1999 : Oracle 8i
Pour plus de détail sur tout l’historique des SGBD, voir le lien suivant :
http://fadace.developpez.com/sgbdcmp/story/
7
GÉNÉRATIONS DE SGBD
LMD navigationnel
4ième génération ?
4
06/10/2014
Stockage physique
Description de l’organisation
physique des données
Domaine de
l’administrateur de
Schéma interne
la base de données
9
OBJECTIFS DES SGBD
Indépendance logique
5
06/10/2014
Insertion
Suppression
Modification
Cohérence de données
Les données d’une base de données doivent vérifier des invariants appelés contraintes
d’intégrité.
11
OBJECTIFS DES SGBD
Sécurité de la BD
Intégrité de la BD
6
06/10/2014
PRINCIPALES ARCHITECTURES
DES BD
Architecture centralisée
Premiers systèmes
13
ARCHITECTURE CLIENT-SERVEUR 14
7
06/10/2014
15
BASE DE DONNÉES RÉPARTIE, DISTRIBUÉE
SGBD réparti
Répartition des données de manière transparente
Objet du module BDA (deuxième semestre)
16
8
06/10/2014
Mémoire vive
Unité de Unité de Unité de
traitement traitement traitement
17
ENTREPÔT DE DONNÉES
BD
opérationnelle
(OLTP)
Extraction :
BD filtrage,
Analyse (OLAP),
opérationnelle synthèse, Entrepôt de données prospection
transformation,
(OLTP)
fusion
(« data wharehouse »)
Autre
source de
données
18
9
06/10/2014
Programmes
Requêtes DDL Requêtes
Interactives Compilateur du
Pré-Compilateur
langage de Prog.
Méta-base
Gestionnaire Exécute
Processeur de BD
des données
19
ARCHITECTURE INTERNE D’UN
SGBD
Gestionnaire de données
données.
Méta-base
Contient toutes les informations sur les données comme la structure des
10
06/10/2014
Compilateur DML
Compilateur de requêtes
21
ARCHITECTURE INTERNE D’UN
SGBD
Processeur de base de données
Pré-compilateur
BD.
22
11
06/10/2014
SGBD ORACLE
SITE ORACLE
12
06/10/2014
ORACLE SOLUTIONS
ORACLE - OUTILS
13
06/10/2014
ORACLE STORE
HISTORIQUE
14
06/10/2014
HISTORIQUE
En 1983, RSI devient Oracle Corporation. La version 3 d'Oracle, entièrement ré-écrite en
langage de programmation C, est publiée. C'est à partir de cette version que la plate-forme Unix
est supportée.
Début 1985, Oracle commence à intégrer le modèle client-serveur, avec l'arrivée des réseaux au
milieu des années 1980. La version 5 d'Oracle supporte donc les requêtes distribuées.
En 1988, Oracle met sur le marché son ERP - Oracle Financials basé sur la base de données
locking) et les sauvegardes à chaud (hot backups, lorsque la base de données est ouverte).
En 1992, la version 7 d'Oracle supporte les contraintes d'intégrité, les procédures stockées et les
déclencheurs (triggers).
HISTORIQUE
En 1999, la version 8i est publiée dans le but d'affiner ses applications avec Internet. La base de
données comporte nativement une machine virtuelle Java.
En 2001, Oracle 9i ajoute 400 nouvelles fonctionnalités et permet de lire et d'écrire des
documents XML.
À partir de la version 9i, intégration du moteur OLAP au sein de Oracle. Les données
multidimensionnelles sont accessibles à partir du langage SQL.
En 2003, la version 10g est publiée. Le g signifie « grid » ; un des atouts marketing de la 10g est
en effet qu'elle supporte le « grid computing ».
En 2005, vers la fin novembre, une version complètement gratuite est publiée, la « Oracle
Database 10g Express Edition ». Apparaît cette même année, Oracle Database 10.2.0.1 — aussi
connue sous le nom d'Oracle Database 10g Release 2 (10gR2).
15
06/10/2014
ARCHITECTURE
Designer
Client
Developer Discoverer
SQL*Plus
ORACLE SERVER
ORACLE DESIGNER
16
06/10/2014
ORACLE DISCOVRER
ORACLE DEVELOPER
17
06/10/2014
ARCHITECTURE
L’environnement ORACLE est un ensemble de produits autour de sa base de données
ORACLE Designer
Outil d’interrogation pour des utilisateurs qui ont besoin d’accéder par eux-mêmes aux
données, Datawarehouse, Datamart (Discoverer Administrator, Discoverer Catalog, etc.).
ARCHITECTURE
18
06/10/2014
COMPOSANTS
Les composants principaux de l’architecture d’ORACLE sont
SMON (System MONitor)
Les processus
Les structures mémoires DBWR (DataBase Writer)
Processus
Processus utilisateurs
Serveur
Fichiers de
contrôle
Fichiers de données Fichiers Redo Log
19
06/10/2014
Contient les blocs de données, les blocs d’index, des blocs contenant
les RollBack Segments (ils enregistrent les actions d’une transaction
pour la reprise en cas de panne) et des blocs pour la gestion du
système, les plus récemment utilisés; il peut contenir des données
modifiées qui n’ont pas encore été enregistrées sur disque.
soumis par les utilisateurs. Elle peut réutiliser les ordres SQL
déjà exécutés.
20
06/10/2014
LES PROCESSUS
Users Process
Server Process
Backgrounds Process.
PMON.
BACKGROUND PROCESS
DBWR (DataBase Writer) : Son rôle est de mettre à jour les fichiers
de données. Les blocs de données modifiés en SGA sont stockés
dans la base de données.
21
06/10/2014
BACKGROUND PROCESS
CKPT : Checkpoint
ARCH : Archiver
RECO : Recover
LCKn : LOCK
SNPn : Snapshot Refresh
Snnn : Shared server
Dnnn : Dispatcher
Pnnn : Parallel Query
PROCESSUS UTILISATEUR
programme applicatif.
22
06/10/2014
PROCESSUS SERVEUR
Lire les blocs de données à partir du disque dans les zones partagées de
la SGA
INSTANCE ORACLE
C’est la combinaison de la SGA et des process détachés de la base de données.
Quand une instance est démarrée, les zones mémoire de la SGA sont allouées et
les process détachés sont lancés.
MÉCANISME
Toutes les transactions sont enregistrées dans les fichiers Redo Log, En cas de
problème la reprise après panne est assurée par le process SMON au démarrage
d’une nouvelle instance.
23
06/10/2014
BD ORACLE
La base de données ORACLE est composée de fichiers de données
et de fichiers redo log tous étant référencés dans un ou plusieurs
fichiers de contrôle.
STRUCTURE INTERNE
LES TABLESPACES
Les données d’une base Oracle sont mémorisées dans une ou plusieurs
unités logiques appelées tablespaces et physiquement dans des fichiers
associés à ces tablespaces.
Chaque base contient obligatoirement un tablespace SYSTEM, celui-ci
contient les tables du dictionnaire de données, les procédures, les fonctions,
les packages, les triggers et le rollback segment SYSTEM.
Les autres tablespaces contiennent les segments de la base de données
(tables, index,…).
24
06/10/2014
STRUCTURE INTERNE
FONCTIONS DE SGBD
Création / Modification
25
06/10/2014
LES CATALOGUES
Contraintes et Triggers
LES CATALOGUES
CATALOGUES
26
06/10/2014
MÉMOIRE RELATIONNELLE
Couche du SGBD qui accède à la BD
MÉTHODES DE STOCKAGE
Le seul accès aux données dans le cas de la recherche d’un enregistrement est un balayage
Si cette dernière est saturée, alors une nouvelle page est allouée et l’enregistrement est inséré.
27
06/10/2014
HACHAGE
Disposer d’une fonction de hachage h(c ) qui permet de calculer un numéro
de bloc ou paquet, contenant un ensemble de pages, à partir d’une clé.
HACHAGE
Algorithme de recherche
page du bloc
Algorithme de modification :
réaliser la modification
28
06/10/2014
HACHAGE
Algorithme d’insertion :
Si non : si le bloc n’est pas saturé alors insérer le nouvel enregistrement, sinon,
allouer une nouvelle page, insérer le nouvel enregistrement et chaîner la nouvelle
page aux autres.
Le bloc est saturé signifie qu’il va y avoir débordement. C’est la gestion des
débordements qui va dégrader les performances dans les techniques de hachage.
Algorithme de suppression :
FICHIERS INDEXES
Un fichier index contient un ensemble de couples (c,p) où c est la clé du
premier enregistrement de la page p.
Index dense : il contient toutes les clés du fichier
Index non dense : on crée des enregistrements index pour certains
enregistrements du fichier : dans ce cas le fichier est trié et divisé en blocs. A
chaque bloc lui est associée une entrée dans l’index.
(c,p) = < plus grande clé du bloc, adresse relative du bloc>
29
06/10/2014
FICHIERS INDEXES
Algorithme de recherche
Accès à l’index,
index dense), ou de l’adresse relative du bloc qui le contient (si index non
dense),
FICHIERS INDEXES
Algorithme d’insertion :
Accès à l’index,
Si la page est pleine, il existe différentes stratégies, entre autres, aller à la page
30
06/10/2014
FICHIERS INDEXES
Algorithme de suppression :
Cas particuliers
FICHIERS INDEXES
Algorithme de modification :
modifier,
Réaliser la modification.
Cas particulier
31
06/10/2014
B-ARBRE
Chaque nœud excepté la racine et les feuilles a au moins [d/2] fils (plus petit
entier non inférieur à d/2, ou encore l’arrondi supérieur de d/2).
Les données (tuples) sont rangées dans les feuilles ou nœuds terminaux. Les
nœuds non terminaux ne contiennent que des clés et des pointeurs vers
d’autres nœuds de l’arborescence.
B-ARBRE
Les types d’accès fournis par un B-index
32
06/10/2014
B-ARBRE
Algorithme de recherche
contenant la clé.
B-ARBRE
Algorithme d’insertion
effet
2. Si Pi
de est non l’arbre
modifier saturéesur
alors insertion niveaux
plusieurs dans l’ordre des clés.
et ainsi être dans la possibilité
3. Sinon il faut allouer une nouvelle page P’. On répartit les tuples de Pi avec le
de modifier la racine qui deviendra un nœud intermédiaire, et qui sera
nouveau tuple en deux groupes équilibrés qui seront stockés respectivement sur Pi
et P’.
remplacée par une nouvelle racine avec 2 fils. La profondeur de l’arbre sera
4. Soit P0 la page qui pointait sur Pi ; deux possibilités :
alors modifiée.
5. Soit P0 est non saturée, c’est-à-dire qu’elle n’a pas les d-1 clés alors insertion d’un
pointeur pour P’ avec la valeur minimum de clé de P’.
On parle alors d’insertion avec éclatement de nœuds et propagation de
6. Sinon, il faut allouer une nouvelle page pour l’index tout en contrôlant le pointage du
l’éclatement jusqu’à la racine.
niveau antécédent.
33
06/10/2014
B-ARBRE
Algorithme de suppression
GESTION DE
L’INTÉGRITÉ
34