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. |