|
Las vistas pueden considerarse como tablas virtuales. Generalmente hablando, una tabla tiene un conjunto de definiciones, y almacena datos físicamente. Una vista también tiene un conjunto de definiciones, que se construye en la parte superior de la(s) tabla(s) u otra(s) vista(s), y no almacena datos físicamente.
La sintaxis para la creación de una vista es la siguiente:
CREATE VIEW "NOMBRE_VISTA" AS "Instrucción SQL"
La “Instrucción SQL” puede ser cualquiera de las instrucciones SQL que hemos descripto en esta guía de referencia.
Utilicemos un ejemplo simple para ilustrar. Supongamos que tenemos la siguiente tabla:
Tabla Customer
(First_Name char(50),
Last_Name char(50),
Address char(50),
City char(50),
Country char(25),
Birth_Date date)
y deseamos crear una vista denominada V_Customer que contiene sólo las columnas First_Name, Last_Name y País de esta tabla, ingresaríamos
CREATE VIEW V_Customer
AS SELECT First_Name, Last_Name, Country
FROM Customer
Ahora tenemos una vista llamada V_Customer con la siguiente estructura:
View V_Customer
(First_Name char(50),
Last_Name char(50),
Country char(25))
Podemos utilizar también una vista para aplicar uniones a dos tablas. En este caso, los usuarios sólo ven una vista en vez de dos tablas, y la instrucción SQL que los usuarios necesitan emitir se vuelve mucho más simple. Digamos que tenemos las siguientes dos tablas:
Tabla 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 |
Tabla Geography
| region_name |
store_name |
| East |
Boston |
| East |
New York |
| West |
Los Angeles |
| West |
San Diego |
y deseamos construir una vista que tenga ventas organizadas según la región. Colocaríamos la siguiente instrucción 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
Esto nos brinda una vista, V_REGION_SALES, que se ha definido para las ventas de los negocios según los registros de la región. Si deseamos saber el contenido de esta vista, ingresamos,
SELECT * FROM V_REGION_SALES
Resultado:
| REGION |
SALES |
| East |
700 € |
| West |
2050 € |
SQL CREATE INDEX >>
|