Cenário de vendas e marketing
As informações relativas a cliente e a vendas são uma parte significativa do banco de dados de exemplo AdventureWorks. Este tópico fornece detalhes sobre os clientes representados no banco de dados de exemplo; um esquema das principais tabelas relativas a clientes e vendas, e consultas de exemplo que exemplificam as relações entre tabelas.
Tipos de clientes
Como uma empresa fabricante de bicicletas, a Adventure Works Cycles tem dois tipos de clientes:
Indivíduos. Trata-se dos consumidores que adquirem produtos da loja online Adventure Works Cycles.
Lojas. Trata-se das lojas de varejo ou atacado que compram produtos para revenda de representantes de vendas Adventure Works Cycles.
A tabela Customer contém um registro para cada cliente. A coluna CustomerType indica se o cliente é um consumidor individual (CustomerType= 'I') ou uma loja (CustomerType= 'S'). Dados específicos desse tipo de cliente são mantidos respectivamente nas tabelas Individual e Store.
Tipo de cliente |
Tabelas principais |
Número de clientes |
Informações adicionais |
---|---|---|---|
Individual |
18,484 |
Dados de vendas e demográficos foram direcionados aos cenários de mineração de dados. Dados demográficos (renda, passatempos, número de carros, entre outros) são armazenados como dados xml na coluna Demographics da tabela Individual. |
|
Store |
701 |
Os dados foram orientados para os cenários Analysis Services. As lojas são categorizadas por tamanho: grande, médio e pequeno. Dados demográficos armazenados como dados xml. Contatos de loja são os funcionários da loja que interagem com os representantes de vendas Adventure Works Cycles. Por exemplo, o proprietário da loja ou o gerente de compras seriam contatos típicos para vendedores Adventure Works Cycles. |
Exemplos
Você pode usar as consultas a seguir para exibir dados de cliente e se familiarizar com as relações da tabela de cliente.
A. Exibindo clientes individuais (consumidores)
O exemplo a seguir retorna o primeiro e último nome de cada cliente que é categorizado como um consumidor individual (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. Exibindo dados de endereço de cliente individuais
O exemplo a seguir lista os nomes e endereços de todos os clientes individuais.
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. Exibindo clientes, tanto de lojas de varejo como de atacado
O exemplo a seguir retorna o nome de cada cliente categorizado como loja (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. Exibindo contatos de loja por loja
O exemplo a seguir retorna o nome de todos os clientes de loja e os nomes e títulos de funcionários de loja que autorizaram a compra de produtos Adventure Works Cycles em nome de suas empresas.
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. Exibindo vendas por loja
O exemplo a seguir lista clientes de loja e seus respectivos pedidos de compras.
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. Exibindo lojas por locais
O exemplo a seguir imprime o nome do cliente de loja, cidade, estado e país/região.
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
Consulte também