Vous êtes sur la page 1sur 62

Les Contraintes

Objectifs

A la fin de ce chapitre, vous saurez :


• Définir les contraintes
• Créer des contraintes et les maintenir
Les Contraintes
• Les contraintes contrôlent des règles de
gestion au niveau d'une table.
• Les contraintes empêchent la suppression
d'une table lorsqu'il existe des
dépendances.
• Types de contraintes valides dans Oracle :
– NOT NULL
– UNIQUE
– PRIMARY KEY
– FOREIGN KEY
– CHECK
Conventions Applicables
aux Contraintes
• Si vous ne nommez pas une contrainte,
Oracle Server créera un nom au format
SYS_Cn.
• Vous pouvez créer une contrainte :
– En même temps que la création de la table
– Une fois que la table est créée
• Définissez une contrainte peut être définie au
niveau table ou colonne.
• Consulter le dictionnaire de données pour
retrouver une contrainte.
Les Contraintes
CREATE TABLE [schema.]table
(column datatype [DEFAULT expr]
[column_constraint],

[table_constraint]);

CREATE TABLE emp(


empno NUMBER(4),
ename VARCHAR2(10),

deptno NUMBER(2) NOT NULL,
CONSTRAINT emp_empno_pk
PRIMARY KEY (EMPNO));
Les Contraintes

• Contrainte au niveau colonne


column
column [CONSTRAINT
[CONSTRAINT constraint_name]
constraint_name] constraint_type,
constraint_type,

• Contrainte au niveau table


column,...
column,...
[CONSTRAINT
[CONSTRAINT constraint_name]
constraint_name] constraint_type
constraint_type
(column,
(column, ...),
...),
La Contrainte NOT NULL

Interdit la présence de valeurs NULL dans


la colonne
EMP
EMPNO ENAME JOB ... COMM DEPTNO

7839 KING PRESIDENT 10


7698 BLAKE MANAGER 30
7782 CLARK MANAGER 10
7566 JONES MANAGER 20
...

Contrainte NOT NULL Absence de contrainte Contrainte


(aucune ligne ne peut NOT NULL NOT NULL
avoir de valeur NULL (toute ligne peut avoir
dans cette colonne) une valeur NULL dans
cette colonne)
La Contrainte NOT NULL
Se définit au niveau colonne
SQL> CREATE TABLE emp(
2 empno NUMBER(4),
3 ename VARCHAR2(10) NOT NULL,
4 job VARCHAR2(9),
5 mgr NUMBER(4),
6 hiredate DATE,
7 sal NUMBER(7,2),
8 comm NUMBER(7,2),
9 deptno NUMBER(2) NOT NULL);
La Contrainte de Clé UNIQUE
contrainte de clé UNIQUE
DEPT
DEPTNO DNAME LOC
------ ---------- --------
10 ACCOUNTING NEW YORK
20 RESEARCH DALLAS
30 SALES CHICAGO
40 OPERATIONS BOSTON

A insérer Interdit
50 SALES DETROIT (DNAMESALES
(DNAME
existe déjà)
60 BOSTON Autorisé
La Contrainte de Clé UNIQUE
Se définit au niveau table ou colonne

SQL> CREATE TABLE dept(


2 deptno NUMBER(2),
3 dname VARCHAR2(14),
4 loc VARCHAR2(13),
5 CONSTRAINT dept_dname_uk UNIQUE(dname));
La Contrainte PRIMARY KEY
clé PRIMAIRE
DEPT
DEPTNO DNAME LOC
------ ---------- --------
10 ACCOUNTING NEW YORK
20 RESEARCH DALLAS
30 SALES CHICAGO
40 OPERATIONS BOSTON

A insérer interdit (DEPTNO


(DEPTNO 20
20 MARKETING DALLAS existe déjà)

FINANCE NEW YORK interdit


(DEPTNO est NULL)
La Contrainte PRIMARY KEY
Se définit au niveau table ou colonne

SQL> CREATE TABLE dept(


2 deptno NUMBER(2),
3 dname VARCHAR2(14),
4 loc VARCHAR2(13),
5 CONSTRAINT dept_dname_uk UNIQUE (dname),
6 CONSTRAINT dept_deptno_pk PRIMARY KEY(deptno));
La Contrainte FOREIGN KEY
DEPT
PRIMARY DEPTNO DNAME LOC
KEY ------ ---------- --------
10 ACCOUNTING NEW YORK
20 RESEARCH DALLAS
...
EMP
EMPNO ENAME JOB ... COMM DEPTNO FOREIGN
KEY
7839 KING PRESIDENT 10
7698 BLAKE MANAGER 30
... Interdit
(DEPTNO
(DEPTNO
A insérer n'existe pas
dans la table
7571 FORD MANAGER ... 200 9 DEPT
7571 FORD MANAGER ... 200 Autorisé
La Contrainte FOREIGN KEY
Se définit au niveau table ou colonne

SQL> CREATE TABLE emp(


2 empno NUMBER(4),
3 ename VARCHAR2(10) NOT NULL,
4 job VARCHAR2(9),
5 mgr NUMBER(4),
6 hiredate DATE,
7 sal NUMBER(7,2),
8 comm NUMBER(7,2),
9 deptno NUMBER(2) NOT NULL,
10 CONSTRAINT emp_deptno_fk FOREIGN KEY (deptno)
11 REFERENCES dept (deptno));
Mots-clés Associés à la
Contrainte FOREIGN KEY
• FOREIGN KEY
– Définit la colonne dans la table détail
dans une contrainte de niveau table
• REFERENCES
– Identifie la table et la colonne de la
table maître
• ON DELETE CASCADE
– Autorise la suppression d’une ligne
dans la table maître et des lignes
dépendantes dans la table détail
La Contrainte CHECK
• Définit une condition que chaque ligne doit
obligatoirement satisfaire

..., deptno NUMBER(2),


CONSTRAINT emp_deptno_ck
CHECK (DEPTNO BETWEEN 10 AND 99),...
Ajout d'une Contrainte

ALTER
ALTER TABLE
TABLE table
table
ADD
ADD [CONSTRAINT
[CONSTRAINT constraint]
constraint] type
type (column);
(column);

• Vous pouvez ajouter ou supprimer une


contrainte, mais pas la modifier
• Vous pouvez activer ou désactiver des
contraintes
• Pour ajouter une contrainte NOT NULL,
utilisez la clause MODIFY
Ajout d'une Contrainte
Ajouter une contrainte FOREIGN KEY à la
table EMP précisant qu'un manager doit
déjà exister dans la table EMP en tant
qu'employé valide.
SQL> ALTER TABLE emp
2 ADD CONSTRAINT emp_mgr_fk
3 FOREIGN KEY(mgr) REFERENCES emp(empno);
Table altered.
Suppression d'une Contrainte
• Supprimer de la table EMP la contrainte
concernant le manager.
SQL>
SQL> ALTER
ALTER TABLE
TABLE emp
emp
22 DROP
DROP CONSTRAINT
CONSTRAINT emp_mgr_fk;
emp_mgr_fk;
Table
Table altered.
altered.

• Supprimer la contrainte PRIMARY KEY


de la table DEPT, ainsi que la contrainte
FOREIGN KEY associée définie sur la
colonne EMP.DEPTNO.
SQL>
SQL> ALTER
ALTER TABLE
TABLE dept
dept
22 DROP
DROP PRIMARY
PRIMARY KEY
KEY CASCADE;
CASCADE;
Table
Table altered.
altered.
Désactivation de Contraintes
• Pour désactiver une contrainte
d'intégrité, utiliser la clause DISABLE de
l'ordre ALTER TABLE.
• Pour désactiver les contraintes
d'intégrité dépendantes, ajouter l'option
CASCADE.
SQL>
SQL> ALTER
ALTER TABLE
TABLE emp
emp
22 DISABLE
DISABLE CONSTRAINT
CONSTRAINT emp_empno_pk
emp_empno_pk CASCADE;
CASCADE;
Table
Table altered.
altered.
Activation de Contraintes
• Pour activer une contrainte d'intégrité
actuellement désactivée dans la définition
de la table, utiliser la clause ENABLE.
SQL>
SQL> ALTER
ALTER TABLE
TABLE emp
emp
22 ENABLE
ENABLE CONSTRAINT
CONSTRAINT emp_empno_pk;
emp_empno_pk;
Table
Table altered.
altered.

• Si vous activez une contrainte UNIQUE ou


PRIMARY KEY, un index correspondant
est automatiquement créé.
Vérification des Contraintes
Pour afficher les définitions et noms de
toutes les contraintes, interrogez la table
USER_CONSTRAINTS.

SQL> SELECT constraint_name, constraint_type,


2 search_condition
3 FROM user_constraints
4 WHERE table_name = 'EMP';

CONSTRAINT_NAME
CONSTRAINT_NAME CC SEARCH_CONDITION
SEARCH_CONDITION
------------------------
------------------------ -- -------------------------
-------------------------
SYS_C00674
SYS_C00674 CC EMPNO
EMPNO IS
IS NOT
NOT NULL
NULL
SYS_C00675
SYS_C00675 CC DEPTNO
DEPTNO IS
IS NOT
NOT NULL
NULL
EMP_EMPNO_PK
EMP_EMPNO_PK PP
...
...
Affichage des Colonnes
Associées aux Contraintes
Affichez les colonnes associées aux noms
de contraintes au moyen de la vue
USER_CONS_COLUMNS view
SQL> SELECT constraint_name, column_name
2 FROM user_cons_columns
3 WHERE table_name = 'EMP';

CONSTRAINT_NAME
CONSTRAINT_NAME COLUMN_NAME
COLUMN_NAME
-------------------------
------------------------- ----------------------
----------------------
EMP_DEPTNO_FK
EMP_DEPTNO_FK DEPTNO
DEPTNO
EMP_EMPNO_PK
EMP_EMPNO_PK EMPNO
EMPNO
EMP_MGR_FK
EMP_MGR_FK MGR
MGR
SYS_C00674
SYS_C00674 EMPNO
EMPNO
SYS_C00675
SYS_C00675 DEPTNO
DEPTNO
Résumé
• Vous pouvez créer des contraintes de type :
– NOT NULL
– UNIQUE
– PRIMARY KEY
– FOREIGN KEY
– CHECK
• Utilisez la table USER_CONSTRAINTS pour
afficher les noms et définitions de toutes les
contraintes.
Création de Vues
Objectifs
A la fin de ce chapitre, vous saurez :
• Décrire une vue
• Créer une vue
• Extraire des données par le biais d'une
vue
• Modifier la définition d'une vue
• Insérer, mettre à jour et supprimer des
données par une vue
• Supprimer une vue
Objets de la Base de Données

Objet Description

Table Unité de base de stockage composée de


lignes et de colonnes

Vue Représentation logique de sous-ensembles


de données d'une ou de plusieurs tables

Séquence Génère les valeurs de la clé primaire

Index Améliore les performances de certaines


requêtes
Synonyme Autre nom attribué à un objet
Qu'est-ce qu'une Vue ?
Table EMP
EMPNO
EMPNO ENAME
ENAME JOB
JOB MGR
MGR HIREDATE
HIREDATE SAL
SAL COMM
COMM DEPTNO
DEPTNO
----- -------- --------- ---- --------- ------ ----- -------
----- -------- --------- ---- --------- ------ ----- -------
7839
7839 KING
KING PRESIDENT
PRESIDENT 17-NOV-81
17-NOV-81 5000
5000 10
10
7782
7782 CLARK
CLARK MANAGER
MANAGER 7839
7839 09-JUN-81
09-JUN-81 1500
1500 300
300 10
10
Vue 7934 MILLER
7934 MILLER CLERK
CLERK 7782
7782 23-JAN-82
23-JAN-82 1300
1300 10
10
EMPVU10 7566
7566 JONES
JONES MANAGER
MANAGER 7839 02-APR-81
7839 02-APR-81 2975
2975 20
20
7788
7788 SCOTT
SCOTT ANALYST
ANALYST 7566
7566 09-DEC-82
09-DEC-82 3000
3000 20
20
7876
7876 ADAMS CLERK 7788
7788 12-JAN-83 00
1100 20
EMPNO ENAME ADAMS
JOB 7902 17-DEC-80
CLERK 12-JAN-83 1100 20
------7369
--------
7369 SMITH
SMITH CLERK-----------
CLERK 7902 17-DEC-80 00
800
800 20
20
7902 FORD
7902 FORD ANALYST
ANALYST 7566
7566 03-DEC-81
03-DEC-81 00
3000
3000 20
20
78397698
KING
7698 BLAKE
BLAKE
PRESIDENT
MANAGER
MANAGER 7839
7839 01-MAY-81
01-MAY-81 50
2850
2850 30
30
77827654
CLARK
7654 MARTIN MANAGER
MARTIN SALESMAN
SALESMAN 7698
7698 28-SEP-81
28-SEP-81 50 1400
1250
1250 1400 30
30

79347499 ALLEN
MILLER
7499 ALLEN SALESMAN
CLERK
SALESMAN 7698
7698 20-FEB-81
20-FEB-81 1600 300
00
1600 300 30
30
7844 TURNER SALESMAN 7698 08-SEP-81
7844 TURNER SALESMAN 7698 08-SEP-81 00
1500
1500 00 30
30
7900
7900 JAMES
JAMES CLERK
CLERK 7698 03-DEC-81
7698 03-DEC-81 950
950 30
30
7521
7521 WARD
WARD SALESMAN
SALESMAN 7698
7698 22-FEB-81
22-FEB-81 1250
1250 500
500 30
30
A Quoi Sert une Vue ?

• Limite l'accès à la base de données


• Facilite la création de requêtes
complexes
• Présente les mêmes données sous
différentes formes
Vues Simples
et Vues Complexes
Caractéristiques Vue simple Vue complexe
Nombre de tables Une Une ou plusieurs

Fonctions Non Oui

Groupes de données Non Oui

Opérations LMD Oui Pas toujours


Création d'une Vue
• Imbriquer une sous-interrogation dans
l'ordre CREATE VIEW.
CREATE
CREATE [OR
[OR REPLACE]
REPLACE] [FORCE|NOFORCE]
[FORCE|NOFORCE] VIEW
VIEW view
view
[(alias[,
[(alias[, alias]...)]
alias]...)]
AS
AS subquery
subquery
[WITH
[WITH CHECK
CHECK OPTION
OPTION [CONSTRAINT
[CONSTRAINT constraint]]
constraint]]
[WITH
[WITH READ
READ ONLY]
ONLY]

• La sous-requête peut contenir une


syntaxe SELECT complexe.
• Elle ne peut pas contenir une clause
ORDER BY.
Création d'une Vue
• Créez la vue EMPVU10 pour afficher en
détail les employés du département 10.
SQL> CREATE VIEW empvu10
2 AS SELECT empno, ename, job
3 FROM emp
4 WHERE deptno = 10;
View created.

• Décrivez la structure de la vue à l'aide de


la commande SQL*Plus DESCRIBE.

SQL>
SQL> DESCRIBE
DESCRIBE empvu10
empvu10
Création d'une Vue
• Créez une vue à l'aide des alias de
colonnes de la sous-interrogation.
SQL> CREATE VIEW salvu30
2 AS SELECT empno EMPLOYEE_NUMBER, ename NAME,
3 sal SALARY
4 FROM emp
5 WHERE deptno = 30;
View created.

• Sélectionnez les colonnes de cette vue


par leur nom d'alias.
Extraction des Données
d'une Vue
SQL> SELECT *
2 FROM salvu30;

EMPLOYEE_NUMBER
EMPLOYEE_NUMBER NAME
NAME SALARY
SALARY
---------------
--------------- ----------
---------- ---------
---------
7698
7698 BLAKE
BLAKE 2850
2850
7654
7654 MARTIN
MARTIN 1250
1250
7499
7499 ALLEN
ALLEN 1600
1600
7844
7844 TURNER
TURNER 1500
1500
7900
7900 JAMES
JAMES 950
950
7521
7521 WARD
WARD 1250
1250

66 rows
rows selected.
selected.
Interrogation d’une Vue

SQL*Plus
USER_VIEWS
USER_VIEWS
SELECT *
EMPVU10
EMPVU10
FROM empvu10;
SELECT
SELECT empno,
empno, ename,
ename, job
job
FROM
FROM emp
emp
WHERE
WHERE deptno
deptno == 10;
10;
7839 KING PRESIDENT
7782 CLARK MANAGER EMP
7934 MILLER CLERK
Modification d'une Vue
• Modifiez la vue EMPVU10 à l'aide de la clause
CREATE OR REPLACE VIEW. Ajoutez un
alias pour chaque nom de colonne.

SQL> CREATE OR REPLACE VIEW empvu10


2 (employee_number, employee_name, job_title)
3 AS SELECT empno, ename, job
4 FROM emp
5 WHERE deptno = 10;
View created.

• Les alias de colonnes de la clause CREATE


VIEW s'affichent dans le même ordre que les
colonnes de la sous-interrogation.
Création d'une Vue Complexe
Créez une vue complexe qui inclut des
fonctions de groupe pour afficher des
valeurs venant de deux tables.
SQL> CREATE VIEW dept_sum_vu
2 (name, minsal, maxsal, avgsal)
3 AS SELECT d.dname, MIN(e.sal), MAX(e.sal),
4 AVG(e.sal)
5 FROM emp e, dept d
6 WHERE e.deptno = d.deptno
7 GROUP BY d.dname;
View created.
Règles d'Exécution des Ordres
du LMD dans une Vue
• Vous pouvez exécuter des opérations
du LMD dans des vues simples.
• Vous ne pouvez pas supprimer une
ligne si la vue contient :
– Des fonctions de groupe
– Une clause GROUP BY
– Le mot-clé DISTINCT
Règles d'Exécution des Ordres
du LMD dans une Vue
• Vous ne pouvez pas modifier les données
d'une vue si elle contient :
– Une des conditions citées dans la page
précédente
– Des colonnes définies par des expressions
– La pseudocolonne ROWNUM
• Vous ne pouvez pas ajouter de données si :
– La vue contient une des conditions citées ci-
dessus ou dans la page précédente
– Les tables de base contiennent des
colonnes NOT NULL non sélectionnées par
la vue
Utilisation de la Clause WITH
CHECK OPTION
• Vous pouvez garantir que le LMD reste
dans le domaine de la vue à l'aide de la
clause WITH CHECK OPTION.
SQL> CREATE OR REPLACE VIEW empvu20
2 AS SELECT *
3 FROM emp
4 WHERE deptno = 20
5 WITH CHECK OPTION CONSTRAINT empvu20_ck;
View created.

• Toute tentative de modification du numéro


de département dans une ligne de la vue
échouera, car elle transgresse la contrainte
WITH CHECK OPTION.
Refus des Ordres du LMD
• Aucune opération du LMD ne pourra
être exécutée si vous ajoutez l'option
WITH READ ONLY dans la définition de
votre vue.
SQL> CREATE OR REPLACE VIEW empvu10
2 (employee_number, employee_name, job_title)
3 AS SELECT empno, ename, job
4 FROM emp
5 WHERE deptno = 10
6 WITH READ ONLY;
View created.

• Toute tentative d'exécution d'un ordre


du LMD sur une ligne de la vue génère
l'erreur Oracle8 Server ORA-01752.
Suppression d'une Vue
• La suppression d'une vue n'entraîne
pas la perte des données, car toute vue
est basée sur des tables sous-jacentes
de la base de données.
DROP
DROP VIEW
VIEW view;
view;

SQL> DROP VIEW empvu10;


View dropped.
Résumé
• Une vue est dérivée des données d'autres
tables ou d'autres vues.
• Une vue offre les avantages suivants :
– Restreint L'accès à la base de données
– Les requêtes sont simplifiées
– Visualisation des mêmes données sous
différentes formes
– Peut être supprimée sans perdre les
données sous-jacentes
Contrôle des Accès
Utilisateur
Objectifs

A la fin de ce chapitre, vous saurez :


• Créer des utilisateurs
• Créer des rôles pour faciliter
l'installation et la gestion du modèle de
sécurité
• Accorder et retirer des privilèges objet
Contrôle des Accès Utilisateur

Administrateur de
base de données

Privilèges
nom utilisateur et mot de passe
Utilisateurs
Privilèges
• Sécurité de la base de données
– Sécurité du système
– Sécurité des données
• Privilèges système : autorisent l'accès à
la base de données
• Privilèges objet : autorisent la
manipulation du contenu des objets de
la base de données
• Schéma : collection d'objets, tels que
les tables, les vues et les séquences
Privilèges Système
• Plus de 80 privilèges sont disponibles.
• L'administrateur de base de données
est doté de privilèges système de haut
niveau.
– Création de nouveaux utilisateurs
– Suppression d'utilisateurs
– Suppression de tables
– Sauvegarde des tables
Création d'un Utilisateur
L'ordre CREATE USER permet à
l'administrateur de base de données de
créer des utilisateurs.
CREATE
CREATE USER
USER user
user
IDENTIFIED
IDENTIFIED BY
BY password;
password;

SQL>
SQL> CREATE
CREATE USER
USER scott
scott
22 IDENTIFIED
IDENTIFIED BY
BY tiger;
tiger;
User
User created.
created.
Privilèges Système de
l'Utilisateur
• Une fois l'utilisateur créé, l'administrateur
de base de données peut lui accorder des
privilèges système particuliers.
GRANT privilege [, privilege...]
TO user [, user...];

• Les privilèges système suivants peuvent être


accordés à un développeur d'applications :
– CREATE SESSION
– CREATE TABLE
– CREATE SEQUENCE
– CREATE VIEW
– CREATE PROCEDURE
Octroi de Privilèges Système
L'administrateur de base de données peut
accorder à un utilisateur des privilèges
système particuliers.

SQL>
SQL> GRANT
GRANT create
create table,
table, create
create sequence,
sequence, create
create view
view
33 TO
TO scott;
scott;
Grant
Grant succeeded.
succeeded.
Qu'est-ce qu'un Rôle ?
Utilisateurs

Manager

Privilèges

Attribution de privilèges Attribution de privilèges


sans rôle avec un rôle
Création d'un Rôle
SQL>
SQL> CREATE
CREATE ROLE
ROLE manager;
manager;
Role
Role created.
created.

SQL>
SQL> GRANT
GRANT create
create table,
table, create
create view
view
22 to
to manager;
manager;
Grant
Grant succeeded.
succeeded.

SQL>
SQL> GRANT
GRANT manager
manager to
to BLAKE,
BLAKE, CLARK;
CLARK;
Grant
Grant succeeded.
succeeded.
Modification du Mot de Passe
• Lorsqu'un compte utilisateur est créé,
un mot de passe est initialisé.
• Les utilisateurs peuvent modifier leur
mot de passe à l'aide de l'ordre ALTER
USER.

SQL> ALTER USER scott


2 IDENTIFIED BY lion;
User altered.
Privilèges Objet
Privilège
objet Table Vue Séquence Procédure
ALTER 
DELETE 
EXECUTE 
INDEX 
INSERT 
SELECT 
UPDATE 
Privilèges Objet
• Les privilèges objet varient d'un type d’objet à
l'autre.
• Un propriétaire bénéficie de tous les privilèges
sur ses objets.
• Un propriétaire peut accorder des privilèges
particuliers sur les objets qui lui appartiennent.

GRANT
GRANT {object_priv
{object_priv [(columns)]|ALL}
[(columns)]|ALL}
ON
ON object
object
TO
TO {user|role|PUBLIC}
{user|role|PUBLIC}
[WITH
[WITH GRANT
GRANT OPTION];
OPTION];
Octroi de Privilèges Objet
• Accordez des privilèges de lecture sur la
table EMP.
SQL>
SQL> GRANT
GRANT select
select
22 ON
ON emp
emp
33 TO
TO sue,
sue, rich;
rich;
Grant
Grant succeeded.
succeeded.

• Accordez des privilèges aux utilisateurs et


aux rôles pour mettre à jour des colonnes
spécifiques.
SQL>
SQL> GRANT
GRANT update
update (dname,
(dname, loc)
loc)
22 ON
ON dept
dept
33 TO
TO scott,
scott, manager;
manager;
Grant
Grant succeeded.
succeeded.
Utilisation des Mots-Clés
WITH GRANT OPTION et PUBLIC
• Autorisez un utilisateur à transmettre
des privilèges.
SQL>
SQL> GRANT
GRANT select,
select, insert
insert
22 ON
ON dept
dept
33 TO
TO scott
scott
44 WITH
WITH GRANT
GRANT OPTION;
OPTION;
Grant
Grant succeeded.
succeeded.

• Autorisez tous les utilisateurs du


système à interroger les données de la
table DEPT d'Alice.
SQL>
SQL> GRANT
GRANT select
select
22 ON
ON alice.dept
alice.dept
33 TO
TO PUBLIC;
PUBLIC;
Grant
Grant succeeded.
succeeded.
Vérification des Privilèges
Accordés
Table du dictionnaire de Description
données
ROLE_SYS_PRIVS Privilèges système accordés aux rôles
ROLE_TAB_PRIVS Privilèges objet accordés aux rôles
USER_ROLE_PRIVS Rôles accessibles par l'utilisateur
USER_TAB_PRIVS_MADE Privilèges objet accordés par
l’utilisateur
USER_TAB_PRIVS_RECD Privilèges objet accordés à
l’utilisateur
USER_COL_PRIVS_MADE Privilèges objet liés aux colonnes des
objets d'un utilisateur
USER_COL_PRIVS_RECD Privilèges objet accordés à un
utilisateur pour des colonnes
spécifiques
Comment Retirer les
Privilèges Objet
• Retirez les privilèges accordés à
d'autres utilisateurs à l'aide de l'ordre
REVOKE.
• Les privilèges accordés avec le mot-clé
WITH GRANT OPTION seront aussi
retirés.
REVOKE
REVOKE {privilege
{privilege [,
[, privilege...]|ALL}
privilege...]|ALL}
ON
ON object
object
FROM
FROM {user[,
{user[, user...]|role|PUBLIC}
user...]|role|PUBLIC}
[CASCADE
[CASCADE CONSTRAINTS];
CONSTRAINTS];
Retrait des Privilèges Objet

En tant qu'utilisateur Alice, retirez les


privilèges SELECT et INSERT accordés à
l'utilisateur Scott dans la table DEPT.
SQL>
SQL> REVOKE
REVOKE select,
select, insert
insert
22 ON
ON dept
dept
33 FROM
FROM scott;
scott;
Revoke
Revoke succeeded.
succeeded.
Résumé
CREATE USER Permet à l'administrateur de base de
données de créer un utilisateur
GRANT Permet à un utilisateur d’accorder des
privilèges à d'autres utilisateurs pour
accéder à ses objets
CREATE ROLE Permet à l'administrateur de base de
données de créer un groupe de privilèges
ALTER USER Permet aux utilisateurs de modifier leur
mot de passe
REVOKE Retire aux utilisateurs les privilèges liés
à un objet

Vous aimerez peut-être aussi