Core objects (Entities)¶
These entities are required as the starting point for the mass balance analysis (recipe).

This diagram illustrates a portion of the database schema for the Manufacturing Data Warehouse. It defines how products are structured and how they are linked to production processes. In the context of industrial standards such as ISA‑95, the relationship between **MaterialDefinition**, **BillOfMaterial**, and **BillOfMaterialItem** represents the static structure of a product. Together, these entities form what is known as the "Full BOM" or Material Definition Model. At the product‑definition level, used primarily for purchasing, inventory management, and long‑term planning, the system provides a "flat" or hierarchical representation of a product that is independent of time or specific production equipment. In ISA‑95, this representation is defined by the Material Definition Model.
-
"Assembly" Relationship: A MaterialDefinition (e.g., Cake) has a Composition relationship with other MaterialDefinitions (e.g., Flour, Eggs, Sugar).
-
Role of the Entities:
**BillOfMaterial**: Serves as the link or “container” for a specific version of a product structure. It functions as the header for a product’s recipe or assembly instructions and defines how a material must be built.**BillOfMaterialItem**: Represents the individual line items within a BOM. Each record specifies a component and indicates the required quantity of another MaterialDefinition.**MaterialDefinition**: Contains the master data for all materials, including both finished goods and raw materials or components consumed during production.**OperationExecution**: Records actual production activity. It captures when, where, and how much material was produced during a specific work session.
Key relationships¶
The schema uses 1:N (one to many) relationships, indicated by the key (one) and infinity (many) symbols.
-
Product-recipe relationships:
**MaterialDefinition-BillOfMaterial**: One material can have multiple BOMs (e.g., different versions or alternative recipes). They are linked through MaterialDefinitionId.**BillOfMaterial-BillOfMaterialItem**: One BOM header contains multiple component items.**MaterialDefinition-BillOfMaterialItem**: Each BOM item references a MaterialDefinitionId, ensuring that every component is itself a defined material in the system.
-
Relationships with Production Execution Entities
**OperationExecution-MaterialDefinition**: Identifies which specific product is being manufactured in a given operation.**OperationExecution-BillOfMaterial**: Identifies which specific recipe version is used for the production run.
Defining primary products vs. co-products in the BOM¶
In a manufacturing environment, it is essential to distinguish the main intended product from the additional outputs generated by the same process. The following explanation describes how the Primary Product and Co-products are represented within the Bill of Materials (BOM).
- Primary product (MaterialDefinition Link) The Primary Product - the main output of the process - is directly linked to the
BillOfMaterialheader.- Relationship: A direct foreign key relationship exists between
BillOfMaterialandMaterialDefinition. - Logic: This link identifies the specific material that the recipe (BOM) is intended to produce. The
MaterialDefinitionIdat the header level represents the parent entity - such as the finished cake, the chemical compound, or the assembled engine.
- Relationship: A direct foreign key relationship exists between
- Co-products and secondary outputs (BOM Items) Although
BillOfMaterialItemtypically represents inputs (raw materials), it can also be used to define co-products or secondary outputs produced by the process.- Identification: To distinguish these from standard raw material components, the items representing co-products are marked in the Description field with the value "Output".
- Mass balance role: For mass balance calculations, these output items are treated as part of the expected results of the production process.
Summary table¶
| Role | Entity | Linkage | Identification |
|---|---|---|---|
| Primary Product | BillOfMaterial | Direct link to MaterialDefinition | Header of the BOM |
| Co‑product | BillOfMaterialItem | Linked to a MaterialDefinition | Description = "Output" |
| Input Material | BillOfMaterialItem | Linked to a MaterialDefinition | Standard Description |
This structure enables the system to clearly identify the primary objective of the operation while also tracking secondary materials that hold value and must be included in the final mass balance.