제품 시나리오
이 항목에서는 AdventureWorks 예제 데이터베이스에 표시되어 있는 제품 정보, 제품 관련 테이블 목록 및 공통 테이블 관계를 보여 주는 예제 쿼리에 대해 설명합니다.
제품 개요
자전거 제조 회사인 Adventure Works Cycles에는 다음과 같은 네 개의 제품군이 있습니다.
- Adventure Works Cycles에서 제조하는 자전거
- 바퀴, 페달 또는 브레이크 어셈블리 등 교체되는 부품인 자전거 구성 요소
- 공급업체를 통해 구매하여 Adventure Works Cycles 고객에게 판매하는 자전거 의류
- 공급업체를 통해 구매하여 Adventure Works Cycles 고객에게 판매하는 자전거 액세서리
제품 테이블
다음 표에서는 제품 관련 테이블에 저장되는 데이터에 대해 간략히 설명합니다.
스키마.테이블 | 포함된 내용 유형 | 설명 |
---|---|---|
자전거 및 자전거 부속품을 제조하는 데 사용되는 모든 구성 요소 목록 |
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 범주의 하위 범주입니다. |
|
예
다음 쿼리를 사용하여 제품 데이터를 확인할 수 있으며 제품 테이블 관계를 살펴볼 수 있습니다.
1. 범주, 하위 범주 및 모델별로 제품 보기
다음 예에서는 모든 제품을 범주, 하위 범주 및 모델별로 나열합니다. 범주로 분류되지 않은 제품은 포함되지 않습니다. 모든 제품을 포함하려면 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
2. 제품 모델별로 제품 설명 보기
제품 설명은 각 제품 모델별로 작성되어 있으며 여러 가지 언어로 제공됩니다. 다음 예에서는 언어별로 제품 설명을 보여 줍니다.
[!참고] 복합 스크립트 및 동아시아 언어에 대한 부수적 언어 지원 파일을 설치하지 않은 경우에는 일부 언어가 제대로 표시되지 않을 수 있습니다. 이러한 파일을 설치하려면 국가 및 언어 옵션에 대한 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
3. 부모 제품에 대한 단일 수준 제품 구성 정보(BOM) 목록 보기
다음 예에서는 부모 제품 ProductAssemblyID
를 만드는 데 사용된 모든 구성 요소를 표시합니다. 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 Cycles 비즈니스 시나리오