Database structure - SmartPlant Foundation - IM Update 48 - Help - Hexagon

SmartPlant Foundation Help

Language
English
Product
SmartPlant Foundation
Search by Category
Help
SmartPlant Foundation / SDx Version
10
SmartPlant Markup Plus Version
10.0 (2019)
Smart Review Version
2020 (15.0)

SmartPlant Foundation database uses a normalized data structure, where the database stores both the data itself and the model that is used to describe the data.

  • SmartPlant Foundation supports both Microsoft SQL Server and Oracle databases

  • All data is stored as it is modeled using class, interface, property, and relationship definitions

  • Relationships are considered first-class objects and they can have Interfaces and properties (and even other relationships) just like other objects

  • Larger property values (above 4000 characters) can be stored as we never really list what domain groups are delivered and show what domains/tables they are associated with (BLOB) in a dedicated database table

  • Virtually all interaction from the application layer to the database is done using the in-built Object Relational Management (ORM), which generates queries dynamically. Very little is done directly using hard-coded SQL

  • The database can consist of one or more domain groups, over which the data is split, such as schema, documents, and published data

Each domain group consists of five separate physical tables:

  • <prefix>OBJ - Table that stores the object

  • <prefix>OBJIF - Table that stores interfaces

  • <prefix>OBJPR - Table for properties

  • <prefix>OBJPRDETAIL - Table for property details, such as property values stored in a Binary Large Object (BLOB)

  • <prefix>REL - Table for relationships

The primary key index on the DATOBJ table is:

  • OBID

The secondary key indexes are:

  • OBJUID

  • DomainUID

  • Config

  • CreationDate

  • TerminationDate

These indexes all support the objects being created and terminated at different times and existing in different domains and configurations. Both the interface and property table also support storing historical data.