Académique Documents
Professionnel Documents
Culture Documents
SGBD
Nakoniloh SORO
Architecture d'un SGBD
Analyse syntaxique
Analyse sémantique
ANALYSEUR ANALYSEUR Gestion des schémas
Modification de requêtes
CONTROLEUR Contrôle d'intégrité
META-BASE Contrôle d'autorisation
Ordonnancement
Optimisation
OPTIMISEUR Élaboration d'un plan
Exécution du plan
Méthodes d'accès
Plan d'Accès EXECUTEUR Contrôle de concurrence
Atomicité des transactions
BD
2
1. Description des données
SQL DDL
L'analyseur vérifie la correction des commandes
Il stocke le schéma dans la méta-base (catalogue système)
Celle-ci est souvent une BD relationnelle
Organisation de la méta-base
C'est un ensemble de tables décrivant les autres (et elle même)
Bases, Tables, Attributs, Domaines, Clés, ...
Vues, Contraintes, Index, ...
Commandes traitées
Create Table, Alter Table, etc.
3
Noyau de métabase
SCHEMAS (CATALOG, NOMB, Créateur,Caractère_Set,
…)
TABLES (CATALOG, NOMB, NOMR, Type, …)
DOMAINS (CATALOG, NOMB,NOMD, Type, Défaut,
Contrainte,..)
COLUMNS (CATALOG, NOMB, NOMR, NOMA, Pos,
Type, …)
TYPES (CATALOG, NOMB, NOM, MaxL, Precision, …)
CONSTRAINTS (CATALOG, NOMB, NOMC, TypeC,
NomR, …)
USERS (NOM, …)
4
2. Manipulation des Données
L'analyseur analyse la requête
Analyse syntaxique selon la grammaire SQL
Analyse sémantique selon la métabase
Traduction en arbre d'algèbre relationnel
Syntaxe SQL (rappel)
Select <Liste de champs ou de calculs à afficher>
From <Liste de relations mises en jeu>
Where <Liste de prédicats à satisfaire>
Group By <Groupement éventuel sur un ou plusieurs
champs>
Order By <Tri éventuel sur un ou plusieurs champs>
Représenter les arbres algébriques des requêtes suivantes
5
Exemple de question SQL (1)
Nom et description des médicaments de type aspirine
6
Exemple de question SQL (2)
Patients abidjanais ayant effectués une visite le 15 juin
7
Exemple de question SQL (3)
Dépenses effectuées par patient trié par ordre
décroissant
Gestionnaire
de Vues
10
Syntaxe et Exemple
CREATE VIEW <nom de CREATE VIEW GROS-
table> [(<nom de colonne>+)] BUVEURS (NB, NOM,
AS <spécification de question> PRENOM)
[WITH CHECK OPTION]
AS SELECT NB, NOM,
PRENOM
La clause "WITH CHECK
OPTION" demande la FROM BUVEURS B, ABUS
vérification du critère lors des A
insertions et mises à jour via la WHERE B.NB = A.NB
vue
AND A.QTE > 100
Modification de questions
Résultat
Vue Vue
BOIRE A
12
4. Exécution et Optimisation
Traduction automatique des questions déclaratives en
programmes procéduraux :
Utilisation de l’algèbre relationnelle
13
Sélection
Patients Patients
s
Id-P Nom Prénom Ville Id-P Nom Prénom Ville
1 Lebeau Jacques Abidjan 1 Lebeau Jacques Abidjan
2 Troger Zoe Evry 2 Troger Zoe Evry
3 Doe John Abidjan 3 Doe John Abidjan
4 Perry Paule Valenton 4 Perry Paule Valenton
14
Projection
Patients Patients
p
Id-P Nom Prénom Ville Id-P Nom Prénom Ville
1 Lebeau Jacques Abidjan 1 Lebeau Jacques Abidjan
2 Troger Zoe Evry 2 Troger Zoe Evry
3 Doe John Abidjan 3 Doe John Abidjan
4 Perry Paule Valenton 4 Perry Paule Valenton
15
Jointure
Patients Visites
Id-P Nom Prénom Ville Id- Id- Id-V Date Prix
1 Lebeau Jacques Abidjan D P
s
Where Patients.Id-P = Visites.Id-P
and Patients.Ville = ’Abidjan’
and Visites.Date = ’15 juin’
Patients Visites
17
Plan d’exécution optimisé
p
p
s p p
s s
Patients Visites Patients Visites
18
5. Intégrité Logique
19
Contraintes d’intégrité
Avantages :
simplification du code des applications
sécurité renforcée par l'automatisation
mise en commun des contraintes
Nécessite :
un langage de définition de contraintes d'intégrité
la vérification automatique de ces contraintes
20
Exemples de contrainte
Contraintes d’intégrité référentielles
Docteurs Prescriptions
Id-D Nom Prénom Id-V Lign Id- Posologie
1 Dupon Pierre Visites e M
t 1 1 12 1 par jour
Id-D Id-P Id-V Date Prix
2 Duran Paul 1 2 5 10 gouttes
d 1 2 1 15 juin 250
2 1 8 2 par jour
3 Masse Jean 1 1 2 12 août 180
2 2 12 1 par jour
…. …….. …… 2 2 3 13 juillet 350
2 3 3 2 gouttes
2 3 4 1 mars 250
…. …. …. …………
21
Techniques de contrôle
domaine de valeurs
vérification à la volée
unicité de clé
test de non existence dans l'index
références inter-tables
insertion référençante : test d'existence dans l'index
suppression référencée: test de non existence (index ?)
assertion logique (quantificateurs, agrégats)
très complexe
intérêt de gérer des agrégats pré-calculés
6. Intégrité Physique
Motivations : Tolérance aux fautes
Transaction Failure : Contraintes d'intégrité, Annulation
System Failure : Panne de courant, Crash serveur ...
Media Failure : Perte du disque
Communication Failure : Défaillance du réseau
Objectifs :
Assurer l'atomicité des transactions
Garantir la durabilité des effets des transactions commises
Moyens :
Journalisation : Mémorisation des états successifs des données
Mécanismes de reprise
23
Transaction
Incohérence possible...
Etat cohérent Etat cohérent
Begin Commit
Transaction
Begin
CEpargne = CEpargne - 3000
CCourant = CCourant + 3000
Commit T1
24
Atomicité et Durabilité
ATOMICITE DURABILITE
Panne
Begin Begin
CEpargne = CEpargne - 3000 CEpargne = CEpargne - 3000
CCourant = CCourant + 3000 CCourant = CCourant + 3000
Commit T1 Commit T1
Crash disque
BD
BD
Technique de base
Le SGBD verrouille les données accédées pour l'utilisateur
Il relâche les verrous en fin de transaction
Distinction verrou en lecture et en écriture
- Compatibilité lecture-lecture
27
8. Confidentialité
Objectif : Protéger les données de la BD contre des
accès non autorisés
Deux niveaux :
Connexion restreinte aux usagers répertoriés (mot de passe)
Privilèges d'accès aux objets de la base
28
Puissance des droits SGBD
Employés Public
Service des (intranet) (internet)
ressources
humaines
Id-E Nom Prénom Poste
1 Ricks Jim 5485
2 Trock Jack 1254 Nombre Masse
3 Lerich Zoe 5489 d’employés Salariale
4 Doe Joe 4049 4 890
31
Principaux SGBD
Les grands SGBD Les SGBD personnels
Oracle Borland Paradox
IBM DB2 Filemaker
Microsoft SQL Server Interbase
Microsoft Access
Sybase SQL Server
Microsoft FoxPro
Ingres
Informix
Les SGBD objets
Objectivity
Les open sources Object Store
MySQL Versant
PostgreSQL O2
32