Postgresql : gestion multi-utilisateurs
des destructions de données. Chaque fois qu'une vue est utilisée dans une requête, la table
correspondant a cette vue est créée.
Une vue ne correspond pas obligatoirement à une table dans sa totalité. Elle peut être composée
d'éléments d'une tables ( par projection ou sélection) ou de plusieurs tables ( par jointure).
En général on crée une vue pour deux raisons:
• Afin de réaliser des accès restreints. L'utilisateur ne voit qu'une partie des données de la table
dont est issue la vue.
• Améliorer l'interface utilisateur en construisant des vues qui sont des jointures entre plusieurs
tables. Par exemple on renseigne une table issue d'une association en insérant les libellés
correspondant aux clés présentes dans la table "association"
Création de vues
Création de vues
Avec contrôle dépendant du contenant : mode Sélection
Nous allons créer la Vue « Luminaire_fleuve_vue », qui permettra la restriction associée au salarié
« Durant ».
Pour créer une vue il faut cliquer
bouton droit sur la rubrique Vue.
Choisir « Ajouter une vue »
Il faut commencer par donner un nom et préciser le
propriétaire dans dans l'onglet « Propriétés ».
Définir ensuite la
requête correspondant à
la vue adéquate.
La dernière étape consiste à déterminer les droits d'accès sur
cette vue.
Le propriétaire a tous les droits : l'interface le détermine
automatiquement.
Il suffit d'ajouter que le rôle « Cadastre fleuve » disponible dans la
liste déroulante, aura le droit SELECT (cochez la zone
correspondante) et valider en cliquant sur le bouton « Ajou/Modif)
Validation générale par le bouton OK
Avec contrôle dépendant du contenant : mode Projection
Dans l'exemple proposé, des attributs de service ont été ajoutés
à certaines tables. C'est le cas pour la table « changer » dont la
colonne offset_ n'est qu'une colonne de service.
La vue « changer_vue » ne présentera aux utilisateurs que les trois premières colonnes.
Syntaxe SQL
Syntaxe SQL
CREATE OR REPLACE VIEW changer_vue AS
SELECT changer.cha_date, changer.lum_code_, changer.amp_numero
FROM changer;
© Jacques Chambon 3/7