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

Person.Contact

Sales.Customer

Sales.Individual

Sales.SalesOrderHeader

Sales.SalesOrderDetail

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

Person.Contact

Sales.Customer

Sales.Store

Sales.StoreContact

Sales.SalesOrderHeader

Sales.SalesOrderDetail

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