- Instantiation: Is it a certain 'Instance' of Car like my Jeep Liberty with Vehicle Identification Number=12345 or is it the 'Class', i.e. Jeep Liberty?
- Life Cycle: Is it 'Actual' or is it my 'Planned' Jeep Liberty?
- Reality: Is it a Fact or Fiction.
Qualifiers are 'orthogonal' to subjects, that means, they are independent of sucjects and I can use the above qualifier types for any subject type, for example for Bank Account. Is it an instance or class? Is it real or fiction? Is it actual or some kind of expected (required, planned, predicted)?
We, human beings, first reason the subjects and them immediately tend to categorize them, whenter they are tangible or not. That's how our brains work. I look through the window and see something and start reasoning; like it is raising form the ground, no from earth, then there are branches and then there are these little green things and it is big, bigger than me; and I categorize this thing as 'A Tree'. That's how it works; I feel a pain and I immediately categorize this feeling as 'A Headache". When we name an Entity, we should name it for the underlying nature of that object, not the role it plays in a particular context. So, I should call it 'A Tree', not 'A shadow maker for my car".
This categorization system helps us analyze everthing, remember later, improve our knowledge and communicate with others. Categorizing is like eating, breathing, thinking for us. So essential and so widespread that all Subjects can be categorized by some sub-types.
I think I can now declare the first two key principles of entity modeling:
1. Entity types should present and named after the underlying nature of an object, not the role it plays in a particular context
2. Entity Types should be a part of a sub/super type hierarchy in order to define a universal context for our models.
Is it making sense? Too theoretical? Watch this space...
