Is there a good reason to put the company name at the beginning of the table names? [closed]
-
07-02-2021 - |
Question
When developing a new system, for a big corporation.
Technologies:
Web, Java, Spring Boot, Rest Api, Postgres, Hibernate
Company:
Bank
System:
Promissory control, and all others
Company name:
Mycorp
Systems:
Many systems, dozens, dozens...
Is there a good reason to put the company name at the beginning of the table names?
For example, for the users table: mycorp_users
Sometimes I see something like this, the company name + the system name + ...: mycorp_systemx_users
Why not use a schema for this? dbmycorp.systemx.users
Or even not use anything only: someschema.users
Solution
Naming conventions are usually there for a reason.
Perhaps a good idea is to ask the people in charge why this naming convention was chosen this way. Since you work in bank these naming conventions are (in general) pretty strict, and perhaps useful in the bigger picture.
But from what I can read in your comments and in your post, then no, I don't see much use in using the naming convention you specified.
I would also much rather use schemas as you've said yourself. This gives you the added benefit of being able to specify permissions on the separate schemas.
OTHER TIPS
As you say in the comments
I work for a different company, yes, that is building the system for the bank
I suspect this is a requirement of the company you work for and/or the expectations of the purchasing bank.
When the build is complete mycorp
is going to be all over in the code. If you wanted to sell the same product to DifferentCorp
it would be a lot of work to remove reference to mycorp
. I assume that by adding mycorp
they bank paying you to custom build a product for them, will have some feeling that you will not be going and selling to their competition, as soon as you get it working.
See related