Overview of Repository Database Tables

The repository consists of a set of relational database tables designed to store object like structures:

  • objects master

  • instances of objects

along with their meta-data:

  • classes

  • attributes

  • supported links

The repository is designed to store any form of objects such as user interface objects or business logic objects. In theory the repository might also be used to store application data.

Together with authorization the repository probably presents the most complex data structure in the SmartDB and is also supported by a large set of API’s and tools provided by us.

Basic structures

Table name

Description

SmartModule

Definition of product modules. Each object master in the repository is stored in a module as a kind of a virtual folder / directory

SmartProduct

Definition of product. Products group modules.

Repository meta data

Table name

Description

SmartAttribute

Definition of attributes, data types and maintenance type

SmartAttributeGroup

Grouping of attributes, just for filtering in attribute maintenance

SmartClassType

Logical grouping of object types

SmartLinkType

Definition of possible links between objects

SmartObjectType

Definition of available object types and their inheritance. Objects types define supported attributes (through the attribute value table), links and instances

SmartSupportedInstanceObjectType

List of object types that can be added as instances to another object type (inherited for child types). If a customer type has no supported instance object types defined, objects of any type can be added as instances

SmartSupportedLink

List of supported links per object type

Objects and instances

Table name

Description

SmartAttributeValue

Three purposes: List of supported attributes per object type (meta data), attribute values for object master and object instances.

SmartCustomization

Definition of customization

SmartCustomizationResult

Definition of customization variants

SmartCustomizationType

Definition of customization types

SmartEntityFieldMapping

Mapping of repository objects masters (e.g. Lookups, Editor components) to business entity fields, used for generators and wizards

SmartEntityTableMapping

Mapping of repository object masters (e.g. maintenance screens) to entity tables. Not used at time of writing, may be used to provide automated links between screens or lookup dialogs.

SmartLink

Links defined in a container master between instances or the object master.

SmartModifiedState

References objects that have been modified and need to be dumped to SCM.

SmartObjectInstance

Definition of objects instances in an object master (container)

SmartObjectMaster

Definition of object masters (containers and simple objects)

SmartPage

Definition of pages in a tab folder used in a container master.

Generic tables

Table name

Description

SmartGenericTable

Contains records maintained in generic (repository defined) tables.