Diferencia entre vista y tabla en sql


136

Posible duplicado:
diferencia entre vistas y tablas en el rendimiento

¿Cuál es la principal diferencia entre vista y tabla en SQL? ¿Hay alguna ventaja de usar vistas en lugar de tablas?



66
No parece un duplicado. La publicación vinculada pregunta específicamente sobre rendimiento / eficiencia. Esta publicación pregunta más sobre cómo difieren como tipos de datos, como representa la respuesta seleccionada.
Ð ..

Respuestas:


197

Una tabla contiene datos, una vista es solo una SELECTdeclaración que se ha guardado en la base de datos (más o menos, dependiendo de su base de datos).

La ventaja de una vista es que puede unir datos de varias tablas creando así una nueva vista. Supongamos que tiene una base de datos con salarios y necesita hacer algunas consultas estadísticas complejas.

En lugar de enviar la consulta compleja a la base de datos todo el tiempo, puede guardar la consulta como una vista y luego SELECT * FROM view


11
Entonces, la vista es una tabla real hecha por una instrucción select. La vista se almacena y se puede acceder a ella, por lo que sería la diferencia entre crear una nueva tabla con esa información en lugar de una vista.
Doug Hauf

23
Puede pensar en una vista como una "declaración de selección guardada" que puede repetir. No es realmente una mesa; aunque algunas bases de datos permiten crear vistas que tienen una tabla real debajo, en realidad es solo una SELECTdeclaración que devuelve resultados.
Aaron Digulla

1
algo a tener en cuenta: algunas vistas de la lista del sistema de base de datos junto con tablas en "mostrar tablas"; mando.
Dexter

1
@ShwetabhShekhar Eso depende de su base de datos y el tipo de vista. En la forma más simple, la base de datos ejecutará el SQL como si acabara de enviar todo. En este caso, simplemente guarda enviando los muchos bytes una y otra vez. Algunas bases de datos pueden ejecutar la consulta y almacenar el resultado en una tabla (real). Entonces necesitas resolver los problemas de alguna manera que mencionaste. Consulte la documentación de la base de datos sobre cómo hacerlo.
Aaron Digulla

1
@FoxDeploy Sí, ya que esa vista no ayuda de ninguna manera. Los escenarios útiles serían una vista con permisos limitados o una vista que selecciona una tabla de otro esquema en la misma base de datos u otra base de datos (tabla remota).
Aaron Digulla

34

Tabla: La tabla es un almacenamiento preliminar para almacenar datos e información en RDBMS. Una tabla es una colección de entradas de datos relacionadas y consta de columnas y filas.

Vista: Una vista es una tabla virtual cuyo contenido está definido por una consulta. A menos que esté indexada, una vista no existe como un conjunto almacenado de valores de datos en una base de datos. Las ventajas sobre la mesa son

  • Podemos combinar columnas / filas de múltiples tablas u otra vista y tener una vista consolidada.
  • Las vistas se pueden usar como mecanismos de seguridad al permitir que los usuarios accedan a los datos a través de la vista, sin otorgarles permisos de acceso directo a las tablas base subyacentes de la vista.
  • Actúa como una capa abstracta para los sistemas posteriores, por lo que cualquier cambio en el esquema no está expuesto y, por lo tanto, los sistemas posteriores no se ven afectados.

16

Una vista es una tabla virtual. Una vista consta de filas y columnas como una tabla. La diferencia entre una vista y una tabla es que las vistas son definiciones creadas sobre otras tablas (o vistas) y no contienen datos por sí mismas. Si los datos están cambiando en la tabla subyacente, el mismo cambio se refleja en la vista. Se puede construir una vista sobre una tabla única o varias tablas. También se puede construir sobre otra vista. En la página SQL Create View, veremos cómo se puede construir una vista.

Las vistas ofrecen las siguientes ventajas:

  1. Facilidad de uso: una vista oculta la complejidad de las tablas de la base de datos a los usuarios finales. Esencialmente podemos pensar en las vistas como una capa de abstracción en la parte superior de las tablas de la base de datos.

  2. Ahorro de espacio: las vistas ocupan muy poco espacio para almacenar, ya que no almacenan datos reales.

  3. Seguridad de datos adicional: las vistas pueden incluir solo ciertas columnas en la tabla para que solo las columnas no sensibles se incluyan y expongan al usuario final. Además, algunas bases de datos permiten que las vistas tengan diferentes configuraciones de seguridad, ocultando así los datos confidenciales de los curiosos.

Respuesta de: http://www.1keydata.com/sql/sql-view.html


4

En vista no hay ninguna relación directa o física con la base de datos. Y la modificación a través de una vista (por ejemplo, insertar, actualizar, eliminar) no está permitida. Es solo un conjunto lógico de tablas


1
En SQL Server, puede modificar la tabla subyacente a través de una vista, si solo hace referencia a una tabla base. ver aquí
Kristen Hammack

3

Una vista nos ayuda a deshacernos de utilizar el espacio de la base de datos todo el tiempo. Si crea una tabla, se almacena en la base de datos y tiene algo de espacio a lo largo de su existencia. En su lugar, la vista se utiliza cuando se ejecuta una consulta y, por lo tanto, ahorra el espacio de base de datos. Y no podemos crear tablas grandes todo el tiempo uniendo tablas diferentes aunque podríamos, pero depende de qué tan grande sea la tabla para ahorrar espacio. Por lo tanto, la vista solo crea temporalmente una tabla con la unión de una tabla diferente en el tiempo de ejecución. Expertos, corríjanme si estoy equivocado.


2

Mesa:

La tabla almacena los datos en la base de datos y contiene los datos.

Ver:

La vista es una tabla imaginaria, contiene solo los campos (columnas) y no contiene datos (fila) que se enmarcarán en tiempo de ejecución Vistas creadas a partir de una o más de una tabla mediante uniones, con columnas seleccionadas. Las vistas se crean para ocultar algunas columnas del usuario por razones de seguridad, y para ocultar la información existente en la columna. Las vistas reducen el esfuerzo de escribir consultas para acceder a columnas específicas cada vez. En lugar de presionar la consulta compleja a la base de datos cada vez, podemos usar la vista


Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.