Académique Documents
Professionnel Documents
Culture Documents
S.EUSCHI
TP n° 2
3 eme LMD SI
2017/2018
1
Changement dynamique de la description d’une
table
La commande alter table add ou modify
Ajouter une nouvelle colonne à une table existante,
ajouter une contrainte ou modifier une colonne
existante (type de données, longueur, contrainte
d’intégrité colonne,…)
Créer une table PROJ
4
Les vues (les requêtes storées)
Une vue est une fenêtre sur la table de la base de
données
Une vue est une table virtuelle, la table a une existence
physique mais la vue est une structure logique basée
sur une ou pls tables.
Les vues permettent de :
- Simplifier l’accès aux données (éviter d’interroger des
tables complexes)
- Sécuriser les données (limiter les accès aux données)
5
Exemple1 : créer une vue basée sur la table EMP donnant
le n°, nom et fonction des employés du département 10
:
create or replace view EMP10 as select EMPNO,
ENAME,JOB from EMP where DEPTNO=10;
select * from EMP10;
Exemple 2 : créer une vue jointure basée sur les tables
EMP et PROJ affichant le n°, nom employé et nom de
son projet : :
create or replace view PERSONNEL as select EMPNO,
ENAME,PNAME from EMP,PROJ where
EMP.PROJNO=PROJ.PROJNO;
select * from PERSONNEL;
6
Indépendance de données
Structure permettant des relations plusieurs à
plusieurs
Exemple : Un employé travaille dans pls projets, un
projet peut avoir plusieurs employés
EMP 0,n PROJ
0, n
#EMPNO Est affecté #PROJNO
Workhrs
9
Partage de données et sécurité
SQL comporte des commandes LDD permettant:
• d’attribuer les privilèges d’accès sur des tables ou
des vues à d’autres utilisateurs (GRANT)
• De restituer des privilèges déjà attribués aux
utilisateurs (REVOKE)
Exemple1 : autoriser l’utilisateur SCOTT à
interroger la vue PERSONNEL
grant SELECT on PERSONNEL to SCOTT;
connect SCOTT/TIGER
select * from CoursBDA.PERSONNEL;
10
Exemple2 : autoriser tous les utilisateurs
d’interroger la table EMP à l’exception des
colonnes SAL et COMM
Créer une vue basée sur la table EMP :
create or replace view EMPS as select
EMPNO,ENAME,JOB,MGR,HIREDATE,DEPTNO
from EMP;
• Autoriser l’interrogation de cette vue par tous les
utilisateurs:
grant SELECT on EMPS to public;
La commande REVOKE
On peut restituer un privilège qu’on a déjà attribué à
un utilisateur
revoke SELECT on PERSONNEL from SCOTT;
11
Les privilèges objets
Privilèges Privilèges Privilèges Privilèges
table view procedure sequence
Update Update
Delete Delete
Alter
Index
12