Scénario Vente et marketing

Les informations liées aux clients et aux ventes constituent une part importante de l'exemple de base de données AdventureWorks. La présente rubrique fournit des informations détaillées sur les clients qui sont représentés dans l'exemple de base de données, un schéma des principales tables liées aux clients et aux ventes, ainsi que des exemples de requętes qui illustrent les relations entre les tables.

Types de clients

En tant que fabricant de bicyclettes, la société Adventure Works Cycles a deux types de clients :

  • Des particuliers. Ce sont des consommateurs qui achètent des produits du magasin en ligne de la société Adventure Works Cycles.

  • Des magasins. Ce sont des détaillants ou des grossistes qui achètent les produits aux commerciaux de la société Adventure Works Cycles pour la revente.

La table Customer contient un enregistrement pour chaque client. La colonne CustomerType indique s'il s'agit d'un client individuel (CustomerType= « I ») ou d'un magasin (CustomerType= « S »). Les données spécifiques à ces types de clients sont conservées respectivement dans les tables Individual et Store.

Type de client

Principales tables

Nombre de clients

Autres informations

Individual

Person.Contact

Sales.Customer

Sales.Individual

Sales.SalesOrderHeader

Sales.SalesOrderDetail

18,484

Les données démographiques et de vente ont été orientées pour les scénarios d'exploration de données.

Les données démographiques (revenus, loisirs, nombre de véhicules, etc.) sont stockées en tant que données xml dans la colonne Demographics de la table Individual.

Store

Person.Contact

Sales.Customer

Sales.Store

Sales.StoreContact

Sales.SalesOrderHeader

Sales.SalesOrderDetail

701

Les données ont été orientées pour les scénarios Analysis Services.

Les magasins sont classés par taille : grande, moyenne et petite.

Les données démographiques sont stockées en tant que données xml.

Les contacts des magasins sont les employés du magasin qui communiquent avec les commerciaux de la société Adventure Works Cycles. Par exemple, le propriétaire du magasin ou le responsable des achats est généralement le contact des commerciaux de la sociétéAdventure Works Cycles.

Exemple

Vous pouvez utiliser les requêtes suivantes pour consulter les données se rapportant aux clients et vous familiariser avec les relations de tables liées aux clients.

A. Consultation de clients individuels (consommateurs)

L'exemple suivant retourne le prénom et le nom de tous les clients classés en tant que consommateurs individuels (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. Consultation des données d'adresse des clients individuels

L'exemple suivant affiche la liste des noms et adresses de tous les clients individuels.

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. Consultation des clients de type magasin, détaillants ou grossistes

L'exemple suivant retourne le nom de tous les clients classés en tant que magasins (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. Consultation des contacts de magasin par magasin

L'exemple suivant retourne le nom de tous les magasins, ainsi que le nom et la fonction des employés des magasins habilités à acheter les produits de la société Adventure Works Cycles pour le compte de leur entreprise.

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. Consultation des ventes par magasin

L'exemple suivant affiche la liste des magasins et de leurs commandes associées.

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. Consultation des magasins par emplacement

L'exemple suivant imprime le nom du magasin, la ville, l'état et le pays/la région.

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