¿Por qué se crea una Vista en una base de datos?

Resuelto MedicineMan asked hace 15 años • 25 respuestas

¿Cuándo y por qué alguien decide que necesita crear una Vista en su base de datos? ¿Por qué no simplemente ejecutar un procedimiento almacenado normal o seleccionarlo?

MedicineMan avatar Aug 14 '09 22:08 MedicineMan
Aceptado

Una vista proporciona varios beneficios.

1. Las vistas pueden ocultar la complejidad

Si tiene una consulta que requiere unir varias tablas, o tiene lógica o cálculos complejos, puede codificar toda esa lógica en una vista y luego seleccionar desde la vista como lo haría con una tabla.

2. Las vistas se pueden utilizar como mecanismo de seguridad.

Una vista puede seleccionar ciertas columnas y/o filas de una tabla (o tablas) y establecer permisos en la vista en lugar de en las tablas subyacentes. Esto permite mostrar solo los datos que un usuario necesita ver.

3. Las vistas pueden simplificar la compatibilidad con el código heredado

Si necesita refactorizar una tabla que rompería una gran cantidad de código, puede reemplazar la tabla con una vista del mismo nombre. La vista proporciona exactamente el mismo esquema que la tabla original, mientras que el esquema real ha cambiado. Esto evita que el código heredado que hace referencia a la tabla se rompa, lo que le permite cambiar el código heredado cuando lo desee.

Estos son sólo algunos de los muchos ejemplos de cómo las vistas pueden resultar útiles.

Dave Carlile avatar Aug 14 '2009 15:08 Dave Carlile

Entre otras cosas, se puede utilizar por motivos de seguridad. Si tiene una tabla de "clientes", es posible que desee otorgar a todos sus vendedores acceso a los campos de nombre, dirección, código postal, etc., pero no al número de tarjeta de crédito. Puede crear una vista que solo incluya las columnas a las que necesitan acceso y luego otorgarles acceso a la vista.

Graeme Perrow avatar Aug 14 '2009 15:08 Graeme Perrow