Cómo crear una vista de tabla con sql

A veces, desea recuperar información específica de la tabla cliente en SQL. Usted no quiere mirar todo - sólo las columnas y filas específicas. Lo que necesita es una vista.

UN ver es una tabla virtual. En la mayoría de las implementaciones, una vista no tiene existencia física independiente. existe la definición de la vista sólo en los metadatos de la base de datos, pero los datos proceden de la tabla o tablas desde el que derivar la vista. Los datos de la vista no se duplica físicamente.

Vista de una mesa

Si la información que desea existe en una sola tabla, se puede crear una vista de una sola tabla de los datos. Por ejemplo, supongamos que desea buscar en los nombres y números de teléfono de todos los clientes que viven en el estado de New Hampshire. Puede crear una vista de la tabla cliente que sólo contiene los datos que desea. La siguiente sentencia SQL crea este punto de vista:

CREATE VIEW NH_CUST ASSELECT CUSTOMER.FirstName, CUSTOMER.LastName, CUSTOMER.PhoneFROM CUSTOMERWHERE CUSTOMER.State = `NH` -

Puede realizar la misma tarea con menos de escribir si su aplicación SQL asume que todas las referencias de la tabla son los mismos que los de la DE cláusula. Si el sistema hace que el supuesto por defecto razonable, se puede reducir la declaración a las siguientes líneas:

CREATE VIEW NH_CUST ASSELECT Nombre, Apellido, PhoneFROM CUSTOMERWHERE ESTADO = `NH`-

A pesar de que la segunda versión es más fácil escribir y leer, es más vulnerable a la interrupción de ALTER TABLE comandos. Dicha interrupción no es un problema para este caso simple, que no tiene UNIRSE, pero con vistas UNIRSEs son más robustos cuando utilizan nombres completos.

vista de varias tablas

Más a menudo que no, es necesario extraer datos de dos o más tablas para responder a su pregunta. Supongamos, por ejemplo, que trabaja para una tienda de artículos deportivos, y que desea enviar un correo promocional a todos los clientes que han comprado material de esquí ya que la tienda abrió el año pasado.

Necesita información de la tabla cliente, la tabla de productos, la tabla FACTURA, y la mesa Invoice_Line. Puede crear una vista de varias tablas que muestran los datos que necesita. Cada vez que se utiliza la vista, que refleja los cambios que se produjeron en las tablas subyacentes ya que se utilizó por última vez la vista.

La base de datos para esta tienda de artículos deportivos contiene cuatro tablas: cliente, producto, factura, y Invoice_Line.

MesaColumnaTipo de datosRestricción
CLIENTEIdentificación del clienteENTERONO NULO
Nombre de pilaCHAR (15)
ApellidoCHAR (20)NO NULO
CalleCHAR (25)
CiudadCHAR (20)
EstadoCHAR (2)
Código postalCHAR (10)
TeléfonoCHAR (13)
PRODUCTOID del ProductoENTERONO NULO
NombreCHAR (25)
DescripciónCHAR (30)
CategoríaCHAR (15)
IdProveedorENTERO
Nombre del vendedorCHAR (30)
FACTURANúmerodeFacturaENTERONO NULO
Identificación del clienteENTERO
Fecha de la facturaFECHA
Venta totalNumérico (9,2)
TotalRemittedNumérico (9,2)
Forma de pagoCHAR (10)
Invoice_LineNúmero de líneaENTERONO NULO
NúmerodeFacturaENTERONO NULO
ID del ProductoENTERONO NULO
CantidadENTERO
Precio de ventaNumérico (9,2)

Tenga en cuenta que algunas de las columnas contienen la restricción NO NULO. Estas columnas son o bien las claves principales de sus respectivas tablas o columnas que decida debe contener un valor. la clave principal de una tabla debe identificar de forma única cada fila. Para hacer eso, la clave principal debe contener un valor no nulo en cada fila.

Las tablas se relacionan entre sí a través de las columnas que tienen en común. La siguiente lista describe estas relaciones:

  • La tabla cliente tiene una uno-a-muchos relación a la mesa de factura. Un cliente puede realizar compras múltiples, generando varias facturas. Cada factura, sin embargo, se refiere a uno, y sólo uno, al cliente.

  • La tabla FACTURA tiene una relación de uno a muchos a la mesa Invoice_Line. Una factura puede tener múltiples líneas, pero aparece cada línea en uno, y sólo uno, de factura.

    Video: Creando vistas en SQL SERVER 2014

  • La tabla producto, también tiene una relación de uno a muchos a la mesa Invoice_Line. Un producto puede aparecer en más de una línea en una o más facturas. Cada línea, sin embargo, se refiere a uno, y sólo uno, de productos.

La tabla de clientes enlaces a la mesa de factura por parte del común Identificación del cliente columna. La tabla FACTURA enlaces a la mesa Invoice_Line por lo común NúmerodeFactura columna. El producto Tabla enlaces a la mesa Invoice_Line por lo común ID del Producto columna. Estos enlaces son lo que hace que esta base de datos una relacional base de datos.

Para acceder a la información sobre los clientes que compraron el equipo de esquí, necesita Nombre de pila, Apellido, Calle, Ciudad, Estado, y Código postal de la mesa- CLIENTE Categoría de la mesa- PRODUCTO NúmerodeFactura de la factura y mesa- Número de línea de la mesa Invoice_Line. Puede crear la vista que desee en etapas mediante el uso de las siguientes afirmaciones:

CREATE VIEW SKI_CUST1 ASSELECT Nombre, Apellido, calle, ciudad, estado, código postal, InvoiceNumberFROM cliente Únase INVOICEUSING (CustomerID): Para crear VISTA SKI_CUST2 ASSELECT Nombre, Apellido, calle, ciudad, estado, código postal, ProductIDFROM SKI_CUST1 ÚNETE INVOICE_LINEUSING (NúmerodeFactura) VER -CREAR SKI_CUST3 ASSELECT Nombre, Apellido, calle, ciudad, estado, código postal, CategoryFROM SKI_CUST2 ÚNETE PRODUCTUSING (ProductID): Para crear VISTA SKI_CUST ASSELECT FirstName DISTINCT, Apellido, calle, ciudad, estado, ZipcodeFROM SKI_CUST3WHERE CATEGORÍA = `Ski` -

Estas CREATE VIEW declaraciones combinan datos de múltiples tablas utilizando la UNIRSE operador.

He aquí un resumen de los cuatro CREATE VIEW declaraciones:

Video: Curso Mysql - 13 - Crear una Vista - Tutoriales y mas;

  • La primera declaración combina columnas de la tabla cliente con una columna de la tabla FACTURA para crear el SKI_CUST1 ver.

  • La segunda combina declaración SKI_CUST1 con una columna de la tabla para crear el Invoice_Line SKI_CUST2 ver.

  • La tercera combina declaración SKI_CUST2 con una columna de la tabla de productos para crear la SKI_CUST3 ver.

    Video: Crear consultas con mas de una tabla en Sql Server

  • La cuarta declaración filtra todas las filas que no tienen una categoría de Esquí. El resultado es una vista (SKI_CUST) Que contiene los nombres y direcciones de todos los clientes que compraron al menos un producto en el Esquí categoría.

    los DISTINTO palabra clave en el cuarto CREATE VIEW‘s SELECCIONAR cláusula asegura que sólo tiene una entrada para cada cliente, incluso si algunos clientes realizan varias compras de artículos de esquí.

Artículos Relacionados