One of the key features of SmartPlant Foundation is the use of domains. Within the authoring environment, domains allow data to be segregated into separate areas within the same database, so that different authoring disciplines or functionality can control their relevant work spaces.
The following domain groups and their corresponding table prefix values are supported for a standard database installation:
Domain group |
Description |
SPFTablePrefix |
---|---|---|
DATA |
This domain stores authoring data |
DATA |
SCHEMA |
This domain stores both schema and administration data |
SCHEMA |
PUB |
This domain stores published data |
PUB |
DOC |
This domain stores document data |
DOC |
WF |
This domain stores workflow related data |
WF |
VTL |
This domain stores Data Validator related data |
VTL |
The following additional domain group and corresponding table is supported when the Consolidated Data Warehouse (CDW) functionality is configured:
Domain group |
Description |
SPFTablePrefix |
---|---|---|
CDW |
This domain stores consolidated data |
CDW |
The architecture of the SmartPlant Foundation product ensures that the model, code, and database tables are all designed to support data segregation through domains.
Domains can be used in the data warehouse to segregate the data that is published by the various tools. Objects can exist in multiple domains, each containing property values and relationships that are completely controlled by the tool publishing the data.
The following domain diagram displays the class definition SPFFolder, which is related to the component schema SPFComponent.
The component schema SPFComponent is related to the SPF domain, which is subsequently related to the domain group DATA. The SPF domain forms part of the unique key in the database so that an identical object can co-exist in different domains.
The component schema of the class of object controls how an object is assigned to a domain. A class definition is related to a component schema, which in turn is related to a domain, and the domain is related to a domain group.
The domain group is used to control the set of tables an object is persisted in, whereas the domain is a key field within the tables that further segregates the data from objects in different domains.