Académique Documents
Professionnel Documents
Culture Documents
Chpt-3-Cours - BdD-Administration-IBAM-M1-2021 - V1
Chpt-3-Cours - BdD-Administration-IBAM-M1-2021 - V1
IBAM
UJKZ
CHAPITRE 3
Introduction à l’administration des
Bases de Données
• Tâches d’administration
• PL/SQL+Trigers
• Indexation,
• Amélioration des performances
et
• Traitement et optimisation des requêtes
Administration :
Indexation :
•Fig 01
Syntaxe :
Create [unique] index Nom_Index
On Nom_Table (colonne1, … colonneN);
Notes :
Un index sur le champs Prénom est différent d’un index sur
les champs Prénom et Nom,
Un index sur les champ Prénom et Nom et différent d’un
index sur les champs Nom et Prénom.
Syntaxe :
Drop index Nom_Index ;
SQL BD
„ Exemples:
num NUMBER(2);
nextTaxFilingDate CONSTANT DATE := '15-APR-00';
vNom etudiant.nom%TYPE;
„ vNom est de même type que le champ nom de la table etudiant.
WHILE condition
LOOP
Statements;
END LOOP;
FOR i IN 1..10
LOOP
dbms_output.putline ('i= '|| i);
sum := sum + i;
END LOOP;
LOOP
sum := sum + i;
END LOOP;
… prédéfinies,
Declare
..
Begin
..
Begin
.
EXCEPTION _______________ Exception locale
END;
EXCEPTION Exception globale
.
END;
Dr Kiswendsida Kisito Kaboré. 311
http://Kisitokab.xyz
Gestion des exceptions
DECLARE
vName VARCHAR2(30);
vRegistered CHAR;
BEGIN
SELECT firstName||' '|| lastName
INTO vName
FROM student
WHERE studentId = 12;
DBMS_OUTPUT.PUT_LINE('Le nom de l''étudiant est ‘ ||vName);
BEGIN
SELECT 'Y'
INTO vRegistered
FROM enrollment
WHERE studentId = 12;
DBMS_OUTPUT.PUT_LINE('L''étudiant est inscrit');
20
END;
EXCEPTION
END;
l'enregistrement suivant,
[(argument1[, argumentN)]
RETURN type_données_fonction IS
[Section de déclaration de variable]
BEGIN
Section exécutable
RETURN valeur_fonction;
[Section_gestion_exception]
End nom_fonction;
/
Attention
Rend l’implémentation complexe
Sacrifie souvent la souplesse
Peut ralentir la mise à jour
Exemple
Personnel Personnel
„No_Personnel „No_Personnel
„Prénom „Prénom
„Nom „Nom
„No_tel1
Téléphonne „No_tel2
„No_tel3
„No_tell
•Optimiser
•pour exécuter rapidement
•pour consommer moins de ressources
•Peux se faire
•par le programmeurs
•ou par le SGBD
•Deux techniques principales :
•Règles d’optimisation
•Comparaison de différentes stratégies basées sur le
coût
•L’accès disque est l’opération la plus coûteuse
Le but du TR
SELECT *
FROM Personnel p, Filiale f
WHERE p.numFiliale = f.numFiliale
AND p.fonction = ‘Gérant’ AND f.ville=‘Paris’ ;
1. s (fonction=‘Gérant’) (ville=‘Paris’)(Personnel.numFiliale =
Filiale .numFiliale) (Personnel X Filiale)
2. s (fonction=‘Gérant’) (ville=‘Paris’) (Personnel
lXl(Personnel.numFiliale = Filiale .numFiliale) Filiale)
3. (s fonction=‘Gérant’ (Personnel)) lXl Personnel.numFiliale =
Filiale .numFiliale (sville=‘Paris’ (Filiale))
Dr Kiswendsida Kisito Kaboré. 356
http://Kisitokab.xyz
Exemple : Différentes stratégies :
On suppose que Personnel contient 1000 enregistrements, 50 tuples
dans Filiale, on a 5O gérants
5 succursales à Paris
Résultat
C
L
V
•v.numPropriété=l.numPropriété
l.numPropriété v.numClient
•EXECUTE DBMS_STATS.Gather_Schema_Stats(‘Manager’)
•.
„
•Authentification
•Contrôle d’accès
•Politique de sécurité
•Principe du moindre privilège
•Autorisation, interdiction et obligation
•Modèles de contrôle d’accès
•Sécurisation des applications
•Audit
Sujets
utilisateurs, groupe d’utilisateurs, tous les
utilisateurs
Objets
BD, tables, vues, index, procédures…
Privilèges (ou autorisations)
sur les tables,
sur le schéma,
sur la base de données…
Rôles
groupes de privilèges
Connections
CONNECT user_name /password@Nom_De_La_BaseDeDonnées ;
1. GRANT
2. REVOKE
Syntaxe
GRANT (liste de privilèges | ALL)
ON liste d’objets
TO liste d’utilisateurs | PUBLIC
[WITH GRANT OPTION]
avec :
ALL
tous les privilèges que le donneur peut accorder
PUBLIC
tous les utilisateurs connus du système
WITH GRANT OPTION
indique que le receveur pourra transmettre les
privilèges qui lui sont octroyés
Dr Kiswendsida Kisito Kaboré. 396
http://Kisitokab.xyz
Syntaxe
REVOKE [GRANT OPTION FOR] (privilèges | ALL)
ON liste d’objets
FROM liste d’utilisateurs
[{RESTRICT | CASCADE}]
avec :
CASCADE
la révocation concerne les utilisateurs cités dans la clause
FROM ainsi que ceux à qui ces privilèges ont été
récursivement transmis.
RESTRICT
la révocation ne concerne que les utilisateurs cités dans la
clause FROM.
GRANT OPTION FOR
ce n’est pas les privilèges qui sont révoqués, mais le droit de
le transmettre.
Dr Kiswendsida Kisito Kaboré. 397
http://Kisitokab.xyz
Rôles
• Livres de A.Gamache
• Support de M.P.Parent