Académique Documents
Professionnel Documents
Culture Documents
Objectifs
A insérer Interdit
50 SALES DETROIT (DNAMESALES
(DNAME
existe déjà)
60 BOSTON Autorisé
La Contrainte de Clé UNIQUE
Se définit au niveau table ou colonne
ALTER
ALTER TABLE
TABLE table
table
ADD
ADD [CONSTRAINT
[CONSTRAINT constraint]
constraint] type
type (column);
(column);
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
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 ?
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.
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.
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...];
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
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.
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.