Privilèges sur les tables et les vues
Les privilèges sur les tables et les vues impliquent des actions sur les tables ou les vues d'une base de données.
- CONTROL fournit à l'utilisateur tous les privilèges d'une table ou d'une vue, y compris la possibilité de la supprimer, et d'accorder et de révoquer des privilèges de table individuels. Vous devez disposer du droit ACCESSCTRL ou SECADM pour accorder le droit CONTROL. Le créateur d'une table reçoit automatiquement le privilège CONTROL sur la table. Le créateur d'une vue reçoit automatiquement le privilège CONTROL uniquement s'il dispose du privilège CONTROL sur toutes les tables, vues et pseudonymes référencés dans la définition de la vue.
- ALTER permet à l'utilisateur de modifier une table, par exemple, pour ajouter des colonnes ou une contrainte d'unicité à la table. Un utilisateur disposant du privilège ALTER peut également utiliser la commande COMMENT sur une table ou sur les colonnes de la table. Pour plus d'informations sur les modifications possibles pouvant être apportées à une table, voir les instructions ALTER TABLE et COMMENT.
- DELETE permet à l'utilisateur de supprimer des lignes d'une table ou d'une vue.
- INDEX permet à l'utilisateur de créer un index sur une table. Les créateurs d'index disposent automatiquement du privilège CONTROL sur l'index.
- INSERT permet à l'utilisateur d'insérer une ligne dans une table ou une vue et d'exécuter l'utilitaire IMPORT .
- REFERENCES permet à l'utilisateur de créer et de supprimer une clé externe, en spécifiant la table comme parent dans une relation. L'utilisateur peut disposer de ce privilège uniquement sur des colonnes spécifiques.
- SELECT permet à l'utilisateur d'extraire des lignes d'une table ou d'une vue, de créer une vue sur une table et d'exécuter l'utilitaire EXPORT .
- UPDATE permet à l'utilisateur de modifier une entrée dans une table, une vue ou pour une ou plusieurs colonnes spécifiques d'une table ou d'une vue. L'utilisateur ne peut disposer de ce privilège que sur des colonnes spécifiques.
Le privilège d'octroi de ces privilèges à d'autres utilisateurs peut également être octroyé à l'aide de l'option WITH GRANT OPTION dans l'instruction GRANT.
REVOKE ALL
ON EMPLOYEE FROM USER HERONLorsque vous utilisez des tables basées sur un type structuré, les privilèges sur les tables et les vues sont concernés.
SELECT * FROM Employeerenvoie l'identificateur d'objet et les attributs Employee_t pour les employés et les gestionnaires. De même, l'opération de mise à jour: UPDATE Employee SET Salary = Salary + 1000donnera mille dollars d'augmentation aux gestionnaires ainsi qu'aux employés réguliers.Un utilisateur disposant du privilège SELECT sur Employee pourra effectuer cette opération SELECT même s'il ne dispose pas du privilège SELECT explicite sur Manager. Toutefois, un tel utilisateur ne sera pas autorisé à effectuer une opération SELECT directement sur la sous-table du gestionnaire et ne pourra donc pas accéder aux colonnes non héritées de la table du gestionnaire.
De même, un utilisateur disposant du privilège UPDATE sur l'employé pourra effectuer une opération UPDATE sur le gestionnaire, affectant ainsi à la fois les employés et les gestionnaires réguliers, même sans avoir le privilège UPDATE explicite sur la table du gestionnaire. Toutefois, un tel utilisateur ne sera pas autorisé à effectuer des opérations UPDATE directement sur la sous-table Manager et ne pourra donc pas mettre à jour les colonnes non héritées de la table Manager.