Fields and relations
A FieldFieldA property of a DataElement expanded to a database column and user interface input element. describes a single property of a DataElement. FieldsFieldA property of a DataElement expanded to a database column and user interface input element. are the basic content of a data elementData Element (DataElement). A fundamental data concept or entity within an application's domain, acting as an anthropomorphic translation of a real-life object or concept.: each stored fieldFieldA property of a DataElement expanded to a database column and user interface input element. becomes a column in the database table and an input fieldFieldA property of a DataElement expanded to a database column and user interface input element. in the generated forms.
Every fieldFieldA property of a DataElement expanded to a database column and user interface input element. is one of two kinds:
- a value fieldFieldA property of a DataElement expanded to a database column and user interface input element. holds a plain value. It has a name and a type (
ValueType). - a link fieldFieldA property of a DataElement expanded to a database column and user interface input element. holds a reference to another data elementData Element (DataElement). A fundamental data concept or entity within an application's domain, acting as an anthropomorphic translation of a real-life object or concept., and in doing so defines a relationship. Link fieldsFieldA property of a DataElement expanded to a database column and user interface input element.
support three kind of relationships:
- many-to-one: many bookings can refer to the same car;
- one-to-many: one car has a list of bookings;
- many-to-many: a car can have several features, and each feature can apply to several cars.
Calculated fields
Not every fieldFieldA property of a DataElement expanded to a database column and user interface input element. has to be stored. A calculated fieldFieldA property of a DataElement expanded to a database column and user interface input element. has a value that is derived from other data every time it is read, such as the total price of a booking computed from its duration and the car's daily price. Calculated fieldsFieldA property of a DataElement expanded to a database column and user interface input element. are not part of the database table, and their calculation is implemented in code.
ValueTypes
A ValueType describes the type of data that can be stored in a particular fieldFieldA property of a DataElement expanded to a database column and user interface input element. of a DataElement. It specifies the format of the data and different representations in the various layersLayerLogical separation of functionality within a single system/application, focused on code organization. of the ApplicationApplicationThe overarching model container grouping all components, domain logic, and configurations for an enterprise solution..
A ValueType configures how:
- data is rendered in the user interface
- data is stored in the database
- data is validated in the business logic (i.e. value restrictions or custom business rules)