Compartilhar via


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

Person.Contact

Sales.Customer

Sales.Individual

Sales.SalesOrderHeader

Sales.SalesOrderDetail

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

Person.Contact

Sales.Customer

Sales.Store

Sales.StoreContact

Sales.SalesOrderHeader

Sales.SalesOrderDetail

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