Respuestas:
Oh, hay muchas diferencias que deberás considerar
Vistas para la selección:
Vistas para inserción / actualizaciones:
Inconvenientes
Las vistas pueden:
Y no debe diseñar tablas para que coincidan con las vistas . Su modelo base debe preocuparse por el almacenamiento y la recuperación eficientes de los datos. Las vistas son en parte una herramienta que mitiga las complejidades que surgen de un modelo eficiente y normalizado al permitirle abstraer esa complejidad.
Además, preguntar "¿Cuáles son las ventajas de usar una vista sobre una mesa?" No es una gran comparación. No puede prescindir de tablas, pero puede prescindir de vistas. Cada uno existe por una razón muy diferente. Las tablas son el modelo concreto y las vistas son una vista abstraída.
Las vistas son aceptables cuando necesita asegurarse de que se sigue una lógica compleja en todo momento. Por ejemplo, tenemos una vista que crea los datos brutos necesarios para todos los informes financieros. Al hacer que todos los informes utilicen esta vista, todos trabajan con el mismo conjunto de datos, en lugar de que un informe utilice un conjunto de uniones y otro se olvide de utilizar uno que dé resultados diferentes.
Las vistas son aceptables cuando desea restringir a los usuarios a un subconjunto particular de datos. Por ejemplo, si no elimina registros sino que solo marca el actual como activo y las versiones anteriores como inactivas, desea utilizar una vista para seleccionar solo los registros activos. Esto evita que las personas se olviden de poner la cláusula where en la consulta y obtengan malos resultados.
Las vistas se pueden utilizar para garantizar que los usuarios solo tengan acceso a un conjunto de registros; por ejemplo, una vista de las tablas para un cliente en particular y la ausencia de derechos de seguridad en las tablas puede significar que los usuarios de ese cliente solo pueden ver los datos. para ese cliente.
Las vistas son muy útiles al refactorizar bases de datos.
Las vistas no son aceptables cuando usa vistas para llamar a vistas que pueden resultar en un rendimiento horrible (al menos en SQL Server). Casi perdemos un cliente multimillonario porque alguien decidió abstraer la base de datos de esa manera y el rendimiento fue terrible y los tiempos de espera frecuentes. Tuvimos que pagar por la reparación también, no por el cliente, ya que el problema de rendimiento fue completamente culpa nuestra. Cuando las vistas llaman a las vistas, tienen que generar completamente la vista subyacente. He visto esto donde la vista llamó una vista que llamó a una vista y se generaron tantos millones de registros para ver los tres que el usuario finalmente necesitaba. Recuerdo que una de estas vistas tomó 8 minutos para hacer un conteo simple (*) de los registros. Vistas que llaman vistas son una idea muy mala.
Las vistas a menudo son una mala idea para actualizar registros, ya que normalmente solo puede actualizar campos de la misma tabla (nuevamente, esto es SQL Server, otras bases de datos pueden variar). Si ese es el caso, tiene más sentido actualizar directamente las tablas de todos modos para que sepa qué campos están disponibles.
Las vistas son útiles cuando necesita seleccionar entre varias tablas o simplemente para obtener un subconjunto de una tabla.
Debe diseñar sus tablas de tal manera que su base de datos esté bien normalizada (duplicación mínima). Esto puede dificultar la consulta.
Las vistas son un poco separadas, lo que le permite ver los datos en las tablas de manera diferente a como están almacenados.
Debes diseñar tu mesa SIN considerar las vistas.
Además de guardar uniones y condiciones, las Vistas tienen una ventaja de rendimiento: SQL Server puede calcular y guardar su plan de ejecución en la vista y, por lo tanto, hacerlo más rápido que las instrucciones SQL "sobre la marcha".
Ver también puede facilitar su trabajo con respecto al acceso de los usuarios a nivel de campo.
En primer lugar, como sugiere el nombre, una vista es inmutable. eso es porque una vista no es más que una tabla virtual creada a partir de una consulta almacenada en la base de datos. Por eso tienes algunas características de las vistas:
por lo que hay una gran cantidad de casos de uso para los que las vistas se ajustan mejor que las tablas, solo piense en mostrar solo los usuarios activos en un sitio web. una vista sería mejor porque opera solo en un subconjunto de los datos que realmente están en su base de datos (usuarios activos e inactivos)
mira este artículo
Espero que esto haya ayudado ...
Según Wikipedia ,
Las vistas pueden limitar el grado de exposición de las tablas subyacentes al mundo exterior: un usuario determinado puede tener permiso para consultar la vista, mientras se le niega el acceso al resto de la tabla base.
Las vistas pueden unir y simplificar varias tablas en una sola tabla virtual.
Las vistas pueden actuar como tablas agregadas , donde el motor de la base de datos agrega datos (suma, promedio, etc.) y presenta los resultados calculados como parte de los datos.
Las vistas pueden ocultar la complejidad de los datos. Por ejemplo, una vista podría aparecer como Sales2000 o Sales2001, dividiendo de forma transparente la tabla subyacente real.
Las vistas ocupan muy poco espacio para almacenar ; la base de datos contiene solo la definición de una vista, no una copia de todos los datos que presenta.
Las vistas pueden proporcionar seguridad adicional , según el motor SQL utilizado.