|
Le viste possono essere considerate come tabelle virtuali. Generalmente, una tabella è caratterizzata da una serie di definizioni ed è il luogo in cui vengono fisicamente memorizzati i dati. Anche una vista dispone di una serie di definizioni, generata nella parte superiore di una o più tabelle o viste, ma non rappresenta il luogo in cui i dati vengono fisicamente memorizzati.
La sintassi per creare una vista è la seguente:
CREATE VIEW "nome_di_vista" AS "istruzione_SQL "
"istruzione_SQL" può essere una qualsiasi delle istruzioni SQL che sono state affrontate finora in questo corso.
Si veda questo semplice esempio. Si supponga di avere la seguente tabella:
Tabel Customer
(First_Name char(50),
Last_Name char(50),
Address char(50),
City char(50),
Country char(25),
Birth_Date date)
e che si desideri creare una vista denominata V_Customer, in cui sono contenute solo le colonne First_Name, Last_Name e Country da questa tabella. Digitare:
CREATE VIEW V_Customer
AS SELECT First_Name, Last_Name, Country
FROM Customer
Adesso, si dispone di una vista denominata V_Customer caratterizzata dalla seguente struttura:
View V_Customer
(First_Name char(50),
Last_Name char(50),
Country char(25))
Una vista può anche essere utilizzata per applicare le unioni a due tabelle. In questo caso, gli utenti visualizzano solo una vista anziché due tabelle e l’istruzione SQL che devono utilizzare diviene molto più semplice. Si supponga di disporre delle seguenti due tabelle:
Tabella Store_Information
| store_name |
Sales |
Date |
| Los Angeles |
1500 € |
05-Jan-1999 |
| San Diego |
250 € |
07-Jan-1999 |
| Los Angeles |
300 € |
08-Jan-1999 |
| Boston |
700 € |
08-Jan-1999 |
Tabella Geography
| region_name |
store_name |
| East |
Boston |
| East |
New York |
| West |
Los Angeles |
| West |
San Diego |
e che si desideri creare una vista in cui sono visualizzate le informazioni relative alle vendite per regione. In tal caso è necessario rilasciare la seguente istruzione SQL:
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
In questo modo si dispone di una vista, V_REGION_SALES, definita per memorizzare i record delle vendite realizzate in base alla regione. Se si desidera trovare il contenuto di questa vista, digitare:
SELECT * FROM V_REGION_SALES
Risultato:
| REGION |
SALES |
| East |
700 € |
| West |
2050 € |
SQL CREATE INDEX >>
Copyright © 2013 1keydata.com Tutti i diritti riservati.
|