98
Introduction pratique aux bases de données relationnelles
exemple pour mettre les données confidentielles à la disposition des
responsables du personnel selon les classes de salaires qu'ils
supervisent. Les deux vues dans la figure 3-12 illustrent un important
mécanisme de protection des données : d'une part l'accès aux tables
peut être personnalisé par groupes d'utilisateurs grâce aux projections
sur des attributs déterminés par leurs besoins. D'autre part le contrôle
d'accès aux classes de salaires, par exemple, peut se baser sur des
valeurs fournies au moment de l'exécution d'une application. Ces
valeurs détermineront les vues autorisées grâce à la clause WHERE.
La modification des
vues est
problématique
Nous interrogeons les vues comme nous le faisons avec les
tables. En revanche, la manipulation des vues ne s'exécute pas de
manière unique à chaque opération. Lorsqu'une vue résulte, par
exemple, de la jointure de plusieurs tables, le système de bases de
données rejette toute opération de mise à jour de la vue en question.
Les vues ne sont
pas matérialisées
Il est primordial d’éviter une administration redondante de la
table de base et de ses différentes vues qui, à cette fin, ne doivent donc
pas stocker les données de la table en question. Il s’agit plutôt de créer
simplement des définitions de vues. C'est au moment où l'on interroge
une vue par la commande SELECT qu’une table résultat sera générée
avec des valeurs de données autorisées provenant de la table de base
correspondante. Pour cette raison, les deux vues EMPLOYÉ et
GROUPE_D sont représentées en hachures dans la figure 3-12.
Gestion des droits
de l’utilisateur
Une protection efficace des données ne se limite pas à la seule
création des vues pour restreindre les tables. Les fonctions qui opèrent
sur les tables doivent aussi être définies par catégories d'utilisateurs. À
cette fin, les commandes SQL GRANT et REVOKE permettent de gérer
les droits des utilisateurs.
Les privilèges accordés à l'utilisateur par GRANT peuvent lui être
retirés par REVOKE :
Attribution et
révocation
des droits
GRANT privilege ON relation TO user
REVOKE privilege ON relation FROM user
La commande GRANT met à jour la liste des privilèges pour que
l’ayant droit puisse lire, insérer ou supprimer les données dans des
Introduction pratique aux bases de données relationnelles
exemple pour mettre les données confidentielles à la disposition des
responsables du personnel selon les classes de salaires qu'ils
supervisent. Les deux vues dans la figure 3-12 illustrent un important
mécanisme de protection des données : d'une part l'accès aux tables
peut être personnalisé par groupes d'utilisateurs grâce aux projections
sur des attributs déterminés par leurs besoins. D'autre part le contrôle
d'accès aux classes de salaires, par exemple, peut se baser sur des
valeurs fournies au moment de l'exécution d'une application. Ces
valeurs détermineront les vues autorisées grâce à la clause WHERE.
La modification des
vues est
problématique
Nous interrogeons les vues comme nous le faisons avec les
tables. En revanche, la manipulation des vues ne s'exécute pas de
manière unique à chaque opération. Lorsqu'une vue résulte, par
exemple, de la jointure de plusieurs tables, le système de bases de
données rejette toute opération de mise à jour de la vue en question.
Les vues ne sont
pas matérialisées
Il est primordial d’éviter une administration redondante de la
table de base et de ses différentes vues qui, à cette fin, ne doivent donc
pas stocker les données de la table en question. Il s’agit plutôt de créer
simplement des définitions de vues. C'est au moment où l'on interroge
une vue par la commande SELECT qu’une table résultat sera générée
avec des valeurs de données autorisées provenant de la table de base
correspondante. Pour cette raison, les deux vues EMPLOYÉ et
GROUPE_D sont représentées en hachures dans la figure 3-12.
Gestion des droits
de l’utilisateur
Une protection efficace des données ne se limite pas à la seule
création des vues pour restreindre les tables. Les fonctions qui opèrent
sur les tables doivent aussi être définies par catégories d'utilisateurs. À
cette fin, les commandes SQL GRANT et REVOKE permettent de gérer
les droits des utilisateurs.
Les privilèges accordés à l'utilisateur par GRANT peuvent lui être
retirés par REVOKE :
Attribution et
révocation
des droits
GRANT privilege ON relation TO user
REVOKE privilege ON relation FROM user
La commande GRANT met à jour la liste des privilèges pour que
l’ayant droit puisse lire, insérer ou supprimer les données dans des
