Property definition
Keywords: property, reference, relationship, collection, base type, attribute, reference collection, persistence type
Properties are always defined in the context of a namespace, but not necessarily of a complex data type. Global namespace properties allow defining global collections (extents) as an entry point to database content. There are different property types supported for properties in complex data types:
- Base type - The base type defines a generalization of a complex data type. Base types are either attributes (exclusive base type) or relationships (shared base type). Base type members always refer to a complex data type. ODABA supports multiple inheritance, i.e. any number of base types may be defined for a complex data type.
- Attribute - Attributes are embedded properties with basic, enumerated or complex data type. One may also define attribute arrays with a fix array dimension. Dynamic attribute arrays are not supported but may be implemented as references.
- Reference - References are collection properties referring to any number of instances. References not specialized (to relationship or extent) are always owner of referenced instances (owning collection). For references and their referenced instances, different types of persistence may be defined.
- Relationship - Relationships are references with an inverse relationship in the referenced instance.
- Key - Keys are properties of a complex data type that define a view to instances referring to a subset of properties of the data type.
Within the namespace, only reference properties (extents) can be defined.