Cómo crear vistas a recuperar y manipular datos sql

Una de las características más potentes de SQL es su capacidad de mostrar puntos de vista de los datos que se estructuran de manera diferente a como las tablas de la base almacenan los datos. La estructura de una base de datos que está diseñado de acuerdo con sanos principios - incluyendo la normalización adecuada - maximiza la integridad de los datos.

Video: SQL Server 2012 - 06 - Crear Vista de una tabla - Tutoriales y mas

Esta estructura, sin embargo, a menudo no es la mejor manera de mirar los datos. Varias aplicaciones pueden utilizar los mismos datos, pero cada aplicación pueden tener un énfasis diferente. Las tablas que utiliza como fuente de columnas y filas en una vista son el tablas base.

UN SELECCIONAR declaración siempre devuelve un resultado en forma de una tabla virtual. UN ver es un tipo especial de tabla virtual. Se puede distinguir una vista desde otras tablas virtuales porque los metadatos de la base de datos contiene la definición de una vista. Esta distinción da una visión un grado de persistencia que otras tablas virtuales no poseen.

Video: Tutoriales SQL SERVER | #45 Vistas

Puede manipular una vista tal como se puede manipular una mesa real. La diferencia es que los datos de una vista no tiene una existencia independiente. La vista obtiene sus datos de la tabla o tablas de las cuales se dibuja columnas de la vista. Cada aplicación puede tener sus propios puntos de vista únicos de los mismos datos.

Supongamos que una base de datos contiene cinco tablas: CLIENTE, PRUEBAS, empleado, órdenes y resultados. Supongamos que el gerente de comercialización nacional quiere ver a partir de la cual se afirma pedidos de la empresa están llegando. Parte de esta información se encuentra en el cliente de mesa- algunas mentiras en la tabla Pedidos.

Video: Como crear vistas en SQL Server

Supongamos que el agente de control de calidad quiere comparar la fecha de la orden de una prueba a la fecha en que el resultado final del ensayo entró. Esta comparación requiere algunos datos de la tabla Pedidos y algunos de la tabla de resultados. Para satisfacer las necesidades de este tipo, se pueden crear vistas que le dan exactamente los datos que desee en cada caso.

A partir de las tablas

Para el director de marketing, puede crear este punto de vista.

La siguiente sentencia crea la opinión del director de marketing:

CREATE VIEW ORDERS_BY_STATE (ClientName, Estado, OrderNumber) AS SELECT CLIENT.ClientName, Estado, OrderNumberFROM CLIENTE, ORDERSWHERE CLIENT.ClientName = ORDERS.ClientName -

La nueva vista tiene tres columnas: Nombre del cliente, Estado, y Número de orden. Nombre del cliente aparece en las tablas el cliente y los pedidos y sirve de enlace entre las dos tablas. La nueva vista dibuja Estado información de la tabla CLIENTE y la toma Número de orden de la tabla Pedidos. En el ejemplo anterior, se declara los nombres de las columnas de manera explícita en la nueva vista.

Tenga en cuenta que la Nombre del cliente se prefija con la tabla que la contiene, pero no ha hecho por Estado y Número de orden. Eso es porque Estado sólo aparece en la tabla CLIENTE y Número de orden sólo aparece en la tabla PEDIDOS, por lo que no hay ambigüedad. Sin embargo, Nombre del cliente aparece en el cliente y el ÓRDENES, por lo que se necesita el identificador adicional.

No necesita esta declaración si los nombres son los mismos que los nombres de las columnas correspondientes en las tablas de origen. El ejemplo muestra un parecido CREATE VIEW declaración, excepto que los nombres de columna vista están implicados en lugar de indicarse expresamente.

Con una condición de selección

El oficial de control de calidad requiere una visión diferente a la que utiliza el director de marketing.

Aquí está el código que crea la vista:

CREATE VIEW REPORTING_LAGAS SELECT ORDERS.OrderNumber, ÓRDENES OrderDate, DateReportedFROM, RESULTSWHERE ORDERS.OrderNumber = RESULTS.OrderNumberAND RESULTS.PreliminaryFinal = `F` -

Esta vista contiene información del pedido actualizados de la tabla Pedidos y último informe-información actualizada de la tabla de resultados. Sólo las filas que tienen una `F` en el PreliminaryFinal columna de la tabla Los resultados aparecen en la REPORTE GAL ver. Tenga en cuenta también que la lista de columnas en la vista ORDERS_BY_STATE es opcional. los REPORTING_LAG Vista funciona bien sin una lista de este tipo.

Con un atributo modificado

los SELECCIONAR cláusulas sólo contienen nombres de columna. Puede incluir expresiones en el SELECCIONAR cláusula también. Supongamos que el dueño del VetLab está teniendo un cumpleaños y quiere dar a todos sus clientes un descuento del 10 por ciento para celebrar. Se puede crear una vista basada en la tabla Pedidos y PRUEBAS la tabla. Se puede construir esta tabla como se muestra en el siguiente ejemplo de código:

CREATE VIEW CUMPLEAÑOS (ClientName, prueba, OrderDate, BirthdayCharge) AS SELECT ClientName, TestOrdered, OrderDate, StandardCharge * ÓRDENES .9FROM, TESTSWHERE TestOrdered = TestName -

Nótese que la segunda columna de la CUMPLEAÑOS vista - Prueba - corresponde a la TestOrdered columna en la tabla de órdenes, que también corresponde a la Nombre de la prueba columna en la tabla PRUEBAS.

Se puede construir una vista basada en varias tablas, como se muestra en los ejemplos anteriores, o puede crear una vista basada en una sola tabla. Si usted no necesita algunas de las columnas o filas, crear una vista para eliminar estos elementos y luego tratar con la vista en lugar de la tabla original. Este enfoque garantiza que los usuarios ven sólo las partes de la mesa que son relevantes.

Video: exportar tablas y vistas de sql server a excel 2013

Otra razón para la creación de una vista es para garantizar la seguridad de sus tablas subyacentes. Es posible que desee hacer algunas columnas en las tablas disponibles para la inspección al tiempo que oculta otros. Puede crear una vista que incluye sólo las columnas que desee que estén disponibles y luego conceder un acceso amplio a la vista mientras se restringe el acceso a las tablas de las cuales se dibujan la vista.

Artículos Relacionados