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 |
---|---|---|
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. |
|
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. |
|
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. |
|
|
Détails du bon de commande, à savoir produits commandés, quantité et prix unitaire. |
|
|
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. |
|
Table de consultation utilisée pour conserver les modes d'expédition standard des produits. |
La colonne ShipMethodID est incluse dans la table PurchaseOrderHeader. |
|
Détails concernant les fournisseurs, tels que le nom et le numéro de compte du fournisseur |
|
|
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. |
|
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