“Semantics” refers to the meaning behind words, sentences, or phrases. This is its general meaning. In technology, even the word “semantics” has more meanings. Semantics, and semantic models, refer to how data is organized within a database to make it more useful for users. So, in technology, semantics have the meaning of “makes sense to the user.”
From a purely programming point of view, the semantics might not seem important. Databases are just warehouses of knowledge. You input information and simply must make the right queries to get the information returned. However, from a user’s point of view, this is complicated, difficult, and time-consuming. In the first place, different users might be interested in different results, and different fields might be interested in results that others have no use for. Imagine the different uses that an accounting firm and a police station might have for databases. Name and address are important for both, but finances, history, location, or fingerprint information will have a different significance.
That is where semantic models come into play. There are many different types of models that database administrators will be interested in, however, they all have some similarities. First, there are usually queried and reporting tools. They behave like any query, however they are tailored to return specific information that specific users are interested in. They will obviously be particular to each type of user and each type of company. Another part of a semantic model is the “data cube.” This is a way of grouping data in hierarchies so that users can scroll easily to find as general or specific an idea as possible.
To put it simply, semantic models allow the user to query the information available in a way that is natural to them, which will allow the user to process and understand the wide variety of information that is available in a typical database. Obviously, designing a semantic model to best suit your users is going to vary from field to field and even from user to user. Understanding the idea behind semantic models, what they are, and a few key concepts to start out with will get you well on your way to implementing them in your own database.
Reference: Pinal Dave (https://blog.sqlauthority.com)