Précédent   Forum des professionnels en informatique > Bases de données > Oracle
Oracle Forum Oracle : le serveur, les outils, ... Voir F.A.Q Oracle Tutoriels Oracle
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 13/03/2007, 12h13   #1
Candidat au titre de Membre du Club
 
Software Engineer
Inscription : janvier 2006
Messages : 26
Détails du profil
Informations personnelles :
Localisation : Allemagne

Informations professionnelles :
Activité : Software Engineer

Informations forums :
Inscription : janvier 2006
Messages : 26
Points : 11
Points : 11
Par défaut tables et Views

Salut à tous,
Je veux bien savoir quel est l'interrêt de création et utilisation de vue (view) pour chaque table et ayant la même structure que la table associée?
(les requêtes sur les tables (select,...) sont effectuées sur ces views là)
Normalement, ça va rendre la BD plus lourde.
Merci d'avance
sovop est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/03/2007, 13h26   #2
Membre actif
 
Inscription : novembre 2004
Messages : 311
Détails du profil
Informations forums :
Inscription : novembre 2004
Messages : 311
Points : 157
Points : 157
C'est le SELECT de la vue qui est stockée en base.
Les données, elles, restent dans la table.
davy.g est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/03/2007, 13h32   #3
Membre éprouvé
 
Avatar de argoet
 
Inscription : mai 2002
Messages : 535
Détails du profil
Informations forums :
Inscription : mai 2002
Messages : 535
Points : 461
Points : 461
Cela permet de donner accès à un sous-ensemble d'une table ou de plusieurs tables en jointure (par exemple)
Pour cloisonner le champ d'action d'un utilisateur (au lieu de lui donner accès à une table complète, on ne lui concède que le sous-ensemble requis).
__________________
Signé : Capitaine Jean-Luc Picard
argoet est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/03/2007, 15h55   #4
Membre habitué
 
Inscription : janvier 2005
Messages : 129
Détails du profil
Informations forums :
Inscription : janvier 2005
Messages : 129
Points : 101
Points : 101
Tu peux aussi avoir des droits différents sur une table et sur une vue.

Exemple une table de 5 colonnes peut avoir une vue basée sur 3 de ces colonnes.

Un utilisateur lambda peux avoir quelques droits sur la vue (qui elle a la base n'impacte que 3 colones dans la table ... de 5 colonnes).

Puisque lors que tu attribues des droits, tu ne peux pas donner des droits plus détaillé que ceux de niveau objets, cela permet de scinder aupres des utilisateurs le contenu d'une table ...
guigui_cwoco est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/03/2007, 17h49   #5
Rédacteur
 
Inscription : décembre 2002
Messages : 2 397
Détails du profil
Informations personnelles :
Localisation : France, Var (Provence Alpes Côte d'Azur)

Informations forums :
Inscription : décembre 2002
Messages : 2 397
Points : 3 298
Points : 3 298
Citation:
Envoyé par guigui_cwoco
Puisque lorsque tu attribues des droits, tu ne peux pas donner des droits plus détaillé que ceux de niveau objets...
C'est partiellement vrai (et donc partiellement faux).
Depuis la 8i au moins, on peut attribuer des droits au niveau de la colonne individuelle, mais uniquement en ce qui concerne les privilèges INSERT, UPDATE et REFERENCES. Cette possibilité n'est malheureusement, même en 10g, pas offerte pour le SELECT.
Pomalaix est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/03/2007, 20h05   #6
Membre habitué
 
Inscription : janvier 2005
Messages : 129
Détails du profil
Informations forums :
Inscription : janvier 2005
Messages : 129
Points : 101
Points : 101
D'apres ce que je sais il y a deux niveaux de droits :

Les privileges objets :
Code :
1
2
 
GRANT SELECT, INSERT ON <owner>.<object_name> TO <user>;
et les privileges systemes :
Code :
1
2
 
GRANT SELECT ANY TABLE, INSERT ANY TABLE TO <user>;
Comment faire alors pour donner le droit d'insertion sur 2 colonnes d'une table de 5 colonnes ?
guigui_cwoco est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/03/2007, 21h24   #7
Rédacteur
 
Inscription : décembre 2002
Messages : 2 397
Détails du profil
Informations personnelles :
Localisation : France, Var (Provence Alpes Côte d'Azur)

Informations forums :
Inscription : décembre 2002
Messages : 2 397
Points : 3 298
Points : 3 298
Citation:
Envoyé par guigui_cwoco
Comment faire alors pour donner le droit d'insertion sur 2 colonnes d'une table de 5 colonnes ?
Il suffit de spécifier les colonnes concernées après le nom du privilège.
Exemple de la doc :
http://download-uk.oracle.com/docs/c...2a.htm#2063915
Code :
1
2
3
4
GRANT REFERENCES (employee_id), 
      UPDATE (employee_id, salary, commission_pct) 
   ON hr.employees
   TO oe;
Pomalaix est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/03/2007, 11h08   #8
Membre habitué
 
Inscription : janvier 2005
Messages : 129
Détails du profil
Informations forums :
Inscription : janvier 2005
Messages : 129
Points : 101
Points : 101
guigui_cwoco est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 09h13.


 
 
 
 
Partenaires

Hébergement Web