Business glossary - relationship types (part 2)
Hi Community,
In my previous post I presented the idea to implement new metadata entities for attribute and entity terms in the glossary. The reason for this is that it makes most sense to have more types of terms that best describe either a catalog item attribute (the attribute term) or a catalog item (the entity term).
I finished the post with making a comparison to logical data modelling.
In a logical data model the entity is described by its properties, so the attributes. An entity not only has descriptive attributes, but obviously also one or more attributes that identify a record of that entity, the primary key. Besides the primary key also an alternate key may exist (for instance an email address can be used as alternate key next to the client id). Or an attribute can act as foreign key to another entity. Such an attribute will then also exist in its parent entity.
With the example of an attribute existing both as foreign key in one entity and as primary key in another, you see that the same attribute occurs in two entities, like in this example.
Note that contract id occurs twice as primary key attribute in both entities ánd as foreign key in the Contract detail entity. contract detail id is a primary key attribute in the Contract Detail entity. contract start date acts as describing attribute in the Contract entity. So each attribute has a function in the entity it is used in.
Back to our glossary. Likewise in the glossary we also want to make clear which attribute terms belong to an entity term and for what reason. Like in above example of a logical data model, attributes will occur multiple time, in my example of primary and foreign keys. But in the glossary we don’t want to introduce that type of redundancy.
So how then can we avoid this redundancy? In logical data modelling you have this technique of using roles. With roles you can define how entities interact. An example to make this more clear. Suppose you have modelled entities Policy and Person. One person can have different relations with a policy, for instance both as policy holder and as claimant. In other words the person has different roles towards the policy.
Likewise, a certain attribute term can have different roles in relation to an entity. In Ataccama’s glossary you can implement these roles as relationship types. So one attribute term can relate to an entity term in the role of descriptive attribute, another attribute term in the role of both foreign and primary key, like in above example, and so on.
Here is a list of relationship types that are useful in describing the roles between attribute and entity terms.
As shown for the attribute term | As shown for the entity term |
Is (part of) business key in entity | Business key attribute(s) |
Is alternate key in entity | Alternate key attribute(s) |
Is foreign key in entity | Foreign key attribute(s) |
Is mandatory in entity | Mandatory attribute(s) |
Is descriptive attribute in entity | Descriptive attribute(s) |
In OneWeb finally the relationships for the entity terms show as follows:
and
And for attribute term Contract start date:
In conclusion, this article described how relationship types can help in giving context to both entity and attribute terms. Feel free to share your ideas on the same.
In case you are wondering how to make use of multilingualism in the glossary, stay tuned for the next article!
Kind regards,
Albert