Сценарий продукта
В этом разделе содержатся подробные сведения о продукции, которые представлены в образце базы данных AdventureWorks, о списке таблиц, связанных с таблицей продуктов, и демонстрационных запросах, показывающих общие связи таблицы.
Краткий обзор продукта
Как фирма-изготовитель велосипедов Adventure Works Cycles имеет следующие четыре производственных линии:
- Велосипеды, которые изготавливаются в компании Adventure Works Cycles.
- Детали велосипеда, которые являются сменными частями, например колеса, педали или тормозные механизмы.
- Велосипедная одежда, которая приобретается у поставщиков для перепродажи клиентам компании Adventure Works Cycles.
- Велосипедные аксессуары, приобретаемые у поставщиков для перепродажи клиентам компании Adventure Works Cycles.
Таблицы по продукту
В этой таблице содержится краткое описание данных, которые хранятся в таблицах, связанных с продуктом.
Schema.Table | Тип содержимого | Примечание |
---|---|---|
Список компонентов, используемых в производстве велосипедов и их узлов. |
В столбце ProductAssemblyID содержится родительский, или основной, продукт, а в столбце ComponentID — дочерний, или отдельный, продукт, который используется при сборке родительского продукта. |
|
Языки, используемые в локализованных описаниях продукта. |
Описание продукта доступно на английском, арабском, иврите, китайском (упрощенное письмо), тайском и французском языках. |
|
Список мест в Adventure Works Cycles, где продукты и части хранятся как производственные запасы. Например, краска хранится как на складе краски, так и в производственном цехе, где производится покраска рам велосипедов. |
||
Сведения о каждом продукте, проданном Adventure Works Cycles или использованном в производстве велосипедов и комплектующих компанией Adventure Works Cycles. |
В столбце FinishedGoodsFlag указывается, продан ли продукт. Непродаваемые продукты являются компонентами продаваемых продуктов. Например, велосипед может быть продан, а металл, из которого сделана рама, — нет. |
|
Самая общая классификация продуктов. Например, велосипед или аксессуар. |
||
Стоимость продуктов в течение периода времени. |
||
Полное описание продуктов на различных языках. |
Описания продукта предоставляются на арабском, английском, французском, еврейском, китайском (упрощенное письмо) и тайском языках. |
|
Уровень запасов продукции по месту расположения. См. предыдущий пример с Production.Location. |
||
Цена по прейскуранту продуктов в течение периода времени. |
||
Модели продуктов, связанные с продуктами. Например, Mountain-100 или LL Touring Frame. |
В столбце CatalogDescription хранятся дополнительные сведения о продукте в формате xml. В столбце Instructions содержатся инструкции по производству продукта в формате xml. |
|
Перекрестные ссылки между моделями продукта, его описаниями и языками, на которые переведено описание. |
||
Изображения продуктов, продаваемых компанией Adventure Works Cycles. |
Изображения хранятся в формате varbinary(max). |
|
Отзывы заказчиков об изделиях компании Adventure Works Cycles. |
||
Подкатегории категорий продукта. Например, Mountain, Road и Touring — это подкатегории категории Bike. |
Примеры
Для просмотра сведений о продуктах и ознакомления со связями между продуктами и таблицами можно использовать следующие запросы.
A. Просмотр продуктов по категориям, подкатегориям и моделям
В следующем примере перечислены все продукты по категориям, подкатегориям и моделям. Продукты, которые не относятся ни к одной из категорий, в список не включены. Чтобы включить все продукты, измените соединение ProductCategory
на полное.
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
Б. Просмотр описаний продукта по моделям
Описания продукта создаются для каждой модели продукта. Каждое описание доступно на нескольких языках. В следующем примере показывается описание каждого продукта на каждом языке.
Примечание. |
---|
Некоторые языки, возможно, не будут правильно отображаться в случае, если не были установлены дополнительные файлы языковой поддержки для языков со сложным начертанием и восточноазиатских языков. Для установки этих файлов см. документацию 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
В. Просмотр одной одноуровневой ведомости материалов для родительского продукта
В следующем примере показаны все компоненты, которые используются для создания определенного родительского продукта: 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
См. также
Основные понятия
Сценарий производства
Сценарий закупки и анализа поставщиков
Сценарий продаж и маркетинга
Другие ресурсы
Бизнес-сценарии компании Adventure Works Сycles