You are on page 1of 34

Fonctionnalits des SGBD

Georges GARDARIN

Architecture d'un SGBD


ANALYSEUR ANALYSEUR
Analyse syntaxique Analyse smantique Gestion des schmas Modification de requtes Contrle d'intgrit Contrle d'autorisation Ordonnancement Optimisation laboration d'un plan Excution du plan Mthodes d'accs Contrle de concurrence Atomicit des transactions

META-BASE

CONTROLEUR

OPTIMISEUR

Plan d'Accs

EXECUTEUR

BD
2

Langage de description des donnes (DDL pour Data Definition Language). Celui-ci (DDL Celuicomprend trois commandes qui permettent ladministration dune base de donnes, ces commandes sont :

CREATE Cration de tables ou dindex ALTER Modification de tables ou dindex DROP Suppression de tables ou dindex
 Langage de manipulation des donnes (DML pour Data Manipulation Language). Celui-ci (DML Celui-

comprend trois commandes qui permettent les mises jour des donnes dune table, ces commandes sont :

INSERT Insertion de nouvelles lignes dans une table UPDATE Mise jour de certains champs dune ligne dans une table DELETE Suppression des lignes inutiles dans une table

1. Description des donnes




SQL DDL
  

L'analyseur vrifie Le syntaxe des commandes Il stocke le schma dans la mta-base (catalogue systme) mtaCelleCelle-ci est souvent une BD relationnelle C'est un ensemble de tables dcrivant les autres (et elle mme) Bases, Tables, Attributs, Domaines, Cls, ... Vues, Contraintes, Index, ... Create Table, Alter Table, etc.
4

Organisation de la mta-base mta  

Commandes traites


Noyau de mtabase
      

SCHEMAS (CATALOG, NOMB, Crateur,Caractre_Set, ) TABLES (CATALOG, NOMB, NOMR, Type, ) DOMAINS (CATALOG, NOMB,NOMD, Type, Dfaut, Contrainte,..) COLUMNS (CATALOG, NOMB, NOMR, NOMA, Pos, Type, ) TYPES (CATALOG, NOMB, NOM, MaxL, Precision, ) CONSTRAINTS (CATALOG, NOMB, NOMC, TypeC, NomR, ) USERS (NOM, )
5

2. Manipulation des Donnes




L'analyseur analyse la requte


  

Analyse syntaxique selon la grammaire SQL Analyse smantique selon la mtabase Traduction en arbre d'algbre relationnel Select <Liste de champs ou de calculs afficher> From <Liste de relations mises en jeu> Where <Liste de prdicats satisfaire> Group By <Groupement ventuel sur un ou plusieurs champs> Order By <Tri ventuel sur un ou plusieurs champs>
6

Syntaxe SQL (rappel)


    

Reprsenter les arbres algbriques des requtes suivantes

Exemple de question SQL (1)




Nom et description des mdicaments de type aspirine

Select Nom, Description From Mdicaments Where Type = Aspirine

Exemple de question SQL (2)




Patients parisiens ayant effectus une visite le 15 juin Patients.Nom, Patients.Prnom Patients, Visites Patients.Id-P = Visites.Id-P Patients.IdVisites.IdPatients.Ville = Paris Visites.Date = 15 juin
8

Select From Where and and

Exemple de question SQL (3)




Dpenses effectues par patient tri par ordre dcroissant

Select Patients.Id-P, Patients.Nom, sum(Prix) Patients.Idsum(Prix) From Patients, Visites Where Patients.Id-P = Visites.Id-P Patients.IdVisites.IdGroupBy Patients.Id-P, Patients.Nom Patients.IdOrderBy sum(Prix) desc sum(Prix)
9

3. Gestion des vues


   

Les vues permettent dimplmenter lindpendance logique en permettant de crer des objets virtuels Vue = Question SQL stocke Le SGBD stocke la dfinition et non le rsultat Exemple : la vue des patients parisiens Create View Parisiens as ( Select Nom, Prnom From Patients Where Patients.Ville = Paris )
10

Gestion des vues


Le SGBD transforme la question sur les vues en question sur les relations de base
Question Q sur des vues

Gestionnaire de Vues
Dfinition des vues Question Q sur les relations de base

11

Syntaxe et Exemple
CREATE VIEW <nom de table> [(<nom de colonne>+)] AS <spcification de question> [WITH CHECK OPTION]
 

La clause "WITH CHECK OPTION" demande la vrification du critre lors des insertions et mises jour via la vue

CREATE VIEW GROSGROSBUVEURS (NB, NOM, PRENOM) AS SELECT NB, NOM, PRENOM FROM BUVEURS B, ABUS A WHERE B.NB = A.NB AND A.QTE > 100


Modification de questions
Rsultat B.NOM = "MARTIN" Question

Vue

Vue

B.NB, B.NOM, B.PRENOM

A.NB

B.NB

Dfinition de vue

A.QTE > 100 BOIRE A

BUVEURS B

13

4. Excution et Optimisation


Traduction automatique des questions dclaratives en programmes procduraux :


Utilisation de lalgbre relationnelle

Optimisation automatique des questions


Utilisation de laspect dclaratif de SQL Gestion centralise des chemins d'accs (index, hachages, ) Techniques doptimisation pousses

Economie de l'astuce des programmeurs




milliers d'heures d'criture et de maintenance de logiciels.


14

Slection
Patients
Id-P Id1 2 3 4 Nom Lebeau Troger Doe Perry Prnom Jacques Zoe John Paule Ville Paris Evry Paris Valenton Id-P Id-

Patients
Nom Lebeau Troger Doe Perry Prnom Jacques Zoe John Paule Ville Paris Evry Paris Valenton

1 2 3 4

Patients de la ville de Paris

15

Projection
Patients
Id-P Id1 2 3 4 Nom Lebeau Troger Doe Perry Prnom Jacques Zoe John Paule Ville Paris Evry Paris Valenton Id-P Id-

Patients
Nom Lebeau Troger Doe Perry Prnom Jacques Zoe John Paule Ville Paris Evry Paris Valenton

1 2 3 4

Nom et prnom des patients

16

Jointure
Patients
Id-P Id1 2 3 4 Nom Lebeau Troger Doe Perry Prnom Jacques Zoe John Paule Ville Paris Evry Paris Valenton IdIdD 1 1 2 2 IdIdP 1 2 2 3 Nom Lebeau Troger Troger Doe Prno m Jacques Zoe Zoe John Ville Paris Evry Evry Paris IdIdD 1 1 2 2 IdIdP 1 2 2 3 Id-V Id2 1 3 4

Visites
IdIdP 2 1 2 3 Date 12 aot 15 juin 13 juillet 1 mars Id-V Id1 2 3 4 Prix 180 250 350 250 Date 15 juin 12 aot 13 juillet 1 mars Prix 250 180 350 250

Patients et leurs visites


17

Exemple de plan dexcution

Select Patients.Nom, Patients.Prnom From Patients, Visites Where Patients.Id-P = Visites.Id-P Patients.IdVisites.Idand Patients.Ville = Paris and Visites.Date = 15 juin

T W

Patients

Visites 18

Plan dexcution optimis

T T W T W
Patients Visites Patients

T W
Visites
19

5. Intgrit Logique
 

Objectif : Dtecter les mises jour errones Contrle sur les donnes lmentaires
 

Contrle de types: ex: Nom alphabtique Contrle de valeurs: ex: Salaire mensuel entre 5 et 50kf Relations entre donnes lmentaires:


Contrle sur les relations entre les donnes


 

Prix de vente > Prix d'achat Un lecteur doit tre inscrit sur une seule liste lectorale

Relations entre objets:




20

Contraintes dintgrit


Avantages :
 simplification

du code des applications  scurit renforce par l'automatisation  mise en commun des contraintes


Ncessite :
 un

langage de dfinition de contraintes d'intgrit  la vrification automatique de ces contraintes


21

Exemples de contrainte


Contraintes dintgrit rfrentielles


Docteurs Prescriptions
Id-V Id-

Id-D Id1 2 3 .

Nom Dupon t Duran d Masse ..

Prnom Pierre Paul Jean

Visites
Id-D Id1 1 2 2 Id-P Id2 1 2 3 Id-V Id1 2 3 4 Date 15 juin 12 aot 13 juillet 1 mars Prix 250 180 350 250 1 1 2 2 2 .

Lign e 1 2 1 2 3 .

IdIdM 12 5 8 12 3 .

Posologie 1 par jour 10 gouttes 2 par jour 1 par jour 2 gouttes

22

Techniques de contrle


domaine de valeurs


vrification la vole test de non existence dans l'index insertion rfrenante : test d'existence dans l'index suppression rfrence: test de non existence (index ?) trs complexe intrt de grer des agrgats pr-calculs pr-

unicit de cl


rfrences inter-tables inter 

assertion logique (quantificateurs, agrgats)


 

6. Intgrit Physique


Motivations : Tolrance aux fautes


   

Transaction Failure : Contraintes d'intgrit, Annulation System Failure : Panne de courant, Crash serveur ... Media Failure : Perte du disque Communication Failure : Dfaillance du rseau

Objectifs :
 

Assurer l'atomicit des transactions l'atomicit Garantir la durabilit des effets des transactions commises

Moyens :
 

Journalisation : Mmorisation des tats successifs des donnes Mcanismes de reprise


24

Transaction
Incohrence possible... Etat cohrent Begin Transaction Etat cohrent Commit

Begin CEpargne = CEpargne - 3000 CCourant = CCourant + 3000 Commit T1


25

Atomicit et Durabilit
ATOMICITE Begin CEpargne = CEpargne - 3000 CCourant = CCourant + 3000 Commit T1
Panne

DURABILITE Begin CEpargne = CEpargne - 3000 CCourant = CCourant + 3000 Commit T1


Crash disque

Annuler le dbit !!

Sassurer que le virement a t fait !


26

7. Partage des donnes


BD

Accs concurrent aux mmes donnes Conflits daccs !!


27

Partage des donnes


BD

Technique de base
   

Le SGBD verrouille les donnes accdes pour l'utilisateur Il relche les verrous en fin de transaction Distinction verrou en lecture et en criture - Compatibilit lecture-lecture lecture28

8. Confidentialit


Objectif : Protger les donnes de la BD contre des accs non autoriss Deux niveaux :
 

Connexion restreinte aux usagers rpertoris (mot de passe) Privilges d'accs aux objets de la base

 

Usagers : Usager ou groupe dusagers Objets : Relation, Vue, autres objets (procdures, etc.) Vue,

29

Puissance des droits SGBD


Service des ressources humaines Employs (intranet) Public (internet)

Id-E Id1 2 3 4

Nom Ricks Trock Lerich Doe

Prnom Poste Jim 5485 Jack 1254 Zoe 5489 Joe 4049

Nombre Masse demploys Salariale 4 890

Id-E Id1 2 3 4

Nom Ricks Trock Lerich Doe

Prnom Poste Adresse Jim 5485 . Jack 1254 . Zoe 5489 . Joe 4049 .

Ville Paris Versailles Chartres Paris

Salaire 230 120 380 160

30

Commandes de SQL


Attribuer autorisation
    

GRANT <DROITS> ON <RELATION> TO (<SUJET>) [WITH GRANT OPTION] <DROITS > ::= ALL | [<OPERATION>] <OPERATION> ::= SELECT| INSERT| DELETE | UPDATE | ALTER REVOKE <DROITS> ON <RELATION> FROM (<SUJET>) REVOKE DOIT RETIRER AUSSI LES DROITS TRANSMIS

Retirer autorisations
 

Remarque


9. Principaux SGBD
  

Les SGBD mettrent en uvre des techniques similaires Aujourdhui 3 leaders :




Oracle, IBM, Microsoft

Dveloppements vers le e-business eSite Web dynamiques  Commerce lectronique BtoC  Commerce lectronique BtoB  Support des documents (XML) ...

32

Principaux SGBD


Les grands SGBD


     

Les SGBD personnels


    

Oracle IBM DB2 Microsoft SQL Server Sybase SQL Server Ingres Informix


Borland Paradox Filemaker Interbase Microsoft Access Microsoft FoxPro

Les SGBD objets


   

Les open sources


 

MySQL PostgreSQL

Objectivity Object Store Versant O2


33

Le march des SGBD




Parts de march
Parts de march en 2005

14 3 33 Oracle IBM Microsoft 17 Sybase Autres 33

Source: Dataquest

You might also like