2010-07-27 17 views
11

¿Qué son las vistas en MySQL? ¿Cuál es el punto de vista y con qué frecuencia se usan en el mundo real?¿Qué son las vistas en MySQL?

¡Estoy buscando una explicación profana, por favor con un ejemplo si es posible para ayudar a mi comprensión!

Gracias de antemano ;-)

Respuesta

10

normales vistas son nada más que consultable consultas.

Ejemplo:

tiene dos tablas, pedidos y clientes, pedidos tiene los campos ID, customer_id, performance_date y clientes tiene identificación, nombre, apellido.

Ahora digamos que usted desea mostrar el número de pedido, fecha de rendimiento y el nombre del cliente en conjunto en lugar de emitir esta consulta:

SELECT o.id as order_id, c.first_name + ' ' + c.last_name as customer_name, 
      o.performance_date 
FROM  orders o inner join customers c 

podría crear esa consulta como una vista y el nombre de orders_with_customers, en su aplicación ahora se puede emitir la consulta

SELECT * 
FROM  orders_with_customer 

Uno de los beneficios es la abstracción, que podría alterar la forma en que almacena el nombre de los clientes, como inlcuyendo un segundo nombre, y sólo cambiar la consulta vistas. Todas las aplicaciones que utilizaron la vista continúan haciéndolo, pero ahora incluyen el segundo nombre.

0

Son una forma abreviada de filtros comunes.

Supongamos que tiene una tabla de registros con una columna eliminada. Normalmente, no le interesarían los registros eliminados y, por lo tanto, podría crear una vista llamada Registros que filtra los registros eliminados de la tabla AllRecords.

Esto hará que su código se limpie, ya que no tiene que adjuntar/anteponer deleted != 1 a cada instrucción.

SELECT * FROM Records 

devolverá todos los registros no eliminados.

0

En palabras sencillas

En SQL, una vista es una tabla virtual basado en el conjunto de resultados de una instrucción SQL .

Una vista contiene filas y columnas, solo como una tabla real. Los campos en una vista son campos de una o más tablas reales en la base de datos.

Se pueden añadir funciones SQL, dónde y unirse a declaraciones a una vista y el presente los datos como si los datos venían de una sola tabla.

Source

En voluminoso a esto, se puede insertar filas en una table subyacente de un view condición de que la única tabla se refiere por la vista y columnas que no se mencionan en la vista permite valores nulos.

0

Una vista es una forma de predefinir ciertas consultas. Se puede consultar al igual que una tabla, se define mediante una consulta en lugar de un conjunto de datos en el disco. Consultarlo le permite consultar los resultados de la tabla.

En la mayoría de los casos, consultar una vista puede verse como equivalente a usar la consulta de definición de la vista como una subconsulta en su consulta principal. Las vistas permiten que las consultas sean más cortas y más modulares (ya que las partes comunes se definen por separado en la vista). También brindan oportunidades para la optimización (aunque no todas las bases de datos lo hacen; no estoy seguro de si MySQL proporciona alguna optimización para hacer vistas más rápido o no).

Si actualiza las tablas subyacentes, las consultas en la vista reflejarán automáticamente esos cambios.

2

Es simple: las vistas son tablas virtuales.

Las vistas se basan en consultas SELECT en tablas "reales", pero la diferencia es que las vistas no almacenan la información a diferencia de las tablas reales. Una vista solo hace referencia a las tablas y las combina de la forma en que SELECT las dice. Esto hace que las consultas de uso frecuente se simplifiquen mucho más.

Aquí hay un ejemplo simple para usted. Supongamos que tiene una tabla de empleados y una tabla de departamentos, y le gustaría ver sus salarios. Primero, puede crear una vista para los salarios.

CREATE VIEW SALARIES 
AS 
SELECT e.name, 
     e.salary, 
     d.name 
FROM employees AS e, deparments as d 
WHERE e.depid = d.depid 
ORDER BY e.salary DESC 

Esta consulta muestra el nombre del empleado, su/su salario y el departamento y los ordena por sus salarios en orden descendente. Cuando hayas hecho esto, puede utilizar consultas tales como:

SELECT * from SALARIES 

En una escala más grande se puede hacer una idea de que calcula el salario promedio de los empleados y las listas que tiene un sueldo que es menor que el salario promedio. En la vida real, estas consultas son mucho más complejas.

1

Puede pensar en la vista como una tabla generada sobre la marcha. En sus consultas, se comporta como una tabla normal, pero en lugar de almacenarse en el disco, se crea sobre la marcha cuando es necesario desde una declaración SQL que se define al crear una vista.

Para crear una vista, utilice:

CREATE VIEW first_names AS SELECT first_name FROM people WHERE surname='Smith' 

continuación, puede utilizar este punto de vista sólo como una mesa común. El truco está en que al actualizar la gente de la tabla también se actualizará la vista first_names porque es solo un resultado de la instrucción SELECT.

Esta consulta:

SELECT * FROM first_names 

devolverá todos los nombres de las personas con el apellido López en el pueblo de mesa. Si actualiza la tabla de personas y vuelve a ejecutar la consulta, verá los resultados actualizados.

Básicamente, puede reemplazar vistas con declaraciones SELECT anidadas. Sin embargo, las vistas tienen algunas ventajas:

  • Shorter consultas - instrucciones SELECT anidadas hacen la consulta ya
  • mejorar la legibilidad - si la vista tiene un nombre sensible, la consulta es mucho más fácil de entender
  • velocidad Mejor - la instrucción SELECT de la vista se almacena en el motor de la base de datos y se analiza previamente, por lo tanto, no necesita ser transferida desde el cliente y analizarse una y otra vez
  • Almacenamiento en caché y optimizaciones: el motor de base de datos puede almacenar en caché la vista y realizar otras optimizaciones
Cuestiones relacionadas