Professional Documents
Culture Documents
Georges GARDARIN
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
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
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
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
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 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
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
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
A.NB
B.NB
Dfinition de vue
BUVEURS B
13
4. Excution et Optimisation
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
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
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
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
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:
Prix de vente > Prix d'achat Un lecteur doit tre inscrit sur une seule liste lectorale
20
Contraintes dintgrit
Avantages :
simplification
du code des applications scurit renforce par l'automatisation mise en commun des contraintes
Ncessite :
un
Exemples de contrainte
Id-D Id1 2 3 .
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 .
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
6. Intgrit Physique
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 :
Transaction
Incohrence possible... Etat cohrent Begin Transaction Etat cohrent Commit
Atomicit et Durabilit
ATOMICITE Begin CEpargne = CEpargne - 3000 CCourant = CCourant + 3000 Commit T1
Panne
Annuler le dbit !!
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
Id-E Id1 2 3 4
Prnom Poste Jim 5485 Jack 1254 Zoe 5489 Joe 4049
Id-E Id1 2 3 4
Prnom Poste Adresse Jim 5485 . Jack 1254 . Zoe 5489 . Joe 4049 .
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
Dveloppements vers le e-business eSite Web dynamiques Commerce lectronique BtoC Commerce lectronique BtoB Support des documents (XML) ...
32
Principaux SGBD
Oracle IBM DB2 Microsoft SQL Server Sybase SQL Server Ingres Informix
MySQL PostgreSQL
Parts de march
Parts de march en 2005
Source: Dataquest