Modeling elements and fields
Every enterprise applicationApplicationThe overarching model container grouping all components, domain logic, and configurations for an enterprise solution. relies on data concepts to store and exchange information. In Normalized SystemsSystemA set of interconnected components that work together to achieve a specific purpose or function., these concepts are modeled as Data ElementsData 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., representing the software equivalent of your business objects. We will now create the three data concepts we defined in our euRent business requirements: Car, Person, and Booking.
Creating new data elements
To create the first data elementsData 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. for the euRent systemSystemA set of interconnected components that work together to achieve a specific purpose or function.:
In the Micro RadiantMicro Radiant (MicroRadiant). The graphical modeling IDE and tooling environment used to design, edit, and maintain NS applications and project models. editor, select our primary business component, rentWork. Next click the component's menu and select the New DataElement option.
Configuring the data element structure
For each 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., you must specify a Name, a Package, and a Type. The Package organizes the generated code structure, while the Type defines the element's fundamental role (e.g., Primary is used for core entities).
Use the following specifications to create all three Data ElementsData 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. sequentially:
| Name | Package | Type |
|---|---|---|
| Person | com.nsx | Primary |
| Car | com.nsx | Primary |
| Booking | com.nsx | Primary |
Adding attributes to an element
After creating the Data ElementsData 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., the next step is to define the individual pieces of information, known as FieldsFieldA property of a DataElement expanded to a database column and user interface input element.. For the Car element, we need to capture the vehicle's identifying attributes (e.g., a Mercedes CLA with plate ABC-123).
- Click the newly created Car 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. to open its detailed editor screen.
- Choose the New FieldFieldA property of a DataElement expanded to a database column and user interface input element. option.
When defining a FieldFieldA property of a DataElement expanded to a database column and user interface input element., you are presented with several options:
- Name: The descriptive name to identify the fieldFieldA property of a DataElement expanded to a database column and user interface input element. (e.g., brand).
- Add to info: If checked, this fieldFieldA property of a DataElement expanded to a database column and user interface input element. will be included when listing or showing summary information for the element.
- ValueField / LinkField: Determines if the fieldFieldA property of a DataElement expanded to a database column and user interface input element. stores a direct value (ValueField) or a relationship 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. (LinkField).
- Type: The data type of the input (String, Integer, Date, etc.). This dictates the validation applied to user input.
- Picklist: If checked, the user will be presented with a predefined list of values instead of free text input.
Add the following three ValueFieldsFieldA property of a DataElement expanded to a database column and user interface input element. to the Car 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.:
| Name | Add to info | ValueField | Type | Picklist |
|---|---|---|---|---|
| brand | ✅ | ✅ | String | ✅ |
| model | ✅ | ✅ | String | |
| numberplate | ✅ | ✅ | String |
Note that for brand, we have checked Picklist. This indicates that we will later define a specific list of car manufacturers that users can select from, ensuring data consistency.
Adding attributes to Person and Booking
Following the same process as above, add the specified Value FieldsFieldA property of a DataElement expanded to a database column and user interface input element. for the Person and Booking Data ElementsData 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..
Person Value Fields
| Name | Add to info | ValueField | Type | Picklist |
|---|---|---|---|---|
| firstName | ✅ | ✅ | String | |
| lastName | ✅ | ✅ | String | |
| birthDate | ✅ | ✅ | Date |
Booking Value Fields
| Name | Add to info | ValueField | Type | Picklist |
|---|---|---|---|---|
| startDate | ✅ | ✅ | Date | |
| endDate | ✅ | ✅ | Date | |
| bookingNumber | ✅ | ✅ | Integer |