Hi,
I've got the following scenario:
I have a "Contact" table containing contacts related to "Customers". These contacts are used at multiple points, for example for registering emails received from a customer, or other correspondence.
Now we want to extend our application to manage courses for the Contacts (employees of our customers) of our Customers. A lot of the current contacts will never get a course, but the ones who do will need some additional attributes & relations.
Some examples or relations & attributes:
Additional Attribute:
- StudentNumber (this is a number which will and should only be given to employees who get a course)
Additional Relations:
- Courses (relation to the courses the follow(ed))
- Certificates (relation to the certificate(s) the have receveided for completed courses)
I've been looking at Entity inheritance and it seems to be a scenario for "TargetPerEntity" where we would create a table Student with the following fields:
Student.ContactId
Student.Number
And a relation Student.ContactId (N:M) Course.CourseId
Some questions I have now are:
- Is this the kind of scenario for using TargetPerEntity Entity Inheritance?
- What happens to overviews, would a ContactCollection still contain all Contacts or only the ones which are not students? (Can/would I still retrieve Students also a ContactEntities?)
- Would I still let the user edit a Contact/Student via my standard Contact Editing screen, or do I now need a ContactEdit & StudentEdit screen in which all fields, except for the additional attribute & relation, are the same? (Or of course some smarter screen which shows/hides fields based on the entity type)
Any input on this would be greatly appreciated.. I've been reading the manual over and over again to get the concept, but couldn't find answers to this on the forum or in the manual.
Thanks a lot!
Gab