Blog

Validation: What kind of entity is your table?

  • 6 July 2023
  • 0 replies
  • 62 views

We recently released Validations on the Thinkwise guidelines. You can find more about this here:

https://community.thinkwisesoftware.com/news-blogs-21/validations-for-thinkwise-guidelines-now-available-in-the-thinkstore-4208

Although data modeling seems quite simple at first glance, it is quite a challenge to create a good structure. Without a good structure, a data model is more difficult to understand, more programming is required and errors are more likely to occur.

To help you set up a good data model, we have drawn up guidelines, which you can find here:

https://docs.thinkwisesoftware.com/docs/sf/guidelines_data_modeling

In the guidelines we distinguish between the following categories of entities:

  1. Strong entities
  2. Weak entities
  3. Link tables
  4. Inheritance tables

Depending on how the primary and foreign keys are structured, each table and view must be classified in one of these four categories. If that doesn't work, then something is almost certainly not modeled correctly. The result of this may be that selection from such a table does not go well, that it is unclear whether the table belongs in a menu and that it is unclear which type of screens must be defined for such a table.

Manually identifying tables that do not belong to one of the four entity categories is very difficult, especially if your data model is large. That is why we have automated this process through a dynamic model procedure and a validation.

The tsf_guidelines_categorize_entities dynamic procedure attempts to provide each table and view with one of the following tags:

  1. tsf_datamodel_guidelines_strong_entity
  2. tsf_datamodel_guidelines_weak_entity
  3. tsf_datamodel_guidelines_link_entity
  4. tsf_datamodel_guidelines_inheritance_entity

If there are any tables or views after this that do not have one of these tags, they will be tagged:

  1. tsf_datamodel_guidelines_entity_not_qualified

With this, all tables and views have one of the above tags. These tags are then used by various guideline validations. The first validation is Entity could not be qualified as strong entity, weak entity, link table or inheritance table. It simply searches for tables and views with the tsf_datamodel_guidelines_entity_not_qualified tag. If so, the validation will return a message for each of these tables or views. These tables and views require immediate attention.

 

So, adding the guidelines validations to your model, will improve the quality of your data model.


0 replies

Be the first to reply!

Reply