Share via


Scénario Achat et Fournisseur

Dans la société Adventure Works Cycles, le service des achats achète des matières premières et des pièces utilisées dans la fabrication des bicyclettes de Adventure Works Cycles. Adventure Works Cycles achète également des produits pour la revente, tels que des vêtements pour cyclistes ou des accessoires pour bicyclettes comme des gourdes à eau ou des pompes. Les informations sur ces produits et sur les fournisseurs auprès desquels ils sont obtenus sont stockées dans l'exemple de base de données AdventureWorks.

La présente rubrique fournit des informations détaillées sur les fournisseurs représentés dans l'exemple de base de données, un diagramme de schéma des principales tables liées aux fournisseurs et des exemples de requêtes qui illustrent les relations entre les tables.

Tables Fournisseurs et Achat

Le tableau suivant contient une brève description des données qui sont stockées dans ces tables.

Schéma.Table Contient ce type de contenu Commentaires

Person.Address

Informations d'adresse de tous les clients.

Ceux-ci peuvent avoir plusieurs adresses. Par exemple, un client peut avoir une adresse de facturation et une autre adresse pour la livraison.

La table associative VendorAddress associe les fournisseurs à leurs adresses.

La table Address contient également les informations d'adresse des employés et clients de la société Adventure Works Cycles.

Person.Contact

Noms des employés fournisseurs auxquels les acheteurs de la société Adventure Works Cycles commandent les produits.

Un fournisseur peuvent avoir plusieurs contacts. Par exemple, un vendeur et un directeur des ventes. Pour l'acheteur de la société Adventure Works Cycles, le vendeur peut être son contact client principal et le directeur des ventes, son deuxième contact.

La table associative VendorContact associe les contacts aux fournisseurs.

La colonne AdditionalContactInfo contient des données spécifiques au contact, par exemple numéros de téléphone supplémentaires (téléphone mobile, télécopieur, etc.). Cette colonne utilise le type de données xml. Pour plus d'informations, consultez À propos de la colonne xml Contact.AdditionalContactInfo.

Production.ProductVendor

Cette table associe les fournisseurs aux produits qu'ils vendent.

Un produit peut être vendu par plusieurs fournisseurs, de même qu'un fournisseur peut vendre plusieurs produits.

 

Purchasing.PurchaseOrderDetail

Détails du bon de commande, à savoir produits commandés, quantité et prix unitaire.

 

Purchasing.PurchaseOrderHeader

Informations récapitulatives du bon de commande, à savoir total échu, date de la commande et statut de la commande.

La réunion des tables PurchaseOrderHeader et PurchaseOrderDetail crée une relation maître/détail.

Purchasing.ShipMethod

Table de consultation utilisée pour conserver les modes d'expédition standard des produits.

La colonne ShipMethodID est incluse dans la table PurchaseOrderHeader.

Purchasing.Vendor

Détails concernant les fournisseurs, tels que le nom et le numéro de compte du fournisseur

 

Purchasing.VendorAddress

Relie les clients aux informations d'adresse dans la table Address.

Les adresses sont classées par type (facturation, domicile, livraison, etc.,). La colonne AddressTypeID correspond à la table AddressType.

Purchasing.VendorContact

Informations d'adresse de tous les clients.

Ceux-ci peuvent avoir plusieurs adresses. Par exemple, un client peut avoir une adresse de facturation et une autre adresse pour la livraison.

Cette table est associative. Reportez-vous aux tables Contact et Vendor.

Exemple

Vous pouvez utiliser les requêtes suivantes pour consulter les données d'achat et de fournisseurs et vous familiariser avec les relations des tables liées aux achats et aux fournisseurs.

A. Consultation des fournisseurs par emplacement

L'exemple suivant affiche la liste des fournisseurs et leurs adresses.

USE AdventureWorks;
GO
SELECT V.VendorID, V.Name AS Vendor, A.AddressLine1, A.AddressLine2, A.City, SP.Name AS State, CR.Name AS Country
FROM Purchasing.Vendor AS V 
    JOIN Purchasing.VendorAddress AS VA ON VA.VendorID = V.VendorID
    JOIN Person.Address AS A on A.AddressID = VA.AddressID
    JOIN Person.StateProvince AS SP on SP.StateProvinceID =         A.StateProvinceID
    JOIN Person.CountryRegion AS CR ON CR.CountryRegionCode = SP.CountryRegionCode
GROUP BY V.VendorID, V.Name, A.AddressLine1, A.AddressLine2, A.City, SP.Name, CR.Name
ORDER BY V.VendorID;
GO

B. Consultation des produits vendus par les fournisseurs

L'exemple suivant affiche la liste des produits que les fournisseurs vendent à la société Adventure Works Cycles.

USE AdventureWorks;
GO
SELECT P.ProductNumber, P.Name AS Product, V.Name AS Vendor, PV.LastReceiptCost
FROM Production.Product AS P
    JOIN Purchasing.ProductVendor AS PV ON P.ProductID = PV.ProductID
    JOIN Purchasing.Vendor AS V ON V.VendorID = PV.VendorID
ORDER BY P.Name ;
GO

C. Consultation des contacts fournisseurs par fournisseur

L'exemple suivant affiche la liste des contacts fournisseurs. Les contacts fournisseurs sont des employés du fournisseur avec lesquels les employés du service achats de la société Adventure Works Cycles communiquent pour commander des pièces et des produits.

GO
SELECT V.Name as Vendor, C.FirstName, C.LastName, CT.Name AS Title 
FROM Person.Contact AS C 
    JOIN Purchasing.VendorContact VC ON C.ContactID = VC.ContactID
    JOIN Person.ContactType CT ON CT.ContactTypeID = VC.ContactTypeID
    JOIN Purchasing.Vendor V ON V.VendorID = VC.VendorID
ORDER BY V.Name;
GO

D. Consultation des achats par fournisseur

L'exemple suivant affiche les fournisseurs et leurs bons de commande associés.

USE AdventureWorks;
GO
SELECT V.Name AS Vendor, SUM(PH.TotalDue)AS [Total Purchase],
    AVG(PH.TotalDue)AS [Average Purchase], MIN(PH.TotalDue) 
    AS [Minimum Purchase], MAX(PH.TotalDue)AS [Maximum Purchase] 
FROM Purchasing.Vendor AS V
    JOIN Purchasing.PurchaseOrderHeader AS PH ON V.VendorID = PH.VendorID
GROUP BY V.Name
ORDER BY V.Name;
GO

Voir aussi

Concepts

Scénario Fabrication
Scénario Produits
Scénario Vente et marketing

Autres ressources

Cycles Adventures Works - Scénarios d'entreprise

Aide et Informations

Assistance sur SQL Server 2005