6

¿Está utilizando "ver" en el método de diseño db right o deberíamos manejarlo desde el lado del código? ¿Cuáles son las ventajas o desventajas?¿Por qué se utiliza la vista de base de datos?

+0

Mucha dupes, incluyendo http://stackoverflow.com/questions/630200/when-to-use-database-views-and-when-not –

+0

Puede ser que esto creará una lista de argumentos – BreakHead

Respuesta

13

veo un par de razones para usar vistas:

  • proporcionar una interfaz más simple: basta con consultar la vista, y no una docena de mesas, haciendo uniones y todo
  • proporcionar una interfaz que no cambia (o con menos frecuencia):
    • Incluso si cambia la estructura de las tablas, es posible que pueda modificar su punto de vista por lo que sigue devolviendo lo mismo
    • Lo que significa que no es necesario ningún cambio en el código de su aplicación: todavía va a trabajar, ya que es mediante la vista, y no el acceso directo a las tablas
  • Sólo proporcionar una interfaz para algunos campos de las tablas
    • no hay necesidad de que los usuarios puedan ver algunos datos que no utilizará
    • O para acceder a algunos datos que no deben usar
  • con algunos motores de bases de datos (creo MS SQL Server es compatible con eso), algunos t ipo de puntos de vista puede tener índices
    • que es una buena cosa para actuaciones: si tiene alguna consulta compleja, almacenarla como una visión, y definir los índices requeridos en ese punto de vista
+2

¿Qué hay del rendimiento de la consulta? ¿Puedo ver aumentar el rendimiento de mis consultas? – shgnInc

2

Depende. Los uso algunos, pero no tan a menudo. Sin embargo, son MUY útiles para exportar vistas descodificadas de los datos para uso del usuario final (herramientas), como las aplicaciones de informes. De esta forma, puede proporcionarle al usuario final una versión simplificada de la información que a menudo se solicita y que oculta algunos detalles técnicos.

3

dos escenarios típicos para las vistas en nuestro caso son:

  • Algunas columnas de una tabla contienen datos confidenciales que debe ser visto por algunas personas. Puede crear una vista que excluya esas columnas y usar esa vista para la mayoría de los usuarios.
  • Unir dos o más tablas en una vista denormalizada que es práctica para los informes, pero que no tendría sentido como una tabla para el almacenamiento en la base de datos.

Espero que esto ayude.

Cuestiones relacionadas