There are many dozens of fields in the database, and they are all specified in detail - see the configuration spreadsheet. That document holds some semantic and technical specifications of each field.
Why so many fields?
In some entity types, we need many fields in order to hold data about an entity. It may look overwhelming at first, but we add each field after many thoughts and considerations. The separation of pieces of data has significant advantages:
- Data input - When entering data, specific fields draw our attention to information which we may otherwise forget to enter.
- Presentation - When viewing the data, it is easier to digest what is presented in different fields, each with its specific label, than to digest a bulky text field.
Some fields are fixed-values; a field can be a select list of values to choose from, a list of checkboxes with values to tick, or an auto-complete to reference another entity. Such a fixed-value field provides additional advantages:
- Data quality - When entering data this way, we reduce mistakes.
- Filtration - When looking for data, it is easier to filter by fixed-value fields than search by words and terms in free text fields.
- Visualization - When drawing graphs and tables, only fixed-value fields can be easily used.
Relationship fields are a subset of a fixed-value field, see in the next page.
Some fields allow us to enter free text. We use such a field when the value is textual by nature. We also use a free-text field when we do not want to limit the values a contributor can add. Another reason to use a free-text field is when we afraid that separating it into specific fixed-value fields will over-complicate the data model. In theory, a value like this could go into a giant "Further info" field. However, separating the data into specific fields has these advantages:
- Search - When looking for data by a word or phrase, the user gets them in context - a specific field.
- Change in structure - The process of improving the structure often entails turning free text fields into fixed-value fields, in which case specific free-text fields are easier to search and manage than general “further info” one.