- Create View - Licence Fondamentale d'Informatique
dimanche 21 avril 2013

Create View


Les vues peuvent être considérées comme des tables virtuelles. Généralement, une table contient un jeu de définitions et elle est destinée à stocker physiquement les données. Une vue a également un jeu de définitions, créé au-dessus des tables ou d’autres vues, et elle ne stocke pas physiquement les données.
La syntaxe pour la création d’une vue est comme suit :
CREATE VIEW "nom de vue" AS "instruction SQL"
"instruction SQL" peut être n’importe quelle instruction SQL que nous avons vue dans ce didacticiel.
À titre d’illustration, utilisons un exemple simple. Supposons que nous avons la table suivante :
TABLE Customer
(First_Name char(50),
Last_Name char(50),
Address char(50),
City char(50),
Country char(25),
Birth_Date date)


et pour créer une vue appelée V_Customer contenant seulement les colonnes First_Name, Last_Name et Country de cette table, il faut saisir :
CREATE VIEW V_Customer
AS SELECT First_Name, Last_Name, Country
FROM Customer

Nous avons à présent une vue appelée V_Customer avec la structure suivante :
View V_Customer
(First_Name char(50),
Last_Name char(50),
Country char(25))

Il est aussi possible d’utiliser une vue pour appliquer des jointures à deux tables. Dans ce cas, les utilisateurs ne verront qu’une vue au lieu de deux tables, disposant ainsi d’instructions SQL beaucoup plus simples. Supposons que nous avons les deux tables suivantes :
Table Store_Information
store_nameSalesDate
Los Angeles1500 €05-Jan-1999
San Diego250 €07-Jan-1999
Los Angeles300 €08-Jan-1999
Boston700 €08-Jan-1999

Table Geography
region_namestore_name
EastBoston
EastNew York
WestLos Angeles
WestSan Diego

et pour créer une vue contenant des ventes par données de région, il faudra définir l’instruction SQL suivante :
CREATE VIEW V_REGION_SALES
AS SELECT A1.region_name REGION, SUM(A2.Sales) SALES
FROM Geography A1, Store_Information A2
WHERE A1.store_name = A2.store_name
GROUP BY A1.region_name

Nous avons la vue V_REGION_SALES, définie pour stocker les ventes par enregistrements de région. Pour connaître le contenu de cette vue, il faut saisir :
SELECT * FROM V_REGION_SALES
Résultat :
REGIONSALES
East700 €
West2050 €

0 commentaires:

Enregistrer un commentaire

 
-