제조 시나리오
이 항목에서는 AdventureWorks 예제 데이터베이스에 표시되어 있는 Adventure Works Cycles 제조 정보, 제조 관련 테이블 목록 및 공통 테이블 관계를 보여 주는 예제 쿼리에 대해 설명합니다.
제조 개요
AdventureWorks 예제 데이터베이스에서 테이블은 다음과 같은 일반적인 제조 영역을 지원하는 데 사용됩니다.
제조 과정
제품 구성 정보(BOM): 다른 제품에 사용되거나 포함된 제품 나열
작업 주문: 업무 센터에서 지시한 제조 주문
위치: 골조 성형, 페인트 및 부속품 등의 주요 제조 및 재고 영역 정의
업무 센터의 제조 및 제품 조립 지침
제품 재고: 창고나 제조 영역의 실제 제품 위치 및 해당 영역에서 사용할 수 있는 수량
엔지니어링 설명서: 자전거나 자전거 구성 요소에 대한 기술 사양 및 유지 관리 설명서
제조 테이블
다음 표에서는 제조 테이블에 저장되는 데이터에 대해 간략히 설명합니다.
스키마.테이블 |
포함된 내용 유형 |
설명 |
---|---|---|
자전거 및 자전거 부속품을 제조하는 데 사용되는 모든 구성 요소 목록 |
해당 제품을 구성하는 구성 요소 및 부모 제품 간의 관계를 나타내는 제품 구성 정보(BOM) 구조는 기본적으로 재귀적 관계에 있습니다. 예를 들어 부모 제품이 자전거인 경우 바퀴 어셈블리는 첫 번째 수준의 구성 요소가 될 수 있습니다. 바퀴 어셈블리에는 반사경, 바퀴 테, 바퀴 살, 타이어 및 타이어 튜브 등의 구성 요소가 포함됩니다. ProductAssemblyID 열은 부모(또는 주요) 제품을 나타내고 ComponentID 열은 부모 어셈블리를 제조하는 데 사용된 자식(또는 개별) 부품을 나타냅니다. BOM_Level 열은 ProductAssemblyID에 대한 ComponentID의 수준을 나타냅니다. 위 예에서 바퀴 어셈블리의 BOM_Level은 1이고 바퀴 어셈블리 구성 요소의 BOM_Level은 2가 될 수 있습니다. |
|
엔지니어링 사양 및 기타 기술 설명서 |
DocumentSummary 열에는 varchar(max) 데이터 형식이 사용됩니다. Document 열에는 varbinary(max) 데이터 형식이 사용됩니다. |
|
자전거 제조 도면 |
이 도면은 ProductModel 테이블에 들어 있는 제조 지침에서 렌더링됩니다. 이 열에는 xml 데이터 형식이 사용됩니다. |
|
제품 및 부품이 제조되거나 재고로 저장되는 Adventure Works Cycles 내의 재고 및 제조 영역 목록. 예를 들어 페인트는 창고의 페인트 저장소와 자전거 골조를 칠하는 제조 업무 센터인 페인트 샵에 보관됩니다. |
|
|
Adventure Works Cycles에서 판매하였거나 Adventure Works Cycles 자전거 및 자전거 구성 요소를 제조하는 데 사용된 각 제품에 대한 정보 |
FinishedGoodsFlag 열은 제품의 판매 여부를 나타냅니다. 판매되지 않는 제품은 판매되는 제품의 구성 요소가 됩니다. 예를 들어 자전거는 판매되지만 자전거 골조를 만드는 데 사용되는 금속판은 판매되지 않습니다. |
|
제품의 위치별로 나타낸 제품의 재고 수준. 앞에 나온 Production.Location을 참조하십시오. |
|
|
제품과 연관된 제품 모델. 예를 들어 Mountain-100 또는 LL Touring Frame 등입니다. |
CatalogDescription 열에는 xml 데이터 형식의 추가 제품 정보가 포함되어 있습니다. Instructions 열에는 xml 데이터 형식의 제품 제조 지침이 포함되어 있습니다. |
|
제조 과정에서 자전거나 자전거 부품이 거부되는 일반적인 이유를 나타내는 목록. 예를 들어 'Paint failed' 폐기 이유는 페인트 업무 센터에서 페인트가 올바르게 건조되지 않은 자전거 골조를 거부하는 데 사용됩니다. |
WorkOrderRouting 테이블은 제품별로 폐기된 수량과 폐기 이유를 추적하는 데 사용됩니다. 문제의 심각도에 따라 제품을 다음 업무 센터로 이동하기 전에 수리하거나 교체해야 합니다. |
|
현재와 향후 판매량을 충족하기 위해 제조해야 하는 제품 및 수량을 정의합니다. |
|
|
각 작업 주문의 세부 정보. 여기에는 제조나 조립 과정에서 제품이 각 업무 센터로 전달되는 순서가 포함됩니다. 예를 들어 골조 성형 업무 센터에서 제조되는 자전거 핸들은 추가 작업을 위해 골조 용접 업무 센터로 전달된 다음 부속품 조립 업무 센터로 이동하여 자전거 골조에 부착됩니다. |
|
예
다음 쿼리를 사용하여 제조 및 제품 데이터를 확인할 수 있으며 제조 테이블 관계를 살펴볼 수 있습니다.
1. 부모 제품의 다중 수준 제품 구성 정보(BOM) 보기
다음 예에서는 부모 제품 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
2. 제품 재고 보기
다음 예에서는 각 제품에 사용할 수 있는 재고 수량이 위치별로 나열됩니다. 제품은 여러 위치에 있을 수 있습니다.
USE AdventureWorks;
GO
SELECT P.Name AS Product, L.Name AS [Inventory Location],
SUM(PI.Quantity)AS [Qty Available]
FROM Production.Product AS P
JOIN Production.ProductInventory AS PI ON P.ProductID = PI.ProductID
JOIN Production.Location AS L ON PI.LocationID = L.LocationID
GROUP BY P.Name, L.Name
ORDER BY P.Name ;
GO
3. 제품별 작업 주문 보기
다음 예에서는 모든 작업 주문이 Mountain Bike(1), Road Bike(2) 및 Touring Bike(3) 하위 범주의 제품별로 나열됩니다.
USE AdventureWorks;
GO
SELECT WorkOrderID, P.Name AS Product, OrderQty, DueDate
FROM Production.WorkOrder W
JOIN Production.Product P ON W.ProductID = P.ProductID
WHERE P.ProductSubcategoryID IN (1, 2, 3)
ORDER BY P.Name, DueDate ;
GO