Ir al contenido principal

Porque Utilizar Vistas

Seguridad.
Simplificar SQL.
Prevenir errores.
Hacer más comprensible los datos.
Rendimiento.

Vistas para Reforzar la Seguridad
Puede ser que los usuarios sólo deben ver ciertas filas o columnas de una tabla. Hay varias maneras de hacer cumplir esto, una Vista a menudo es la más sencilla. Tenga en cuenta el uso de los calificadores de esquema para la tabla como la fuente de los datos y la vista: las Vistas son objetos de esquema y pueden sacar sus datos de las tablas en el mismo esquema o de otros esquemas. Si no se especifica el esquema, serán del esquema en el cual se encuentra actualmente. La vista se puede unir a otras vistas o tablas como si se tratara de una tabla.

Vistas para simplificar a los Usuarios SQL.
Será mucho más fácil para los usuarios consultar los datos, si el trabajo duro (tales como JOINS o Agregaciones) está hecho para ellos por el código que define la vista.

Vistas para Prevenir Errores
Es imposible evitar que los usuarios cometan errores, pero las vistas bien construidas pueden prevenir algunos errores derivados de la falta de comprensión de cómo se deben interpretar los datos. Una vista puede ayudar a presentar los datos de una manera que no es ambigua.

Vistas para hacer los Datos más Comprensibles.
Las estructuras de datos en una base de datos serán tablas normalizadas. No es razonable esperar que los usuarios comprendan las estructuras normalizadas. Como ejemplo de la Suite Oracle E-Business , un "Cliente " en el módulo de Cuentas por Cobrar es de hecho una Entidad que consiste en información distribuida a través de las Tablas HZ_PARTIES, HZ_PARTY_SITES, HZ_CUST_ACCTS_ALL, y muchas más. Todas estas tablas están vinculadas por relaciones Primary Ley- Foreign Key, pero estos no están definidos en cualesquiera identificadores visibles para los usuarios (por ejemplo, un número de cliente ) : se basan en las columnas de los usuarios nunca ven que tienen valores generados internamente a partir de secuencias . Las formas y los informes que se utilizan para recuperar información de los clientes no abordan estas tablas directamente, todo el trabajo a través de puntos de vista. Pero estos no están definidos en cualesquiera identificadores visibles para los usuarios: se basan en columnas de los usuarios que nunca ven, que tienen valores generados internamente a partir de Secuencias. Las formas y los Reportes que se utilizan para recuperar información de los clientes no abordan las tablas directamente, todo el trabajo es a través de Vistas.
Además de presentar los datos a los usuarios en una forma comprensible, el uso de Vistas para proporcionar una capa de abstracción entre los objetos vistos por los usuarios y los objetos almacenados dentro de la base de datos puede ser muy valioso para el trabajo de mantenimiento.

Vistas para mejorar el Rendimiento
La instrucción SELECT detrás de un punto de vista puede ser optimizada por los programadores, por lo que los usuarios no tienen que preocuparse por el código de tuning. Puede haber muchas posibilidades para conseguir el mismo resultado, pero algunas de las técnicas pueden ser mucho más lentas que otros.
Teóricamente, siempre se puede confiar en el optimizador de Oracle para encontrar la mejor forma de ejecutar una sentencia SQL, pero hay casos en los que se equivoca. Si los programadores saben qué técnica es mejor, se puede indicar al optimizador.

Vistas Simples y Complejas
Clasificación de Vistas Simples y Complejas, la clasificación está relacionada a que si pueden ser ejecutadas sentencias DML contra estas.

Vista Simple, se basa de una tabla, no utiliza funciones, y no hace agregaciones.
Vista Compleja, se basa de la unión de varias tabla, utiliza funciones y desarrolla agregaciones.


A menudo no es posible ejecutar INSERT, UPDATE o DELETE contra una vista compleja. El mapeo de las filas en la Vista a las filas de la tabla detalle (s) que no siempre es posible determinar en un uno-a-uno, que es necesaria para las operaciones de DML. Por lo general, es posible ejecutar DML contra una vista simple, pero no siempre. Por ejemplo, si la vista no incluye una columna que tiene una restricción NOT NULL en la tabla, entonces un INSERT a través de la vista puede no tener éxito (a menos que la columna tiene un valor por defecto). Esto puede producir un efecto desconcertante porque el mensaje de error referencia a una tabla y una columna que no se mencionan en la declaración.

Comentarios