# Digital Transformation of the Elymological Dictionary of Geographical Names
## 3 Model Design
### An Entity-Relationship Model  
\"The relational model is solidly based on two parts of mathematics: first-order predicate logic and the theory of relations\" [24]. Relation is defined as a set of tuples (also known as records), all of the same type. The tuples of the same type have the same set of fields (also known as attributes), and each field can hold a value of a certain type. The operations performed over a relational model are handled by relational algebra. This algebra serves as a procedural query language, which takes instances of relations as input and yields instances of relations as outputs. In the context of relational databases, the concepts of the relational model's relation, attribute, and tuple are transposed into, respectively: tables, columns, and rows [25]. The entity-relationship model of SENSES reflects the complex data structure recognized within dictionary entries (abstracted from data types) and offers some required extensions (see Figure 5). The proposed tables and their columns have self-explanatory names; nevertheless, some of them require an explanation. The central part of the model is the concrete_toponyms table with the columns:  
* concrete_toponym_id, abstract_toponym_id--primary and foreign keys;
* object_characteristics_id--a foreign key to the object_characteristics table that stores qualifiers as: city, town, village, etc. (over 370 such terms were identified);
* toponym_class_id--a foreign key that refers to the primary key in the table with terms representing toponym classes, like oikonym, hydronym, urbanonym, etc. (an extension introduced to facilitate qualification);
* attributes--a place for the specific information about objects being described (e.g., river length, mountain height, lake surface area);
* concrete_toponym_number--a number assigned to a concrete toponym;
* descriptive_location--a location expressed in natural language, applicable especially to rivers (descriptions of river courses, basins, and inflows) and mountains (descriptions of mountain peaks and ranges);
* etymology--a descriptive explanation of the name's origin (potentially encoded with the use of markup language);
* genitive--a genitive ending (or endings);
* georeferenced_location--a location in the form of geometry represented as Well-Known Text (WKT) strings [26] (an extension introduced together with georeferenced _location_source to facilitate georeferencing);
* georeferenced_location_source--source of information stored in georeferenced _location;
* language--a language in which the name is given;
* name--a real object name;
* original_description--an original, textual description extracted from the dictionary (an extension introduced for data verification);
* volume_number, page_start, page_end--attributes used to represent the physical position of the description in the original dictionary (an extension introduced to preserve information about origins of data);
* status--a certainty qualifier. Each concrete toponym may have several name variants; therefore, these were moved to the separate name_variants table. The variant_type attribute informs about whether the variant is official or unofficial. valid_from and valid_to represent the name validity period (if it is known). To enable automation and simplify machine processing, the textual data can be structured in various ways: from annotated text up to complex data structures. In SENSS, the etymology attribute is susceptible to structuring (as part of the planned extension), but only by annotation. This restriction gives the possibility of postponing implementation of such structuring without consequences. Moreover, it opens a chance to use markup language (such as the Lexical markup framework (LMF) described in the ISO/DIS 24613-3, standard which is still under development [27]). All abstract toponyms are collected in one abstract_toponyms table. An abstract_toponym_type column helps to differentiate explicated and compared toponyms, and complement column helps to store additional, complementary text.