Escenario de ventas y marketing
La información relacionada con los clientes y las ventas es una parte significativa de la base de datos de ejemplo AdventureWorks. En este tema se proporcionan detalles acerca de los clientes representados en la base de datos de ejemplo, un esquema de las tablas principales de clientes y ventas, y consultas de ejemplo que muestran relaciones existentes entre las tablas.
Tipos de cliente
Como empresa de fabricación de bicicletas, Adventure Works Cycles tiene dos tipos de cliente:
Individuos: clientes que compran productos de la tienda en línea de Adventure Works Cycles.
Tiendas: tiendas de venta al por menor o al por mayor que compran a los representantes de ventas de Adventure Works Cycles productos para la reventa.
La tabla Customer contiene un registro para cada cliente. La columna CustomerType indica si el cliente es un individuo (CustomerType= 'I') o una tienda (CustomerType= 'S'). Los datos específicos de estos tipos de cliente se mantienen en las tablas Individual y Store, respectivamente.
Tipo de cliente |
Tablas principales |
Número de clientes |
Información adicional |
---|---|---|---|
Individual |
18,484 |
Se han establecido tendencias de los datos de ventas y datos demográficos para los escenarios de minería de datos. Los datos demográficos (ingresos, aficiones, número de coches, etc.) se almacenan como datos xml en la columna Demographics de la tabla Individual. |
|
Store |
701 |
Se han establecido tendencias para los datos de los escenarios de Analysis Services. Las tiendas se clasifican por tamaño: grandes, medianas y pequeñas. Los datos demográficos se almacenan como datos xml. Los contactos de las tiendas son los empleados de las tiendas que interaccionan con los representantes de ventas de Adventure Works Cycles. Por ejemplo, el propietario o el director de compras de la tienda serían contactos típicos para el personal de ventas de Adventure Works Cycles. |
Ejemplos
Puede utilizar las consultas siguientes para ver datos de cliente y para familiarizarse con las relaciones existentes entre las tablas de clientes.
A. Mostrar clientes individuales (consumidores)
En el ejemplo siguiente se devuelven el nombre y los apellidos de todos los clientes clasificados como clientes individuales (CustomerType = 'I').
USE AdventureWorks;
GO
SELECT FirstName, LastName
FROM Person.Contact AS C
JOIN Sales.Individual AS I
ON C.ContactID = I.ContactID
JOIN Sales.Customer AS Cu
ON I.CustomerID = Cu.CustomerID
WHERE Cu.CustomerType = 'I'
ORDER BY LastName, FirstName ;
GO
B. Mostrar datos de dirección de clientes individuales
En el ejemplo siguiente se enumeran los nombres y las direcciones de todos los clientes individuales.
USE AdventureWorks;
GO
SELECT I.CustomerID, C.FirstName, C.LastName, A.AddressLine1, A.City,
SP.Name AS State, CR.Name AS CountryRegion
FROM Person.Contact AS C
JOIN Sales.Individual AS I ON C.ContactID = I.ContactID
JOIN Sales.CustomerAddress AS CA ON CA.CustomerID = I.CustomerID
JOIN Person.Address AS A ON A.AddressID = CA.AddressID
JOIN Person.StateProvince SP ON
SP.StateProvinceID = A.StateProvinceID
JOIN Person.CountryRegion CR ON
CR.CountryRegionCode = SP.CountryRegionCode
ORDER BY I.CustomerID ;
GO
C. Mostrar clientes de tipo tienda de venta al por menor y venta al por mayor
En el ejemplo siguiente se devuelve el nombre todos los clientes clasificados como tienda (CustomerType = 'S').
USE AdventureWorks;
GO
SELECT Name
FROM Sales.Store AS S
JOIN Sales.Customer AS C
ON S.CustomerID = C.CustomerID
WHERE C.CustomerType = N'S'
ORDER BY Name ;
GO
GO
D. Mostrar contactos de tienda por tienda
En el ejemplo siguiente se devuelve el nombre de todos los clientes tipo tienda y los nombres y cargos de los empleados de las tiendas autorizados para comprar productos de Adventure Works Cycles en nombre de su empresa.
USE AdventureWorks;
GO
SELECT S.Name AS Store, C.FirstName, C.LastName, CT.Name AS Title
FROM Person.Contact AS C
JOIN Sales.StoreContact AS SC ON C.ContactID = SC.ContactID
JOIN Person.ContactType AS CT ON
CT.ContactTypeID = SC.ContactTypeID
JOIN Sales.Store AS S ON S.CustomerID = SC.CustomerID
ORDER BY S.Name ;
GO
E. Mostrar las ventas por tienda
En el ejemplo siguiente se enumeran los clientes tipo tienda y los pedidos de venta asociados.
USE AdventureWorks;
GO
SELECT Name, SalesOrderNumber, OrderDate, TotalDue
FROM Sales.Store AS S
JOIN Sales.SalesOrderHeader AS SO ON S.CustomerID = SO.CustomerID
ORDER BY Name, OrderDate ;
GO
F. Mostrar tiendas por ubicación
En el ejemplo siguiente se indica el nombre del cliente tipo tienda, la ciudad, el estado y el país o región.
USE AdventureWorks;
GO
SELECT S.CustomerID, S.Name AS Store, A.City, SP.Name AS State, CR.Name
AS CountryRegion
FROM Sales.Store AS S
JOIN Sales.CustomerAddress AS CA ON CA.CustomerID = S.CustomerID
JOIN Person.Address AS A ON A.AddressID = CA.AddressID
JOIN Person.StateProvince SP ON
SP.StateProvinceID = A.StateProvinceID
JOIN Person.CountryRegion CR ON
CR.CountryRegionCode = SP.CountryRegionCode
ORDER BY S.CustomerID ;
GO
GO
Vea también