Mysql
Hasta ahora las únicas tablas de las que nos hemos ocupado han sido las definidas con la orden CREATE TABLE. El lenguaje SQL también pone a disposición la posibilidad de definir tablas"virtuales", las vistas, calculadas a partir de otras tablas. Son virtuales en el sentido que no ocupan espacio en el disco, pero son el resultado de interrogaciones sobre otras tablas y, por lo tanto,siempre están alineadas con los valores contenidos en dichas tablas.
La instrucción SQL para definir una vista es la siguiente:
CREATE VIEW nombre_vista [ ( lista_nombres_columnas ) ]
ASexpresión_tabla
Crea una vista llamada nombre_vista definitda por la expresión_tabla. Típicamente, expresión_tabla es una instrucción select que producirá la tabla que interesa. La lista_nombres_columnasse puede usar para asignar nombres a las columnas de la vista. Esto es útil en el caso en que las columnas que derivan de la expresión_tabla sean resultado de un cálculo (por ejemploCOUNT(nombre_columna)) y por ello no tengan un nombre explícito. Una vez creada, una vista se puede utilizar como una tabla normal. Las unicas limitaciones se refieren a las operaciones que cambian los datos contenidosen ella. En efecto, no todas las vistas pueden actualizarse. Las reglas que discriminan entre una vista actualizable y una no actualizable son más bien complejas, y no es este el lugar paradescribirlas (véanse los libros en la bibliografía, concretamente el de C.J. Date). Aquí vamos a limitarnos a intentar entender, mediante un ejemplo, por qué sucede esto.
Hagamos la prueba usando la siguientevista en nuestra base de datos bibliográfica:
CREATE VIEW book_publisher89
AS SELECT B.title, P.name
FROM Book B, Publisher P
WHERE B.publisher = P.ID
AND B.pub_year=1989
Ésta nos permiteejecutar la query que la define simplemente utilizando la instrucción:
SELECT * FROM book_publisher89
Podemos también introducir ulteriores condiciones (o hacer que el resultado se ordene...
Regístrate para leer el documento completo.