Précédent   Forum des professionnels en informatique > Bases de données > Décisions SGBD
Décisions SGBD Forum de décisions sur le choix en bases de données. Le Comparatif
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 22/05/2005, 21h28   #1
Membre du Club
 
Inscription : mars 2005
Messages : 277
Détails du profil
Informations forums :
Inscription : mars 2005
Messages : 277
Points : 42
Points : 42
Par défaut les vues ?

Bonsoir,


J'ai une question de debutant, qu'elle est l'interet d'utiliser des vues quand on boss sur une base de donnée ?



Merci
Melvine est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/05/2005, 09h37   #2
Expert Confirmé Sénior
 
Avatar de qi130
 
Homme Pierre
Ingénieur qualité méthodes
Inscription : mars 2003
Messages : 3 726
Détails du profil
Informations personnelles :
Nom : Homme Pierre
Âge : 51
Localisation : France

Informations professionnelles :
Activité : Ingénieur qualité méthodes
Secteur : Finance

Informations forums :
Inscription : mars 2003
Messages : 3 726
Points : 4 739
Points : 4 739
Il y a plein d'utilisation des vues.

Celles qui me viennent à l'esprit:
- ne fournir à 1 utilisateur qu'une vision partielle d'une table (lui masquer des infos sensibles)
- s'en servir comme table "dynamique" créée à partir d'infos choisies selon des critères/conditions provenant de plusieurs tables:
Code :
1
2
 
CREATE VIEW Mavue AS SELECT .... FROM Table1 A , Table2 B WHERE ....
bien sûr, la vue est tenue à jour selon les données présentes dans la ou les tables "source"
__________________
"Il n'y a pas de bonnes réponses à une mauvaise question." (M. Godet)
-----------------------
Pensez à cloturer votre sujet - Aucune réponse aux sollicitations techniques par MP
Usus magister est optimus
qi130 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/05/2005, 12h36   #3
Modérateur
 
Avatar de al1_24
 
Homme Alain
Ingénieur d'études décisionnel
Inscription : mai 2002
Messages : 4 450
Détails du profil
Informations personnelles :
Nom : Homme Alain
Âge : 51
Localisation : France, Val de Marne (Île de France)

Informations professionnelles :
Activité : Ingénieur d'études décisionnel
Secteur : Conseil

Informations forums :
Inscription : mai 2002
Messages : 4 450
Points : 7 559
Points : 7 559
Citation:
Envoyé par qi130
- ne fournir à 1 utilisateur qu'une vision partielle d'une table (lui masquer des infos sensibles)
La vision partielle d'une table (ou d'une requête) peut être une restriction en terme de colonnes (masquer certaines colonnes) mais aussi en terme de lignes (effectuer une sélection en fonction de l'utilisateur), toujours pour des raisons de confidentialité.
al1_24 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/05/2005, 13h01   #4
Expert Confirmé Sénior
 
Avatar de qi130
 
Homme Pierre
Ingénieur qualité méthodes
Inscription : mars 2003
Messages : 3 726
Détails du profil
Informations personnelles :
Nom : Homme Pierre
Âge : 51
Localisation : France

Informations professionnelles :
Activité : Ingénieur qualité méthodes
Secteur : Finance

Informations forums :
Inscription : mars 2003
Messages : 3 726
Points : 4 739
Points : 4 739
Citation:
Envoyé par al1_24
Citation:
Envoyé par qi130
- ne fournir à 1 utilisateur qu'une vision partielle d'une table (lui masquer des infos sensibles)
La vision partielle d'une table (ou d'une requête) peut être une restriction en terme de colonnes (masquer certaines colonnes) mais aussi en terme de lignes (effectuer une sélection en fonction de l'utilisateur), toujours pour des raisons de confidentialité.
Il y a des SGBD dont la granularité la plus fine concernant les autorisations est la table...
__________________
"Il n'y a pas de bonnes réponses à une mauvaise question." (M. Godet)
-----------------------
Pensez à cloturer votre sujet - Aucune réponse aux sollicitations techniques par MP
Usus magister est optimus
qi130 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/05/2005, 17h43   #5
Modérateur
 
Avatar de al1_24
 
Homme Alain
Ingénieur d'études décisionnel
Inscription : mai 2002
Messages : 4 450
Détails du profil
Informations personnelles :
Nom : Homme Alain
Âge : 51
Localisation : France, Val de Marne (Île de France)

Informations professionnelles :
Activité : Ingénieur d'études décisionnel
Secteur : Conseil

Informations forums :
Inscription : mai 2002
Messages : 4 450
Points : 7 559
Points : 7 559
Citation:
Envoyé par qi130
Il y a des SGBD dont la granularité la plus fine concernant les autorisations est la table...
D'où l'intérêt d'une vue du style :
Code :
1
2
3
4
5
CREATE VIEW UserTable
AS (
SELECT ColonnesVisibles
FROM TableSensible
WHERE TableSensible.UserAutorise = USER())
qui limite les colonnes et les lignes retournées à celles auxquelles l'utilisateur est habilité.
(à adapter en fonction du SGBD, USER n'étant du SQL standard)
Ce n'est qu'un exemple... on utilisera souvent des tables de relation qui, à un code d'utilisateur, font correspondre une série d'identifiants (liste de points de vente, famille de produits...) que l'utilisateur est habilité à consulter.
al1_24 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/05/2005, 18h29   #6
Rédacteur/Modérateur

 
Avatar de SQLpro
 
Homme Frédéric BROUARD
Expert SGBDR & SQL
Inscription : mai 2002
Messages : 10 959
Détails du profil
Informations personnelles :
Nom : Homme Frédéric BROUARD
Localisation : France

Informations professionnelles :
Activité : Expert SGBDR & SQL
Secteur : Conseil

Informations forums :
Inscription : mai 2002
Messages : 10 959
Points : 17 793
Points : 17 793
A lire : http://sqlpro.developpez.com/cours/sqlaz/ddl/?page=partie2#L8

Utilité : simplifié la vision d'un modèle, limiter les privilèges.

Un exemple... Si je vous demande de me trouver les lignes de commande dont le taux TVA est inférieur à 19,6%... Préférez-vous faire des requêtes à l'aide de cette expression :
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
 
SELECT LCD_ID, LCD.CMD_ID, LCD.PRD_ID, CMD_QUANTITE, CMD_REMISE_POURCENT,
       PPR.PPD_PRIX, PPR.TVA_TAUX,
       PPR.PPD_PRIX * CMD_QUANTITE * (1 - COALESCE(CMD_REMISE_POURCENT, 0) / 100.0) AS TOTAL_HT, 
       PPR.PPD_PRIX * CMD_QUANTITE * (1 - COALESCE(CMD_REMISE_POURCENT, 0) / 100.0) * ( 1 + PPR.TVA_TAUX / 100.0 ) AS TOTAL_TTC,
       PPR.PPD_PRIX * CMD_QUANTITE * (1 - COALESCE(CMD_REMISE_POURCENT, 0) / 100.0) * PPR.TVA_TAUX / 100.0  AS TOTAL_TAXE,
       PPR.PPD_PRIX * CMD_QUANTITE * COALESCE(CMD_REMISE_POURCENT, 0) / 100.0 * ( 1 + PPR.TVA_TAUX / 100.0 ) AS TOTAL_REMISE
FROM   T_LIGNE_COMMANDE_LCD LCD
       INNER JOIN T_COMMANDE_CMD CMD
             ON LCD.CMD_ID = CMD.CMD_ID
       INNER JOIN V_PRIX_PRODUIT_PPR PPR
             ON LCD.PRD_ID = PPR.PRD_ID
                AND CMD.CMD_DATE_COMMANDE 
                    BETWEEN PPD_DATE_DEBUT AND PPD_DATE_FIN
Ou bien utiliser lavue qui en découle ::
Code :
1
2
CREATE VIEW V_LIGNE_COMMANDE_LCM
AS ...
A +
__________________
Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL
Site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/
Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp.
Blog SQL, SQL Server, modélisation données : http://blog.developpez.com/sqlpro
http://www.sqlspot.com : modélisation, conseils, audit, optimisation, formation
* * * * * Enseignant CNAM PACA - ISEN Toulon - CESI Aix en Provence * * * * *
SQLpro 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 19h53.


 
 
 
 
Partenaires

Hébergement Web