Partager via


Scénario Produits

Cette rubrique fournit des détails sur les informations concernant les produits qui sont représentées dans l'exemple de base de données AdventureWorks, une liste de tables liées aux produits et des exemples de requêtes qui illustrent les relations classiques entre les tables.

Présentation du produit

En tant que fabricant de bicyclettes, la société Adventure Works Cycles offre les quatre gammes de produits suivantes :

  • Les bicyclettes fabriquées dans la société Adventure Works Cycles.

  • Les composants de bicyclettes qui sont des pièces de rechange, telles que roues, pédales ou freins.

  • Les bicyclettes achetées par les vendeurs pour être revendues aux clients de la société Adventure Works Cycles.

  • Les bicyclettes achetées par les vendeurs pour être revendues aux clients de la société Adventure Works Cycles.

Tables de produit

Le tableau suivant contient une brève description des données qui sont stockées dans les tables liées aux produits.

Schéma.Table

Contient ce type de contenu

Commentaire

Production.BillOfMaterials

Liste de tous les composants utilisés pour fabriquer les bicyclettes et leurs sous-assemblages.

La colonne ProductAssemblyID représente le produit parent, ou principal, et la colonne ComponentID représente les pièces enfants, ou individuelles, utilisées pour créer l'unité parente.

Production.Culture

Langues utilisées dans les descriptions de produit traduites.

Les descriptions de produit sont disponibles en arable, anglais, français, hébreu, chinois simplifié et Thaï.

Production.Location

Liste des emplacements au sein de la société Adventure Works Cycles dans lesquels les produits et les pièces sont stockés en tant qu'inventaire. Par exemple, la peinture est stockée à la fois dans l'emplacement Paint Storage (Stockage Peinture) de l'entrepôt et dans l'atelier de peinture du poste de charge de fabrication dans lequel les cadres des bicyclettes sont peints.

 

Production.Product

Informations concernant chaque produit vendu par la société Adventure Works Cycles ou utilisé pour fabriquer des bicyclettes et des composants de bicyclettes Adventure Works Cycles.

La colonne FinishedGoodsFlag indique les produits vendus. Les produits non vendus sont des composants d'un produit vendu. Par exemple, si une bicyclette est vendue, en revanche le film métallique utilisé pour la fabrication du cadre de la bicyclette ne l'est pas.

Production.ProductCategory

Classification la plus générale des produits. Par exemple, bicyclette ou accessoire.

 

Production.ProductCostHistory

Coût des produits dans le temps

 

Production.ProductDescription

Description complète des produits en plusieurs langues

Les descriptions de produit sont offertes en arable, anglais, français, hébreu, chinois simplifié et Thaï.

Production.ProductInventory

Niveau de stock des produits en fonction de leur emplacement. Reportez-vous plus haut à la section Production.Location.

 

Production.ProductListPriceHistory

Prix courant des produits dans le temps

 

Production.ProductModel

Modèles de produit associés aux produits. Par exemple, Cadre VTT-100 ou LL Tourisme.

La colonne CatalogDescription fournit des informations de produits supplémentaires en utilisant le type de données xml. La colonne Instructions fournit des instructions pour la fabrication des produits en utilisant le type de données xml.

ProductModelProductDescriptionCulture

Références croisées entre les modèles de produit, les descriptions de produit et les langues dans lesquelles la description a été traduite.

 

Production.ProductPhoto

Images des produits vendus par la société Adventure Works Cycles.

Les images sont stockées par le biais du type de données varbinary(max).

Production.ProductReview

Consultation clients des produits de la société Adventure Works Cycles

 

Production.ProductSubcategory

Sous-catégories des catégories de produits. Par exemple, Mountain (VTT), Road (Route) et Touring (Randonnée) sont des sous-catégories de la catégorie générique Bike (Bicyclette).

 

Exemple

Vous pouvez utiliser les requêtes suivantes pour consulter les données de produit et vous familiariser avec les relations de tables de produits.

A. Consultation des produits par catégorie, sous-catégorie et modèle

L'exemple suivant affiche la liste de tous les produits par catégorie, sous-catégorie et modèle. Les produits non classés ne figurent pas dans la liste. Pour afficher tous les produits, modifiez la jointure sur ProductCategory par une jointure complète.

USE AdventureWorks;
GO
SELECT PC.Name AS Category, PSC.Name AS Subcategory,
    PM.Name AS Model, P.Name AS Product
FROM Production.Product AS P
    FULL JOIN Production.ProductModel AS PM ON PM.ProductModelID = P.ProductModelID
    FULL JOIN Production.ProductSubcategory AS PSC ON PSC.ProductSubcategoryID = P.ProductSubcategoryID
    JOIN Production.ProductCategory AS PC ON PC.ProductCategoryID = PSC.ProductCategoryID
ORDER BY PC.Name, PSC.Name ;
GO

B. Consultation des descriptions de produit par modèle de produit

Une description de produit est créée pour chaque modèle de produit. Chaque description est disponible en plusieurs langues. L'exemple suivant montre toutes les descriptions de produit dans chaque langue.

[!REMARQUE]

Certaines langues ne s'affichent pas correctement si les fichiers supplémentaires de prise en charge linguistique des scripts complexes et des langues d'Asie orientale ne sont pas installés. Pour installer ces fichiers, consultez les Options régionales et linguistiques dans la documentation Windows.

USE AdventureWorks;
GO
SELECT PM.ProductModelID, PM.Name AS [Product Model], Description, PL.CultureID, CL.Name AS Language
FROM Production.ProductModel AS PM 
    JOIN Production.ProductModelProductDescriptionCulture AS PL 
        ON PM.ProductModelID = PL.ProductModelID
    JOIN Production.Culture AS CL ON CL.CultureID = PL.CultureID
    JOIN Production.ProductDescription AS PD 
        ON PD.ProductDescriptionID = PL.ProductDescriptionID
ORDER BY PM.ProductModelID ;
GO

C. Consultation d'une liste de nomenclatures d'un seul niveau pour un produit parent

L'exemple suivant affiche tous les composants qui sont utilisés pour créer un produit parent spécifique : ProductAssemblyID.

USE AdventureWorks;
GO
WITH Parts(AssemblyID, ComponentID, PerAssemblyQty, EndDate, ComponentLevel) AS
(
    SELECT b.ProductAssemblyID, b.ComponentID, b.PerAssemblyQty,
        b.EndDate, 0 AS ComponentLevel
    FROM Production.BillOfMaterials AS b
    WHERE b.ProductAssemblyID = 800
          AND b.EndDate IS NULL
    UNION ALL
    SELECT bom.ProductAssemblyID, bom.ComponentID, p.PerAssemblyQty,
        bom.EndDate, ComponentLevel + 1
    FROM Production.BillOfMaterials AS bom 
        INNER JOIN Parts AS p
        ON bom.ProductAssemblyID = p.ComponentID
        AND bom.EndDate IS NULL
)
SELECT AssemblyID, ComponentID, Name, PerAssemblyQty, EndDate,
        ComponentLevel 
FROM Parts AS p
    INNER JOIN Production.Product AS pr
    ON p.ComponentID = pr.ProductID
ORDER BY ComponentLevel, AssemblyID, ComponentID;
GO