Share via


Scenario relativo a vendite e marketing

Le informazioni relative ai clienti e alle vendite rappresentano un aspetto di particolare rilievo del database di esempio AdventureWorks. In questo argomento vengono fornite informazioni dettagliate sui dati relativi ai clienti rappresentati nel database di esempio, uno schema delle principali tabelle correlate ai clienti e alle vendite ed esempi di query che illustrano relazioni comuni tra le tabelle.

Tipi di clienti

Adventure Works Cycles è un'azienda produttrice di biciclette che si rivolge a due tipologie di clienti:

  • Privati, ovvero i clienti che acquistano i prodotti nel negozio in linea della società Adventure Works Cycles.

  • Punti vendita, ovvero negozi al dettaglio o all'ingrosso che acquistano i prodotti dai rappresentanti della società Adventure Works Cycles a scopo di rivendita.

La tabella Customer contiene un record per ogni cliente. La colonna CustomerType indica se il cliente è un privato (CustomerType= 'I') o un punto vendita (CustomerType= 'S'). I dati specifici di questi tipi di clienti sono archiviati rispettivamente nelle tabelle Individual e Store.

Tipo di cliente

Tabelle principali

Numero di clienti

Informazioni aggiuntive

Individual

Person.Contact

Sales.Customer

Sales.Individual

Sales.SalesOrderHeader

Sales.SalesOrderDetail

18,484

In base ai dati demografici e sulle vendite sono state elaborate le tendenze per gli scenari di data mining.

I dati demografici, ad esempio reddito, passatempi, numero di automobili e così via, sono archiviati come dati xml nella colonna Demographics della tabella Individual.

Store

Person.Contact

Sales.Customer

Sales.Store

Sales.StoreContact

Sales.SalesOrderHeader

Sales.SalesOrderDetail

701

In base ai dati sono state elaborate le tendenze per gli scenari di Analysis Services.

I punti vendita sono organizzati in tre categorie in base alle dimensioni (grandi, medie e piccole).

I dati demografici sono archiviati come dati di tipo xml.

I contatti presso i punti vendita sono dipendenti addetti ai rapporti commerciali con i rappresentanti della società Adventure Works Cycles. Ad esempio, il titolare e il responsabile acquisti del punto vendita rappresentano i contatti più comuni per il personale addetto alle vendite di Adventure Works Cycles.

Esempi

È possibile utilizzare le query seguenti per visualizzare i dati relativi ai clienti e acquisire familiarità con le relazioni tra le tabelle correlate ai clienti.

A. Visualizzazione dei clienti individuali (privati)

Nell'esempio seguente vengono restituiti il nome e il cognome di tutti i clienti individuati come privati (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. Visualizzazione dei dati relativi agli indirizzi dei clienti privati

Nell'esempio seguente viene creato un elenco dei nomi e degli indirizzi di tutti i clienti privati.

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. Visualizzazione dei punti vendita al dettaglio o all'ingrosso

Nell'esempio seguente viene restituito il nome di tutti i clienti individuati come punti vendita (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. Visualizzazione dei contatti in base al punto vendita di appartenenza

Nell'esempio seguente vengono restituiti i nomi di tutti i punti vendita e i nomi e le rispettive qualifiche dei dipendenti del punto vendita autorizzati all'acquisto dei prodotti della società Adventure Works Cycles per conto della loro azienda.

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. Visualizzazione delle vendite in base al punto vendita

Nell'esempio seguente viene creato un elenco dei punti vendita e degli ordini di vendita a essi associati.

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. Visualizzazione dei punti vendita in base alla località

Nell'esempio seguente vengono visualizzati nome, città, provincia e paese del punto vendita.

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