HASH(0x2390620)Table of ContentsEntitiesAttributeGroupAttributeKeyTargetObjectRelationshipsAttributeKey HasValueFor TargetObject (many-to-many)AttributeKey IsInGroup AttributeGroup (many-to-many)Join Table

Entities

AttributeGroup

A group is a named set of attribute keys. An attribute key can belong to many groups or none at all.

Relationships for AttributeGroupAttributeKey IsInGroup AttributeGroup (many-to-many)Relations for AttributeGroupAttributeGroupFieldTypeDescriptionidname-stringUnique identifier for this AttributeGroup.Index idx0 (unique)Primary index for AttributeGroup.id

AttributeKey

An attribute key describes named values attached to a particular type of object. Each instance of this entity contains the attribute's description and its name. An attribute key name must consist of letters, numbers, periods, underscores, and hyphens.

Relationships for AttributeKeyAttributeKey HasValueFor TargetObject (many-to-many)AttributeKey IsInGroup AttributeGroup (many-to-many)Relations for AttributeKeyAttributeKeyFieldTypeDescriptionidname-stringUnique identifier for this AttributeKey.data-typename-stringERDB data type for the attribute. This serves as documentation only, but that may change at some future point.descriptiontextText describing the attribute. This should explain what the attribute means and what kinds of values are appropriate.Index idx0 (unique)Primary index for AttributeKey.id

TargetObject

An object represents a keyed thing to which an attribute can be assigned. In order to improve performance, this table has no data in it. It is simply required by the semantics of the database.

Relationships for TargetObjectAttributeKey HasValueFor TargetObject (many-to-many)Relations for TargetObjectTargetObjectFieldTypeDescriptionidstringUnique identifier for this TargetObject.Index idx0 (unique)Primary index for TargetObject.id

Relationships

AttributeKey HasValueFor TargetObjectEach AttributeKey relates to multiple TargetObjects Each TargetObject relates to multiple AttributeKeys

This relationship connects an attribute key to its objects. It contains the attribute values, and is therefore the primary data repository for the database.

HasValueForFieldTypeDescriptionfrom-linkname-stringid of the source AttributeKey.to-linkstringid of the target TargetObject.subkeystringSome attribute keys are split into two parts. The real key is controlled and must correspond to a key in the AttributeKey table. The second part of the key resides in this field. When the attribute value is presented to the user, the two parts of the key are joined together around the splitter value.valuetextThis is the actual attribute value. Note that a single key/object pair may in fact have many values, and therefore many entries in this table.Index idx0This index allows searching for an attribute value by its prefix.valueIndex idx1This index allows searching for values within keys.from-link, valueIndex idx2This index sorts all the values for a single attribute key by the target object ID.from-link, to-linkIndex idxFromThis index sorts all the values for a single attribute key by the subkey value.from-link, subkeyIndex idxToThis index sorts all the values for an object by attribute key and the subkey.to-link, from-link, subkeyAttributeKey IsInGroup AttributeGroupEach AttributeKey relates to multiple AttributeGroups Each AttributeGroup relates to multiple AttributeKeys

This relationship connects an attribute key to the groups of which it is a member.

IsInGroupFieldTypeDescriptionfrom-linkname-stringid of the source AttributeKey.to-linkname-stringid of the target AttributeGroup.Index idxFromfrom-linkIndex idxToto-link

Join Table

Join TableSourceTargetJoin ConditionAttributeGroupAttributeKey IsInGroup AttributeGroup (many-to-many)AttributeGroup.id = IsInGroup.to_linkAttributeKeyAttributeKey HasValueFor TargetObject (many-to-many)AttributeKey.id = HasValueFor.from_linkAttributeKeyAttributeKey IsInGroup AttributeGroup (many-to-many)AttributeKey.id = IsInGroup.from_linkAttributeKey HasValueFor TargetObject (many-to-many)AttributeKeyAttributeKey.id = HasValueFor.from_linkAttributeKey HasValueFor TargetObject (many-to-many)AttributeKey IsInGroup AttributeGroup (many-to-many)HasValueFor.from_link = IsInGroup.from_linkAttributeKey HasValueFor TargetObject (many-to-many)TargetObjectTargetObject.id = HasValueFor.to_linkAttributeKey IsInGroup AttributeGroup (many-to-many)AttributeGroupAttributeGroup.id = IsInGroup.to_linkAttributeKey IsInGroup AttributeGroup (many-to-many)AttributeKeyAttributeKey.id = IsInGroup.from_linkAttributeKey IsInGroup AttributeGroup (many-to-many)AttributeKey HasValueFor TargetObject (many-to-many)IsInGroup.from_link = HasValueFor.from_linkTargetObjectAttributeKey HasValueFor TargetObject (many-to-many)TargetObject.id = HasValueFor.to_link