Scenario relativo alla produzione
In questo argomento vengono fornite informazioni dettagliate sui dati relativi alle attività produttive della società Adventure Works Cycles rappresentati nel database di esempio AdventureWorks, un elenco di tabelle correlate alla produzione ed esempi di query che illustrano relazioni comuni tra le tabelle.
Panoramica sulla produzione
Nel database di esempio AdventureWorks sono incluse tabelle che offrono supporto per le aree tipiche delle attività di produzione seguenti:
- Processi produttivi:
- Distinta dei materiali, ovvero un elenco di prodotti utilizzati o contenuti in altri prodotti.
- Commesse, ovvero ordini di produzione organizzati per centro di lavorazione.
- Ubicazioni, ovvero le definizioni delle principali aree di produzione e inventario, ad esempio la lavorazione dei telai, la verniciatura, l'assemblaggio dei componenti e così via.
- Istruzioni sulla lavorazione e l'assemblaggio dei prodotti organizzate per centro di produzione.
- Inventario dei prodotti, ovvero l'ubicazione fisica di un prodotto in un magazzino o in un'area di produzione e la relativa quantità disponibile.
- Documentazione tecnica, ovvero le specifiche tecniche e la documentazione relative alla manutenzione di biciclette e rispettivi componenti.
Tabelle correlate alla produzione
Nella tabella seguente è inclusa una breve descrizione dei dati archiviati nelle tabelle correlate alla produzione.
Schema.Tabella | Tipo di contenuti | Commenti |
---|---|---|
Elenco di tutti i componenti utilizzati per produrre le biciclette e i rispettivi componenti di assemblaggio. |
Esiste una relazione ricorsiva intrinseca nella struttura della distinta dei materiali che definisce la relazione tra un prodotto principale e le parti che lo compongono. Ad esempio, se il prodotto principale è la bicicletta, il componente di primo livello potrebbe essere la ruota che a sua volta è associata a componenti di livello inferiore, quali catarifrangenti, cerchi, raggi, pneumatici e camere d'aria. La colonna ProductAssemblyID rappresenta il prodotto principale o di riferimento, mentre ComponentID rappresenta le singole parti utilizzate per realizzare il componente di livello superiore. Nella colonna BOM_Level è indicato il livello dell'elemento ComponentID in relazione al prodotto definito da ProductAssemblyID. Nell'esempio precedente, al componente ruota potrebbe essere assegnato un valore BOM_Level pari a 1, alle parti di cui è costituita la ruota un valore BOM_Level pari a 2 e così via. |
|
Specifiche e altra documentazione di tipo tecnico. |
Per la colonna DocumentSummary viene utilizzato il tipo di dati varchar(max). Per la colonna Document viene utilizzato il tipo di dati varbinary(max). |
|
Illustrazioni relative alla produzione delle biciclette. |
Le illustrazioni vengono visualizzate nelle istruzioni di produzione incluse nella tabella ProductModel. Per questa colonna viene utilizzato il tipo di dati xml. |
|
Elenco di aree di stoccaggio e produzione all'interno della società Adventure Works Cycles, nelle quali prodotti e componenti sono immagazzinati a fini di inventario o lavorazione. Ad esempio, la vernice è presente nell'ubicazione Paint Storage nel magazzino e nel centro di produzione Paint Shop dove avviene la verniciatura dei telai delle biciclette. |
|
|
Informazioni relative a tutti i prodotti venduti da Adventure Works Cycles o utilizzati per produrre le biciclette e i rispettivi componenti di Adventure Works Cycles. |
Nella colonna FinishedGoodsFlag viene indicato se un prodotto è in vendita. I prodotti non in vendita sono componenti di prodotti in vendita. Ad esempio, la bicicletta è il prodotto in vendita, mentre il foglio di metallo utilizzato per realizzarne il telaio non lo è. |
|
Il livello di inventario dei prodotti in base alla rispettiva ubicazione. Vedere la colonna Production.Location citata in precedenza. |
|
|
Modelli diversi di un prodotto. Ad esempio, Mountain-100 o LL Touring Frame. |
Nella colonna CatalogDescription sono incluse ulteriori informazioni sui prodotti archiviate come tipi di dati xml. Nella colonna Instructions sono incluse istruzioni sulla produzione archiviate come tipi di dati xml. |
|
Elenco di motivi comuni per i quali le biciclette e i rispettivi componenti vengono rifiutati durante il processo produttivo. Ad esempio, il motivo "Paint failed" relativo alle graffiature viene utilizzato nell'apposito centro di produzione per rifiutare telai la cui verniciatura non risulta accurata. |
Nella tabella WorkOrderRouting si tiene traccia della quantità di graffiature e delle relative cause in base al prodotto. A seconda della gravità del problema, è necessario procedere alla riparazione o alla sostituzione per consentire il passaggio del prodotto al centro di produzione successivo. |
|
Definisce i prodotti e la relativa quantità da produrre per soddisfare la domanda attuale e quella stimata. |
|
|
Informazioni dettagliate relative a ogni commessa, fra cui la sequenza dei centri di produzione che definisce il processo di lavorazione o assemblaggio a cui dovrà essere sottoposto il prodotto. Ad esempio, i manubri delle biciclette vengono realizzati nel centro di produzione Frame Forming. In seguito, vengono passati al centro di produzione addetto alla saldatura, Frame Welding e infine a quello denominato Subassembly dove vengono applicati al telaio della bicicletta. |
|
Esempi
È possibile utilizzare le query seguenti per visualizzare i dati relativi alle attività di produzione e ai prodotti e acquisire familiarità con le relazioni tra le tabelle correlate alla produzione.
A. Visualizzazione di un elenco di distinte dei materiali a più livelli relativo a un prodotto di riferimento principale
Nell'esempio seguente vengono visualizzati tutti i componenti utilizzati per realizzare uno specifico prodotto di riferimento principale, ovvero 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
B. Visualizzazione dell'inventario dei prodotti
Nell'esempio seguente viene restituita la quantità disponibile di ogni prodotto in base alla rispettiva ubicazione di inventario. È possibile cercare i prodotti presenti in più ubicazioni.
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
C. Visualizzazione delle commesse in base al prodotto
Nell'esempio seguente vengono elencate tutte le commesse relative ai prodotti inclusi nelle sottocategorie Mountain Bike (1
), Road Bike (2
) e 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
Vedere anche
Concetti
Scenario relativo ai prodotti
Scenario relativo ad acquisti e fornitori
Scenario relativo a vendite e marketing
Altre risorse
Scenari di utilizzo di Adventure Works Cycles