I want a new dimensions for my users (system/user table) to store an abbreviation for the user, which I can use throughout my application.
Eg:Name: john DoeAbbreviation: JD
But i see it's not possible to add an attribute to the System/User table... What will be the way forward to get this done? And any suggestions on how to create this abbreviation manually?
It should be a global attribute that can be used throughout the application (over several modules).
Imho the approach would be:
Create an Entity "ExtendedUser" with UserID as PK and you are done.
expose it and when creating a user, wrap it to create a user inlcduing the extended user.
Alternatively, in case you have data coming from another system, or resides in an existing table, you can use the External_Id in the User entity to store a reference. In your use-case, J's solution is far the best, but in others referring to an external Id can be better (especially to avoid creating a simple 1:1 link table).
Kilian Hekhuis wrote:
Thanks Kilian... maybe I am going to populate this External ID with the abbreviation, I think it can work in my application... But one question more:
Any idea about how to auto-populate this field via a (hopefully) built-in function? Or no change, and it should be entered manually?
What is "auto population" in this case? You'll need to create some bootstrap probably.